
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
}

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function


function CEmail(src) {
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
  }

function isValidPhoneNumber(s){
 var pat = "^";
 var exp;
 
 if(isNaN(s) && s.length<6)
	 return false;
 else
 	return true;
  // BEGIN THE ARA CODE GROUPING
  pat = pat + "(";
   // OPTIONAL OPENING (
   pat = pat + "\\(?";
   // 3 DIGIT AREA CODE
   pat = pat + "\\d{3}";
   // OPTIONAL CLOSING )
   pat = pat + "\\)?";
   // OPTIONAL DASH OR SPACE BETWEEN AREA CODE AND PREFIX
   pat = pat + "(\\-| )?";
  // END THE AREA CODE GROUPING
  pat = pat + ")?";
 // PREFIX
 pat = pat + "\\d{3}";
 //OPTIONAL DASH OR SPACE BETWEEN PREFIX AND SUFFIX
 pat = pat + "(\\-| )?";
 // SUFFIX
 pat = pat + "\\d{4}";
 // OPTIONAL SPACE
 pat = pat + "\\s?";
 // OPTIONAL EXTENSION ID - xt, ext, x, space, or dash
 pat = pat + "(\\-|x|X|ext|EXT|ex|EX| )?";
 // OPTIONAL SPACE
 pat = pat + "\\s?";
 // OPTIONAL EXTENSION UP TO 6 NUMBERS
 pat = pat + "\\d{0,6}?";
 // END OF INPUT
 pat = pat + "$";
 exp = new RegExp(pat);
 return exp.test(s);
}

function InstantPage_Form1_Validator(ths)
{
try{
	
	if(ths.email.value=='' || ths.email.value==null || CEmail(ths.email.value)==false)
	{
		alert("Error: Please Enter valid email ");	
		ths.email.focus();
		return false;
	}	
	
	if(ths.contact.value=='' || ths.contact.value==null || isValidPhoneNumber(ths.contact.value)==false)
	{
		alert("Error: Please Enter valid mobile number");	
		ths.contact.focus();
		return false;
	}
	
	if(!(ths.terms.checked))
	{
		alert("Error: You need to agree terms to continue");	
		ths.terms.focus();
		return false;
			
	}
	
}catch(e){
		
		alert(e);
		return false;
		}
		
	return true;	
}

function FrontPage_Form1_Validator(ths)
{
try{
	if(ths.firstname.value=='' || ths.firstname.value==null)
	{
		alert("Error: Please Enter your first name");	
		ths.firstname.focus();
		return false;
	}

	if(ths.surname.value=='' || ths.surname.value==null)
	{
		alert("Error: Please Enter your surname");	
		ths.surname.focus();
		return false;
	}

	if(ths.address1.value=='' || ths.address1.value==null)
	{
		alert("Error: Please Enter address line1");	
		ths.address1.focus();
		return false;
	}
	if(ths.address2.value=='' || ths.address2.value==null)
	{
		alert("Error: Please Enter address line2");	
		ths.address2.focus();
		return false;
	}

	if(ths.city.value=='' || ths.city.value==null)
	{
		alert("Error: Please Enter city Name");	
		ths.city.focus();
		return false;
	}
	if(ths.state.value=='' || ths.state.value==null)
	{
		alert("Error: Please Enter State");	
		ths.state.focus();
		return false;
	}
	
	if(ths.postcode.value=='' || ths.postcode.value==null)
	{
		alert("Error: Please Enter postcode");	
		ths.postcode.focus();
		return false;
	}
	
	if(ths.contact.value=='' || ths.contact.value==null || isValidPhoneNumber(ths.contact.value)==false)
	{
		alert("Error: Please Enter valid mobile number");	
		ths.contact.focus();
		return false;
	}
	
	if(ths.email.value=='' || ths.email.value==null || CEmail(ths.email.value)==false)
	{
		alert("Error: Please Enter valid email ");	
		ths.email.focus();
		return false;
	}
	
	if(ths.email.value!=ths.confirmemail.value )
	{
		alert("Error: Confirm Email doesn't match email ");	
		ths.confirmemail.focus();
		return false;
	}
	
	
	if(ths.password.value=='' || ths.password.value==null )
	{
		alert("Error: Please Enter your password ");	
		ths.password.focus();
		return false;
	}
	
	if(ths.confirmpassword.value!= ths.password.value )
	{
		alert("Error: Confirm password is Incorrect ");	
		ths.confirmpassword.focus();
		return false;
	}
	
	/*if(ths.secretanswer.value=='' || ths.secretanswer.value ==null )
	{
		alert("Error: Please Enter your secret answer ");	
		ths.secretanswer.focus();
		return false;
	}*/
	
	if(!isValidDate(ths.dob.value) ||  ths.dob.value=='' || ths.dob.value==null )
	{
		//alert("Error: Please Enter date of birth as required in MM/DD/YY Format");	
		ths.dob.focus();
		return false;
	}
	
	if(!(ths.terms.checked))
	{
		alert("Error: You need to agree terms to continue");	
		ths.terms.focus();
		return false;
			
	}
	
}catch(e)
	{
		alert(e);
		return false;
	}	

//alert('all pass');
return true;

}  

function isValidDate(dateStr) {
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
// Also separates date into month, day, and year variables
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
// To require a 4 digit year entry, use this line instead:
// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Date is not in a valid format.")
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day>29 || (day==29 && !isleap)) {
		alert("February " + year + " doesn't have " + day + " days!");
		return false;
	}
}
return true;  // date is valid
}
