	function toggle_display(strDivID) {
		//toggle the display style of the div
		if (document.getElementById(strDivID).style.display == 'none') {
			document.getElementById(strDivID).style.display = 'block';
		} else {
			document.getElementById(strDivID).style.display = 'none';
		} 	
	}
	function displaytip(objTrigger, strDivID) {
		//display the specified div
		var intScreenCenterX = getPageSizeWithScroll().w/2;
		var intTriggerX = getXY(objTrigger).x;
		var intTriggerY = getXY(objTrigger).y;

		objPopUp=document.getElementById(strDivID);
		objPopUp.style.display = 'block';
		//determine & set the x position
		if (intTriggerX < intScreenCenterX) 
			{objPopUp.style.left=intTriggerX+20+"px";}	
		else 
			{objPopUp.style.left=intTriggerX-objPopUp.offsetWidth+objTrigger.offsetWidth-20+"px";}
		//determine & set the y position
		if (intTriggerY+objPopUp.offsetHeight+150 < getPageSizeWithScroll().h)
			{objPopUp.style.top=intTriggerY+objTrigger.offsetHeight+10+"px";}	
		else 
			{objPopUp.style.top=intTriggerY-objPopUp.offsetHeight-10+"px";}
	}
	function hidetip(objTrigger, strDivID) {
		//hide the specified div
		document.getElementById(strDivID).style.display = 'none';
	}
	function getXY(obj) {
		//Returns the absolute X and Y positions of an object.
		var curleft = 0;
		var curtop = 0;
		var border;
		if (obj.offsetParent)
		{
		do
		{
		  // XXX: If the element is position: relative we have to add borderWidth
		  if (getStyle(obj, 'position') == 'relative')
		  {
			if (border = _pub.getStyle(obj, 'border-top-width')) curtop += parseInt(border);
			if (border = _pub.getStyle(obj, 'border-left-width')) curleft += parseInt(border);
		  }
		  curleft += obj.offsetLeft;
		  curtop += obj.offsetTop;
		}
		while (obj = obj.offsetParent)
		}
		else if (obj.x)
		{
		curleft += obj.x;
		curtop += obj.y;
		}
		return {'x': curleft, 'y': curtop};
	}
	function getStyle(obj, styleProp) {
		//Returns the specified computed style on an object
		if (obj.currentStyle)
			return obj.currentStyle[styleProp];
		else if (window.getComputedStyle)
			return document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleProp);
	}	
	function getPageSizeWithScroll(){
		//Returns the Page Height (With Scroll)
		if (window.innerHeight && window.scrollMaxY) {// Firefox
			yWithScroll = window.innerHeight + window.scrollMaxY;
			xWithScroll = window.innerWidth + window.scrollMaxX;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			yWithScroll = document.body.scrollHeight;
			xWithScroll = document.body.scrollWidth;
		} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
			yWithScroll = document.body.offsetHeight;
			xWithScroll = document.body.offsetWidth;
		}
		return {'w': xWithScroll, 'h': yWithScroll};
	}

