

function mei_validatebeforesubmit(f){
	if(!mei_isEmpty(f.Name, "name")){return false;}
	if(!mei_isEmpty(f.HomeAddress, "address")){return false;}
	if(!mei_isEmpty(f.City, "city")){return false;}
	if(!mei_isEmpty(f.State, "state")){return false;}
	if(!mei_isEmpty(f.Zip, "zip")){return false;}
	if(!mei_isEmpty(f.Email, "email address")){return false;}
	if(!mei_isEmpty(f.Phone, "phone number")){return false;}
	
	if(!mei_isEmpty(f.InformationNeeded, "information you need")){return false;}
	
	
	return true;
}

var date_format=/^\d{1,2}[\/]{1}\d{1,2}[\/]{1}\d{4}$/;
var phone_format = /^\d{3}-?\d{7}$/;
var year_format = /^\d{4}$/;
var email_format=/^\w{1,}.*\w{1,}.*\w{1,}[@]\w{1,}.*\w{1,}[\.]{1}com$|net$|org$|gov$|edu$|us$/


function mei_isEmpty(e, fld){
	if(e.type=='text' || e.type=='textarea')
		if(e.value=="" || e.value==null){
			alert("Please enter " + fld +" field.");
			e.select();
			return false;
	}
	
	if(e.type=='hidden')
		if(e.value=="" || e.value==null){
			alert("Please select " + fld);
			return false;
	}
	
	if(e.type=='checkbox' || e.type=='radio')
		if(!e.checked){
			alert("Please check " + fld);
			return false;
	}
	
	if(e.type=='select-one' || e.type=='select-multiple'){
		if(e[e.selectedIndex].value=='' || e.selectedIndex==-1){
			alert("Please select " + fld +" field.");
			e.focus();
			return false;
		}
	}

	if(e.length >= 1 && e.type!='select-one' && e.type!='select-multiple'){
		for(var i=0; i<=e.length-1;i++){
			if(e[i].checked){return true;}
		}
		alert("Please check " + fld +" field.");
		return false;
	}
	if(e.type=='checkbox'){
		if(!e.checked){
			alert("Please check " + fld +" field.");
			return false;
		}
	
	}
	return true;
}


function mei_isDate(e){
	var d = new Date();
	if(e.value==''){return true;}
	var mm=e.value.split('/')[0];
	var dd=e.value.split('/')[1];
	var yy=e.value.split('/')[2];
	
	if(!date_format.test(e.value)){
		alert("Correct date format is: mm/dd/yyyy");
		e.value="";
		return;
	}
	
	if (mm > 12 || mm < 1 ){mei_error_message(e, "Please enter correct month value."); return;}
	if (dd > 31 || dd < 1){mei_error_message(e, "Please enter correct day value."); return;}
	if (yy > new Date().getFullYear()+1){mei_error_message(e, "Please enter correct year value."); return;}
	
	if (mm == 4||mm == 6||mm == 9||mm == 11){
		if (dd > 30){
			_CF_error_message(e,"Please enter correct day value"); return;
		}
	}
	
	if (mm == 2){						
		var leap = parseInt(yy/4, 10)
		if (dd > 29){mei_error_message(e," Please enter correct day value"); return;}
		if (dd == 29 && ((yy/4)!=parseInt(yy/4,10))) {
			mei_error_message(e, " Please enter correct day value"); return;
		}	
	}
	if(mm.length==1){mm='0'+mm;}
	if(dd.length==1){dd='0'+dd}
	e.value=mm+'/'+dd+'/'+yy;
	return;

}

function mei_error_message(e, msg){
	alert(msg);
	e.value="";
}

function mei_isPhoneNumber(e){
	if(e.value==""){return;}
	if(!phone_format.test(e.value)){
		alert("Correct telephone format consists of 10-digit numbers (##########)");
		e.value="";
		return;
	}
	if (e.value.indexOf('-')==-1){
		e.value = e.value.substr(0,3)+'-'+e.value.substr(3,7)
	}
}


function mei_isEmailAddress(e){
	var intAt=0;
	var intDot=0;
	var bCom=false;
	var atPos=0;
	var bWrongPos=false;
	var isSpace=false;
	var arr= new Array('.com','.net','.gov','.edu','.org','d.us');

	if(e.value == "") { return;}
	
	if(!email_format.test(e.value)){
		alert("Please enter an email address with the correct format\nFor example, john@home.com");
		e.value="";
		return;
	}
	
	for(var i=0; i<=e.value.length-1;i++){
		if(e.value.charAt(i) =='.'){intDot++;}
		if(e.value.charAt(i) =='@'){intAt++; atPos=i;}
		if(e.value.charAt(i) == ' '){isSpace = true;}
	}
	
	bWrongPos=(atPos==0)||(atPos==e.value.length-5)
	
	if(bWrongPos){
		alert("Please enter an email address with the correct format\nFor example, john@home.com");
		e.value="";
		return;
	}
	if(intDot > 4){
		alert("Please check your email address, there are "+ intDot+" '.s' in your email address")
		e.value="";
		return;
	}
	if(intAt != 1){
		alert("Please check your email address, there are "+ intAt + " '@' in your email address.")
		e.value="";
		return;
	}
	if(isSpace){
		alert("Please check your email address and make sure that it does not contain spaces.")
		e.value="";
		return false;
	}
}



function mei_allNumerics(e){
	var num="0|1|2|3|4|5|6|7|8|9|-|";
	for(var i=0;i<=e.value.length-1;i++){
		if(num.indexOf(e.value.charAt(i)+'|')==-1){
			e.value=e.value.substring(0, i);
			return;
		}
	}
}



function mei_checkMonths(e, yy, byy){
	if(e.value==""){return;}
	if(yy.value==""){yy.value=0;}
	
	if(e.value >= 12){
		yy.value= parseInt(e.value / 12) + parseInt(yy.value);
		e.value= e.value % 12;
	}
	mei_validateYear(yy, byy, e)
}

function mei_validateYear(e, yy, mm){
	var dif = parseInt(new Date().getFullYear()) - parseInt(new Date(yy.value).getFullYear())

	if(e.value==""){return;}
	if(isNaN(dif)){return;}
	if(e.value > dif){
		alert("Please make sure the year value you entered is correct.");
		e.value="";
		e.focus();
	}
	if(e.value != '' && e.value != 0){if(mm.value==''){mm.value=0;}}
}





