function update_and_validate() {
	var f = document.mainform;
	f.date.value = f.Move_MON.value + ' ' + (f.Move_DAY.selectedIndex + 1) + ', ' + f.Move_YR.value;
	var returnval = true;
	if (f.MoveType.value == 'notype') {
		alert('Please select move type');
		f.MoveType.focus();
		returnval = false;
	} else if (date_validate()==false) {
		alert('Please select correct future date');
		f.Move_DAY.focus();
		returnval = false;
	} else if (zipvalidate()==false) {
		alert('Please choose correct zip code');
		f.ZipCodeField.focus();
		returnval = false;
	} else if (f.MoveType.value!='INT' && f.MovingToSelect.value=='unknown') {
		alert('Please select destination state');
		f.MovingToSelect.focus();
		returnval = false;
	} else if (f.MoveType.value=='INT' && f.MovingToCountrySelect.value=='unknown') {
		alert('Please select destination country');
		f.MovingToCountrySelect.focus();
		returnval = false;
	} else if (f.City.value=='') {
		alert('Please choose your destination city');
		f.City.focus();
		returnval = false;
	}
	return returnval; 

}

function date_validate() {
	var f = document.mainform;
	var mon = f.Move_MON.selectedIndex + 1;
	var day = f.Move_DAY.selectedIndex + 1;
	var year = f.Move_YR.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() {
	var zippattern = new RegExp("^[0-9]{5}$")
	if (zippattern.exec(document.mainform.ZipCodeField.value) == null)
		return false;
	return true;
}
function storagezipvalidate() {
	var zippattern = new RegExp("^[0-9]{5}$")
	if (zippattern.exec(document.mainform.StorageZipCode.value) == null)
		return false;
	return true;
}
function startup() {
	var f = document.mainform;
	var today = new Date();
	today.setDate(today.getDate()+14)
	
	f.Move_DAY.selectedIndex = today.getDate() - 1;
	f.Move_MON.selectedIndex = today.getMonth();
	f.Move_YR.selectedIndex = today.getFullYear() - f.Move_YR.options[0].value;

/*	try {
		f.refer.value = top.document.referrer;
	} catch (_e) {
		try {
			f.refer.value = parent.document.referrer;
		} catch(_e) {
			f.refer.value = 'Unknown_ref';
		}			
	}
*/
	if (f.origin.value == '')
			f.origin.value = '<?=$site_origin?>';
	f.MoveType.selectedIndex = 0;
}
function check_movetype() {
	
	
	
	switch (document.mainform.MoveType.value)
	{
		case 'INT':
			if (document.getElementById("MovingToSelect")) {
				document.getElementById("MovingToSelect").style.display='none';
				document.getElementById("MovingToCountrySelect").style.display='inline';
                document.getElementById("MovingToLabel").innerHTML='Country:';
			}
			break;
		case 'STG':
			self.parent.location='http://www.movingmatrix.com/Move-Types/moving-storage.php';
			break;
		case 'LBR':
			self.parent.location='http://www.movingmatrix.com/Move-Types/moving-labor.php';
			break;
		case 'TRK':
			self.parent.location='http://www.movingmatrix.com/Move-Types/truck-rentals.php';
			break;
		case 'AUT':
			self.parent.location='http://www.movingmatrix.com/Move-Types/auto-transport.php';
			break;
		default:
			if (document.getElementById("MovingToSelect")) {
				document.getElementById("MovingToCountrySelect").style.display='none';
				document.getElementById("MovingToSelect").style.display='inline';
                document.getElementById("MovingToLabel").innerHTML='State:';      
			}
			break;
	}	
		
}

function setMonthDays()
{
	var optDay = document.mainform.Move_DAY.options;
	var nMonth = document.mainform.Move_MON.options[document.mainform.Move_MON.selectedIndex].value;
	var nYear = document.mainform.Move_YR.options[document.mainform.Move_YR.selectedIndex].value;
	var nMaxDay;
	var i;
	var nCurrentDay = optDay.selectedIndex + 1;

	if (nMonth == "February")
	{	if (((nYear % 4 == 0) && (nYear % 100 != 0)) || (nYear % 400 == 0))
			nMaxDay = 29;
		else
			nMaxDay = 28;
	}
	else if (nMonth == "April" || nMonth == "June" || nMonth == "September" || nMonth == "November")
		nMaxDay = 30
	else
		nMaxDay = 31;

	if (nCurrentDay > nMaxDay)
		nCurrentDay = nMaxDay;

	optDay.length = 0;
	for (i=1; i<=nMaxDay; ++i)
	{	optDay[i-1] = new Option;
		optDay[i-1].text = i;
		optDay[i-1].value = i;
	}
	optDay.selectedIndex = nCurrentDay - 1;
}

function OpenZipFinder() {
	day = new Date();
	id = day.getTime();
	URL = 'http://www.movingmatrix.com/Resources/ZipFinder.php';
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=400,left = 362,top = 234');");
}

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 validate() {
	var returnval = true;
	
	thename= document.mainform.FirstName.value + document.mainform.LastName.value;
	
	if (document.mainform.FirstName.value == '' && document.mainform.LastName.value == '' ) {
		alert('Please enter your full name');
		document.mainform.FirstName.focus();
		returnval = false;
	} else if (thename.length<3) {
		alert('Please enter at least a full last or first name');
		document.mainform.FirstName.focus();
		returnval = false;
	} else if (Emailvalidate(document.mainform.Email.value) == false) {
		document.mainform.Email.focus();
		returnval = false;
	} else if (Phonevalidate(document.mainform.HomePhone.value, document.mainform.WorkPhone.value) == false) {
		returnval = false;
	} else if (document.mainform.MoveSize.value == 'empty') {
		alert('Please select move size');
		document.mainform.MoveSize.focus();
		returnval = false;
	// storage
	} else if (document.mainform.ch_storage.checked && storagezipvalidate()==false) {
		alert('Please choose correct STORAGE zip code');
		document.mainform.StorageZipCode.focus();
		returnval = false;
	} else if (document.mainform.ch_storage.checked && document.mainform.StorageSize.value == '') {
		alert('Please select storage size');
		document.mainform.StorageSize.focus();
		returnval = false;
	} else if (document.mainform.ch_storage.checked && document.mainform.StorageType.value == '') {
		alert('Please select storage type');
		document.mainform.StorageType.focus();
		returnval = false; 

	// auto
	} else if (document.mainform.ch_auto) {
		if (document.mainform.ch_auto.checked && document.mainform.Make1.value == '') {
			alert('Please specify car MAKE');
			document.mainform.Make1.focus();
			returnval = false;
		} else if (document.mainform.ch_auto.checked && document.mainform.Model1.value == '') {
			alert('Please specify car MODEL');
			document.mainform.Model1.focus();
			returnval = false;
		}
	} 
	
	return returnval; 

}

function validate_intl() {
	var returnval = true;
	
	thename= document.mainform.FirstName.value + document.mainform.LastName.value;

	document.mainform.date.value = document.mainform.Move_MON.value + ' ' + (document.mainform.Move_DAY.selectedIndex + 1) + ', ' + document.mainform.Move_YR.value;

	if (document.mainform.MovingToCountrySelect.value=='unknown') {
		alert('Please select destination country');
		document.mainform.MovingToCountrySelect.focus();
		returnval = false;
	} else if (document.mainform.City.value=='') {
		alert('Please choose your destination city');
		document.mainform.City.focus();
		returnval = false;
	} else if (date_validate()==false) {
		alert('Please select correct future date');
		document.mainform.Move_DAY.focus();
		returnval = false;
	} else if (zipvalidate()==false) {
		alert('Please choose correct zip code');
		document.mainform.ZipCodeField.focus();
		returnval = false;
	} else if (document.mainform.FirstName.value == '' && document.mainform.LastName.value == '' ) {
		alert('Please enter your full name');
		document.mainform.FirstName.focus();
		returnval = false;
	} else if (thename.length<3) {
		alert('Please enter at least a full last or first name');
		document.mainform.FirstName.focus();
		returnval = false;
	} else if (Emailvalidate(document.mainform.Email.value) == false) {
		document.mainform.Email.focus();
		returnval = false;
	} else if (Phonevalidate(document.mainform.HomePhone.value, document.mainform.WorkPhone.value) == false) {
		returnval = false;
	} else if (document.mainform.MoveSize.value == 'empty') {
		alert('Please select move size');
		document.mainform.MoveSize.focus();
		returnval = false;
	} 
	
	return returnval; 

}

function validate2() {
	var f = document.mainform;
	f.date.value = f.Move_MON.value + ' ' + (f.Move_DAY.selectedIndex + 1) + ', ' + f.Move_YR.value;
	var returnval = true;
	thename= document.mainform.FirstName.value + document.mainform.LastName.value;

	if (date_validate()==false) {
		alert('Please select correct future date');
		f.Move_DAY.focus();
		returnval = false;

	} else if (f.MoveType.value!='INT' && f.MovingToSelect.value=='unknown') {
		alert('Please select destination state');
		f.MovingToSelect.focus();
		returnval = false;
		
	} else if (f.MoveType.value=='INT' && f.MovingToCountrySelect.value=='unknown') {
		alert('Please select destination country');
		f.MovingToCountrySelect.focus();
		returnval = false;
		
	} else if (f.City.value=='') {
		alert('Please choose your destination city');
		f.City.focus();
		returnval = false;

	} else if  (document.mainform.FirstName.value == '' && document.mainform.LastName.value == '' ) {
		alert('Please enter your full name');
		document.mainform.FirstName.focus();
		returnval = false;
	
	} else if (thename.length<3) {
		alert('Please enter at least a full last or first name');
		document.mainform.FirstName.focus();
		returnval = false;
		
	} else if (Emailvalidate(document.mainform.Email.value) == false) {
		document.mainform.Email.focus();
		returnval = false;

	} else if (Phonevalidate(document.mainform.HomePhone.value, document.mainform.WorkPhone.value) == false) {
		returnval = false;

	} else if (document.mainform.MoveSize.value == 'empty') {
		alert('Please select move size');
		document.mainform.MoveSize.focus();
		returnval = false;
	// storage
	} else if (document.mainform.ch_storage.checked && storagezipvalidate()==false) {
		alert('Please choose correct STORAGE zip code');
		document.mainform.StorageZipCode.focus();
		returnval = false;
	} else if (document.mainform.ch_storage.checked && document.mainform.StorageSize.value == '') {
		alert('Please select storage size');
		document.mainform.StorageSize.focus();
		returnval = false;
	} else if (document.mainform.ch_storage.checked && document.mainform.StorageType.value == '') {
		alert('Please select storage type');
		document.mainform.StorageType.focus();
		returnval = false; 

	// auto
	} else if (document.mainform.ch_auto.checked && document.mainform.Make1.value == '') {
		alert('Please specify car MAKE');
		document.mainform.Make1.focus();
		returnval = false;
	} else if (document.mainform.ch_auto.checked && document.mainform.Model1.value == '') {
		alert('Please specify car MODEL');
		document.mainform.Model1.focus();
		returnval = false;

	} 
	return returnval; 

}

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

	return returnval ;
}

