function check_email_field(ItemObj) {
	var intPosAt, intPosPoint;
	if ((ItemObj.type.toLowerCase() == "text") && (ItemObj.value != "")) {
		intPosAt = ItemObj.value.indexOf("@");
		intPosPoint = ItemObj.value.lastIndexOf(".");
		if ((intPosAt < 1) || 
				(intPosPoint < intPosAt) || 
				(intPosPoint == (ItemObj.value.length - 1)) || 
				(ItemObj.value.indexOf(" ") > -1)	) {
			alert('"' + ItemObj.value + '" is not a correct e-mail address!');
			ItemObj.focus();
			return false;
		}
	}
	return true;
}

function check_required_fields(form) {
	var AllObj, ItemObj;
	AllObj = form.elements;
	for(i=0; i < AllObj.length; i++ ) {
		ItemObj = AllObj[i];
		if ((ItemObj.type.toLowerCase() == "text")||
				(ItemObj.type.toLowerCase() == "password")||
				(ItemObj.type.toLowerCase() == "textarea")||
		    (ItemObj.type.toLowerCase().indexOf('select') > -1))
		  {
				if ((ItemObj.required == "true") && (trim(ItemObj.value) == "")) {
					alert('Please fill in all the required fields!');
					ItemObj.focus();
				return false;
				} 
			}
	}
	return true;
}

function isEmptyChar(c){
	return (c.charCodeAt(0)<=32)
}

function ltrim(str){
var i
for(i=0;(i<str.length)&&(isEmptyChar(str.charAt(i)));i++);
return str.substring(i,str.length)
}

function rtrim(str){
var i
for(i=str.length-1;(i>=0)&&(isEmptyChar(str.charAt(i)));i--);
return str.substring(0,i+1)
}

function trim(str){
	return	ltrim(rtrim(str))
}


function check_email_fields(form) {
	var AllObj, ItemObj;
	AllObj = form.elements;
	for(i=0; i < AllObj.length; i++ ) {
		ItemObj = AllObj[i];
		if ((ItemObj.email == "true") && (!check_email_field(ItemObj))) 
			return false;
	}
	return true;
}

function check_date_fields(form) {
	var AllObj, ItemObj;
	AllObj = form.elements;
	for(i=0; i < AllObj.length; i++ ) {
		ItemObj = AllObj[i];
		if ((ItemObj.date == "true") && (!check_date_field(ItemObj.value)))
		{
			alert("You have entered an invalid date.\n\nPlease re-enter as mm/dd/yyyy.")
			ItemObj.focus(); 
			return false;
		}	
	}
	return true;
}

//This function checks for valid dates and 4 digit years.  date_input is
//the date to be validated.
//Because getFullYear() is used, this script only works on 4.0 or greater browsers.
function check_date_field(dateInput){
	if(dateInput != ''){        
		var inDate = dateInput;

		if (inDate.indexOf("-") != -1){
			var splitDate = inDate.split("-")
		}
		else {
			var splitDate = inDate.split("/")
		}

		var cmpDate = new Date(Date.parse(inDate))
		 
		var testDate = (cmpDate.getMonth()+1) + "/" + (cmpDate.getDate()) + "/" + (cmpDate.getFullYear())
		var inDate2 = (Math.abs(splitDate[0])) + "/" + (Math.abs(splitDate[1])) + "/" + (Math.abs(splitDate[2]))
		if ((inDate2 != testDate) || (cmpDate.getFullYear() == 2079 && cmpDate.getMonth() >= 5 && cmpDate.getDate() >= 6) || (cmpDate.getFullYear() > 2079) || (cmpDate.getFullYear() < 1900)){
			return false;
		}
		else {
			if (testDate == "NaN/NaN/NaN"){
				return false;
			}
			else {
				return true;
			}       
		}
	}
	else {
		return true;
	}
}
