var onloadEvents = new Array();
window.onload = function()
{
	for(var i = 0; i < onloadEvents.length; i++)
		onloadEvents[i]();
}

function initNav()
{
	var ids = new Array("nav");

	for(var i = 0; i < ids.length; i++)
	{
		var sfEls = document.getElementById(ids[i]).getElementsByTagName("LI");
		for(var i = 0; i < sfEls.length; i++)
		{
			sfEls[i].oldClassName = sfEls[i].className ? sfEls[i].className : "";
			sfEls[i].onmouseover = function()
			{
				this.className = this.oldClassName + " hover";
			}
			sfEls[i].onmouseout = sfEls[i].onclick = function()
			{
				this.className = this.oldClassName;
			}

			var sfEls2 = sfEls[i].getElementsByTagName("A");
			for (var j = 0; j < sfEls2.length; j++)
			{
				sfEls2[j].classResetElement = sfEls[i];
				sfEls2[j].onclick = function() {
					if(this.href.substr(this.href.length-1) == "#")
						return false;
					else
						this.classResetElement.className = this.classResetElement.oldClassName;
					if(this.className == "newwindow")
					{
						window.open(this.href);
						return false;
					}
				}
			}
		}
	}
}

function validateForm(f)
{
	var finalMsg = "";
	var sfEls = {
		input: f.getElementsByTagName("input"),
		select: f.getElementsByTagName("select"),
		textarea: f.getElementsByTagName("textarea")
	};
	var oneSelectedIndex = new Array();
	for(var i in sfEls)
	{
		for(var j = 0; j < sfEls[i].length; j++)
		{
			var msg = "";
			var padded = " " + sfEls[i][j].className + " ";
	
			if(padded.indexOf(" notempty ") != -1)
			{
				if(sfEls[i][j].value == "")
					msg = "The field \"" + sfEls[i][j].attributes["title"].value + "\" must be filled out";
			}
			
			if(padded.indexOf(" oneselected ") != -1)
			{
				if(i == "select")
				{
					if(sfEls[i][j].value == "")
						msg = "You must select an option for \"" + sfEls[i][j].attributes["title"].value + "\"";
				}
				if(i == "input")
				{
					var found = false;
					for(var k = 0; k < oneSelectedIndex.length; k++)
					{
						if(oneSelectedIndex[k].name == sfEls[i][j].name)
						{
							oneSelectedIndex[k].checked += sfEls[i][j].checked ? 1 : 0;
							found = true;
							break;
						}
					}
					if(!found)
					{
						oneSelectedIndex[oneSelectedIndex.length] = {
							name: sfEls[i][j].name,
							title: sfEls[i][j].attributes["title"].value,
							checked: sfEls[i][j].checked ? 1 : 0,
							element: sfEls[i][j]
						};
					}
				}
			}
	
			if(msg.length)
			{
				if(finalMsg.length)
					finalMsg += "\n";
				else
					sfEls[i][j].focus();
				finalMsg += msg;
			}
		}
	}
	
	for(var k = 0; k < oneSelectedIndex.length; k++)
	{
		if(!oneSelectedIndex[k].checked)
		{
			if(finalMsg.length)
				finalMsg += "\n";
			else
				oneSelectedIndex[k].element.focus();
			finalMsg += "You must select an option for \"" + oneSelectedIndex[k].title + "\"";
		}
	}

	if(finalMsg.length)
	{
		alert(finalMsg);
		return false;
	}
		
	return true;
}

onloadEvents.push(initNav);
