/* = PREP NAV
-------------------------------------------------
	This function sets the hover events for
	nav drop downs.
	Required Nav Structure: Nexted ULs
-------------------------------------------------*/

function prepNav(elementId) {
	if(!document.getElementsByTagName) return 0;
	if(!document.getElementById) return 0;
	if(!document.getElementById(elementId)) return 0;
	
	var listItem = document.getElementById(elementId).getElementsByTagName("LI");
	for(var i = 0; i < listItem.length; i++)
	{
		listItem[i].onmouseover = listItem[i].onfocus = function() {
			if(this.className.indexOf("last") == -1){
				if(this.className)
					this.className += " hover";
				else
					this.className = "hover";
			}
			else {
				if(this.className)
					this.className += " last-hover";
				else
					this.className = "last-hover";
			}
			return 0;
		}
		
		listItem[i].onmouseout = listItem[i].onblur = function() {
			this.className = this.className.replace(/ ?hover ?/,"");
			this.className = this.className.replace(/ ?last-hover ?/,"");
		}
		
	}
	return 0;
}

function callPrepNav() {
	prepNav("nav");
	return 0;
}

addLoadEvent(callPrepNav);

/* = END NAV PREP ---------------------------------*/

function submitForm(formId) {
	document.getElementById(formId).submit();
}


/* = CLICK CLEAR 
-------------------------------------------------
	Clears any input when clicked on if it contains
	its default value.  All that is required is
	that you put the class "clearDefault" on the
	input.
-------------------------------------------------*/

function clickClear() {
	if(!document.getElementsByTagName) return false;
	
	var inputs = document.getElementsByTagName("INPUT");
	
	for ( var i = 0; i < inputs.length; i++)
	{
		if(inputs[i].className.indexOf("clearDefault") != -1)
		{
			inputs[i].onclick = function() {
				if(this.value == this.defaultValue)
				{
					this.value = "";
				}
				return 0;
			}
			inputs[i].onfocus = function() {
				if(this.value == this.defaultValue)
				{
					this.value = "";
				}
				return 0;
			}
			inputs[i].onblur = function() {
				if(this.value == "")
				{
					this.value = this.defaultValue;
				}
				return 0;
			}
		}
	}
	return 0;
}

addLoadEvent(clickClear);

/* = END CLICK CLEAR ----------------------------*/


/*function clearquery(searchQuery) {
	if (searchQuery.value == "SEARCH")
	{
		searchQuery.value = "";
	}
}*/


/*function helpLists() {
	var ul = document.getElementsByTagName("UL");
	for( var i = 0; i < ul.length; i++ )
	{
		var li = ul[i].getElementsByTagName("LI");
		li[0].className += " first";
		li[li.length-1].className += " last";
	}
}*/


function helpColGroups() {
	var divs = document.getElementsByTagName("DIV");
	var colgroups = new Array();
	var cols = new Array();
	
	var j = 0;
	for( var i = 0; i < divs.length; i++ )
	{
		if (divs[i].className.search(/col-group/) != -1)
		{
			colgroups[j] = divs[i];
			j++;
		}
	}
	
	j = 0;
	
	for (var h = 0; h < colgroups.length; h++)
	{
		divs = colgroups[h].getElementsByTagName("DIV");
	
		for( var i = 0; i < divs.length; i++ )
		{
			if (divs[i].className.search(/col/) != -1)
			{
				cols[j] = divs[i];
				j++;
			}
		}
	}
	
	if (j != 0)
	{
		cols[0].className += " first-col";
		cols[cols.length-1].className += " last-col";
	}
}


/*function getReady() {
	if (!document.getElementById) return false;
	
	document.getElementById('search-query').onclick = function () {
		clearquery(this);
	}
}
*/

/*function prepSearch() {
	if (!document.getElementById) return false;
	
	document.getElementById("search-query").onclick = function () {
		clearquery(this);
		return 0;
	}	
	return 0;
}*/


/* = EXTERNAL LINKS
-------------------------------------------------
	Opens links in new windows when there is a 
	rel='external' present
-------------------------------------------------*/
function externalLinks() 
{
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++) 
	{
		if (anchors[i].getAttribute("href").length > 0 && anchors[i].getAttribute("rel") == 'external') 
		{
			anchors[i].target = '_blank';
		}
	}
}

/* = ADD ON LOAD
-------------------------------------------------
	This adds functions to onload without
	stepping on each other.
-------------------------------------------------*/

function addLoadEvent(func) 
{
	var oldOnLoad = window.onload
	if (typeof window.onload != 'function') 
	{
		window.onload = func;
	}
	else 
	{
		window.onload = function() {
			oldOnLoad();
			func();
		}
	}
}

//addLoadEvent(helpLists);
addLoadEvent(helpColGroups);
addLoadEvent(externalLinks);