function populate_states()
 {
 if (document.smartform.ccode.value=="CA")
 document.smartform.scode.options[0].selected=true;
 else if (document.smartform.ccode.value=="US")
 document.smartform.scode.options[14].selected=true;

}



function validatestates()
 {
	 if 	 (document.smartform.ccode.value=="CA")
		{
			if (document.smartform.scode.selectedIndex>13)
			{
			alert("Please choose a Canadian State")
			document.smartform.scode.options[0].selected=true;
			flag=0
			}
		}

	 if 	(document.smartform.ccode.value=="US")
		{
			if (document.smartform.scode.selectedIndex<15)
			{
			alert("Please choose a US State")
			document.smartform.scode.options[14].selected=true;
			flag=0
			}
		}

 }



	function validEmail(email)
	{
				invalidChars = " /:,;"

				if (email == "")
				{
					return false
				}
				for (i=0; i<invalidChars.length; i++)
				{
					badChar = invalidChars.charAt(i)
					if (email.indexOf(badChar,0) > -1)
					{
						return false
					}
				}
				atPos = email.indexOf("@",1)

				if (atPos == -1)
				{
					return false

				}
				if (email.indexOf("@",atPos+1) > -1)
				{
					return false
				}


				var pos=email.indexOf("@.")
				if (pos>=0)
				{
				return false
				}

				pos=email.indexOf("..")
				if (pos>=0)
				{
				return false
				}


				periodPos = email.indexOf(".",atPos)

				if (periodPos == -1)
				{
					return false
				}



				if (periodPos+3 > email.length)
				{
					return false
				}

				return true
	}






// Declaring required variables for phone verification
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;


	function isInteger(s)
	{   var i;
	    for (i = 0; i < s.length; i++)
	    {
	        // Check that current character is number.
	        var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	    // All characters are numbers.
	    return true;
	}

	function stripCharsInBag(s, bag)
	{   var i;
	    var returnString = "";
	    // Search through string's characters one by one.
	    // If character is not in bag, append to returnString.
	    for (i = 0; i < s.length; i++)
	    {
	        // Check that current character is not whitespace
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}

	function checkInternationalPhone(strPhone)
	{
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}


function validateZIP(field)
{
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Please enter your 5 digit or 5 digit+4 zip code.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Invalid characters in your zip code.  Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
return false;
   }
}
return true;
}



function validatePIN(field)
{
strlen = field.length;
	if ((strlen < 6) || (strlen > 7))
	{
	alert("Pin number should have only six digits or seven digits including one space.");
	return false;
	}
field=field.toUpperCase();        // in case of lowercase characters
// Check for legal characters in Postal Code
if  (strlen == 6)
{
if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(field.charAt(0)) < 0) {alert("First digit in Pin number is invalid."); return false;}
if ('0123456789'.indexOf(field.charAt(1)) < 0) {alert("Second digit in Pin number is invalid."); return false;}
if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(field.charAt(2)) < 0) {alert("Third digit in Pin number is invalid."); return false;}
if ('0123456789'.indexOf(field.charAt(3)) < 0) {alert("Fourth digit in Pin number is invalid."); return false;}
if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(field.charAt(4)) < 0) {alert("Fifth digit in Pin number is invalid."); return false;}
if ('0123456789'.indexOf(field.charAt(5)) < 0) {alert("Sixth digit in Pin number is invalid."); return false;}
return true;
}

if  (strlen == 7)
{
if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(field.charAt(0)) < 0) {alert("First digit in Pin number is invalid."); return false;}
if ('0123456789'.indexOf(field.charAt(1)) < 0) {alert("Second digit in Pin number is invalid."); return false;}
if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(field.charAt(2)) < 0) {alert("Third digit in Pin number is invalid."); return false;}
if (' '.indexOf(field.charAt(3)) < 0) {alert("Fourth digit in Pin number is invalid should be space only."); return false;}
if ('0123456789'.indexOf(field.charAt(4)) < 0) {alert("Fifth digit in Pin number is invalid."); return false;}
if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(field.charAt(5)) < 0) {alert("Sixth digit in Pin number is invalid."); return false;}
if ('0123456789'.indexOf(field.charAt(6)) < 0) {alert("Seventh digit in Pin number is invalid."); return false;}
return true;
}

}


// making proper case********************


// used to right trim
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
// used to trim from left
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 PCase(STRING)
{

STRING = RTrim(STRING);
STRING = LTrim(STRING);


var strReturn_Value = "";
var iTemp = STRING.length;
if(iTemp==0){
return"";
}
var UcaseNext = false;
strReturn_Value += STRING.charAt(0).toUpperCase();
for(var iCounter=1;iCounter < iTemp;iCounter++){
if(UcaseNext == true){
strReturn_Value += STRING.charAt(iCounter).toUpperCase();
}
else{
strReturn_Value += STRING.charAt(iCounter).toLowerCase();
}
var iChar = STRING.charCodeAt(iCounter);
if(iChar == 32 || iChar == 45 || iChar == 46){
UcaseNext = true;
}
else{
UcaseNext = false
}
if(iChar == 99 || iChar == 67){
if(STRING.charCodeAt(iCounter-1)==77 || STRING.charCodeAt(iCounter-1)==109){
UcaseNext = true;
}
}


} //End For

return strReturn_Value;
} //End Function


function check_Phone()
{
var flag=1;
var Phone=document.phoneform.tel1;
	
	if(Phone.value.length!=10)
	{
	alert("Please Enter a Valid 10 digit Phone Number")
		flag=0;
		Phone.value="";
		Phone.focus();
		return;	
	}
	if (checkInternationalPhone(Phone.value)==false)
	{
		alert("Please Enter a Valid Phone Number")
		flag=0;
		Phone.value="";
		Phone.focus();
		return;
	}
if (flag==1)
{
	document.phoneform.submit();
}	
	
}



function check_validity()

{
var flag=1;
var Phone=document.smartform.tel1;
var Phone2=document.smartform.tel2;
var Fax=document.smartform.fax;
var zip=document.smartform.pin;
var uemail=document.smartform.email;



	if (document.smartform.Cname.value=="")
	{
		alert("Agencyname can not be left blank");
		document.smartform.Cname.focus();
		flag=0;
		return;

	}

	if (document.smartform.Cfname.value=="")
	{

		alert("First Name can not be left blank");
		document.smartform.Cfname.focus();
		flag=0;
		return;

	}

	if (document.smartform.Clname.value=="")
	{

		alert("Last Name can not be left blank");
		document.smartform.Clname.focus();
		flag=0;
		return;

	}

	if (document.smartform.stno.value=="")
	{

		alert("Street No. can not be left blank");
		document.smartform.stno.focus();
		flag=0;
		return;

	}

	if (document.smartform.street.value=="")
	{

		alert("Street Name can not be left blank");
		document.smartform.street.focus();
		flag=0;
		return;
	}




	if ((Phone.value==null)||(Phone.value==""))
	{
		alert("Please Enter your Phone Number")
		flag=0;
		Phone.focus();
		return;

	}
	if (checkInternationalPhone(Phone.value)==false)
	{
		alert("Please Enter a Valid Phone Number")
		flag=0;
		Phone.value="";
		Phone.focus();
		return;

	}
if (document.smartform.tel2.value!="")
{
if (checkInternationalPhone(Phone2.value)==false)
	{
		alert("Please Enter a Valid Second Phone Number or Leave this field blank")
		flag=0;
		Phone2.value="";
		Phone2.focus();
		return;

	}
}

if (document.smartform.fax.value!="")
{
if (checkInternationalPhone(Fax.value)==false)
	{
		alert("Please Enter a Valid Fax Number or Leave this field blank")
		flag=0;
		Fax.value="";
		Fax.focus();
		return;

	}
}




	if (document.smartform.scode.value=="")
	{
		if (document.smartform.ccode.value=="US")
			{
			alert("Please Enter Your State");
			document.smartform.scode.focus();
			flag=0;
			return;

			}

		if (document.smartform.ccode.value=="CA")
			{
			alert("Please Enter Your Province");
			document.smartform.scode.focus();
			flag=0;
			return;

			}
	}

	if (document.smartform.pin.value=="")
	{

		alert("PIN or ZIP code can not be left blank");
		document.smartform.pin.focus();
		flag=0;
		return;
	}


	if (document.smartform.pin.value!="")

	{
		if (document.smartform.ccode.value=="US")
			{
			if (validateZIP(zip.value)==false)
				{
					flag=0;
					zip.value="";
					zip.focus();
					return;

				}

			}

		if (document.smartform.ccode.value=="CA")
			{
			if (validatePIN(zip.value)==false)
				{
					flag=0;
					zip.value=""
					zip.focus();
					return;

				}

			}
	}




	if (document.smartform.email.value=="")
	{

		alert("Email can not be left blank");
		document.smartform.email.focus();
		flag=0;
		return;
	}




	if ( validEmail(uemail.value)==false)

	{
	alert("Please fill valid Email Address! Email must not contain /:,;");
	document.smartform.email.focus();
	flag=0;
	return;
	  }








	if (document.smartform.email.value!=document.smartform.email1.value)
	{

		alert("Please retype the email again to confirm");
		document.smartform.email.focus();
		flag=0;
		return;
	}

	if (document.smartform.uname.value=="")
	{

		alert("User Name can not be left blank");
		document.smartform.uname.focus();
		flag=0;
		return;
	}

	if (document.smartform.uname.value.length<2 )
		{
	    alert("User Name length should be between 2 and 10!");
	    document.smartform.uname.value="";
	    document.smartform.uname.focus();
	    flag=0;
	    return;
	}

	if (document.smartform.pwd.value=="")
	{

		alert("Password can not be left blank");
		document.smartform.pwd.focus();
		flag=0;
		return;
	}

	if (document.smartform.pwd.value.length<6 )
	{
    alert("password length should be between 6 and 10!");
    document.smartform.pwd.value="";
    document.smartform.pwd.focus();
    flag=0;
    return;
	}






if (flag==1)
{

	if (document.smartform.sabre.checked==true)
		 		document.smartform.hsabre.value="1";
		 else
		 		document.smartform.hsabre.value="0";

		 if (document.smartform.galileo.checked==true)
		 		document.smartform.hgalileo.value="1";
		 else
		 		document.smartform.hgalileo.value="0";

		if (document.smartform.amadeus.checked==true)
		 		document.smartform.hamadeus.value="1";
		 else
		 		document.smartform.hamadeus.value="0";

		 if (document.smartform.worldspan.checked==true)
		 		document.smartform.hworldspan.value="1";
		 else
	 		document.smartform.hworldspan.value="0";




	document.smartform.submit();
}

}
