// this function checks the length of the msgdetails text area each time a key is pressed 
function limitlength(formobj, e, size){
returnvalue=true;
    if (!e.which && formobj.value.length>=size) { //IE
		alert("You have reached the maximum number of characters allowed.");
    	returnvalue = false;
	} else if (e.which && e.which!=8 && formobj.value.length>=size) { //NS4, NS6+ (allow backspace key)
		alert("You have reached the maximum number of characters allowed.");
    	returnvalue = false;
	}
    return returnvalue;
}

function dateNA(form)
{
	if(form.incDateNA.checked==true)
	{
		//clears out date/time fields
		DateOfVisitSaved=form.DateOfVisit.value;
		form.DateOfVisit.value="";
		form.DateOfVisit.disabled=true;
		form.incTimeNA.checked=true;
		timeNA(form);
		form.incTimeNA.disabled=true;
	}
	else
	{
		//populates out date/time fields
		form.DateOfVisit.value=DateOfVisitSaved;
		form.DateOfVisit.disabled=false;
		form.incTimeNA.checked=false;
		timeNA(form);
		form.incTimeNA.disabled=false;
	}
}

function timeNA(form){
	if(form.incTimeNA.checked==true) {
		//clears out time fields
		TimeOfVisitHour12HourSaved=form.TimeOfVisitHour12Hour.value;
		TimeOfVisitMinuteSaved=form.TimeOfVisitMinute.value;
		TimeOfVisitAMPMSaved=form.TimeOfVisitAMPM.value;
		form.TimeOfVisitHour12Hour.value="";
		form.TimeOfVisitMinute.value="";
		form.TimeOfVisitAMPM.value="";
		form.TimeOfVisitHour12Hour.disabled=true;
		form.TimeOfVisitMinute.disabled=true;
		form.TimeOfVisitAMPM.disabled=true;
	} else {
		//populates time fields
		form.TimeOfVisitHour12Hour.value=TimeOfVisitHour12HourSaved;
		form.TimeOfVisitMinute.value=TimeOfVisitMinuteSaved;
		form.TimeOfVisitAMPM.value=TimeOfVisitAMPMSaved;
		form.TimeOfVisitHour12Hour.disabled=false;
		form.TimeOfVisitMinute.disabled=false;
		form.TimeOfVisitAMPM.disabled=false;
	}
}

function isReady(form) {

	if (form.UndeterminedCountry.value=="") {
		alert("Please select a location visited for your feedback.");
    	form.UndeterminedCountry.focus();
		return false;
	}
	
	if (form.FirstName.value.replace(/ /g,"").length==0) {
		alert("Please enter your first name.");
		form.FirstName.focus();
		return false;
	}
	
	if (form.LastName.value.replace(/ /g,"").length==0) {
		alert("Please enter your last name.");
		form.LastName.focus();
		return false;
	}
	
	if (form.Address.value.replace(/ /g,"").length==0) {
		alert("Please enter your street address.");
		form.Address.focus();
		return false;
	}
	
	if (form.City.value.replace(/ /g,"").length==0) {
		alert("Please enter your city.");
		form.City.focus();
		return false;
	}
	
	if (form.StateProvince.value=="") {
		alert("Please select your state or providence.");
    	form.StateProvince.focus();
		return false;
	}
	
	if (form.ZipPostalCode.value.replace(/ /g,"").length==0) {
		alert("Please enter your zip or postal code.");
		form.ZipPostalCode.focus();
		return false;
	}
	
	if (form.PhoneNumberAreaCode.value.replace(/ /g,"").length > 0 || form.PhoneNumberFirstThreeDigits.value.replace(/ /g,"").length > 0 || form.PhoneNumberLastFourDigits.value.replace(/ /g,"").length > 0) {
		if (!( form.PhoneNumberAreaCode.value.match(/[0-9]{3}$/) && form.PhoneNumberFirstThreeDigits.value.match(/[0-9]{3}$/) && form.PhoneNumberLastFourDigits.value.match(/[0-9]{4}$/))) {
			alert("The phone number you entered appears to be invalid.");
			form.PhoneNumberAreaCode.focus();
			return false;
		}
	}

	if (form.EmailAddress.value.replace(/ /g,"").length > 0) {
		if (!form.EmailAddress.value.match(/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/)) {
			alert("The email address you entered appears to be invalid.");
			return false;
		}
	}
	
	if (form.Comments.value.replace(/ /g,"").length==0) {
		alert("Please enter your comment.");
		form.Comments.focus();
		return false;
	}
	
	// Check Date Format
	if (form.incDateNA.checked==false && !form.DateOfVisit.value.match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/)) {
		alert("The date you entered appears to be in an invalid format. It must be in the form of mm/dd/yyyy.");
		form.DateOfVisit.focus();
		return false;
	}
	
	// Ensure date is entered and isn't past today
	var now = new Date();
	var today = (now.getMonth() + 1) + "/" + now.getDate() + "/" + now.getFullYear();
	if ( (form.incDateNA.checked==false && form.DateOfVisit.value.replace(/ /g,"").length==0) || (form.incDateNA.checked==false && compareDates(form.DateOfVisit.value,today)==1) ) {
		alert("Please enter the date you visited this location. It must be today or earlier.");
		form.DateOfVisit.focus();
		return false;
	}
	
	// Check Time fields are filled out
	if (form.incTimeNA.checked==false && (form.TimeOfVisitHour12Hour.value.length==0 || form.TimeOfVisitMinute.value.length==0 || form.TimeOfVisitAMPM.value.length==0)) {
		alert("You have not selected a time.");
		form.TimeOfVisitHour12Hour.focus();
		return false;
	}
	
	/*
	//Populate fields for submit
	if (form.incDateNA.checked) {
		form.DateOfVisitMonth.value='';
		form.DateOfVisitDay.value='';
		form.DateOfVisitYear.value='';
	} else {
		form.DateOfVisitMonth.value=parseInt(form.DateOfVisit.value.substring (0, form.DateOfVisit.value.indexOf("/")));
		form.DateOfVisitDay.value=parseInt(form.DateOfVisit.value.substring (form.DateOfVisit.value.indexOf("/")+1, form.DateOfVisit.value.lastIndexOf("/")));
		form.DateOfVisitYear.value=parseInt(form.DateOfVisit.value.substring (form.DateOfVisit.value.lastIndexOf("/")+1, form.DateOfVisit.value.length));
	}
	
	if (form.incTimeNA.checked) {
		form.TimeOfVisitHour = '';
	} else {
		if (form.TimeOfVisitAMPM.value == 'AM') {
			if (parseInt(form.TimeOfVisitHour12Hour.value) > 9) {
				form.TimeOfVisitHour.value = form.TimeOfVisitHour12Hour.value + '00';
			//else time 12 subtract 12
			} else {
				form.TimeOfVisitHour.value = '0' + form.TimeOfVisitHour12Hour.value + '00';
			}
		} else {
			//do unless time =12
			form.TimeOfVisitHour.value = parseInt(form.TimeOfVisitHour12Hour.value)+12 + '00';
		}
	}*/
		
	form.submit();
	
	return true;

}

function compareDates(value1, value2) {
	var date1, date2;
	var month1, month2;
	var year1, year2;
	month1 = parseInt(value1.substring (0, value1.indexOf("/")));
	date1 = parseInt(value1.substring (value1.indexOf("/")+1, value1.lastIndexOf("/")));
	year1 = parseInt(value1.substring (value1.lastIndexOf("/")+1, value1.length));
	month2 = parseInt(value2.substring (0, value2.indexOf("/")));
	date2 = parseInt(value2.substring (value2.indexOf("/")+1, value2.lastIndexOf("/")));
	year2 = parseInt(value2.substring (value2.lastIndexOf("/")+1, value2.length));
	if (year1 > year2) return 1;
	else if (year1 < year2) return -1;
	else if (month1 > month2) return 1;
	else if (month1 < month2) return -1;
	else if (date1 > date2) return 1;
	else if (date1 < date2) return -1;
	else return 0;
}

