// General variables
var onImg = new Array();
var offImg = new Array();
var clickImg = new Array();

// Files and directory structures
var navImgDir = "/img/";
var arrowDir = "/img/";
var cssDir = "/css/";
var stylePrefix = "";
var typeof_is_printable = new String(typeof(is_printable));
if (typeof_is_printable.indexOf("undefined") == -1 && is_printable==true)
{
	stylePrefix = "print_";
}


var NS4CSS = "win_ns.css";
var winIECSS = "win_ie.css";
var winIE6CSS = "win_ie6.css";
var strdCSS = "strd.css";
var macCSS = "mac.css";


// Arrows for navigational elements
var navArrName = arrowDir + "arrow_off.gif";
var navArrHLName = arrowDir + "arrow_on.gif";
var navArrClName = arrowDir + "arrow_click.gif";
var navArrClass = "navArrow";
var navArrW = "7";
var navArrH = "5";
var padNavArr = "10";

// Arrows for HTML headers within content units
var arrPrefix = arrowDir + "a_";
var arrHLName = arrowDir + "arrow_on.gif";
var arrW = "9";
var arrH = "8";
var padArr = "12";

// *************************************************************
//  CLIENT_SIDE SNIFFER CODE
// *************************************************************


	//  CLIENT_SIDE SNIFFER CODE
	// convert all characters to lowercase
        var agt=navigator.userAgent.toLowerCase();
	//alert (agt);
	// *** BROWSER VERSION ***
	// Note: On IE5, these return 4, so use is_ie5up to detect IE5.
	var is_major = parseInt(navigator.appVersion);
	var is_minor = parseFloat(navigator.appVersion);
        // *** BROWSER TYPE ***
	var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
	            && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
	            && (agt.indexOf('webtv')==-1));
	var is_nav4 = (is_nav && (is_major == 4));
	var is_nav5 = (is_nav && (is_major == 5));
	var is_nav5up = (is_nav && (is_major >= 5));
	var is_nav6 = (is_nav && (is_major == 6));
	var is_nav4up = (is_nav && (is_major >= 4));
	var is_nav6up = (is_nav && (is_major >= 6));
	var is_ie   = (agt.indexOf("msie") != -1);
	var is_ie3  = (is_ie && (is_major < 4));
	var is_ie4  = (is_ie && (is_major <= 4) && (agt.indexOf("msie 5.0")==-1) );
	var is_ie5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
	var is_ie5up  = (is_ie  && !is_ie3 && !is_ie4);
	var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
	var is_opera = (agt.indexOf("opera") != -1);

	// *** PLATFORM ***
	var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
		  
	var is_mac    = (agt.indexOf("mac")!=-1);
	var is_sun   = (agt.indexOf("sunos")!=-1);
	var is_irix  = (agt.indexOf("irix") !=-1);    // SGI
	var is_hpux  = (agt.indexOf("hp-ux")!=-1);
	var is_aix   = (agt.indexOf("aix") !=-1);      // IBM
	var is_linux = (agt.indexOf("inux")!=-1);
	var is_sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
	var is_unixware = (agt.indexOf("unix_system_v")!=-1);
	var is_mpras    = (agt.indexOf("ncr")!=-1);
	var is_reliant  = (agt.indexOf("reliantunix")!=-1);
	var is_dec   = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) ||
	       (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) ||
	       (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1));
	var is_sinix = (agt.indexOf("sinix")!=-1);
	var is_freebsd = (agt.indexOf("freebsd")!=-1);
	var is_bsd = (agt.indexOf("bsd")!=-1);
	var is_unix  = ((agt.indexOf("x11")!=-1) || is_irix || is_sco ||
	is_unixware || is_mpras || is_reliant ||
	             is_dec || is_sinix || is_aix || is_bsd || is_freebsd);

				 
				 
/*  DEBUG ZONE */

/*				 
var myalert ="";
if (is_major) myalert+= ("is_major\n");
if (is_minor) myalert+= ("is_minor\n");
if (is_nav ) myalert+= ("is_nav\n");
if (is_nav4) myalert+= ("is_nav4\n");
if (is_nav5 ) myalert+= ("is_nav5\n");
if (is_nav5up) myalert+= ("is_nav5up\n");
if (is_nav6 ) myalert+= ("is_nav6\n");
if (is_nav4up)  myalert+= ("is_nav4up\n");
if (is_nav6up ) myalert+= ("is_nav6up\n");
if (is_ie  ) myalert+= ("is_ie\n");
if (is_ie3  ) myalert+= ("is_ie3\n");
if (is_ie4 ) myalert+= ("is_ie4\n");
if (is_ie5 )  myalert+= ("is_ie5\n");
if (is_ie5up )  myalert+= ("is_ie5up\n");
if (is_ie6   ) myalert+= ("is_ie6\n");
if (is_opera) myalert+= ("is_opera\n");
if (is_win  )  myalert+= ("is_win\n");
if (is_mac ) myalert+= ("is_mac\n");
if (is_sun  ) myalert+= ("is_sun\n");
if (is_irix )  myalert+= ("is_irix\n");
if (is_hpux ) myalert+= ("is_hpux\n");
if (is_aix )  myalert+= ("is_aix\n");
if (is_linux ) myalert+= ("is_linux\n");
if (is_sco ) myalert+= ("is_sco\n");
if (is_unixware) myalert+= ("is_unixware\n");
if (is_mpras)    myalert+= ("is_mpras\n");
if (is_reliant)   myalert+= ("is_reliant\n");
if (is_dec)   myalert+= ("is_dec\n");
if (is_sinix ) myalert+= ("is_sinix\n");
if (is_freebsd)  myalert+= ("is_freebsd\n");
if (is_bsd ) myalert+= ("is_bsd\n");
if (is_unix)   myalert+= ("is_unix\n");
alert (myalert);	
*/
/*  END DEBUG ZONE */


  
// Load stylesheet
ChooseStyleSheet();

// Handle Navigator 4 window resizing
if (is_nav4up) {
   var initWidth, initHeight;
   initWidth = window.innerWidth;
   initHeight = window.innerHeight;
   window.captureEvents(Event.RESIZE);
   window.onresize = handleResize;
}

// *********************************************************************
// ROLLOVERS FOR TOP NAVIGATION
// *********************************************************************
var topNavNames = new Array("artegis","sign_in","help","solutions","buy");
var imgName, imgHLName, refName;
if (document.images) {       //if image object is available     
  for (var i = 0; i < topNavNames.length; i++) {
    refName = topNavNames[i];
    imgName = navImgDir + refName + "_off.gif";
    imgHLName = navImgDir + refName + "_on.gif";
    imgClName = navImgDir + refName + "_click.gif";
    onImg[refName] = new Image();
    offImg[refName] = new Image();
    clickImg[refName] = new Image();
    onImg[refName].src = imgHLName;
    offImg[refName].src = imgName;
    clickImg[refName].src = imgName;
  }
}

// *********************************************************************
//  UTILITY FUNCTIONS
// *********************************************************************
// Function to handle window resizing on Navigator 4
function handleResize() {
   if (((initWidth != window.innerWidth) || (initHeight != window.innerHeight)) && (typeof disableReload == "undefined")) {
     location.reload();
   }
   return false;
}

function popupPrint() {
  var winPrint=open('http://welcome.hp.com/country/us/eng/printing_instructions.htm',
					"hpPrintWindow",
					"height=300,width=300,toolbar=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0");
}


// Function to choose the style sheet for use based on the platform
// and browser version

function ChooseStyleSheet() {
  var fileHead = cssDir;
  var styles;
  
  
  if (is_win) {   
    if (is_nav4) {
      styles = fileHead + NS4CSS;
      //alert ("NS4CSS");
    } 
    else if (is_ie6) {
      styles = fileHead + winIE6CSS;
      //alert ("winIE6CSS");
    } 
    else if (is_nav5up) {
      styles = fileHead + macCSS;
      //alert ("macCSS");
    } 
    else if (is_opera) {
      styles = fileHead + macCSS;
      //alert ("macCSS");
    } 
    else {
      styles = fileHead + winIECSS;
      //alert ("winIECSS");
    }
   
  } 
  else if (is_mac) {
    styles = fileHead + macCSS;
  } 
  else if (is_linux) {
    if (is_nav4) {
      styles = fileHead + strdCSS;
    } 
    else {
      styles = fileHead + macCSS;
    }
  } 
  else if (is_hpux) {
    if (is_ie5) {
      styles = fileHead + macCSS;
    } 
    else if (is_nav5up) {
      styles = fileHead + macCSS;
    } 
    else {
      styles = fileHead + strdCSS;
    }
  } 
  else if (is_sun) {
    if (is_nav4) {
      styles = fileHead + NS4CSS;
    } 
    else {
      styles = fileHead + strdCSS;
    }
  }  
  else {
    styles = fileHead + strdCSS;
  }
  document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + styles + "\">");
  /*  DEBUG ZONE */
  //alert(" I use the stylesheet "+styles+" ");
  /*  END DEBUG ZONE */
  return true;
}




// Swap images on based on a name array
function imageOn(name) {
   if (document.images) {
    document.images[name].src = onImg[name].src
   }
}

// Swap images off based on a name array 
function imageOff(name) {
   if (document.images) {
    document.images[name].src = offImg[name].src
   }
}

// Swap images click based on a name array 
function imageClick(name) {
   if (document.images) {
    document.images[name].src = clickImg[name].src;
   }
}

var id_clicked=-1;

// Helper code to generate Image objects for content arrows
function NavArrowInit(refName) {
   if (document.images) {
	  onImg[refName] = eval("new Image(" + navArrW + "," + navArrH + ")");
	  offImg[refName] = eval("new Image(" + navArrW + "," + navArrH + ")");
	  clickImg[refName] = eval("new Image(" + navArrW + "," + navArrH + ")");
	  onImg[refName].src = navArrHLName;
	  offImg[refName].src = navArrName;
	  clickImg[refName].src = navArrClName;

	  }
  return true;
}

// Helper code to generate Image objects for content arrows
function ContentArrowInit(color,refName) {
   if (document.images) {
	  var arrName = arrPrefix + color + ".gif";
	  onImg[refName] = eval("new Image(" + arrW + "," + arrH + ")");
	  offImg[refName] = eval("new Image(" + arrW + "," + arrH + ")");
	  clickImg[refName] = eval("new Image(" + arrW + "," + arrH + ")");
	  onImg[refName].src = arrHLName;
	  offImg[refName].src = arrName;
	  clickImg[refName].src = arrName;
	  }
  return true;
}

if (document.images) {
	onImg["navArrowOn"] = eval("new Image(" + navArrW + "," + navArrH + ")");
	onImg["navArrowOn"].src = navArrHLName;
	offImg["navArrowOff"] = eval("new Image(" + navArrW + "," + navArrH + ")");
	offImg["navArrowOff"].src = navArrName;
	clickImg["navArrowClick"] = eval("new Image(" + navArrW + "," + navArrH + ")");
	clickImg["navArrowClick"].src = navArrClName;
}

function navArrowOn(name) {
   var cn   = name.substring(4,name.length);
   if (document.images && id_clicked != cn) {
    document.images[name].src = onImg["navArrowOn"].src;
 //   var tdid = "c_" + name.substring(4,name.length);
	//alert(tdid);
  //  hilite(tdid);
 //   hilite("c"+tdid);
   }
}

function hilite(name){
    //alert("name="+name);
  if(document.layers && document.layers["td"+name] != null ){
    document.layers["td"+name].clip.width=100;
    // next line should be uncommented to get bule background for netscape 4
    //document.layers["td"+name].document.bgColor="#6666CC";
    document.layers["td"+name].document.background = "url('/img/grey_blue_bar.gif')";
  }else if(!document.layers){
    //alert("hilite td"+name);
    var cell=document.getElementById("td"+name);
    // next line should be uncommented to get blue background for IE and netscape 6
    //cell.style.backgroundColor="#6666CC";
    cell.style.backgroundImage = "url('/img/grey_blue_bar.gif')";
  }
}   

function clearhilite(name){
  if( document.layers && document.layers["td"+name] != null ){
  // document.layers["td"+name].document.bgColor="#e6e6e6";
     document.layers["td"+name].document.bgImage = "url('/img/grey_bar.gif')";
  }else if(!document.layers){
    //alert("clear td"+name);
    var cell=document.getElementById("td"+name);
   //cell.style.backgroundColor="#e6e6e6";
     cell.style.backgroundImage = "url('/img/grey_bar.gif')";
  }
}

function navArrowOff(name) {
   var cn   = name.substring(4,name.length);
   if (document.images  && id_clicked != cn && document.images[name] !=null ) {
    	document.images[name].src = offImg["navArrowOff"].src;
   }
}

function navArrowClick(name) {
  if (document.images) {
    document.images[name].src = clickImg["navArrowClick"].src;
    var ofst = name.substring(0,4);
    var cn   = name.substring(4,name.length);
    var tdid = "c_"   + cn;
    var tdidb = "a_"   + cn;

    hilite(tdidb);
    hilite(tdid);

    if( id_clicked > -1 && id_clicked!= cn){
      if(document.layers){
	var tdid = "c_"+id_clicked;
	var tdidb = "a_"+id_clicked;
	var nid  = ofst + id_clicked;
	if( document.layers[tdid] ){
	  clearhilite(tdidb);
	  clearhilite(tdid);
	  document.images[nid].src = clickImg["navArrowOff"].src;
	}
      }
      else{
	var tdid = "c_"+id_clicked;
	var tdidb = "a_"+id_clicked;
	var nid  = ofst + id_clicked;
	// if( cn != c) {
	if( document.getElementById("td"+tdid) ){
	  clearhilite(tdidb);
	  clearhilite(tdid);
	  document.images[nid].src = offImg["navArrowOff"].src;
	}
      }
    }
    id_clicked = cn;
  }
}

if (document.images) {
	onImg["contentArrowOn"] = eval("new Image(" + arrW + "," + arrH + ")");
	onImg["contentArrowOn"].src = arrHLName;
}

function contentArrowOn(name) {
   if (document.images ) {
    document.images[name].src = onImg["contentArrowOn"].src;
   }
}

function contentArrowOff(color, name) {
   if (document.images) {
	var imageIndex = "ContentArrow" + color;
	if (typeof offImg[imageIndex] == "undefined")
	{
		var arrName = arrPrefix + color + ".gif";
		offImg[imageIndex] = eval("new Image(" + arrW + "," + arrH + ")");
		offImg[imageIndex].src = arrName;
	}
	document.images[name].src = offImg[imageIndex].src;
   }
}
function contentArrowClick(color, name) {
   if (document.images) {
	var imageIndex = "ContentArrow" + color;
	if (typeof clickImg[imageIndex] == "undefined")
	{
		var arrName = arrPrefix + color + ".gif";
		clickImg[imageIndex] = eval("new Image(" + arrW + "," + arrH + ")");
		clickImg[imageIndex].src = arrName;
	}
	document.images[name].src = clickImg[imageIndex].src;
   }
}

function doNothing(){
}
