
function isPhone(elm) 
{	
	var userString='1234567890-+'
	for(var i=0;i<elm.length;i++)
	{   
		if(userString.indexOf(elm.charAt(i)) == -1)
		{		
	   		return false;
		}
	}		
	return true;
}

function removeWhiteSpace(str) {
   var whitespace = "- \t\n\r";
   var s="";
   for (i=0; i<str.length; i++) {
       if (whitespace.indexOf(str.charAt(i)) == -1) {
           s = s + str.substring(i, i+1)
       }
   }
   //if(anySpecialChar(s) == true)
   //	return "";
   //else
   return s;
}

function anySpCharcter(elmValue){
	if(elmValue.indexOf("[") != -1 || 
       elmValue.indexOf("<") != -1 || 
       elmValue.indexOf(">") != -1 || 
       elmValue.indexOf("'") != -1 || 
       elmValue.indexOf('"') != -1 ||       
       elmValue.indexOf("`") != -1 || 
       elmValue.indexOf("~") != -1 || 
       elmValue.indexOf("!") != -1 ||        
       elmValue.indexOf("$") != -1 || 
       elmValue.indexOf("%") != -1 || 
       elmValue.indexOf("^") != -1 || 
       elmValue.indexOf("&") != -1 || 
       elmValue.indexOf("*") != -1 || 
       elmValue.indexOf("(") != -1 || 
       elmValue.indexOf(")") != -1 || 
       elmValue.indexOf("=") != -1 || 
       elmValue.indexOf("+") != -1 || 
       elmValue.indexOf("?") != -1 || 
       elmValue.indexOf("/") != -1 || 
       elmValue.indexOf("@") != -1 ||             
       elmValue.indexOf("]") != -1 
      )
		return true;
	else
		return false;
}

function anySpCharcter1(elmValue){
	if(elmValue.indexOf("[") != -1 || 
       elmValue.indexOf("<") != -1 || 
       elmValue.indexOf(">") != -1 || 
       elmValue.indexOf("'") != -1 || 
       elmValue.indexOf('"') != -1 ||       
       elmValue.indexOf("`") != -1 || 
       elmValue.indexOf("~") != -1 || 
       elmValue.indexOf("!") != -1 ||        
       elmValue.indexOf("$") != -1 || 
       elmValue.indexOf("%") != -1 || 
       elmValue.indexOf("^") != -1 || 
       elmValue.indexOf("&") != -1 || 
       elmValue.indexOf("*") != -1 || 
       elmValue.indexOf("(") != -1 || 
       elmValue.indexOf(")") != -1 || 
       elmValue.indexOf("=") != -1 || 
       elmValue.indexOf("+") != -1 || 
       elmValue.indexOf("?") != -1 || 
       elmValue.indexOf("@") != -1 ||             
       elmValue.indexOf("]") != -1 
      )
		return true;
	else
		return false;
}
function isNumber(elm) 
{	

	var userString='1234567890+-';
	for (i=0; i<elm.length; i++)
	{   
		if(userString.indexOf(elm.charAt(i)) != -1)
		{
			return false;
		}
		
	}
	return true;
}

function strTrim(sParseString){
	var sResultString = "";
	var nCount=0;
	for(nCount=0;nCount<sParseString.length;nCount++){
		if(sParseString.charAt(nCount) != "" && sParseString.charAt(nCount) != " "){
			sResultString = sResultString + sParseString.charAt(nCount);
		}
	}
	return sResultString;
}

function getElement(divID)
{
    if(document.layers){ //netscape 4+
       return document.layers[divID];
    } else if(document.getElementById) { //netscape 6 internetExplorer 5+
        return document.getElementById(divID);
    } else {    //Internet Explorer 4
        return document.document.all[divID];
    }
}
function isInt(elm) {
	var elmstr = elm.value + "";
	if (removeWhiteSpace(elmstr) == "")
		return false;
	for(var i=0; i <elmstr.length; i++)
	{
		if (elmstr.charAt(i) < "0" || elmstr.charAt(i) > "9")
			return false;	
	}
	return true;
}

function isValidEmail(elm) {
	if(elm.value.indexOf("[") != -1 || 
	   elm.value.indexOf("<") != -1 || 
	   elm.value.indexOf(">") != -1 || 
	   elm.value.indexOf("'") != -1 || 
	   elm.value.indexOf('"') != -1 || 
	   elm.value.indexOf("]") != -1 
	   )
		return false;
		
	if(elm.value.indexOf("@") != "-1" && elm.value.indexOf(".") != "-1" && elm.value != "")
		return true;
	else
		return false;
}

function anySpecialChar(elmValue){
	if(elmValue.indexOf("[") != -1 || 
       elmValue.indexOf("<") != -1 || 
       elmValue.indexOf(">") != -1 || 
       elmValue.indexOf("'") != -1 || 
       elmValue.indexOf('"') != -1 ||       
       elmValue.indexOf("`") != -1 || 
       elmValue.indexOf("~") != -1 || 
       elmValue.indexOf("!") != -1 || 
       elmValue.indexOf("#") != -1 || 
       elmValue.indexOf("$") != -1 || 
       elmValue.indexOf("%") != -1 || 
       elmValue.indexOf("^") != -1 || 
       elmValue.indexOf("&") != -1 || 
       elmValue.indexOf("*") != -1 || 
       elmValue.indexOf("(") != -1 || 
       elmValue.indexOf(")") != -1 || 
       elmValue.indexOf("=") != -1 || 
       elmValue.indexOf("+") != -1 || 
       elmValue.indexOf("?") != -1 || 
       elmValue.indexOf("/") != -1 || 
       elmValue.indexOf(",") != -1 ||        
       elmValue.indexOf("]") != -1 
      )
		return true;
	else
		return false;
}

function anySpChar(elmValue)
{
	if(elmValue.indexOf("[") != -1 || 
       elmValue.indexOf("<") != -1 || 
       elmValue.indexOf(">") != -1 || 
       elmValue.indexOf("'") != -1 || 
       elmValue.indexOf('"') != -1 ||       
       elmValue.indexOf("`") != -1 || 
       elmValue.indexOf("~") != -1 || 
       elmValue.indexOf("!") != -1 || 
       elmValue.indexOf("#") != -1 || 
       elmValue.indexOf("$") != -1 || 
       elmValue.indexOf("%") != -1 || 
       elmValue.indexOf("^") != -1 || 
       elmValue.indexOf("&") != -1 || 
       elmValue.indexOf("*") != -1 || 
       elmValue.indexOf("(") != -1 || 
       elmValue.indexOf(")") != -1 || 
       elmValue.indexOf("=") != -1 || 
       elmValue.indexOf("+") != -1 || 
       elmValue.indexOf("?") != -1 || 
       elmValue.indexOf("/") != -1 || 
       elmValue.indexOf("@") != -1 || 
       elmValue.indexOf(",") != -1 ||        
       elmValue.indexOf("]") != -1 
      )
		return true;
	else
		return false;
}

function validateForm() {
    // clean up the card number
    
    
   if(removeWhiteSpace(document.CCBuyForm.firstName.value) == "")
	{
		alert ('Please enter your first name.');
		document.CCBuyForm.firstName.focus();
		return false;
   	}
   	if(anySpecialChar(document.CCBuyForm.firstName.value) == true)
	{
		alert("Please enter your first name without any special characters.");
		document.CCBuyForm.firstName.focus();
		return false;
	}
    	
    	if(removeWhiteSpace(document.CCBuyForm.lastName.value) == "")
	{
		alert ('Please enter your last name.');
		document.CCBuyForm.lastName.focus();
		return false;
   	}
   	
   	if(anySpecialChar(document.CCBuyForm.lastName.value) == true)
	{
		alert("Please enter your last name without any special characters.");
		document.CCBuyForm.lastName.focus();
		return false;
	}
   	
   	
   	if(removeWhiteSpace(document.CCBuyForm.companyName.value) == "")
	{
		alert ('Please enter company name.');
		document.CCBuyForm.companyName.focus();
		return false;
   	}
   	
   	if(anySpecialChar(document.CCBuyForm.companyName.value) == true)
		{
			alert("Please enter your company name without any special characters.");
			document.CCBuyForm.companyName.focus();
			return false;
	}
   	
   	
   	if(removeWhiteSpace(document.CCBuyForm.loginName.value) == "")
	{
		alert ('Please enter your login id.');
		document.CCBuyForm.loginName.focus();
		return false;
   	}
    	
    	if (isValidEmail(document.CCBuyForm.loginName)== false) {
		alert("Please enter a valid email address without any special characters.");
		document.CCBuyForm.loginName.focus();
		return false;
	}
	
	
	
	if (removeWhiteSpace(document.CCBuyForm.password.value) == "") {
		alert("Please enter password.");
		document.CCBuyForm.password.focus();
		return false;
	}
	if(anySpecialChar(document.CCBuyForm.password.value) == true)
	{
		alert("Please enter your password without any special characters.");
		document.CCBuyForm.password.focus();
		return false;
	}
	
	if (removeWhiteSpace(document.CCBuyForm.verifyPassword.value) == "") {
		alert("Please enter verify password.");
		document.CCBuyForm.verifyPassword.focus();
		return false;
	}
	
	if (document.CCBuyForm.password.value != document.CCBuyForm.verifyPassword.value) {
		alert("Passwords are not matching. Please re-enter your password.");
		document.CCBuyForm.password.value="";
		document.CCBuyForm.verifyPassword.value="";
		document.CCBuyForm.password.focus();
		return false;
	}	
	
	if(removeWhiteSpace(document.CCBuyForm.noOfUsers.value) == "")
	{
		alert ('Please enter number of users.');
		document.CCBuyForm.noOfUsers.focus();
		return false;
   	}
	
	if(isNaN(document.CCBuyForm.noOfUsers.value))
	{
		alert ('Please enter a valid number.');
		document.CCBuyForm.noOfUsers.focus();
		return false;
	}	
	
	if(removeWhiteSpace(document.CCBuyForm.cAddressLine1.value) == "")
	{
		alert ('Please enter contact address Line1.');
		document.CCBuyForm.cAddressLine1.focus();
		return false;
	}
	/*if(anySpecialChar(document.CCBuyForm.cAddressLine1.value) == true)
	{
	   	alert("Please enter Contact Address Line1 without any special characters.");
	   	document.CCBuyForm.cAddressLine1.focus();
	   	return false;
	}*/
	   
	/*if(anySpecialChar(document.CCBuyForm.cAddressLine2.value) == true)
	{
	   	alert("Please enter Contact Address Line2 without any special characters.");
	   	document.CCBuyForm.cAddressLine2.focus();
	   	return false;
	}*/
	   
	if(removeWhiteSpace(document.CCBuyForm.cCity.value) == "")
	{
		alert ('Please enter contact address city');
			document.CCBuyForm.cCity.focus();
		return false;
	}
	
	/*if(anySpecialChar(document.CCBuyForm.cCity.value) == true)
	{
		alert ("Please enter City without any special characters.");
		document.CCBuyForm.cCity.focus();
		return false;
	}*/
	
	if (document.CCBuyForm.cState.selectedIndex == 0 )    
	{
		alert ('Please choose state');
		document.CCBuyForm.cState.focus();
		return false;
	}
	if(removeWhiteSpace(document.CCBuyForm.contZip.value) == "")
	{
		alert ('Please enter zip Code');
		document.CCBuyForm.contZip.focus();
		return false;
   	}
	
	/*if(anySpecialChar(document.CCBuyForm.contZip.value) == true)
	{
		alert ('Please enter zip Code without any special characters.');
		document.CCBuyForm.contZip.focus();
		return false;
   	}
	
	if(isNaN(document.CCBuyForm.contZip.value))
	{
		alert ('Please enter a valid zip Code.');
		document.CCBuyForm.contZip.focus();
		return false;
   	}*/
   	
   	
   	
   	if (isInt(document.CCBuyForm.contactAreaCode) == false || document.CCBuyForm.contactAreaCode.value.length < 3){
		alert("Please enter your phone area code.");
		document.CCBuyForm.contactAreaCode.focus();
		return false;
	}
	if (isInt(document.CCBuyForm.contactPrefix) == false || document.CCBuyForm.contactPrefix.value.length < 3){
		alert("Please enter your phone prefix.");
		document.CCBuyForm.contactPrefix.focus();
		return false;
	}
	if (isInt(document.CCBuyForm.contactSuffix) == false || document.CCBuyForm.contactSuffix.value.length < 4){
		alert("Please enter your contact phone suffix.");
		document.CCBuyForm.contactSuffix.focus();
		return false;
	}

	if(removeWhiteSpace(document.CCBuyForm.contactExt.value) != "")
	{
		if (isInt(document.CCBuyForm.contactExt) == false){
			alert("Please enter a valid contact phone extension.");
			document.CCBuyForm.contactExt.focus();
			return false;
		}
		else{
			document.CCBuyForm.contactPhone.value=document.CCBuyForm.contactAreaCode.value+document.CCBuyForm.contactPrefix.value+document.CCBuyForm.contactSuffix.value+"   X " + document.CCBuyForm.contactExt.value;
		}
	}
	else
	{
		document.CCBuyForm.contactPhone.value=document.CCBuyForm.contactAreaCode.value+document.CCBuyForm.contactPrefix.value+document.CCBuyForm.contactSuffix.value;
	}   	
   	
   	if(document.CCBuyForm.signuptype.value == "consumer")
   	{
	   	if(document.CCBuyForm.AddCheck.checked == true)
	   	{
	   		fillBillingAddress();		
	   	}   	
	 	if (document.CCBuyForm.ccType.selectedIndex == 0 ) 
		{
			alert("Please choose a card Type.");
			document.CCBuyForm.ccType.focus();
			return false;
		}
		if(removeWhiteSpace(document.CCBuyForm.nameOnCard.value) == "")
		{
		    alert ('Please enter card holders name.');
		    document.CCBuyForm.nameOnCard.focus();
		    return false;
	   	}	
	    	
	    if(anySpChar(document.CCBuyForm.nameOnCard.value) == true)
		{
		    alert ('Please enter a valid card holders name.');
		    document.CCBuyForm.nameOnCard.focus();
		    return false;
	   	}
	   /*	if(anySpChar(document.CCBuyForm.phone.value) == true)
		{
			    alert ('Please enter a valid phone number.');
			    document.CCBuyForm.phone.focus();
			    return false;
	   	}*/
	    
	    document.CCBuyForm.ccAcct.value = removeWhiteSpace(document.CCBuyForm.ccAcct.value);
	    var cardNumber = document.CCBuyForm.ccAcct.value;
	    var cardType = document.CCBuyForm.ccType.options[document.CCBuyForm.ccType.selectedIndex].value;
	    var cardNumberLength = cardNumber.length;
	    var isValid = false;
	    if(cardType == "mastercard" && cardNumberLength == 16 && cardNumber.substring(0,1) == "5")
	    {
	    	isValid = true;        
	    }
	    else if(cardType == "visa" && cardNumberLength == 16 && cardNumber.substring(0,1) == "4")
	    {
	    	isValid = true;
	    }
	    else if(cardType == "amex" && cardNumberLength == 15 && cardNumber.substring(0,1) == "3")
	    {
	    	isValid = true;
	    }
	
	    if(isValid)
	    {
	        var numberProduct;
	        var numberProductDigitIndex;
	        var checkSumTotal = 0;
	        for (var i = cardNumberLength - 1; i>= 0; i--) {
	            checkSumTotal += parseInt(cardNumber.charAt(i),10);
	            i--;
	            numberProduct = String((cardNumber.charAt(i) * 2));
	
	            for (var j = 0; j<numberProduct.length; j++) {
	                checkSumTotal += parseInt(numberProduct.charAt(j),10);
	            }
	        }
	        isValid = (checkSumTotal % 10 == 0);        
	    }
	
	    if (!isValid)
	    {
	        alert ('Invalid card number. Please re-enter.');
	        document.CCBuyForm.ccAcct.focus();
	        return false;
	    }
	    
	    if (document.CCBuyForm.ccExpMonth.selectedIndex == 0 ) 
		{
			alert("Please choose the card expiration month.");
			document.CCBuyForm.ccExpMonth.focus();
			return false;
		}
		
		if (document.CCBuyForm.ccExpYear.selectedIndex == 0 ) 
		{
			alert("Please choose the card expiration year.");
			document.CCBuyForm.ccExpYear.focus();
			return false;
		}
	    
	   if(removeWhiteSpace(document.CCBuyForm.addressLine1.value) == "")
	   {
			alert ('Please enter billing address.');
			document.CCBuyForm.addressLine1.focus();
			return false;
	   }
	   
	  /* if(anySpecialChar(document.CCBuyForm.addressLine1.value) == true)
	   {
		   	alert ('Please enter Billing Address Line1 without any special characters.');
		   	document.CCBuyForm.addressLine1.focus();
		   	return false;
	   }*/
	   
	  /* if(anySpecialChar(document.CCBuyForm.addressLine2.value) == true)
	   {
		   	alert("Please enter your Billing Address Line2 without any special characters.");
		   	document.CCBuyForm.addressLine2.focus();
		   	return false;
	   }*/
	   
	   if(removeWhiteSpace(document.CCBuyForm.city.value) == "")
	   {
			alert ('Please enter billing address city');
			document.CCBuyForm.city.focus();
			return false;
	   }
	   
	 /* if(anySpecialChar(document.CCBuyForm.city.value) == true)
	   {
		   	alert ('Please enter Billing address City without any special characters.');
		   	document.CCBuyForm.city.focus();
		   	return false;
	   }*/
	   
	   if (document.CCBuyForm.state.selectedIndex == 0 )    
	   {
			alert ('Please choose billing address state');
			document.CCBuyForm.state.focus();
			return false;
	   }
	   
	   if(removeWhiteSpace(document.CCBuyForm.ccZip.value) == "")
	   {
			alert ('Please enter billing address zip code');
			document.CCBuyForm.ccZip.focus();
			return false;
	   }
	   
	   /*if(anySpecialChar(document.CCBuyForm.ccZip.value) == true)
	   {
		   	alert ('Please enter Billing address zip Code without any special characters.');
		   	document.CCBuyForm.ccZip.focus();
		   	return false;
	   }
	   
	   if(isNaN(document.CCBuyForm.ccZip.value))
	   {
	      	alert ('Please enter a valid Billing address zip Code.');
	      	document.CCBuyForm.ccZip.focus();
	      	return false;
	   }*/
	   
	   if(document.CCBuyForm.buyNowCheck.checked == false)
	   {
		    alert ('To proceed with the purchase, you must first check the box authorizing cFares to charge the credit card');
		   	document.CCBuyForm.buyNowCheck.focus();
			return false;
	   }
   }   
   return true;
}

function fillInfo(){
  if (document.CCBuyForm.option1.type=="checkbox")
  {
     if(document.CCBuyForm.option1.checked==true){
        document.CCBuyForm.firstnameadult1.value=document.CCBuyForm.firstName.value;
        document.CCBuyForm.lastnameadult1.value=document.CCBuyForm.lastName.value;
        document.CCBuyForm.middlenameadult1.value=document.CCBuyForm.middleName.value;
     }
     if(document.CCBuyForm.option1.checked==false){
        document.CCBuyForm.firstnameadult1.value="";
        document.CCBuyForm.lastnameadult1.value="";
        document.CCBuyForm.middlenameadult1.value="";
     }
  }
}

function Open_Details1(triptype, outfareid, outcntid, infareid, incntid,conid, depfrom , depto, retfrom, retto,source)
{
	detailswindow = window.open("http://excambria2.excambria1.com/pal/DetailsOutput.asp?triptype=" + triptype +"&outfareid=" + outfareid + "&outcntid=" + outcntid + "&infareid=" +infareid + "&incntid=" + incntid + "&conid=" + conid + "&depfrom=" + depfrom+ "&depto=" + depto + "&retfrom=" + retfrom + "&retto=" + retto + "&source="+ source + "&details=" + 1,"","top=10,left=10,width=620,height=420,menubar=no,scrollbars=yes,location=no,toolbar=no,resizable=yes");
	detailswindow.focus();
}

function Open_Details2(ResultFile,triptype, outfareid, outcntid, infareid, incntid, conid, depfrom , depto, retfrom, retto,source)
{
	if (ResultFile==1){
		detailswindow = window.open ("http://excambria2.excambria1.com/pal/DetailsOutput.asp?triptype=" + triptype + "&outfareid=" + outfareid + "&outcntid=" + outcntid + "&infareid=" + infareid + "&incntid=" + incntid + "&conid=" + conid + "&depfrom=" + depfrom + "&depto=" + depto + "&retfrom=" + retfrom + "&retto=" + retto + "&source=" + source + "&details=0" ,"","top=10,left=10,width=620,height=420 menubar=no,scrollbars=yes,location=no,toolbar=no,resizable=yes")
	}
	else{
		detailswindow = window.open ("http://excambria2.excambria1.com/pal/DetailsOutputBlanketCommission.asp?triptype=" + triptype + "&outfareid=" + outfareid + "&outcntid=" + outcntid + "&infareid=" + infareid + "&incntid=" + incntid + "&conid=" + conid + "&depfrom=" + depfrom + "&depto=" + depto + "&retfrom=" + retfrom + "&retto=" + retto + "&source=" + source + "&details=" + 0 ,"","top=10,left=10,width=620,height=420 menubar=no,scrollbars=yes,location=no,toolbar=no,resizable=yes")
	}
	detailswindow.focus();
}

function CheckLength(FieldName,Size)
{
	var value
	value = eval("document.CCBuyForm."+FieldName+ ".value")
	if(value.length>Size)
	{
		alert("Maximum characters allowed for special information is " + Size + ".");
		return false;
	}
	else
		return true;
}

function CheckEmail(email)
{
	var atPos = email.indexOf("@",1)
	var dotPos = email.indexOf(".")
	
	//check if email addrs. has an @ symbol
	if(atPos== -1){
		alert("Missing @ symbol or charcters before the symbol")
		return false
	}//check if email addrs. are missing a period 
	else if(dotPos == -1){
		alert("Missing period'.'")
		return false
	}
return true
}

function fillBillingAddress()
{
    if(document.CCBuyForm.AddCheck.checked == true)
    {
	document.CCBuyForm.addressLine1.value = document.CCBuyForm.cAddressLine1.value;
	document.CCBuyForm.addressLine2.value = document.CCBuyForm.cAddressLine2.value;
	document.CCBuyForm.city.value = document.CCBuyForm.cCity.value;
	document.CCBuyForm.state.value = document.CCBuyForm.cState.value;
	document.CCBuyForm.ccZip.value = document.CCBuyForm.contZip.value;
    }
    else
    {
    	document.CCBuyForm.addressLine1.value = "";
    	document.CCBuyForm.addressLine2.value = "";
    	document.CCBuyForm.city.value = "";
    	document.CCBuyForm.state.selectedIndex[0] = true;
	document.CCBuyForm.ccZip.value ="";
    }
}

function checkRadClik(szDivID, detDivID, iState, aChk)
{
	if(document.CCBuyForm.Promo[0].checked)
		document.CCBuyForm.signuptype.value="consumer";
	else if(document.CCBuyForm.Promo[1].checked)
		document.CCBuyForm.signuptype.value="consumer";
	else if(document.CCBuyForm.Promo[2].checked)
		document.CCBuyForm.signuptype.value="corporate";
	alert(aChk);
	if(aChk==1)
		document.CCBuyForm.Promo[0].checked=true;		
	else if(aChk==2)
		document.CCBuyForm.Promo[1].checked=true;
	else if(aChk==3)
		document.CCBuyForm.Promo[2].checked=true;
	
	if(document.layers)	   //NN4+
	{
		document.layers[szDivID].visibility = iState ? "show" : "hide";
		document.layers[detDivID].visibility = iState ? "hide" : "show";
	}
	else if(document.getElementById)//gecko(NN6) + IE 5+
	{
		var obj = document.getElementById(szDivID);
		obj.style.visibility = iState ? "visible" : "hidden";
		
		var obj2 = document.getElementById(detDivID);
		obj2.style.visibility = iState ? "hidden" : "visible";
	}
	else if(document.all)	// IE 4
	{
		document.all[szDivID].style.visibility = iState ? "visible" : "hidden";		
		document.all[detDivID].style.visibility = iState ? "hidden" :"visible" ;		
	}
}

function stReg(aForm)
{
	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="CustomerInterfaceController";
	aForm.navigationMethod.value="getRegPersonalInfoPage";
	aForm.submit();
}

function getRegCCInfo(aForm)
{
if(validatePInfoForm()){
	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="CustomerInterfaceController";
	aForm.navigationMethod.value="getRegCreditCardInfoPage";
	aForm.submit();
	}
}

function getRegActiv(aForm)
{
 if(validateCCForm())
 {
	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="CustomerInterfaceController";
	aForm.navigationMethod.value="getRegConfirmationPage";
	aForm.submit();
  }
}

function getReg2Search(aForm)
{
	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="LoginInterfaceController";
	aForm.navigationMethod.value="verifyLogin";
	aForm.fwdRequest.value="DispatchInterfaceController";
	aForm.fwdNavMed.value="getSearchWithItinerary";
	aForm.submit();
}

function getLog2Buy(aForm)
{
 if(validateLoginForm()){
 	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="LoginInterfaceController";
	aForm.navigationMethod.value="verifyLogin";
	aForm.fwdRequest.value="BookingInterfaceController";
	aForm.fwdNavMed.value="getFrameSet";
	aForm.submit();
	}
}

function getLog2Search(aForm)
{
 if(validateLoginForm()){
 	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="LoginInterfaceController";
	aForm.navigationMethod.value="verifyLogin";
	aForm.fwdRequest.value="DispatchInterfaceController";
	aForm.fwdNavMed.value="getSearchItinerary";
	aForm.submit();
	}
}

function getReg2Buy(aForm)
{
 	aForm.method="post";
	aForm.action="/works/mss";
	aForm.request.value="LoginInterfaceController";
	aForm.navigationMethod.value="verifyLogin";
	aForm.fwdRequest.value="BookingInterfaceController";
	aForm.fwdNavMed.value="getFrameSet";
	aForm.submit();
}

function validateCCForm() 
{
    // clean up the card number
    
    var nameString='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ.\' \',\'';
    var spchr = '.,\'';

	var sp = "" ;
	var issp = false;
	
	//Card Holders Name
    var cardHolderName  = document.CCBuyForm.nameOnCard.value;
    
    if(removeWhiteSpace(document.CCBuyForm.nameOnCard.value) == "")
    {
        alert ("Please enter card holder's name");
        document.CCBuyForm.nameOnCard.focus();
        return false;
    }	

	if(cardHolderName.length>0)
	{
		sp = "" ;
		issp = false;
		for(i=0;i<spchr.length;i++)
		{
			if(cardHolderName.indexOf(spchr.charAt(i)) == 0 || cardHolderName.lastIndexOf(spchr.charAt(i)) == cardHolderName.length-1)
			{
				alert("Please enter a valid card holder's name.");
				document.CCBuyForm.nameOnCard.value = "";
				document.CCBuyForm.nameOnCard.focus();
				return false;
			}
		}

		for(i=0;i<=cardHolderName.length;i++)
		{
			if(nameString.indexOf(cardHolderName.charAt(i))== -1)
			{
				sp = sp + cardHolderName.charAt(i);
				issp = true;
			}
		}
		if(issp == true)
		{
			alert("Card holder's name cannot contain special character."+sp+"\nPlease enter a valid card holder's name."); 
			document.CCBuyForm.nameOnCard.value = "";
			document.CCBuyForm.nameOnCard.focus();
			return false;
		}
		
	}
    
    //Credit Card Type
    if (document.CCBuyForm.ccType.selectedIndex == 0 )    
   	{
		alert ('Please choose credit card');
		document.CCBuyForm.ccType.focus();
		return false;
   	}
  
    
    //Card Number
    document.CCBuyForm.ccAcct.value = removeWhiteSpace(document.CCBuyForm.ccAcct.value);
 	
 	if(removeWhiteSpace(document.CCBuyForm.ccAcct.value) == "")
   	{
   		alert("Please enter card number");
   		document.CCBuyForm.ccAcct.focus();
   		return false;
   	}
   	if((removeWhiteSpace(document.CCBuyForm.ccAcct.value)).length>0)
   	{
	var cardType = document.CCBuyForm.ccType.options[document.CCBuyForm.ccType.selectedIndex].value;
	var cardNumber = document.CCBuyForm.ccAcct.value;
    var cardNumberLength = cardNumber.length;
    var isValid = false;

    if(cardType == "mastercard" && cardNumberLength == 16 && cardNumber.substring(0,1) == "5")
    {
   		isValid = true;   
    	  
    }
    else if(cardType == "visa" && cardNumberLength == 16 && cardNumber.substring(0,1) == "4")
    {
    	isValid = true;
    }
    else if(cardType == "amex" && cardNumberLength == 15 && cardNumber.substring(0,1) == "3")
    {
    	isValid = true;
    }

	if(isValid)
    {
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        
        for (var i = cardNumberLength - 1; i>= 0; i--) 
        {
            checkSumTotal += parseInt(cardNumber.charAt(i),10);
            i--;
            numberProduct = String((cardNumber.charAt(i) * 2));

            for (var j = 0; j<numberProduct.length; j++) 
            {
                checkSumTotal += parseInt(numberProduct.charAt(j),10);
            }
        }
        isValid = (checkSumTotal % 10 == 0);    
        
    }

    if (!isValid){
       alert ('Invalid card number! Please Re-enter.');
        document.CCBuyForm.ccAcct.focus();
        return false;
    }
    }
    
   //Cvv Code
   var cvvContent = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
   var cvv = document.CCBuyForm.cvv2.value;
   var cvvLength = cvv.length;
	
	if(removeWhiteSpace(document.CCBuyForm.cvv2.value) == "")
    {
    	alert("Please enter CVV code.");
    	document.CCBuyForm.cvv2.focus();
   		return false;
    }
   	else if(anySpChar(cvv) == true)
	{
		    alert("Please enter valid CVV code.");
		    document.CCBuyForm.cvv2.value="";
    		document.CCBuyForm.cvv2.focus();
			return false;
   	}
 	else if(cvvLength > 0)
    {
   	  if(cvvLength > 2 && cvvLength < 5)
	  {
		for(var i=0; i<cvvLength ; i++)
		{
			if((cvvContent.indexOf(cvv.charAt(i)) == -1))
    		{
    			alert("Please enter valid CVV code.");
				document.CCBuyForm.cvv2.value="";
    			document.CCBuyForm.cvv2.focus();
   				return false;
    		}
    	  }
		}
		else 
		{
				alert("Please enter valid CVV code.");
    			document.CCBuyForm.cvv2.focus();
				document.CCBuyForm.cvv2.value="";
   				return false;
		}	
    }
   
  	//Expiration Date    
    if (document.CCBuyForm.ccExpMonth.selectedIndex == 0 ) 
	{
		alert("Please choose card expiration month.");
		document.CCBuyForm.ccExpMonth.focus();
		return false;
  	}
	
	if (document.CCBuyForm.ccExpYear.selectedIndex == 0 ) 
	{
		alert("Please choose card expiration year.");
		document.CCBuyForm.ccExpYear.focus();
		return false;
	}
	
  var curDate = new Date();
  var curYear = curDate.getYear();
  if(curYear < 2000)
  {
  	curYear = parseInt(curYear)+1900;
  }
  var curMon = curDate.getMonth()+1;
  var inputMon = document.CCBuyForm.ccExpMonth.value;
  var inputYear =  document.CCBuyForm.ccExpYear.value;
  
  if(inputMon.indexOf("0") == 0)
  {
  	inputMon = inputMon.substring(1);
  }
   if(inputYear.indexOf("0") == 0)
  {
  	inputYear = inputYear.substring(1);
  }
 
 	 if((parseInt(inputYear)+2000) < parseInt(curYear))
  	{
  	  alert("Please choose valid expiration year.");
	  document.CCBuyForm.ccExpMonth.focus();
	  return false;  	 

     }

 	 if((parseInt(inputYear)+2000) == parseInt(curYear))
  	{
	  if(parseInt(curMon) > parseInt(inputMon))
	  {
	  alert("Please choose valid expiration month.");
	  document.CCBuyForm.ccExpMonth.focus();
	  return false;
	  }
  	}   
  	
  

   
  	  
  
  

	//Billing Address
   if(removeWhiteSpace(document.CCBuyForm.addressLine1.value) == "")
   {
		alert ('Please enter billing address.');
		document.CCBuyForm.addressLine1.focus();
		return false;
   }
   
   if(isNaN(document.CCBuyForm.addressLine1.value) == false)
   {
	   	alert ('Please enter valid billing address.');
	   	document.CCBuyForm.addressLine1.focus();
	   	return false;
   }
   if(anySpCharcter1(document.CCBuyForm.addressLine1.value) == true)
   {
   		alert('Please enter valid billing address.');
   		document.CCBuyForm.addressLine1.focus();
   		return false;
   }
   
   //City
   if(removeWhiteSpace(document.CCBuyForm.city.value) == "")
   {
		alert ('Please enter city address.');
		document.CCBuyForm.city.focus();
		return false;
   }
   
   if(anySpecialChar(document.CCBuyForm.city.value) == true)
   {
	   	alert ('Please enter valid city address.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
   
   if(isNaN(document.CCBuyForm.city.value) == false)
   {
	   	alert ('Please enter valid city address.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
   
   //Country
   if (document.CCBuyForm.country.selectedIndex == 0 )    
   {
		alert ('Please choose country address.');
		document.CCBuyForm.country.focus();
		return false;
   }

   //State
   
   var isCountryCanada = document.getElementById('countrySelect').value; 
   
   if (document.CCBuyForm.ccstate.type == 'select-one' && document.CCBuyForm.ccstate.selectedIndex == 0 )    
   {
		if(isCountryCanada=="CA")
		{
		alert ('Please choose province name.');
		document.CCBuyForm.ccstate.focus();
		return false;
		}
		else
		{
		alert ('Please choose state name.');
		document.CCBuyForm.ccstate.focus();
		return false;
       }
   }
   
   if (document.CCBuyForm.ccstate.type == 'text')    
   {
   		if( document.CCBuyForm.ccstate.value == '')
   		{
   		alert ('Please enter state name.');
				document.CCBuyForm.ccstate.focus();
		return false;
   		
   		}
   if(anySpCharcter(document.CCBuyForm.ccstate.value) == true)
   {
   
   
   alert ('State name cannot contain special character.\nPlease enter a valid state name. ');
   document.CCBuyForm.ccstate.focus();
   document.CCBuyForm.ccstate.value="";
   return false;
   }
   
if(isNaN(document.CCBuyForm.ccstate.value) == false)
   {
   alert ('Please enter a valid state name.');
   document.CCBuyForm.ccstate.focus();
   document.CCBuyForm.ccstate.value="";
   return false;
   }
   
		
   }
   
   //ZipCode
   //var zipContent = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  // var zipLength = document.CCBuyForm.ccZip.value.length;
   
   if(removeWhiteSpace(document.CCBuyForm.ccZip.value) == "")
   {
		alert ('Please enter zip code');
		document.CCBuyForm.ccZip.focus();
		return false;
   }
   
  /* if(zipLength > 0)
  {
	 sp = "" ;
	 issp = false;
 	 if(zipLength > 1 && zipLength < 12)
	 {
		for(var i=0; i<zipLength ; i++)
	{
			if((zipContent.indexOf(document.CCBuyForm.ccZip.value.charAt(i)) == -1))
   		{
    			sp = sp + document.CCBuyForm.ccZip.value.charAt(i);
				issp = true;
		}
    	 }
    	 if(issp == true)
		 {
			alert("Zip code cannot contain special character."+sp+"\nPlease enter a valid zip code."); 
			document.CCBuyForm.ccZip.value="";
    		document.CCBuyForm.ccZip.focus();
   			return false;
		 }
    }  
   	else 
	{
		alert("Please enter valid zip code.");
   		document.CCBuyForm.ccZip.value="";
  		document.CCBuyForm.ccZip.focus();
		return false;
	}	  
  }
   */
  
  
  //Phone
//  var phoneContent = '1234567890()-+';
 // var phoneLength = document.CCBuyForm.phone.value.length;
   
   
   if(removeWhiteSpace(document.CCBuyForm.phone.value) == "")
   {
		alert("Please enter phone number.");
		document.CCBuyForm.phone.focus();
		return false;
   }
   
 /* else if(phoneLength > 0)
  {
	sp = "" ;
	issp = false;
   if(phoneLength >=3 && phoneLength < 15)
	 {
		for(var i=0; i<phoneLength ; i++)
		{
			if((phoneContent.indexOf(document.CCBuyForm.phone.value.charAt(i)) == -1))
    		{
	    		sp = sp + document.CCBuyForm.phone.value.charAt(i);
			issp = true;
    		}
    	 }
    	 if(issp == true)
   		 {
    		alert("Phone number cannot contain special character."+sp+"\nPlease enter a valid phone number."); 
    		document.CCBuyForm.phone.value = "";
   			document.CCBuyForm.phone.focus();
    		return false;
    	 }
    }  
   	else 
	{
			alert("Please enter valid phone number.");
   			document.CCBuyForm.phone.focus();
			return false;
	}	  
  }
  */
  
  //Coupon Code
	var couponContent = 'abcdefghijklmnopqrstuvwxysABCDEFGHIJKLMNOPQRSTUVWYXZ1234567890';
	var coupon = document.CCBuyForm.couponCode.value;
	
	 
	if(coupon.length!=0)
	{
		for(i=0;i<=coupon.length;i++)
		{
			if(couponContent.indexOf(coupon.charAt(i))==-1)
			{
				alert("Coupon code cannot contain special characters"); 
				document.CCBuyForm.couponCode.focus();
				return false;
			}
		}
	}
	

   //Terms & Conditions
   if(document.CCBuyForm.buyNowCheck.checked == false)
   {
        alert ('Please accept terms and conditions.');
   		document.CCBuyForm.buyNowCheck.focus();
		return false;
   }  
	
   return true;
}

function validateCCDetailsForm() 
{
    // clean up the card number
    
    var nameString='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ.\' \',\'';
    var spchr = '.,\'';

	var sp = "" ;
	var issp = false;
	
	//Card Holders Name
    var cardHolderName  = document.CCDetailsForm.nameOnCard.value;
    
    if(removeWhiteSpace(document.CCDetailsForm.nameOnCard.value) == "")
    {
        alert ("Please enter card holder's name");
        document.CCDetailsForm.nameOnCard.focus();
        return false;
    }	

	if(cardHolderName.length>0)
	{
		sp = "" ;
		issp = false;
		for(i=0;i<spchr.length;i++)
		{
			if(cardHolderName.indexOf(spchr.charAt(i)) == 0 || cardHolderName.lastIndexOf(spchr.charAt(i)) == cardHolderName.length-1)
			{
				alert("Please enter a valid card holder's name.");
				document.CCDetailsForm.nameOnCard.value = "";
				document.CCDetailsForm.nameOnCard.focus();
				return false;
			}
		}

		for(i=0;i<=cardHolderName.length;i++)
		{
			if(nameString.indexOf(cardHolderName.charAt(i))== -1)
			{
				sp = sp + cardHolderName.charAt(i);
				issp = true;
			}
		}
		if(issp == true)
		{
			alert("Card holder's name cannot contain special character."+sp+"\nPlease enter a valid card holder's name."); 
			document.CCDetailsForm.nameOnCard.value = "";
			document.CCDetailsForm.nameOnCard.focus();
			return false;
		}
		
	}
    
    //Credit Card Type
    if (document.CCDetailsForm.ccType.selectedIndex == 0 )    
   	{
		alert ('Please choose credit card');
		document.CCDetailsForm.ccType.focus();
		return false;
   	}
  
    
    //Card Number
    document.CCDetailsForm.ccAcct.value = removeWhiteSpace(document.CCDetailsForm.ccAcct.value);
 	
 	if(removeWhiteSpace(document.CCDetailsForm.ccAcct.value) == "")
   	{
   		alert("Please enter card number");
   		document.CCDetailsForm.ccAcct.focus();
   		return false;
   	}
   	if((removeWhiteSpace(document.CCDetailsForm.ccAcct.value)).length>0)
   	{
	var cardType = document.CCDetailsForm.ccType.options[document.CCDetailsForm.ccType.selectedIndex].value;
	var cardNumber = document.CCDetailsForm.ccAcct.value;
    var cardNumberLength = cardNumber.length;
    var isValid = false;

    if(cardType == "mastercard" && cardNumberLength == 16 && cardNumber.substring(0,1) == "5")
    {
   		isValid = true;   
    	  
    }
    else if(cardType == "visa" && cardNumberLength == 16 && cardNumber.substring(0,1) == "4")
    {
    	isValid = true;
    }
    else if(cardType == "amex" && cardNumberLength == 15 && cardNumber.substring(0,1) == "3")
    {
    	isValid = true;
    }

	if(isValid)
    {
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        
        for (var i = cardNumberLength - 1; i>= 0; i--) 
        {
            checkSumTotal += parseInt(cardNumber.charAt(i),10);
            i--;
            numberProduct = String((cardNumber.charAt(i) * 2));

            for (var j = 0; j<numberProduct.length; j++) 
            {
                checkSumTotal += parseInt(numberProduct.charAt(j),10);
            }
        }
        isValid = (checkSumTotal % 10 == 0);    
        
    }

    if (!isValid){
       alert ('Invalid card number! Please Re-enter.');
        document.CCDetailsForm.ccAcct.focus();
        return false;
    }
    }
    
   //Cvv Code
   var cvvContent = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
   var cvv = document.CCDetailsForm.cvv2.value;
   var cvvLength = cvv.length;
	
	if(removeWhiteSpace(document.CCDetailsForm.cvv2.value) == "")
    {
    	alert("Please enter CVV code.");
    	document.CCDetailsForm.cvv2.focus();
   		return false;
    }
   	else if(anySpChar(cvv) == true)
	{
		    alert("Please enter valid CVV code.");
		    document.CCDetailsForm.cvv2.value="";
    		document.CCDetailsForm.cvv2.focus();
			return false;
   	}
 	else if(cvvLength > 0)
    {
   	  if(cvvLength > 2 && cvvLength < 5)
	  {
		for(var i=0; i<cvvLength ; i++)
		{
			if((cvvContent.indexOf(cvv.charAt(i)) == -1))
    		{
    			alert("Please enter valid CVV code.");
				document.CCDetailsForm.cvv2.value="";
    			document.CCDetailsForm.cvv2.focus();
   				return false;
    		}
    	  }
		}
		else 
		{
				alert("Please enter valid CVV code.");
    			document.CCDetailsForm.cvv2.focus();
				document.CCDetailsForm.cvv2.value="";
   				return false;
		}	
    }
   
  	//Expiration Date    
    if (document.CCDetailsForm.ccExpMonth.selectedIndex == 0 ) 
	{
		alert("Please choose card expiration month.");
		document.CCDetailsForm.ccExpMonth.focus();
		return false;
  	}
	
	if (document.CCDetailsForm.ccExpYear.selectedIndex == 0 ) 
	{
		alert("Please choose card expiration year.");
		document.CCDetailsForm.ccExpYear.focus();
		return false;
	}
	
  var curDate = new Date();
  var curYear = curDate.getYear();
  if(curYear < 2000)
  {
  	curYear = parseInt(curYear)+1900;
  }
  var curMon = curDate.getMonth()+1;
  var inputMon = document.CCDetailsForm.ccExpMonth.value;
  if(inputMon.indexOf("0") == 0)
  {
  	inputMon = inputMon.substring(1);
  }
  if((parseInt(document.CCDetailsForm.ccExpYear.value)+2000) == parseInt(curYear))
  {
	  if(parseInt(curMon) > parseInt(inputMon))
	  {
	  alert("Please choose valid expiration month.");
	  document.CCDetailsForm.ccExpMonth.focus();
	  return false;
	  }
  }     

	//Billing Address
   if(removeWhiteSpace(document.CCDetailsForm.addressLine1.value) == "")
   {
		alert ('Please enter billing address.');
		document.CCDetailsForm.addressLine1.focus();
		return false;
   }
   
   if(isNaN(document.CCDetailsForm.addressLine1.value) == false)
   {
	   	alert ('Please enter valid billing address.');
	   	document.CCDetailsForm.addressLine1.focus();
	   	return false;
   }
   if(anySpCharcter1(document.CCDetailsForm.addressLine1.value) == true)
   {
   		alert('Please enter valid billing address.');
   		document.CCDetailsForm.addressLine1.focus();
   		return false;
   }
   
   //City
   if(removeWhiteSpace(document.CCDetailsForm.city.value) == "")
   {
		alert ('Please enter city address.');
		document.CCDetailsForm.city.focus();
		return false;
   }
   
   if(anySpecialChar(document.CCDetailsForm.city.value) == true)
   {
	   	alert ('Please enter valid city address.');
	   	document.CCDetailsForm.city.focus();
	   	return false;
   }
   
   if(isNaN(document.CCDetailsForm.city.value) == false)
   {
	   	alert ('Please enter valid city address.');
	   	document.CCDetailsForm.city.focus();
	   	return false;
   }
   
   //Country
   if (document.CCDetailsForm.country.selectedIndex == 0 )    
   {
		alert ('Please choose country address.');
		document.CCDetailsForm.country.focus();
		return false;
   }

   //State
   if (document.CCDetailsForm.ccstate.type == 'select-one' && document.CCDetailsForm.ccstate.selectedIndex == 0 )    
   {
		alert ('Please choose state name.');
		document.CCDetailsForm.ccstate.focus();
		return false;
   }
   
   if (document.CCDetailsForm.ccstate.type == 'text')    
   {
   		if( document.CCDetailsForm.ccstate.value == '')
   		{
   		alert ('Please enter state name.');
				document.CCDetailsForm.ccstate.focus();
		return false;
   		
   		}
   if(anySpCharcter(document.CCDetailsForm.ccstate.value) == true)
   {
   
   
   alert ('State name cannot contain special character.\nPlease enter a valid state name. ');
   document.CCDetailsForm.ccstate.focus();
   document.CCDetailsForm.ccstate.value="";
   return false;
   }
   
if(isNaN(document.CCDetailsForm.ccstate.value) == false)
   {
   alert ('Please enter a valid state name.');
   document.CCDetailsForm.ccstate.focus();
   document.CCDetailsForm.ccstate.value="";
   return false;
   }
   
		
   }
   
   //ZipCode
  // var zipContent = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  // var zipLength = document.CCDetailsForm.ccZip.value.length;
   
 if(removeWhiteSpace(document.CCDetailsForm.ccZip.value) == "")
   {
		alert ('Please enter zip code');
		document.CCDetailsForm.ccZip.focus();
		return false;
   }
   
  /* if(zipLength > 0)
   {
	 sp = "" ;
	 issp = false;
 	 if(zipLength > 1 && zipLength < 12)
	 {
		for(var i=0; i<zipLength ; i++)
		{
			if((zipContent.indexOf(document.CCDetailsForm.ccZip.value.charAt(i)) == -1))
   		{
    			sp = sp + document.CCDetailsForm.ccZip.value.charAt(i);
				issp = true;
			}
   	 }
    	 if(issp == true)
		 {
			alert("Zip code cannot contain special character."+sp+"\nPlease enter a valid zip code."); 
			document.CCDetailsForm.ccZip.value="";
   		document.CCDetailsForm.ccZip.focus();
 			return false;
		 }
    }  
  
  	else 
	{
		alert("Please enter valid zip code.");
  		document.CCDetailsForm.ccZip.value="";
 		document.CCDetailsForm.ccZip.focus();
		return false;
	}	  
 }
 */
 
 
 
 
  
  //Phone
  //var phoneContent = '1234567890()-+';
  //var phoneLength = document.CCDetailsForm.phone.value.length;
   
   
   if(removeWhiteSpace(document.CCDetailsForm.phone.value) == "")
   {
		alert("Please enter phone number.");
		document.CCDetailsForm.phone.focus();
		return false;
   }
   
 /* else if(phoneLength > 0)
 {
	sp = "" ;
	issp = false;
    if(phoneLength >=3 && phoneLength < 15)
	 {
		for(var i=0; i<phoneLength ; i++)
		{
			if((phoneContent.indexOf(document.CCDetailsForm.phone.value.charAt(i)) == -1))
    		{
	    		sp = sp + document.CCDetailsForm.phone.value.charAt(i);
				issp = true;
    		}
    	 }
    	 if(issp == true)
    	 {
    		alert("Phone number cannot contain special character."+sp+"\nPlease enter a valid phone number."); 
    		document.CCDetailsForm.phone.value = "";
    		document.CCDetailsForm.phone.focus();
    		return false;
    	 }
    }  
   	else 
	{
			alert("Please enter valid phone number.");
   			document.CCDetailsForm.phone.focus();
			return false;
	}	  
  }*/
 	
   
   return true;
}
function validateCardForm() 
{
    if(removeWhiteSpace(document.CCBuyForm.ccname.value) == "")
    {
            alert ('Please enter a name for this card');
            document.CCBuyForm.ccname.focus();
            return false;
    }	
    
        if(anySpecialChar(document.CCBuyForm.ccname.value) == true)
        {
            alert ('Please enter a name without any special characters.');
            document.CCBuyForm.ccname.focus();
            return false;
    }   
   
  
    // clean up the card number

	 if(!isNumber(document.CCBuyForm.nameOnCard.value))
     {
           alert ('Please enter a valid card holder name.');
           document.CCBuyForm.nameOnCard.focus();
           return false;
    }	

    if(removeWhiteSpace(document.CCBuyForm.nameOnCard.value) == "")
    {
        alert ('Please enter card holders name.');
        document.CCBuyForm.nameOnCard.focus();
        return false;
    }	

    if(anySpecialChar(document.CCBuyForm.nameOnCard.value) == true)
    {
        alert ('Please enter card holders name without any special characters.');
        document.CCBuyForm.nameOnCard.focus();
        return false;
    }
   
    if(isInt(document.CCBuyForm.nameOnCard.value))
     {
           alert ('Please enter a valid card holder name.');
           document.CCBuyForm.nameOnCard.focus();
           return false;
    }	

    var cardType = document.CCBuyForm.ccType.options[document.CCBuyForm.ccType.selectedIndex].value;
    if(cardType != "mastercard" && cardType != "visa" && cardType != "amex")
    {
        alert ('Please choose card type.');
        return false;
    }

    document.CCBuyForm.ccAcct.value = removeWhiteSpace(document.CCBuyForm.ccAcct.value);
    var cardNumber = document.CCBuyForm.ccAcct.value;

    var cardNumberLength = cardNumber.length;
    var isValid = false;
    if(cardType == "mastercard" && cardNumberLength == 16 && cardNumber.substring(0,1) == "5")
    {
    	isValid = true;        
    }
    else if(cardType == "visa" && cardNumberLength == 16 && cardNumber.substring(0,1) == "4")
    {
    	isValid = true;
    }
    else if(cardType == "amex" && cardNumberLength == 15 && cardNumber.substring(0,1) == "3")
    {
    	isValid = true;
    }

    if(isValid)
    {
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        for (var i = cardNumberLength - 1; i>= 0; i--) {
            checkSumTotal += parseInt(cardNumber.charAt(i),10);
            i--;
            numberProduct = String((cardNumber.charAt(i) * 2));

            for (var j = 0; j<numberProduct.length; j++) {
                checkSumTotal += parseInt(numberProduct.charAt(j),10);
            }
        }
        isValid = (checkSumTotal % 10 == 0);        
    }

    if (!isValid){
        alert ('Enter valid card number.');
        document.CCBuyForm.ccAcct.focus();
        return false;
    }
    
    if (document.CCBuyForm.ccExpMonth.selectedIndex == 0 ) 
	{
		alert("Please choose expiration month for card.");
		document.CCBuyForm.ccExpMonth.focus();
		return false;
   }
	
	if (document.CCBuyForm.ccExpYear.selectedIndex == 0 ) 
	{
		alert("Please choose expiration year for card");
		document.CCBuyForm.ccExpYear.focus();
		return false;
	}
	
  var curDate = new Date();
  var curYear = curDate.getYear();
  if(curYear < 2000)
  {
  	curYear = parseInt(curYear)+1900;
  }
  var curMon = curDate.getMonth()+1;
  var inputMon = document.CCBuyForm.ccExpMonth.value;
  if(inputMon.indexOf("0") == 0)
  {
  	inputMon = inputMon.substring(1);
  }
  if((parseInt(document.CCBuyForm.ccExpYear.value)+2000) == parseInt(curYear))
  {
	  
	  if(parseInt(curMon) > parseInt(inputMon))
	  {
	  alert("Please choose a valid expiration month for card.");
	  document.CCBuyForm.ccExpMonth.focus();
	  return false;
	  }
  }     

   if(removeWhiteSpace(document.CCBuyForm.addressLine1.value) == "")
   {
		alert ('Please enter billing address.');
		document.CCBuyForm.addressLine1.focus();
		return false;
   }
   
  /* if(anySpecialChar(document.CCBuyForm.addressLine1.value) == true)
   {
   	
   	//alert ('Please enter Billing Address Line1 without any special characters.');
   	//document.CCBuyForm.addressLine1.focus();
   	//return false;
   }*/
   
   if(isNaN(document.CCBuyForm.addressLine1.value) == false)
   {
   	alert ('Please enter billing address for card.');
   	document.CCBuyForm.city.focus();
   	return false;
   }
   
   /*if(anySpecialChar(document.CCBuyForm.addressLine2.value) == true)
   {
   	alert("Please enter your Billing Address Line2 without any special characters.");
   	document.CCBuyForm.addressLine2.focus();
   	return false;
   }*/
   
   if(removeWhiteSpace(document.CCBuyForm.city.value) == "")
   {
		alert ('Please enter the city address for card');
		document.CCBuyForm.city.focus();
		return false;
   }
   
   if(anySpecialChar(document.CCBuyForm.city.value) == true)
   {
	   	alert ('Please enter the city address for card without any special characters.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
   
   if(isNaN(document.CCBuyForm.city.value) == false)
   {
	   	alert ('Please enter the city address for card.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
 
   if (document.CCBuyForm.state.selectedIndex == 0 )    
   {
		alert ('Please choose the state address for card.');
		document.CCBuyForm.state.focus();
		return false;
   }
   if(removeWhiteSpace(document.CCBuyForm.ccZip.value) == "")
   {
		alert ('Please enter zip code address for card');
		document.CCBuyForm.ccZip.focus();
		return false;
   }
   
   if(anySpecialChar(document.CCBuyForm.ccZip.value) == true)
   {
	   	alert ('Please enter zip code address for card without any special characters.');
	   	document.CCBuyForm.ccZip.focus();
	   	return false;
   }
   
   if(removeWhiteSpace(document.CCBuyForm.phone.value) == "")
   {
   		alert ('Please enter phone number .');
		document.CCBuyForm.phone.focus();
      	return false;
   }
   
   /*if(!isPhone(document.CCBuyForm.phone.value))
   {
      	alert ('Please enter a valid Phone Number.');
      	document.CCBuyForm.phone.focus();
      	return false;
   }*/
   
  /* if(isNaN(document.CCBuyForm.ccZip.value))
   {
      	alert ('Please enter a valid zip code address for card.');
      	document.CCBuyForm.ccZip.focus();
      	return false;
   }
   */
   /*if(isNaN(document.CCBuyForm.ccZip.value))
   {
      	alert ('Please enter a valid zip code address for card.');
      	document.CCBuyForm.ccZip.focus();
      	return false;
   }*/

   if(document.CCBuyForm.ccZip.value.length != 5)
   {
      	alert ('Please enter a valid zip code address for card.');
      	document.CCBuyForm.ccZip.focus();
      	return false;
   }
   return true;
}

function validateEditCardForm() 
{
      // clean up the card number
      
    if(removeWhiteSpace(document.CCBuyForm.nameOnCard.value) == "")
    {
        alert ('Please enter card holders name.');
        document.CCBuyForm.nameOnCard.focus();
        return false;
    }	

    if(anySpecialChar(document.CCBuyForm.nameOnCard.value) == true)
    {
        alert ('Please enter card holders name without any special characters.');
        document.CCBuyForm.nameOnCard.focus();
        return false;
    }
    
    if(!isNaN(document.CCBuyForm.nameOnCard.value))
     {
           alert ('Please enter a valid card holder name.');
           document.CCBuyForm.nameOnCard.focus();
           return false;
    }	

    var cardType = document.CCBuyForm.ccType.options[document.CCBuyForm.ccType.selectedIndex].value;
    if(cardType != "mastercard" && cardType != "visa" && cardType != "amex")
    {
        alert ('Please choose card type.');
        return false;
    }

	 document.CCBuyForm.ccAcct.value = removeWhiteSpace(document.CCBuyForm.ccAcct.value);
    var cardNumber = document.CCBuyForm.ccAcct.value;

    var cardNumberLength = cardNumber.length;
    var isValid = false;
    if(cardType == "mastercard" && cardNumberLength == 16 && cardNumber.substring(0,1) == "5")
    {
    	isValid = true;        
    }
    else if(cardType == "visa" && cardNumberLength == 16 && cardNumber.substring(0,1) == "4")
    {
    	isValid = true;
    }
    else if(cardType == "amex" && cardNumberLength == 15 && cardNumber.substring(0,1) == "3")
    {
    	isValid = true;
    }

    if(isValid)
    {
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        for (var i = cardNumberLength - 1; i>= 0; i--) {
            checkSumTotal += parseInt(cardNumber.charAt(i),10);
            i--;
            numberProduct = String((cardNumber.charAt(i) * 2));

            for (var j = 0; j<numberProduct.length; j++) {
                checkSumTotal += parseInt(numberProduct.charAt(j),10);
            }
        }
        isValid = (checkSumTotal % 10 == 0);        
    }

    if (!isValid){
        alert ('Enter valid card number.');
        document.CCBuyForm.ccAcct.focus();
        return false;
    }
    
    if (document.CCBuyForm.ccExpMonth.selectedIndex == 0 ) 
	{
		alert("Please choose expiration month for card.");
		document.CCBuyForm.ccExpMonth.focus();
		return false;
   }
	
	if (document.CCBuyForm.ccExpYear.selectedIndex == 0 ) 
	{
		alert("Please choose expiration year for card");
		document.CCBuyForm.ccExpYear.focus();
		return false;
	}
	
  var curDate = new Date();
  var curYear = curDate.getYear();
  if(curYear < 2000)
  {
  	curYear = parseInt(curYear)+1900;
  }
  var curMon = curDate.getMonth()+1;
  var inputMon = document.CCBuyForm.ccExpMonth.value;
  if(inputMon.indexOf("0") == 0)
  {
  	inputMon = inputMon.substring(1);
  }
  if((parseInt(document.CCBuyForm.ccExpYear.value)+2000) == parseInt(curYear))
  {
	  if(parseInt(curMon) > parseInt(inputMon))
	  {
	  alert("Please choose a valid expiration month for card.");
	  document.CCBuyForm.ccExpMonth.focus();
	  return false;
	  }
  }     

   if(removeWhiteSpace(document.CCBuyForm.addressLine1.value) == "")
   {
		alert ('Please enter billing address.');
		document.CCBuyForm.addressLine1.focus();
		return false;
   }
   
  /* if(anySpecialChar(document.CCBuyForm.addressLine1.value) == true)
   {
   	
   	//alert ('Please enter Billing Address Line1 without any special characters.');
   	//document.CCBuyForm.addressLine1.focus();
   	//return false;
   }*/
   
   if(isNaN(document.CCBuyForm.addressLine1.value) == false)
   {
	   	alert ('Please enter billing address for card.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
   
   /*if(anySpecialChar(document.CCBuyForm.addressLine2.value) == true)
   {
   	alert("Please enter your Billing Address Line2 without any special characters.");
   	document.CCBuyForm.addressLine2.focus();
   	return false;
   }*/
   
   if(removeWhiteSpace(document.CCBuyForm.city.value) == "")
   {
		alert ('Please enter the city address for card');
		document.CCBuyForm.city.focus();
		return false;
   }
   
   if(anySpecialChar(document.CCBuyForm.city.value) == true)
   {
	   	alert ('Please enter the city address for card without any special characters.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
   
   if(isNaN(document.CCBuyForm.city.value) == false)
   {
	   	alert ('Please enter the city address for card.');
	   	document.CCBuyForm.city.focus();
	   	return false;
   }
   
   
   if (document.CCBuyForm.state.selectedIndex == 0 )    
   {
		alert ('Please choose the state address for card.');
		document.CCBuyForm.state.focus();
		return false;
   }
   if(removeWhiteSpace(document.CCBuyForm.ccZip.value) == "")
   {
		alert ('Please enter zip code address for card');
		document.CCBuyForm.ccZip.focus();
		return false;
   }

   
   if(anySpecialChar(document.CCBuyForm.ccZip.value) == true)
   {
	   	alert ('Please enter zip code address for card without any special characters.');
	   	document.CCBuyForm.ccZip.focus();
	   	return false;
   }
   if(anySpecialChar(document.CCBuyForm.phone.value) == true)
   {
      	alert ('Please enter phone number without any special characters.');
      	document.CCBuyForm.phone.focus();
      	return false;
   }
   
   if(isNaN(document.CCBuyForm.ccZip.value))
   {
      	alert ('Please enter a valid zip code address for card.');
      	document.CCBuyForm.ccZip.focus();
      	return false;
   }

   if(document.CCBuyForm.ccZip.value.length != 5)
   {
      	alert ('Please enter a valid zip code address for card.');
      	document.CCBuyForm.ccZip.focus();
      	return false;
   }
   return true;
}


function validatePInfoForm() {
    // clean up the card number
    
    if(removeWhiteSpace(document.CCBuyForm.firstName.value) == "")
	{
		alert ('Please enter first name');
		document.CCBuyForm.firstName.focus();
		return false;
   	}
   	
   	if(anySpecialChar(document.CCBuyForm.firstName.value) == true)
	{
		alert("Please enter your firs name without any special characters.");
		document.CCBuyForm.firstName.focus();
		return false;
	}
    	
    if(removeWhiteSpace(document.CCBuyForm.lastName.value) == "")
	{
		alert ('Please enter last name');
		document.CCBuyForm.lastName.focus();
		return false;
   	}
   	
   	if(anySpecialChar(document.CCBuyForm.lastName.value) == true)
	{
		alert("Please enter your last name without any special characters.");
		document.CCBuyForm.lastName.focus();
		return false;
	} 	
   	
   	if(removeWhiteSpace(document.CCBuyForm.loginName.value) == "" ||
  	   removeWhiteSpace(document.CCBuyForm.loginName.value) == "name@isp.com")
	{
		alert ('Please enter valid email address for username.');
		document.CCBuyForm.loginName.focus();
		return false;
   	}
    	
    if (isValidEmail(document.CCBuyForm.loginName)== false) {
		alert("Please enter a valid email address without any special characters.");
		document.CCBuyForm.loginName.focus();
		return false;
	}
	
	if (removeWhiteSpace(document.CCBuyForm.passwordSignup.value) == "") {
		alert("Please enter password.");
		document.CCBuyForm.passwordSignup.focus();
		return false;
	}
	if(anySpecialChar(document.CCBuyForm.passwordSignup.value) == true)
	{
		alert("Please enter your password without any special characters.");
		document.CCBuyForm.passwordSignup.focus();
		return false;
	}
	
	if (removeWhiteSpace(document.CCBuyForm.verifyPassword.value) == "") {
		alert("Please verify the password.");
		document.CCBuyForm.verifyPassword.focus();
		return false;
	}
	
	if(anySpecialChar(document.CCBuyForm.verifyPassword.value) == true)
	{
		alert("Please enter your verify password without any special characters.");
		document.CCBuyForm.passwordSignup.focus();
		return false;
	}
	
	if (document.CCBuyForm.passwordSignup.value != document.CCBuyForm.verifyPassword.value) {
		alert("Passwords are not matching. Please re-enter your password.");
		document.CCBuyForm.passwordSignup.value="";
		document.CCBuyForm.verifyPassword.value="";
		document.CCBuyForm.passwordSignup.focus();
		return false;
	}	
	
   return true;
}

function validateProfileForm()
{
	if(document.login_form.password.value=="" || document.login_form.confirmpassword.value=="" || document.login_form.username.value=="")
	{
		alert("Please enter all the details");
		return false;
	}


	if(removeWhiteSpace(document.login_form.username.value) == "")
	{
		alert ('Please enter Your login id.');
		document.login_form.username.focus();
		return false;
	}
    	
    if (isValidEmail(document.login_form.username)== false) 
    {
		alert("Please enter a valid email address without any special characters.");
		document.login_form.username.focus();
		return false;
	}

	if (removeWhiteSpace(document.login_form.password.value) == "") 
	{
		alert("Please enter password.");
		document.login_form.password.focus();
		return false;
	}
	
	if(anySpecialChar(document.login_form.password.value) == true)
	{
		alert("Please enter your password without any special characters.");
		document.login_form.password.focus();
		return false;
	}
	
	if(document.login_form.password.value.length>0 && document.login_form.password.value.length<6 || document.login_form.password.value.length>12)
	{
	    if(document.login_form.password.value.length<6)
		alert("Password must be atleast six characters"); 
		else
		alert("Password must not exceed twelve characters"); 
		document.login_form.password.value="";
		document.login_form.password.focus();
		return false;
	}
	
	if (removeWhiteSpace(document.login_form.confirmpassword.value) == "") 
	{
		alert("Please enter confirm password.");
		document.login_form.confirmpassword.focus();
		return false;
	}
	
	if (document.login_form.password.value != document.login_form.confirmpassword.value) 
	{
		alert("Passwords are not matching. Please re-enter your password.");
		document.login_form.password.value="";
		document.login_form.confirmpassword.value="";
		document.login_form.password.focus();
		return false;
	}
	return true;
}

function validateLoginForm() 
{
   	if(removeWhiteSpace(document.CCBuyForm.login.value) == "" || removeWhiteSpace(document.CCBuyForm.login.value) == "name@isp.com")
	{
		alert ('Please enter valid email address for username.');
		document.CCBuyForm.login.focus();
		return false;
   	}
    	
    if (isValidEmail(document.CCBuyForm.login)== false) 
    {
		alert("Please enter a valid email address without any special characters.");
		document.CCBuyForm.login.focus();
		return false;
	}
	
	if (removeWhiteSpace(document.CCBuyForm.password.value) == "") 
	{
		alert("Please enter password.");
		document.CCBuyForm.password.focus();
		return false;
	}
	
	if(anySpecialChar(document.CCBuyForm.password.value) == true)
	{
		alert("Please enter your password without any special characters.");
		document.CCBuyForm.password.focus();
		return false;
	}
	
	return true;
}

function MM_openBrWindow(theURL,winName,features)
{
  //v2.0
  newWindow = window.open(theURL,winName,features);
  newWindow.focus();
}

function getPageCoords (element) 
{
  var coords = {x: 0, y: 0};
  while (element) 
  {
	   coords.x += element.offsetLeft;
	   coords.y += element.offsetTop;
	   element = element.offsetParent;
  }
	 return coords;
}

function getLogInfo(aForm)
{
  var x, y;
  var element = document.forms[0].login;
  if (document.layers) {
    x = element.x + window.screenX + window.outerWidth - window.innerWidth;
    y = element.y + window.screenY + window.outerHeight -
	window.innerHeight;
  }
  else if (document.all) {
    var coords = getPageCoords(element);
    x = coords.x + window.screenLeft + 5;
    y = coords.y + window.screenTop + 130;
  	y = y - 130;
  }
  else if (document.getElementById) {
    var coords = getPageCoords(element);
    x = coords.x + window.screenX + window.outerWidth - window.innerWidth;
    y = coords.y + window.screenY + window.outerHeight - window.innerHeight;
	y = y - 28;
  }
  
  window.open('/htdocs/ng/emailPassword.html', 'ForgottenPassword', 'left=' + x
        + ',top=' + y + ',width=410,height=200,scrollbars=0,resizable=0');
}

function getTermsForm()
{
  var x, y;
  var element = document.forms[1].message;
  if (document.layers) {
    y = element.x + window.screenX + window.outerWidth - window.innerWidth;
    x = element.y + window.screenY + window.outerHeight -
	window.innerHeight;
  }
  else if (document.all) {
    var coords = getPageCoords(element);
    y = coords.x + window.screenLeft + 5;
    x = coords.y + window.screenTop + 130;
  	x = x - 325;
  }
  else if (document.getElementById) {
    var coords = getPageCoords(element);
    y = coords.x + window.screenX + window.outerWidth - window.innerWidth;
    x = coords.y + window.screenY + window.outerHeight - window.innerHeight;
	x = x - 35;
  }
  
  window.open('/htdocs/ng/mothersdaytc.html', 'Terms','left=' + x
        + ',top=' + y + ', width=384,height=384,scrollbars=1,resizable=0');
}

function valPNRform() 
{
   	if(removeWhiteSpace(document.PNRForm.confirmationNum.value) == "" )
	{
		alert ('Please enter confirmation number.');
		document.PNRForm.confirmationNum.focus();
		return false;
   	}
    	
	if (removeWhiteSpace(document.PNRForm.firstName.value) == "") {
		alert("Please enter first name.");
		document.PNRForm.firstName.focus();
		return false;
	}
	if (removeWhiteSpace(document.PNRForm.lastName.value) == "") {
		alert("Please enter last name.");
		document.PNRForm.lastName.focus();
		return false;
	}
	return true;
}

function hideDiscount()
{
	 var ret = '';
	 var obj = null;
	 if (document.all){ // is IE
	  obj = document.all.dispDiscount;
	  if(obj != null)
	  	ret = document.all.dispDiscount.style.visibility;
	 }
	 else if(document.getElementById)//gecko(NN6) + IE 5+
	 {  
		obj = document.getElementById('dispDiscount');
		if(obj != null)
			ret = obj.style.visibility;
	 } 
	 else if(document.layers){// is NS?
	  obj = document.layers['dispDiscount'];
	  if(obj != null)
	  {	ret = document.layers['dispDiscount'].visibility;
	    toggleT('dispDiscount','h');
	  }
	 }
}

function toggleT(_w,_h) 
{
	if (document.all) { // is IE
	if (_h=='s') eval("document.all."+_w+".style.visibility='visible';");
	if (_h=='h') eval("document.all."+_w+".style.visibility='hidden';");
	}else if(document.getElementById){ // is NS? 
	var obj = document.getElementById(_w);
	if (_h=='s') obj.style.visibility='visible';
	if (_h=='h') obj.style.visibility='hidden';
	}else if(document.layers){ // is NS? 
	if (_h=='s') eval("document.layers['"+_w+"'].visibility='show';");
	if (_h=='h') eval("document.layers['"+_w+"'].visibility='hide';");
	}
}

function getPNR(PNRForm)
{
	if(valPNRform())
	{
		document.PNRForm.submit();
  		toggleT('dispDiscount','h');
  	}
}

function checkselect() { //v2.0
  var box = document.CCBuyForm.Promo;
  var selval = box.options[box.selectedIndex].value;
  if (selval) 
  {
     if(selval == 'GOLD')
     	location = '/htdocs/freegold.htm';	
  }
}




