var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip
	
var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).
var ie;
var ns6;	
var enabletip;
var tipobj;
var pointerobj;

	function init(){
		document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
		document.write('<img id="dhtmlpointer" src="/images/general/arrow2.gif">') //write out pointer image
	
		ie = document.all;
		ns6 = document.getElementById && !document.all;
		enabletip = false;
		if (ie||ns6)
		//var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
		tipobj = document.getElementById("dhtmltooltip"); 
		pointerobj = document.getElementById("dhtmlpointer"); 
	}

	init();
	
	function replace_quot(html){
		var showTipPos;
		var endShowTipPos; 
		do {
			showTipPos = html.indexOf("showTip('");
			if(showTipPos > -1 ){
				html = html.substring(0, showTipPos) + "showTip(\"" + html.substring(showTipPos + 9);
				endShowTipPos = html.indexOf("');//end"); 
				html = html.substring(0, endShowTipPos) + "\")" + html.substring(endShowTipPos + 8);
			}
		}while(showTipPos != -1);
		
		return html;
	}
	
	function ietruebody(){
		return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}

	function showTip(thetext,thecolor){
		if (ns6||ie){
			if (typeof thewidth!="undefined")
			//tipobj.style.width=thewidth+"px"
			tipobj.style.width=auto
			if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
			thetext = thetext.replace(/%%%%%/g, "&#039;");
			tipobj.innerHTML=thetext
			enabletip=true
			return false
		}
	}

	function positiontip(e){
	if (enabletip){
		var nondefaultpos=false
		var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
		var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
		//Find out how close the mouse is to the corner of the window
		var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
		var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20
		
		var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
		var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY
		
		var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000
		
		//if the horizontal distance isn't enough to accomodate the width of the context menu
		if (rightedge<tipobj.offsetWidth){
			//move the horizontal position of the menu to the left by it's width
			tipobj.style.left=curX-tipobj.offsetWidth+"px"
			nondefaultpos=true
		}
		else if (curX<leftedge)
			tipobj.style.left="5px"
		else{
			//position the horizontal position of the menu where the mouse is positioned
			tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
			pointerobj.style.left=curX+offsetfromcursorX+"px"
		}
		
		//same concept with the vertical position
		if (bottomedge<tipobj.offsetHeight){
			tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
			nondefaultpos=true
		}
		else{
			tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
			pointerobj.style.top=curY+offsetfromcursorY+"px"
		}
		tipobj.style.visibility="visible"
		if (!nondefaultpos)
			pointerobj.style.visibility="visible"
		else
			pointerobj.style.visibility="hidden"
		}
	}

	function hideTip(){
		if (ns6||ie){
			enabletip=false
			tipobj.style.visibility="hidden"
			pointerobj.style.visibility="hidden"
			tipobj.style.left="-1000px"
			tipobj.style.backgroundColor=''
			tipobj.style.width=''
		}
	}

	document.onmousemove=positiontip;