
var menuwidth='185px'; //default menu width
var menuheight='30px'; //default menu width
var menubgcolor='#f0f0f0';  //menu bgcolor
var disappeardelay=10;  //menu disappear speed onMouseout (in miliseconds) 
var hidemenu_onclick="yes"; //hide menu when user clicks within menu?

var ie4=document.all;
var ns6=document.getElementById&&!document.all;

if (ie4||ns6) {
  document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event,0)"></div>');
  document.write('<div id="dropsubmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event,1)"></div>');
}

function setActiveStyleSheet(cssTitle) {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == cssTitle) {
        a.disabled = false;
      }
    }
  }
}

setActiveStyleSheet('default');

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;
}

function showhide(obj, e, visible, hidden, menuwidth,isSub) {
	if (ie4||ns6) {
	  if (isSub) {
	    dropsubmenuobj.style.left=dropsubmenuobj.style.top="-500px";
	  } else {
		  dropmenuobj.style.left=dropmenuobj.style.top="-500px";
	  }
	}
	
	if (menuwidth!="") {
	  if (isSub) {
		  dropsubmenuobj.widthobj=dropsubmenuobj.style;
		  dropsubmenuobj.widthobj.width=menuwidth;
		} else {
		  dropmenuobj.widthobj=dropmenuobj.style;
		  dropmenuobj.widthobj.width=menuwidth;
		}
	}
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") {
		obj.visibility=visible;
  }	else if (e.type=="click") {
		obj.visibility=hidden;
	}
}

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function clearbrowseredge(obj, whichedge,isSub)
{
	var edgeoffset=0;
	if (whichedge=="rightedge")	{
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		if (isSub) {
		  dropsubmenuobj.contentmeasure=dropsubmenuobj.offsetWidth;
	    if (windowedge-dropsubmenuobj.x < dropsubmenuobj.contentmeasure) {
		    edgeoffset=dropsubmenuobj.contentmeasure-obj.offsetWidth;
      }
		} else {
		  dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		  if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure) {
			  edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
	    }
		}
	}	else {
		var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset;
		var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
    if (isSub) {
		  dropsubmenuobj.contentmeasure=dropsubmenuobj.offsetHeight;
		  if (windowedge-dropsubmenuobj.y < dropsubmenuobj.contentmeasure) { 
			  edgeoffset=dropsubmenuobj.contentmeasure+obj.offsetHeight;
			  if ((dropsubmenuobj.y-topedge) < dropsubmenuobj.contentmeasure) {
				  edgeoffset=dropsubmenuobj.y+obj.offsetHeight-topedge;
			  }
		  }
		} else {
		  dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
		  if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) { 
			  edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
			  if ((dropmenuobj.y-topedge) < dropmenuobj.contentmeasure) {
				  edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
			  }
		  }		  
		}
	}
	return edgeoffset;
} 

function populatemenu(what,isSub)
{
	if (ie4||ns6) {
	  if (isSub) {
		  dropsubmenuobj.innerHTML=what.join("");
	  } else {
		  dropmenuobj.innerHTML=what.join("");
		}
  }
}


function dropdownmenuInternal(obj, e, menucontents, menuwidth, tab, selected,isSub) {
	if (window.event) { event.cancelBubble=true; }
	else if (e.stopPropagation) { e.stopPropagation(); }
	
	clearhidemenu(isSub);
	dropmenuobj     = document.getElementById? document.getElementById("dropmenudiv")    : dropmenudiv;
	dropsubmenuobj  = document.getElementById? document.getElementById("dropsubmenudiv") : dropsubmenudiv;
	populatemenu(menucontents,isSub);
	
	
	if (isSub) {
	  dropsubmenuobj.tab      = tab;
	  dropsubmenuobj.selected = selected; 
	} else {
	  dropmenuobj.tab         = tab;
	  dropmenuobj.selected    = selected; 
	}
	
	if (dropmenuobj.tab == "home" )	{ 
		showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth,0); 
		return clickreturnvalue(); 
	} 
	
	if (ie4||ns6) {
	  if (!isSub) {
		  showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth,0);
		  dropmenuobj.x=getposOffset(obj, "left");
		  dropmenuobj.y=getposOffset(obj, "top");
		  dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge",0)+"px";
		  dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge",0)+obj.offsetHeight+"px";
		} else {
		  showhide(dropsubmenuobj.style, e, "visible", "hidden", menuwidth,1);
		  dropsubmenuobj.x=getposOffset(obj, "left") + 140;
		  dropsubmenuobj.y=getposOffset(obj, "top") - 20;
		  dropsubmenuobj.style.left=dropsubmenuobj.x-clearbrowseredge(obj, "rightedge",1)+"px";
		  dropsubmenuobj.style.top=dropsubmenuobj.y-clearbrowseredge(obj, "bottomedge",1)+obj.offsetHeight+"px";
		}
	}
	
	return clickreturnvalue();
}

function dropdownmenu(obj, e, menucontents, menuwidth, tab, selected) {
  return dropdownmenuInternal(obj,e,menucontents,menuwidth,tab,selected,0);
}

function dropdownsubmenu(obj, e, menucontents, menuwidth, tab, selected) {
  dropdownmenuInternal(obj,e,menucontents,menuwidth,tab,selected,1);
}

function clickreturnvalue()
{
	if (ie4||ns6) { return false; }
	else { return true; }
}

function contains_ns6(a, b) {
	while (b.parentNode) {
		if ((b = b.parentNode) == a) { 
		  return true; 
		}
	}	
	return false;
}

function dynamichide(e,isSub)
{
	if (ie4&&!dropmenuobj.contains(e.toElement)) {
		delayhidemenu(isSub);
	} else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) {
		delayhidemenu(isSub);
  }
}

function hidemenu(e)
{
	if (typeof dropmenuobj!="undefined")	{
		if (ie4||ns6)
		{
			dropmenuobj.style.visibility="hidden";
		}
	}
	hidesubmenu(e);
}

function hidesubmenu(e)
{
	if (typeof dropsubmenuobj!="undefined")	{
		if (ie4||ns6)
		{
			dropsubmenuobj.style.visibility="hidden";
		}
	}
}


function delayhidemenu(isSub)
{
	if (ie4||ns6)	{
	  if (isSub) {
		  delayhide1 =setTimeout("hidesubmenu()",   disappeardelay);
		} else {
		  delayhide0 =setTimeout("hidemenu()",disappeardelay);
		}
	}
	
}

function clearhidemenu(isSub) {
  if (isSub) {
	  if (typeof delayhide1 !="undefined") clearTimeout(delayhide1);
	} else {
	  if (typeof delayhide0 !="undefined") clearTimeout(delayhide0);
	}
}

// Non header specific functions

function alt_window(url, winname, wide, tall) 
{
	popupWin = window.open(url, winname, "scrollbars,toolbar,menubar,location,status,resizable,height="+tall+",width="+wide);
}

function selectLang(theForm) 
{
		var option = theForm.Language.options[theForm.Language.selectedIndex].value
		window.location = option;
		return true;
}

