// start: mouseover script and image preloader
	
function msover(img,ref)
	{
			document.images[img].src = ref;
	}

function msout(img,ref)
	{
			document.images[img].src = ref;
	}
	
//global showHide
function showHide(eleName) {
	var pElement = document.getElementById(eleName);
	if (pElement.style.display=="none") {
		pElement.style.display="";
	} else {
		pElement.style.display="none";
	}
}

function reWriteAppsHref() {
	if (document.getElementById("app_link")) {
			var pElement = document.getElementById("app_link");
			pElement.href="javascript:showHide('applications');";
	}
}

function reWriteOptionsHref() {
	if (document.getElementById("option_link")) {
		var pElement = document.getElementById("option_link");
		pElement.href="javascript:showHide('options');";
	}
}

function reWriteVideoHref() {
		if (document.getElementById("video_link")) {
			var pElement = document.getElementById("video_link");
			pElement.href="javascript:showHide('video');";
		}
}

function reWritePDFHref() {
			if (document.getElementById("pdf_link")) {
				var pElement = document.getElementById("pdf_link");
				pElement.href="javascript:showHide('pdfs');";
			}
}

document.getElementsByClassName=function(clsName,names){
	if(typeof(clsName)=="string"){
		var retVal=new Array();
		var elements=document.getElementsByTagName("*");
		for(i=0;i<elements.length;i++){
			if(names){
				if(elements[i].className.indexOf(" ")>=0){
					var classes=elements[i].className.split(" ");
					for(var j=0;j<classes.length;j++){
						if(classes[j]==clsName){
							retVal.push(elements[i].id);
						}
					}
				}
				else if(elements[i].className==clsName){
					retVal.push(elements[i].id);
				}
			}
			else{
				if(elements[i].className.indexOf(" ")>=0){
					var classes=elements[i].className.split(" ");
					for(var j= 0;j < classes.length;j++){
						if(classes[j]==clsName){
							retVal.push(elements[i]);
						}
					}
				}
				else if(elements[i].className==clsName){
					retVal.push(elements[i]);
				}	
			}
		}
		return retVal;
	}
	else{
		throw new Error("document.getElementsByClassName() must be passed a string representation of a class name");	
	}
};

function setUp(c,msoverClass){
	var a=new Array();
	a=document.getElementsByClassName(c);
	for(i=0; i<a.length; i++){
		a[i]['onmouseover']=function(){this.className=msoverClass;};
		a[i]['onmouseout']=function(){this.className=c;};
	}
}

// ----------------------------------------------------------------------------------
// start: form validator script
function checkForm(form){
	/*
	Use a hidden input on the submitting form called 
		required to send required field names.
	Just separate the field names with commas like this: 
		<input type="hidden" name="required" value="emailAddress,firstName,lastName">
	If you need all fields required then change the value="all"
	If you don't need the form to be validated, then don't call the script or 
		just omit the hidden input or leave the value empty.
	*/
	
	required = (form.required && form.required.value)?form.required.value:false;
	requiredFields = required.split(',');
	
	if (required && required != "all"){
		for(a=0;a<requiredFields.length;a++){
			currentName = eval("form."+requiredFields[a]+".name");
			currentValue = eval("form."+requiredFields[a]+".value");
			if(!currentValue && currentName != "emailAddress" && currentName != "email"){
				alert("You must supply information for all of the required fields.");
				eval("form."+requiredFields[a]+".value = ''");
				eval("form."+requiredFields[a]+".focus()");
				return false;
			}
			else if (currentName == "emailAddress" && (currentValue.indexOf("@") == -1 || currentValue.indexOf("\.") == -1 || currentValue.length < 5 || currentValue == "asdf@asdf.com") || currentName == "email" && (currentValue.indexOf("@") == -1 || currentValue.indexOf("\.") == -1 || currentValue.length < 5 || currentValue == "asdf@asdf.com")){
				alert("You must supply a valid email address.");
				eval("form."+requiredFields[a]+".value = ''");
				eval("form."+requiredFields[a]+".focus()");
				return false;
			}
		}
	}
	else if (required && required == "all"){
		for(i=0;i<form.elements.length;i++){
			if (!form.elements[i].value && form.elements[i].name != "emailAddress" && form.elements[i].name != "email"){
				alert("You must supply information for all of the required fields.");
				form.elements[i].focus();
				return false;
			}
			else if (form.elements[i].name == "emailAddress" && (form.elements[i].value.indexOf("@") == -1 || form.elements[i].value.indexOf("\.") == -1 || form.elements[i].value.length < 5 || form.elements[i].value == "asdf@asdf.com")){
				alert("You must supply a valid email address.");
				form.elements[i].value = "";
				form.elements[i].focus();
				return false;
			}
		}
	}
	else{
		return true;
	}
}
// end: form validator script
// ----------------------------------------------------------------------------------