//////////////////////////////////////////////////////////////////////////////////////////
///////					BELOW IS Javascript for tooltips
//////////////////////////////////////////////////////////////////////////////////////////


// position of the tooltip relative to the mouse in pixel //
var offsetx = 20;
var offsety =  15;
var posX = 0;
var posY = 0;
var m_state = 0;
var m_timerCall;
var anyIE = (document.getElementById && document.all && !window.opera); 
var ns6 = (document.getElementById && !document.all); 
var ieNot5 = (document.getElementById && document.all && navigator.appVersion.substr(22,3)!="5.0" && !window.opera); 
var ieMac = (document.getElementById && document.all && (navigator.appVersion.indexOf("Mac") > 0) && !window.opera); 

//	Time variables for tooltips - m_outtime (time after the mouse moves out of the item with a tool tip), 
//	m_intime (time taken for tooltip to appear)
var m_outtime = 0000;
var m_intime = 2000;

function getMouse(e)
{
		if (anyIE) { // grab the x-y pos.s if browser is IE
		posX = event.clientX + document.body.scrollLeft;
		posY = event.clientY + document.body.scrollTop;
		}
		else {  // grab the x-y pos.s if browser is NS
		posX = e.pageX;
		posY = e.pageY;
		}  
}


function newelement(newid)
{ 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        { 
            display = 'none';
            position = 'absolute';
        } 
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 




function moveToolTipToMousePos()
{
	if(document.getElementById('tooltip'))
	{
		var h_tooltip = document.getElementById('tooltip');
		h_tooltip.style.left = (posX+offsetx) + 'px';
		h_tooltip.style.top = (posY+offsety) + 'px';

		if(window.opera)
			{ h_tooltip.style.top = (posY+offsety-22) + 'px'; }

		if(document.getElementById("tooltip_iframe")) 
		{
			var aiframe = document.getElementById("tooltip_iframe");

			if(aiframe)
			{
				aiframe.style.top = h_tooltip.style.top;
				aiframe.style.left = h_tooltip.style.left;
				aiframe.style.width = h_tooltip.scrollWidth + 2;
				aiframe.style.height = h_tooltip.clientHeight;
			}
		}
	}
}


//tooltip is a finite state machine with 6 states
// 0 - just starting, 5 - waiting, 1-mouse Entered get ready to show tooltip
// 2- show tooltip, 3 - send hidetooltipTimerCall, 4 - hide tooltip, back to 5

function tooltip(srcAnchor,tip,externalCall)
{
	if(ieMac)
	{
		if(srcAnchor) srcAnchor.title=tip;
	}
	else if(m_state==0)
	{
		m_state = 5;
		if(!document.getElementById('tooltip')) newelement('tooltip');

		if(document.getElementById("iframeMarker2") && ieNot5) 
			{ document.getElementById("iframeMarker2").innerHTML="<iframe id='tooltip_iframe' scrolling='no' frameborder='0' src='javascript:false;'></iframe>";}

		tooltip(false,tip,true);
	}
	else if(m_state==5)
	{
		if (externalCall)
		{
			m_state=1;
			tooltip(false,tip,false);
		}
	}
	else if(m_state==4)
	{
		m_state = 5;
		if(m_timerCall) window.clearTimeout(m_timerCall);
		if(document.getElementById('tooltip')) document.getElementById('tooltip').style.display = 'none';
		if(document.getElementById('tooltip_iframe')) 
			{ 
			document.getElementById('tooltip_iframe').style.display = 'none';
			}
		window.status = "";

		if (externalCall)
		{
			m_state=1;
			tooltip(false,tip,false);
		}
	}
	else if(m_state==3)
	{
		m_state = 4;
		if(m_timerCall) window.clearTimeout(m_timerCall);
		m_timerCall=window.setTimeout('tooltip(false,"",false)',m_outtime);
	}
	else if(m_state==1)
	{
		m_state = 2;
		if(m_timerCall) window.clearTimeout(m_timerCall);
		m_timerCall = window.setTimeout('tooltip(false,\''+tip+'\',false)',m_intime);
	}
	else if (m_state==2)
	{
		var h_tooltip = document.getElementById('tooltip');
		h_tooltip.innerHTML = tip;
		window.status = tip;
		h_tooltip.style.display = 'inline';
		if(document.getElementById('tooltip_iframe')) { document.getElementById('tooltip_iframe').style.display = 'block';}
		moveToolTipToMousePos();
	}
}	



function exit()
{
	if(m_state==1 || m_state==2)
	{
		m_state = 3; 
		tooltip(false,"",false);
	}
}


//////////////////////////////////////////////////////////////////////////////////////////
///////					BELOW IS Javascript for dropdown menu
//////////////////////////////////////////////////////////////////////////////////////////


var sfHover = function() 

{
	if(document.all)
	{
		if(document.getElementById("iframeMarker") && navigator.appVersion.substr(22,3)!="5.0") 
			{
			// GRK 2007-03-17 - This line causes the mixed content warning message in IE re the page contains both secure and insecure...
			// Solution is to give it a src attribute set to false.
			document.getElementById("iframeMarker").innerHTML = "<iframe id='menu_iframe' scrolling='no' frameborder='0' src='javascript:false;'></iframe>";
			}

		if(document.getElementById("nav")) 
		{
			var sfEls = document.getElementById("nav").getElementsByTagName("LI");
			for (var i=0; i<sfEls.length; i++) 
			{

				sfEls[i].onmouseover=function() 
				{
					this.className+=" over";	//make li's have hover class

					if (navigator.appVersion.substr(22,3)=="5.0" && !(navigator.appVersion.indexOf("Mac") > 0))	//if msie 5 and not mac hide selects
					{
						var oSelects=document.getElementsByTagName("select");
							for(var i=0;i<oSelects.length;i++)
							oSelects[i].className=" hide";
					}
					else					//else use iframes
					{
						
						if(document.getElementById("menu_iframe")) 
						{
							var iframe = document.getElementById("menu_iframe");

							var submenu = this.getElementsByTagName("UL");
							if(submenu.length) 
							{
								iframe.style.top = submenu[0].offsetTop + this.offsetTop;
								iframe.style.left = submenu[0].offsetLeft + this.offsetLeft;
								iframe.style.width = submenu[0].scrollWidth + 2;
								iframe.style.height = submenu[0].clientHeight + 2;
								iframe.style.display = "inline";
							}
						}
					}
				}

				sfEls[i].onmouseout=function()
				{
					 this.className=this.className.replace(new RegExp(" over\\b"), "");

					if (navigator.appVersion.substr(22,3)=="5.0" && !(navigator.appVersion.indexOf("Mac") > 0))	//if msie 5 and not mac hide selects
					{
							var oSelects=document.getElementsByTagName("select");
							for(var i=0;i<oSelects.length;i++)
							oSelects[i].className=oSelects[i].className.replace(" hide","");
					}
					else
					{
						if(document.getElementById("menu_iframe")) 
							{
							var iframe = document.getElementById("menu_iframe");
							iframe.style.display = "none";
							}
					}
				}
			}
		}
	}
}


////////////////////////////////////////////////////////////////////////////////
//				MAIN TO ALL
////////////////////////////////////////////////////////////////////////////////

function onDocMouseMove(e)
{
	if(m_state==2)
	{
		getMouse(e);
		moveToolTipToMousePos();
	}
}


function onDocLoad()
{
	if(document.all && !window.opera) //if ie 
		sfHover();
	
}


//window.attachEvent("onload", onDocLoad);
window.onload = onDocLoad;
document.onmousemove = onDocMouseMove;
