function update_and_validate() {
	var f = document.Form1;
	var returnval = true;
	if (document.Form1.name.value == '') {
		alert('Please enter your full name');
		document.Form1.name.focus();
		returnval = false;
	} else if (Emailvalidate(document.Form1.email.value) == false) {
		document.Form1.email.focus();
		returnval = false; 
	} else if (Phonevalidate(document.Form1.phone.value, document.Form1.phone2.value) == false) {
		returnval = false;
	} else if (date_validate()==false) {
		alert('Please select correct future date');
		f.day.focus();
		returnval = false;
	} else if (zipvalidate(f.zip_from.value)==false) {
		alert('Please choose correct zip code');
		f.zip_from.focus();
		returnval = false;
	} else if (zipvalidate(f.zip_to.value)==false) {
		alert('Please choose correct zip code');
		f.zip_to.focus();
		returnval = false;
	} else if (document.Form1.aptsize.value == '') {
		alert('Please select move size');
		document.Form1.aptsize.focus();
		returnval = false;
	} 
	return returnval; 

}

function date_validate() {
	var f = document.Form1;
	var mon = f.month.selectedIndex;
	var day = f.day.selectedIndex;
	var year = f.year.value;


	
	if (((mon == 4 || mon == 6 || mon == 9 || mon == 11) && (day > 30)) 
			||((mon == 2)&&((day > 29)||((year % 4 != 0) && (day > 28)))))
		return false;
	var today = new Date();
	
	
	
	if (
		year < today.getFullYear() 
		|| (year == today.getFullYear() && (mon < (today.getMonth()+1) 
			|| ((mon == today.getMonth()+1) && (day < today.getDate())))))
		return false;
	return true;
}

function zipvalidate(zip) {
	var zippattern = new RegExp("^[0-9]{5}$")
	if (zippattern.exec(zip) == null)
		return false;
	return true;
}

function Emailvalidate(email) {
	var returnval = true;
	
	if (email=='') {
		alert('Your email address is a required field. Please fill it in');
		returnval = false;
	
	} 	else {
		var strEmail = new String(email);
		
		if ((strEmail.indexOf("@")==-1) || (strEmail.indexOf(".")==-1)) {
		alert('Please enter valid email address');
		returnval = false;
		}
	} 
	
	return returnval ;
}

function PhoneNumberVal (num) {

	var returnval = false;
	var countDigits=0;
	var i;
	
	if (num==0) {
		returnval=true;
	}
	else
	{
		for(i=0; i<num.length; i++) {
			if (IsDigit(num.charAt(i))) {
			countDigits++;
			}
		}

		if (countDigits==10) {
		returnval=true;
		}
	}
	return returnval;
}

function IsDigit (val) {

	var returnval = false;

	if (val=='0'||val=='1'||val=='2'||val=='3'||val=='4'||val=='5'||val=='6'||val=='7'||val=='8'||val=='9') {
		returnval = true;
	}

	return returnval;
}


function Phonevalidate(home, work) {
	
	var returnval = true;
	
	if ((home=='')&&(work=='')) {
		alert('Please enter at least one of your phone numbers');
		document.Form1.phone.focus();
		returnval = false;
	} else 
	{
		if (PhoneNumberVal(home)==false) {
			alert('The home number you entered is not valid (10-digit number required)');
			document.Form1.phone.focus();
			returnval = false;
			}
		if (PhoneNumberVal(work)==false) {
			alert('The work number you entered is not valid (10-digit number required)');
			document.Form1.phone2.focus();
			returnval = false;
			}
	}

	return returnval ;
}
