//Rich HTML Balloon Tooltip: http://www.dynamicdrive.com/dynamicindex5/balloontooltip.htm
//Created: September 10th, 2006

var disappeardelay=550;  //tooltip disappear delay (in miliseconds)
var verticaloffset=10; //vertical offset of tooltip from anchor link, if any
var enablearrowhead=0; //0 or 1, to disable or enable the arrow image
var arrowheadimg=["scripts/images/arrowdown.gif", "scripts/images/arrowup.gif"]; //path to down and up arrow images
var arrowheadheight=11; //height of arrow image (amount to reveal)  ../javascript/arrowup.gif

/////No further editting needed

var ie=document.all;
var ns6=document.getElementById&&!document.all;
verticaloffset=(enablearrowhead)? verticaloffset+arrowheadheight : verticaloffset;

function getposOffset(what, offsettype)
{
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null)
    {
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
};
var currentCategory = '';
function showhide2(obj, e)
{
	dropmenuobj.style.left=dropmenuobj.style.top="500px";
	if (e.type=="mouseover"){obj.visibility="visible";}
};

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
};

function clearbrowseredge(obj, whichedge)
{
if (whichedge=="rightedge"){
edgeoffsetx=0
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
if (windowedge-getposOffset(obj, "left") < dropmenuobj.contentmeasure){
edgeoffsetx=dropmenuobj.contentmeasure-obj.offsetWidth;}

return edgeoffsetx
}
else
{
edgeoffsety=0
var topedge=ie && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) //move up?
edgeoffsety=dropmenuobj.contentmeasure+obj.offsetHeight+(verticaloffset*2)
return edgeoffsety
}
};

function visibilityballoontip(obj, e)
{//main ballooon tooltip function
	if (window.event){event.cancelBubble=true;}
	else if (e.stopPropagation){e.stopPropagation();}
	if (typeof dropmenuobj!="undefined"){dropmenuobj.style.visibility="hidden";}
	clearhidemenu();
	if(currentCategory==obj.getAttribute("rel")){
		dropmenuobj=document.getElementById(obj.getAttribute("rel"));
		showhide2(dropmenuobj.style, e);
		dropmenuobj.x=getposOffset(obj, "left");
		dropmenuobj.y=getposOffset(obj, "top")+verticaloffset;
		dropmenuobj.style.position='absolute';
		dropmenuobj.style.zIndex=50;
		dropmenuobj.style.borderColor= 'black';
		dropmenuobj.style.borderWidth= '1px';
		dropmenuobj.style.borderStyle= 'solid';
		dropmenuobj.style.fontFamily= 'Arial, Verdana';
		dropmenuobj.style.fontSize= '9px';
		dropmenuobj.style.textAlign= 'left';
		if(ie){dropmenuobj.style.filter= 'progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135,Strength=8)';}
		dropmenuobj.style.width='268px';
		dropmenuobj.style.heignt='auto';
		dropmenuobj.style.backgroundColor='lightyellow';
		dropmenuobj.style.borderColor='black';
		dropmenuobj.style.borderSize='1px';
		dropmenuobj.style.borderstyle='solid';
		dropmenuobj.style.height='auto';
		dropmenuobj.style.left=getposOffset(obj, "left")-clearbrowseredge(obj, "rightedge") + 'px';
		dropmenuobj.style.top=getposOffset(obj, "top")+verticaloffset-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight + 'px';
		if (enablearrowhead){visibilitytiparrow();}
	}
};

function visibilitytiparrow(){ //function to visibility optional arrow image associated with tooltip
tiparrow=document.getElementById("arrowhead");
tiparrow.src=(edgeoffsety!=0)? arrowheadimg[0] : arrowheadimg[1];
var ieshadowwidth=(dropmenuobj.filters && dropmenuobj.filters[0])? dropmenuobj.filters[0].Strength-1 : 0;
//modify "left" value depending on whether there's no room on right edge of browser to visibility it, respectively
tiparrow.style.left=(edgeoffsetx!=0)? parseInt(dropmenuobj.style.left)- -parseInt(dropmenuobj.offsetWidth)-parseInt(tiparrow.offsetWidth) + 'px' : parseInt(dropmenuobj.style.left)+5 + 'px';
//modify "top" value depending on whether there's no room on right edge of browser to visibility it, respectively
tiparrow.style.top=(edgeoffsety!=0)? parseInt(dropmenuobj.style.top)- -parseInt(dropmenuobj.offsetHeight)-parseInt(tiparrow.offsetHeight)-parseInt(ieshadowwidth)- -parseInt(arrowheadheight) + 'px' : parseInt(dropmenuobj.style.top)-arrowheadheight + 'px';
tiparrow.style.visibility="visible";
};

function delayhidemenu()
{
    if(!dropmenuobj)
    {
        // do something else;
    }
    else
    {
        delayhide=setTimeout("dropmenuobj.style.visibility='hidden'; dropmenuobj.style.left=0; if (enablearrowhead) tiparrow.style.visibility='hidden'",disappeardelay)
    }
};

function clearhidemenu()
{
if (typeof delayhide!="undefined")
clearTimeout(delayhide);
}
var relvalue = null;
function reltoelement(linkobj)
{ //tests if a link has "rel" defined and it's the ID of an element on page
relvalue=linkobj.getAttribute("rel");
//document.getElementById(relvalue).style.top='500px';
return (relvalue!=null && relvalue!="" && document.getElementById(relvalue)!=null && document.getElementById(relvalue).className=="balloonstyle")? true : false
};

function initalizetooltip()
{
    var all_links=document.getElementsByTagName("span");
    if (enablearrowhead){
    tiparrow=document.createElement("img");
    document.body.appendChild(tiparrow);
    tiparrow.setAttribute("src", arrowheadimg[0]);
    tiparrow.setAttribute("id", "arrowhead");
    tiparrow.setAttribute("height", arrowheadheight);
    tiparrow.setAttribute("width", arrowheadheight*2);
    tiparrow.setAttribute("alt", "arrowhead");
    tiparrow.setAttribute("style", "visibility:hidden;");
    tiparrow=document.getElementById("arrowhead");
    tiparrow.style.visibility='hidden';
    tiparrow.style.position='absolute';
};
for (var i=0; i<all_links.length; i++)
{
if (reltoelement(all_links[i])){//if span has "rel" defined and it's the ID of an element on page
document.getElementById(relvalue).style.position='absolute';
document.getElementById(relvalue).style.visibility='hidden';
document.getElementById(relvalue).style.display='block';
document.getElementById(relvalue).style.top='500px';
all_links[i].onmouseover=function(e){
var evtobj=window.event? window.event : e;
visibilityballoontip(this, evtobj);
}

all_links[i].onmouseout=delayhidemenu();
}
}
};

if (window.addEventListener){window.addEventListener("load", initalizetooltip, false);}

else if (window.attachEvent){window.attachEvent("onload", initalizetooltip);}

else if (document.getElementById){window.onload=initalizetooltip();}
