var rInfoBox;
var bLoaded=true;

	function moveTTBox(sInfoBox, x, y)
	{
		if(bLoaded)
		{
			hideInfoBox();
			rInfoBox = getElt(sInfoBox);
			moveEltAbsoluteTo(rInfoBox,x,y);
			setEltVisibility(rInfoBox,"visible");
		}
	}

	
	function hideInfoBox(){
	if(bLoaded){
		if (rInfoBox) {
		setEltVisibility(rInfoBox,"hidden");
		rInfoBox=null;
		}
	}
}


function moveEltAbsoluteTo (elt, x, y) 
{ 
   if (is.nav4up)
   {
      elt.pageX = x;
      elt.pageY = y;
   }
   else if (is.ie4up||is.nav5)
   {
      elt.style.left = x;
      elt.style.top  = y;
   }
}


function DisplayTip(Message,x,y)
	{
		HTMLString = "<table cellpadding=1 cellspacing=0><tr><td nowrap class=clsToolTip>&nbsp;"+Message+"&nbsp;</td></tr></table>"
		displayDivision("quickHelpBox", HTMLString);
		moveTTBox("quickHelpBox",x,y+15);
	}


function displayDivision(division, txt)	
	{
		if (document.getElementById)
		{ // Netscape 6.x, IE 5.X
			var e = document.getElementById(division)
			if (e)
				e.innerHTML = txt
		}
		else if (document.all)
		{ // IE 4.X
			var e = document.all[division]
			if (e)
				e.innerHTML=txt
		}
		else if (is.nav4up)
		{ // Netscape 4.X
			buildNSPage(division, txt)
		}			
	}

function getEltAbsoluteLeft(elt,rParent)
{
	if (is.nav4up)
	{
	   return (elt.pageX);
	}
	else if (is.nav5 || is.nav6)
	{
		return (elt.offsetLeft);		
	}	
	else if (is.ie4up)
	{
		if(isValid(rParent)==false)
		{
			rParent = document.body;
		}
		var ax=0;
		var rElement = elt;
		while(isValid(rElement) && isValid(rElement.offsetParent) && rElement!=rParent)
		{
			ax=ax + rElement.offsetLeft;
			rElement = rElement.offsetParent;
		}
		return ax;
	}
}

function getEltAbsoluteTop(elt,rParent)
{
	if (is.nav4up)
	{
		return (elt.pageY);
	}
	else if (is.nav5 || is.nav6)
	{
		return (elt.offsetTop);
	}
	
	else if (is.ie4up)
	{
		if(isValid(rParent)==false)
		{
			rParent = document.body;
		}
		var ay=0;
		var rElement = elt;
		while(isValid(rElement) && isValid(rElement.offsetParent) && rElement!=rParent)
		{
			ay=ay + rElement.offsetTop;
			rElement = rElement.offsetParent;
		}
		return ay;
	}
}

function Is ()
{   // convert all characters to lowercase to simplify testing
    var agt=navigator.userAgent.toLowerCase()

    // --- BROWSER VERSION ---
    this.major = parseInt(navigator.appVersion)
    this.minor = parseFloat(navigator.appVersion)

    this.nav  = ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1)))

    this.nav2 = (this.nav && (this.major == 2))
    this.nav3 = (this.nav && (this.major == 3))
    this.nav4 = (this.nav && (this.major == 4))
    this.nav5 = (this.nav && (this.major == 5)) //Netscape 6 has this.major = 5
    this.nav6 = (this.nav && (this.major == 5)) //Netscape 6+ version has this.major=5 - Needed for engine.
    this.ie   = (agt.indexOf("msie") != -1)
    this.ie3  = (this.ie && (this.major == 2))
    this.ie4  = navigator.appVersion.indexOf("MSIE 4.") != -1 ? true : false;
    this.ie5  = navigator.appVersion.indexOf("MSIE 5.") != -1 ? true : false;
	this.ie6  = navigator.appVersion.indexOf("MSIE 6.") != -1 ? true : false;
	
    this.opera = (agt.indexOf("opera") != -1)
     
    this.nav4up = this.nav && (this.major == 4)
    this.ie4up  = (this.ie  && (this.major >= 4)) || (this.nav6)
	
	this.DOM1 = (this.ie5 || this.nav6);
}
var is = new Is();


function isValid(rItem){
	if (is.nav4up) {
		return rItem!=undefined;
	} else if (is.ie4up) {
		return rItem!=null;
	}	
}

function getElt () 
{ 
   if (is.nav4)
   {
      var currentLayer = document.layers[getElt.arguments[0]];
      for (var i=1; i<getElt.arguments.length && currentLayer; i++)
      {
         currentLayer = currentLayer.document.layers[getElt.arguments[i]];
      }
      return currentLayer;
   } 
   else if (is.ie4)
   {
      var elt = eval('document.all.' + getElt.arguments[getElt.arguments.length-1]);
      return(elt);
   }
   else if (is.ie5 || is.nav5 || is.nav6 || is.ie6)
   {
      var elt = document.getElementById(getElt.arguments[getElt.arguments.length-1]);
      return(elt); 
   }  
}

function setEltVisibility (elt, value)
{ 
   if (elt)
   {
      if (is.nav4up)
      {
         elt.visibility = value;
      }
      else if (is.ie4up||is.nav5)
      {
         elt.style.visibility = value;
      }
   }
}
