/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

//Modified by Randy Bacon, GraphicalData, Inc. 05/07 to handle the parent div rollover colors

/////No further editting needed

var menuNavColor = "black";
var menuNavBackground = "#FFFFFF";
var menuNavColorOver = "#FFFFFF";
var menuNavBackgroundOver = "#333333";
var menuNavColorSelected = "#FFFFFF";
var menuNavBackgroundSelected = "#666666";
var menuNavHeight = "15px";
var menuNavSubWidth = "150px";
var ddDivId = "designNavDropDiv";
var disappeardelay=100;  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes"; //hide menu when user clicks within menu?
var delayhide;
var ie4;
var ns6;
var selectedDivId = "";
var selectedHrefId = "";
var selectedItemInverse = false;

function setUpGlobals()
{
	ie4=document.all;
	ns6=document.getElementById&&!document.all;	
	menuNavTCDefault = document.getElementById("designNavStateDefault").style.color; // text
	menuNavBGCDefault = document.getElementById("designNavStateDefault").style.backgroundColor; // container
	menuNavBGIDefault = document.getElementById("designNavStateDefault").style.backgroundImage; // container
	menuNavTCOver = document.getElementById("designNavStateOver").style.color; // text
	menuNavBGCOver = document.getElementById("designNavStateOver").style.backgroundColor; // container
	menuNavBGIOver = document.getElementById("designNavStateOver").style.backgroundImage; // container
	menuNavTCSelected = document.getElementById("designNavStateSelected").style.color; // text
	menuNavBGCSelected = document.getElementById("designNavStateSelected").style.backgroundColor; // container
	menuNavBGISelected = document.getElementById("designNavStateSelected").style.backgroundImage; // container
	menuNavHeight = document.getElementById("designNavStateDefault").style.height;
	menuNavSubWidth = document.getElementById("designNavStateDefault").style.width;
	//alert('m: ' + menuColor + ' mbg: ' + menubgcolor + ' moc: ' + menuOverColor + ' mobg: ' + menuOverBgColor);
	if (ie4||ns6)
	{
		/*document.write('<div id="' + ddDivId + '" style="z-index:100000;position:absolute;visibility:hidden;display:block;width:' + menuwidth + ';" onMouseover="clearhidemenu();rollSub();" onMouseout="dynamichide(event);rollOffSub();"></div>')*/
		document.write('<div id="' + ddDivId + '" style="position:absolute;z-index:15000;display:none;width:' + menuNavSubWidth + ';" onMouseover="clearhidemenu();rollSub();" onMouseout="dynamichide(event);rollOffSub();"></div>')
	}
}

function showhideDDM(obj, e, visible, hidden){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
/*if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}*/
if (e.type=="click" && obj.display=="none" || e.type=="mouseover")
{
obj.display=visible;
}
else if (e.type=="click")
obj.display=hidden;
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
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
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("");
//alert('<div id="dropmenudiv" style="visibility:hidden;display:block;white-space:no-wrap;width:auto;background-color:'+menubgcolor+';" onMouseover="clearhidemenu();rollSub();" onMouseout="dynamichide(event);rollOffSub();">' + dropmenuobj.innerHTML + '</div>');
}

function dropdownmenu(obj, e, menucontents, parentHrefId, inverseColors)
{
	if (window.event) event.cancelBubble=true
	else if (e.stopPropagation) e.stopPropagation()
	clearhidemenu()
	dropmenuobj = document.getElementById ? document.getElementById(ddDivId) : ddDivId;
	populatemenu(menucontents)
	if (ie4||ns6)
	{
		showhideDDM(dropmenuobj.style, e, "block", "none");
		/*dropmenuobj.x=getposOffset(obj, "left")
		dropmenuobj.y=getposOffset(obj, "top")
		alert(getposOffset(obj, "left"));
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"*/
		dropmenuobj.style.left = obj.offsetLeft + "px";
		dropmenuobj.style.top = menuNavHeight;
			
		//put a refenrence to the href for sub roll ons
		selectedDivId = obj.id;
		selectedHrefId = parentHrefId;
		selectedItemInverse = inverseColors;
		
		//"fix" colors in items
		ChangeMainNavDiv(menuNavTCOver, menuNavBGCOver, menuNavBGIOver);
	}

	return clickreturnvalue()
}

/*
function getposOffset(what, offsettype)
{
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetBottom;
	if( includeParent )
	{
		var parentOff = what.offsetParent;
		while(parentOff != null)
		{
			totaloffset += (offsettype=="left")? parentOff.offsetLeft : parentOff.offsetTop;
			parentOff = parentOff.offsetParent;
		}
	}
	return totaloffset;
}*/

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){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.display="none";
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
	//"fix" colors in items
	if( selectedItemInverse )
		ChangeMainNavDiv(menuNavTCSelected, menuNavBGCSelected, menuNavBGISelected);
	else
		ChangeMainNavDiv(menuNavTCDefault, menuNavBGCDefault, menuNavBGIDefault);
}	

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

//custom roll over sub menu item handling - use selectedDivId to get the element id
function rollSub()
{
	ChangeMainNavDiv(menuNavTCOver, menuNavBGCOver, menuNavBGIOver);
}

function rollOffSub()
{
	if( selectedItemInverse )
		ChangeMainNavDiv(menuNavTCSelected, menuNavBGCSelected, menuNavBGISelected);
	else
		ChangeMainNavDiv(menuNavTCDefault, menuNavBGCDefault, menuNavBGIDefault);
}

function ChangeMainNavDiv(t, c, i)
{
	var tempItem = document.getElementById(selectedDivId);
	tempItem.style.color = t;
	tempItem.style.backgroundImage = i;
	tempItem.style.backgroundColor = c;
	var tempHref = document.getElementById(selectedHrefId);
	tempHref.style.color = t;
	tempHref.style.backgroundImage = i;
	tempHref.style.backgroundColor = c;
}


