﻿
//Browser Checks
var browser = navigator.userAgent.toLowerCase();
isGecko = (browser .indexOf("gecko") != -1);
isSafari = (browser .indexOf("safari") != -1);
isKonqueror = (browser.indexOf("konqueror") != -1);

//Main two checks used
var isIE	= (navigator.appName == "Microsoft Internet Explorer" && window.print);
var isBrowserDOM = (document.getElementById && document.getElementsByTagName);



//Helps out with the primary navigation
BindNavGoodness = function() 
{
	if (isBrowserDOM) 
	{
		var navRoot = document.getElementById("nav");
		if (navRoot != null)
		{
			for (i=0; i<navRoot.childNodes.length; i++) 
			{
				node = navRoot.childNodes[i];
				if (node.nodeName=="LI")
				{
					//sets mouseover states on all navitems
					node.onmouseover=function() 
					{
						if (isIE)
						{
							this.className+=" over"; 
							//SI_toggleSelects('hidden'); 
						}
						//ToggleFlash(false);
					}
					
					node.onmouseout=function()
					{
						if (isIE)
						{
							this.className=this.className.replace(" over", "");
							//SI_toggleSelects('visible');
						}
						//ToggleFlash(true);
					}
					
					
					var links = node.getElementsByTagName("A");
					
					for (k=0; k<links.length; k++)
					{
						if (!(links[k].className && links[k].className == "navlink"))
						{
							links[k].onmouseover=function(){SetNavParent(this, true);}
							links[k].onmouseout=function(){SetNavParent(this, false);}
						}
					}
				}
			}
		}
	}
}

//Nice function to hide Select input boxes when in IE
//Thank you Sean Inman
function SI_toggleSelects(state) 
{
	if (isIE || isSafari) 
	{
		for (var i = 0; (sel = document.getElementsByTagName('select')[i]); i++)
		{
			sel.style.visibility = state;
		}
	}
}

function ToggleFlash(show)
{
    /*
    Flash Items are inserted like
    
    <div id="banner-name">
        <object>
            <embed>
            </embed>
        </object>
    </div>    
    
    This function hides any objects/embeds where the div id != "top-banner"
    */


	//just set teh visiblity of the flash objects
	for (var i = 0; (sel = document.getElementsByTagName('object')[i]); i++)
	{	   	
	    //Don't hide the top-banner
	    if(sel.parentNode && sel.parentNode.id == "slideshow") continue;
	    if(sel.parentNode && sel.parentNode.id == "header") continue;
	    if(sel.id == "slideshow") continue;	    	    
	    if(sel.parentNode &&  sel.parentNode.parentNode && sel.parentNode.parentNode.id == "slideshow") continue;	    
	    if(sel.parentNode && sel.parentNode.parentNode && sel.parentNode.parentNode.parentNode && sel.parentNode.parentNode.parentNode.id == "header") continue; 

	    	    
		if (show)
			sel.style.visibility = 'visible';
		else
			sel.style.visibility = 'hidden';
	}
	
	//just set teh visiblity of the flash objects
	for (var i = 0; (sel = document.getElementsByTagName('embed')[i]); i++)
	{	  
		//Don't hide the top-banner    
		//HACK IE: IE seems to ignore the object tag, so the parent of the embed is the div
	    if(sel.parentNode  && sel.parentNode.id == "header") continue;
	    if(sel.id == "slideshow") continue;
	    if(sel.parentNode &&  sel.parentNode.parentNode && sel.parentNode.parentNode.id == "header") continue;	    
	    if(sel.parentNode && sel.parentNode.parentNode && sel.parentNode.parentNode.parentNode && sel.parentNode.parentNode.parentNode.id == "header") continue;


	    
		if (show)
			sel.style.visibility = 'visible';
		else
			sel.style.visibility = 'hidden';
	}
}

function SetNavParent(subnavitem, isSelected)
{
	if(isIE) return;
	//get the parent LI tag
	nav = subnavitem.parentNode.parentNode.parentNode;
	//alert(nav.nodeName);
	if (nav.nodeName == "LI")
	{
		nav.className = (isSelected) ? "over" : "";
	}
}

function OpenDialog(url, width, height, name)
{
	url = window.open(url, name, "width=" + width + ",height=" + height + ",scrollbars=1,resizable=1");
}

function SetFormFieldValue(context, id, value)
{
	var evalString = "";
	evalString += "var o = " + context + ".document.getElementById('" + id + "');\n";
	evalString += "if (o)\n";
	evalString += "    o.value = '" + value + "';";
	eval (evalString);
}

function Query_KeyUp(sender, event)
{
	if (event.keyCode == 13)
	{
		SearchButton_Click(sender.form);
		event.cancelBubble = true;
        if (event.stopPropagation)
			event.stopPropagation();
         return false;
	}
}

function SearchButton_Click(form)
{
	if (form.Query.value.length > 0)
	{
		location.href = form.Target.value + "?Query=" + form.Query.value + "&Source=" + form.Source.options[form.Source.options.selectedIndex].value + "&Form=" + form.name;
	}
	return false;
}

function BindSearchValues(formName, sourceValue, query)
{
	var form = document.forms[formName];
	if (!form)
		return;
	
	form.Query.value = query;
	if (sourceValue.length > 0)
	{
		for (i=0; i<form.Source.options.length; i++)
			if (form.Source.options[i].value == sourceValue)
				form.Source.options[i].selected = true;
	}
}

//Register Event Handlers with Client
//window.onload=BindNavGoodness;