/**************************************************************************************
*
* Form Error Checking Stuff
*
***************************************************************************************/
function checkFields(formObj) {
	
	var str = formObj.contactemail.value;
	
	if(formObj.schoolid.options.selectedIndex == 0) {
		alert("Please select a school from the dropdown");
		changeFieldColor(formObj.schoolid);
		formObj.schoolid.focus();
		return false;
	}
	
	if (formObj.classof.value == "") {
		alert("Please complete the Class Of field before you submit the form");	
		changeFieldColor(formObj.classof);
		formObj.classof.focus();
		return false;
	} 
	
	if (formObj.details.value == "") {
		alert("Please complete the details field before you submit the form");	
		changeFieldColor(formObj.details);
		formObj.details.focus();
		return false;
	}
	
	if (formObj.startdate.value == "") {
		alert("Please complete the Start Date field before you submit the form");	
		changeFieldColor(formObj.startdate);
		formObj.startdate.focus();
		return false;
	} 
	else {
		var dateVal = Trim(formObj.startdate.value);
		var datearr = new Array();
		datearr = dateVal.split('/');
		var day  = datearr[1] * 1; //multiplying by one to convert it to numbers
		var month = datearr[0] * 1;
		var year = datearr[2] * 1;
		
		if (!((day >= 1 && day <=31) && (month >= 1 && month <= 12) && ((year >=2000 && year <= 2020) || (year >= 0 && year <=20)))) {
			alert("Invalid date format for the Start Date Field!\nDate can be entered as follows\n5/15/2004\n05/15/2004\n5/15/04");
			//set the background color to yellow
			changeFieldColor(formObj.startdate);			
			formObj.startdate.focus();
			return false;
		}
	}
	
	if (formObj.enddate.value == "") {
		alert("Please complete the End Date field before you submit the form");	
		changeFieldColor(formObj.enddate);
		formObj.enddate.focus();
		return false;
	} 
	else {
		var dateVal = Trim(formObj.enddate.value);
		var datearr = new Array();
		datearr = dateVal.split('/');
		var day  = datearr[1] * 1; //multiplying by one to convert it to numbers
		var month = datearr[0] * 1;
		var year = datearr[2] * 1;
		
		if (!((day >= 1 && day <=31) && (month >= 1 && month <= 12) && ((year >=2000 && year <= 2020) || (year >= 0 && year <=20)))) {
			alert("Invalid date format for the End Date field!\nDate can be entered as follows\n5/5/2004\n05/05/2004\n5/15/04");
			changeFieldColor(formObj.enddate);
			formObj.enddate.focus();
			return false;
		}
		if(dateVal.length == 0)
			dateVal = null;
		
		
		formObj.enddate.value = dateVal;
	}
	
	if (formObj.enddisplaydate.value == "") {
		alert("Please complete the End Display Date field before you submit the form");	
		changeFieldColor(formObj.enddisplaydate);
		formObj.enddisplaydate.focus();
		return false;
	} 
	else {
		var dateVal = Trim(formObj.enddisplaydate.value);
		var datearr = new Array();
		datearr = dateVal.split('/');
		var day  = datearr[1] * 1; //multiplying by one to convert it to numbers
		var month = datearr[0] * 1;
		var year = datearr[2] * 1;
		
		if (!((day >= 1 && day <=31) && (month >= 1 && month <= 12) && ((year >=2000 && year <= 2020) || (year >= 0 && year <=20)))) {
			alert("Invalid date format for the End Date field!\nDate can be entered as follows\n5/5/2004\n05/05/2004\n5/15/04");
			changeFieldColor(formObj.enddate);
			formObj.enddate.focus();
			return false;
		}
		if(dateVal.length == 0)
			dateVal = null;
		
		
		formObj.enddisplaydate.value = dateVal;
	}
	
	if (formObj.contactname.value == "") {
		alert("Please complete the Contact Name before you submit the form");	
		changeFieldColor(formObj.contactname);
		formObj.contactname.focus();
		return false;
	} 
		
	if (formObj.contactphone.value == "" &&
		formObj.contactemail.value == "" &&
		formObj.contactwebsite.value == "" ) {
			
		alert("Please complete at least one of the following fields\n-Contact Phone\n-Contact Email\n-Contact Website");
		return false;
			  
	}
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (str !="" && !filter.test(str)) {
		alert("Please input a valid email address!")
		changeFieldColor(formObj.contactemail);
		formObj.contactemail.focus();
		return false;
	}
	
	return true;
}

function changeFieldColor(formField) {
	if (formField.style) { // dynamic style scripting possible
    	formField.style.backgroundColor = '#FFCC00';
	}
}

function Trim(s) {
   
  	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
    	s = s.substring(1,s.length);
  	}
  
	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
    	s = s.substring(0,s.length-1);
  	}
  	
	return s;
}


function checkForm(formObj) {
	return checkFields(formObj);
	
}

function letterCount(formField, displayField,charsAllowed) {
	//alert((document.getElementById(formField).value).length);	
	document.getElementById(displayField).innerHTML = "Characters Left:" + ((charsAllowed * 1)- (document.getElementById(formField).value).length);
}


