/* Schedule Appointment Form Validation */

	function trim(strText) { 
		//alert("trim");
		 // this will get rid of leading spaces 
		 while (strText.substring(0,1) == ' ') 
			 strText = strText.substring(1, strText.length);
	
		 // this will get rid of trailing spaces 
		 while (strText.substring(strText.length-1,strText.length) == ' ')
			 strText = strText.substring(0, strText.length-1);
	
		return strText;
	} 
	
	function FieldRequired(field, Name){
		//alert("FieldRequired");
		//return false;
		//if(trim(field.value) == "" || trim(field.value) == "0"){
		if(trim(field.value) == ""){
			var strError = 'Please complete the ' + Name + ' field.';
			alert(strError);
			field.focus();
			return false;
		}
		return true;
	}
	
	function SelectRequired(field, Name, illegalValue){
	
		if(trim(field.options[field.selectedIndex].text) == illegalValue){
			
			var strError = 'Please select a proper value for ' + Name + '.';
			alert(strError);
			field.focus();
			return false;
		}
		return true;
	}
	
	// general purpose function to see if a suspected numeric input
	// is a positive or negative number
	function isNumber(field, Name) 
	{
		oneDecimal = false;
		inputVal = field.value;
		inputStr = inputVal.toString();
		for (var i = 0; i < inputStr.length; i++) 
		{
			var oneChar = inputStr.charAt(i);
			if (i == 0 && oneChar == "-") 
			{
				continue;
			}
			if (oneChar == "." && !oneDecimal) 
			{
				oneDecimal = true;
				continue;
			}
			if (oneChar < "0" || oneChar > "9") 
			{
				var strError = 'Please enter a proper number for ' + Name + '.';
				alert(strError);
				field.focus();
				return false;
			}
		}
		return true;
	}
	function y2k(number)
	{
		return (number < 1000) ? number + 1900 : number;
	}
	
	function DateCheck (DateIn,sep)
	{
	// checks if date passed is in valid mm/dd/yyyy, mm/d/yyyy, m/dd/yyyy, or m/d/yyyy format
	
		// checks if date passed is in valid mm/dd/yyyy format
		var myDate = DateIn.value;
		if (myDate.length == 10) {
			if (myDate.substring(2,3) == sep && myDate.substring(5,6) == sep) {
				var month  = myDate.substring(0,2);
				var date = myDate.substring(3,5);
				var year  = myDate.substring(6,10);
		
				var test = new Date(year,month-1,date);
		
				if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) {
					reason = '';
					return true;
				}
				else {
					reason = 'Please enter a correctly formatted date.';
						alert(reason);
					return false;
				}
			}
			else {
				reason = 'Please enter a correctly formatted date.';
						alert(reason);
				return false;
			}
		}
		else {
			// checks if date passed is in valid mm/d/yyyy, or m/dd/yyyy format
			// checks if date passed is in valid mm/d/yyyy format
			if (myDate.length == 9) {
				if (myDate.substring(2,3) == sep && myDate.substring(4,5) == sep) {
					var month  = myDate.substring(0,2);
					var date  = myDate.substring(3,4);
					var year  = myDate.substring(5,9);
		
					var test = new Date(year,month-1,date);
		
					if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) {
						reason = '';
						return true;
					}
					else {
						reason = 'Please enter a correctly formatted date.';
						alert(reason);
						myDate.focus;
						return false;
					}
				}
				else {
					// checks if date passed is in valid m/dd/yyyy format
					if (myDate.substring(1,2) == sep && myDate.substring(4,5) == sep) {
						var month  = myDate.substring(0,1);
						var date = myDate.substring(2,4);
						var year  = myDate.substring(5,9);
			
						var test = new Date(year,month-1,date);
			
						if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) {
							reason = '';
							return true;
						}
						else {
							reason = 'Please enter a correctly formatted date.';					alert(reason);
							return false;
						}
					}
					else {
						reason = 'Please enter a correctly formatted date.';
						alert(reason);
						return false;
					}
				}
			}
			else {
			// checks if date passed is in valid m/d/yyyy format
				if (myDate.length == 8) {
					if (myDate.substring(1,2) == sep && myDate.substring(3,4) == sep) {
						var month  = myDate.substring(0,1);
						var date = myDate.substring(2,3);
						var year  = myDate.substring(4,8);
			
						var test = new Date(year,month-1,date);
			
						if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) {
							reason = '';
							return true;
						}
						else {
							reason = 'Please enter a correctly formatted date.';alert(reason);
							return false;
						}
					}
					else {
						reason = 'Please enter a correctly formatted date.';
						alert(reason);
						return false;
					}
				}
				else {
					if (myDate.length == 0) {
						return true;
					}
					else {
						reason = 'Please enter a correctly formatted date.';
						alert(reason);
						return false;
					}
				}
			}
		}
	}
	// separate function to accommodate IE timing problem
	function doSelection(fld)
	{
		fld.focus();
		fld.select();
	}
	
	function jsSubmitBtn(form)
	{
		//alert("Here");
		if(Data_Validator(form))
		{
			form.submit();
		}
	}
	function Data_Validator(form)
	{
		//alert("In Validation");
		var EmailRegExp=/^([^$@\\ ]+)@((([^$@\\ \.]+)\.)+)([A-Za-z0-9]+)$/;

		if(!FieldRequired(document.form.txtVIPFirstName, 'First Name')) {return false};
		if(!FieldRequired(document.form.txtVIPLastName, 'Last Name')) {return false};
		if(!FieldRequired(document.form.txtVIPEmail, 'Email Address'))
		{
			return false;
		}
		if(document.form.txtVIPEmail.value.length>0 && !EmailRegExp.test(document.form.txtVIPEmail.value))
		{
			alert("Email address you entered is incorrect format.\nPlease verify.");
			form.txtVIPEmail.focus();
			return false;
		}
		if(!FieldRequired(document.form.txtVIPPhone, 'Phone Number')) {return false};
		if(!FieldRequired(document.form.txtVIPZip, 'Zip Code')) {return false};

		if(!SelectRequired(document.form.intCommunityID, 'I\'m Interested In', 'Please Select One')) {return false}
		if(!FieldRequired(document.form.txtVIPAppointmentDate, 'Desired Appointment Date'))
		{
			return false;
		}
		if(!DateCheck(document.form.txtVIPAppointmentDate, '/'))
		{
			form.txtVIPAppointmentDate.focus();
			return false;
		}
		if(!SelectRequired(document.form.txtVIPAppointmentTime, 'Desired Appointment Time', 'Please Select One'))
		{
			return false
		}
		if(!SelectRequired(document.form.txtVIPPriceRange, 'Price Range', 'Please Select One')) {return false}
		//alert("In Validation - End");
		return (true);
	}

