function bodyOnLoad()	{
	MM_preloadImages(	'images/menu_aboutwar_over.gif','images/menu_history_over.gif',
										'images/menu_services_over.gif','images/menu_metalbuildings_over.gif',
										'images/menu_retrofit_over.gif','images/menu_gallery_over.gif',
										'images/menu_partners_over.gif','images/menu_links_over.gif',
										'images/menu_forms_over.gif','images/menu_planroom_over.gif',
										'images/menu_employment_over.gif','images/menu_awards_over.gif',
										'images/menu_contact_over.gif');
	return true;
}

function validateForm() {
	if (!validateInput("name", "Name"))	{
		return false;
	}
	if (!validateInput("title", "Title"))	{
		return false;
	}
	if (!validateInput("company", "Company"))	{
		return false;
	}
	if (!validateInput("address", "Address"))	{
		return false;
	}
	if (!validateInput("city", "City"))	{
		return false;
	}
	
	if (!validateInput("state", "State"))	{
		return false;
	}
	if (!validateState(getElementById("state").value)) {
		alert("Please select a state.");
		getElementById("state").focus();
		return false;
	}
	
	if (!validateInput("zip", "Zip"))	{
		return false;
	}
	if (!validateUSZip(getElementById("zip").value)) {
		alert("Please provide a valid zipcode.");
		getElementById("zip").focus();
		return false;
	}
	
	if (!validateInput("phone", "Phone"))	{
		return false;
	}
	if (!validateUSPhone(getElementById("phone").value)) {
		alert("Please provide a phone number in (555) 555-5555 format.");
		getElementById("phone").focus();
		return false;
	}
	
	if (!validateInput("email", "Email"))	{
		return false;
	}
	if (!validateEmail(getElementById("email").value)) {
		alert("Please provide a valid email address.");
		getElementById("email").focus();
		return false;
	}
	
	return true;
}
			

function validateInput(inputId, inputTextDesc) {
	var strVal = trimAll(getElementById(inputId).value);
	getElementById(inputId).value = strVal;
	if (getElementById(inputId).value.length == 0) {
		alert("Please provide a " + inputTextDesc + ".");
		getElementById(inputId).focus();
		return false;
	}
	return true;
}
	
function validateState(strValue)	{
	var objRegExp = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i; 
  return objRegExp.test(strValue);
}

function validateUSZip(strValue ) {
	//check for valid US Zipcode
	var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
  return objRegExp.test(strValue);
}

function validateUSPhone(strValue ) {
	//US phone pattern: (999) 999-9999 or (999)999-9999
	//check for valid us phone with or without space between area code
  var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
  return objRegExp.test(strValue); 
}

function validateEmail(strValue) {
	//check for valid email
	var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
  return objRegExp.test(strValue);
}

function getElementById(inputId)	{
	return document.getElementById(inputId);
}

function trimAll(strValue)	{
	//remove leading and trailing spaces
		
	//check for all spaces
	var vRegExp = /^(\s*)$/;
	if (vRegExp.test(strValue))	{
		strValue = strValue.replace(vRegExp, '');
		if (strValue.length == 0)	{
			return strValue;
		}
	}
	
	//check and remove for leading and trailing spaces
	vRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
	if (vRegExp.test(strValue))	{
		strValue = strValue.replace(vRegExp, '$2');
	}	
	
	return strValue;
}

function rightTrim(strValue)	{
	//remove trailing white spaces
	var vRegExp = /^([\w\W]*)(\b\s*)$/;
	if (vRegExp.test(strValue))	{
		strValue = strValue.replace(vRegExp, "$1");
	}	
	
	return strValue;
}

function leftTrim(strValue)	{
	//remove leading white spaces
	var vRegExp = /^(\s*)(\b[\w\W]*)$/;	
	if (vRegExp.test(strValue))	{
		strValue = strValue.replace(vRegExp, "$2");
	}	
					
	return strValue;
}
