﻿var AGENCY_TALL_NUMBER = "1-877-542-8848";
function doSearch()
{    
    var message = ""; var element1= document.getElementById("ctl00_MainContent_ddlFrom"); var element2 = document.getElementById("ctl00_MainContent_ddlTo");
    if(element1.selectedIndex == 0){ message ="Please choose a departure city.";element1.focus();}
    if(element2.selectedIndex == 0){if(message==""){element2.focus();} message = message +"\nPlease choose a destination city.";}
    if(message == ""){if(element1.value == element2.value){
            message = "You departure and destination cities are the same, please fix."; element2.focus();
        }
    }
    element1= document.getElementById("ctl00_MainContent_txtDepartureDate"); element2 = document.getElementById("ctl00_MainContent_txtReturnDate");
    if((element1.value == "") || (element1.value == "mm/dd/yyyy")){
                if(message==""){element1.focus();} message = message +"\nPlease enter the date you wish to depart on.";
    }
    else{  var isDate1 = IsDate(element1.value);
        if(isDate1 != ""){ if(message==""){element1.focus();} message = message +"\n"+isDate1; }
    }
    if(document.forms[0].ctl00$MainContent$rblTripType[1].checked == true){
        if((element2.value == "") || (element2.value == "mm/dd/yyyy")){
                if(message==""){element2.focus();} message = message +"\nPlease enter the date you wish to return.";
        }
        else{ var isDate2 = IsDate(element2.value); if(isDate2 != ""){  if(message==""){element1.focus();} message = message +"\n"+isDate2;}
            else if(IsDate(element1.value)=="" && dateDifference(element1.value, element2.value) < 0){
                if(message==""){element2.focus();} message = message +"\nYour departure date is previous to your return date.";
            }
        }
    }
    element1= document.getElementById("ctl00_MainContent_ddlInfants");  element2 = document.getElementById("ctl00_MainContent_ddlAdults"); element3 = document.getElementById("ctl00_MainContent_ddlSeniors");
    if(element2.value+element3.value < 1){ if(message==""){element2.focus();} message = message +"\nAt least one adult or senior must travel";} 
    if(element1.value > element2.value+element3.value){ if(message==""){element2.focus();} message = message +"\nNumber of infants can not exceed number of adults and seniors";} 
    if(message!=""){alert(message);return false;}    pleaseWait();    return true;
}

    function ShowCalendar(calendar)
    {
        document.getElementById(calendar).style.visibility = "visible";
    }
    
    function HideCalendar(calendar)
    {
        document.getElementById(calendar).style.visibility = "hidden";
    }

    function TurnOffReturn() {
        if(document.getElementById("ctl00_MainContent_rblTripType_0").checked)
        {
       //     hideLayer("returnDate")
        //    showLayer("returnDateHidden")
       //     document.getElementById("returnDateHidden").display="block";
        }
        else
        {
     //    showLayer("returnDate")
     //   hideLayer("returnDateHidden") 
     //  document.getElementById("returnDateHidden").display="none";

        }
    }
    
    function TurnOffOnLoad() {
        if(document.getElementById("ctl00_MainContent_rblTripType_0").checked)
        {
            hideLayer("returnDate")
            showLayer("returnDateHidden")
            document.getElementById("returnDateHidden").display="block";
        }
    }
    
    /*
    //function for .NET custom validator
    function cccheck(source, args) {
     var checkStr = args.Value;
     var cardType = document.getElementById("ctl00_MainContent_ddlCardType").value;
     var cardNumber = checkStr;
     
     switch (cardType) {
	case "AmericanExpress":  //amex - length 15
		digits = checkStr.charAt(0) + checkStr.charAt(1);
		if ((cardNumber.length != "15") || ((digits != "34") && (digits != "37"))) {
            args.IsValid = false;
		}
		break;

	case "Discover":  //discover - length 16
		digits = checkStr.charAt(0) + checkStr.charAt(1) + checkStr.charAt(2) + checkStr.charAt(3);
		if ((cardNumber.length != "16") || (digits != "6011")) {
            args.IsValid = false;
		}
		break;

	case "MasterCard": //mastercard - length 16
		firstDigit = checkStr.charAt(0);
		if ((cardNumber.length != "16") || (firstDigit != "5")) {
            args.IsValid = false;
		}
		break;

	case "Visa": //visa - length 13 or 16
		firstDigit = checkStr.charAt(0);
		if (((cardNumber.length != "13") && (cardNumber.length != "16")) || (firstDigit != "4")) {
            args.IsValid = false;
		}
		break;

	case "DinersClub": //diner's club - length 14
		digits = checkStr.charAt(0) + checkStr.charAt(1);
		if ((cardNumber.length != "14") || ((digits != "30") && (digits != "36") && (digits != "38"))) {
            args.IsValid = false;
		}
		break;
  }
}
*/

function isNumber(cardNumber)
{
     //check if the number is digits only
     for (var n = 0; n < cardNumber.length; n++)
     {
        if (cardNumber.substring(n, n+1) < "0" || cardNumber.substring(n, n+1) > "9")
        {
            return false;
        }
     }
     return true;
}

//checks if the nuber have  only and 3 or 4 digits
function isNumberCode(codeNumber)
{
    if (codeNumber.length < 3 || codeNumber.length > 4)
    {
        return false;
    }

     //check if the number is digits only
     for (var n = 0; n < codeNumber.length; n++)
     {
        if (codeNumber.substring(n, n+1) < "0" || codeNumber.substring(n, n+1) > "9")
        {
            return false;
        }
     }
     return true;
}


    function ccCheck(cardNumber, cardType) {
     var checkStr = cardNumber;
     
     switch (cardType) {
	case "AmericanExpress":  //amex - length 15
		digits = checkStr.charAt(0) + checkStr.charAt(1);
		if ((cardNumber.length != "15") || ((digits != "34") && (digits != "37"))) {
            return false;
		}
		break;

	case "Discover":  //discover - length 16
		digits = checkStr.charAt(0) + checkStr.charAt(1) + checkStr.charAt(2) + checkStr.charAt(3);
		if ((cardNumber.length != "16") || (digits != "6011")) {
            return false;
		}
		break;

	case "MasterCard": //mastercard - length 16
		firstDigit = checkStr.charAt(0);
		if ((cardNumber.length != "16") || (firstDigit != "5")) {
            return false;
		}
		break;

	case "Visa": //visa - length 13 or 16
		firstDigit = checkStr.charAt(0);
		if (((cardNumber.length != "13") && (cardNumber.length != "16")) || (firstDigit != "4")) {
            return false;
		}
		break;

	case "DinersClub": //diner's club - length 14
		digits = checkStr.charAt(0) + checkStr.charAt(1);
		if ((cardNumber.length != "14") || ((digits != "30") && (digits != "36") && (digits != "38"))) {
            return false;
		}
		break;
  }
  return true;
}


//this function performs credit card parity check for .NET custom validator
//it does not gurantee that the number is a real credit card nomber
//it just verifies if it is a valid credit card number
/*
function parityCheck(oSrc, args)
{
  var sum, nDigits, parity, digit;
  var puportedCC, indParity;
  puportedCC = args.Value;

  sum = 0;
  
  nDigits = puportedCC.length;
  parity = nDigits % 2;
   
  for(i=0; i<nDigits; i++)
  {
    digit = parseInt(puportedCC.charAt(i));
 
    if( i % 2 == parity)
             digit = digit * 2;
    if(digit > 9)
             digit = digit - 9; 
     sum = sum + digit;
 }
  
 if(sum % 10 == 0)
 {
    args.IsValid = true;
 }
 else
 {
    args.IsValid = false;
 }
 
 return args.IsValid;

}
*/

//javascript parity check
function parityCheck(cardNumber)
{
    var sum, nDigits, parity, digit;
    var puportedCC, indParity;
    sum = 0;
  
    nDigits = cardNumber.length;
    parity = nDigits % 2;
   
    for(i=0; i<nDigits; i++)
    {
        digit = parseInt(cardNumber.charAt(i));
 
        if( i % 2 == parity)
             digit = digit * 2;
        if(digit > 9)
             digit = digit - 9; 
         sum = sum + digit;
    }
  
    if(sum % 10 == 0)
    {
       return true;
    }
    else
    {
       return false;
    }
}

    //function for .NET custom validator
    /*
    function ccexpired(source, args) {
        var year = args.Value;
        var month = document.getElementById("ctl00_MainContent_ddlCardMonth").value;
        var today = new Date();
        if(today.getMonth()+1+today.getFullYear()*100 > parseInt(year)*100+parseInt(month))
        {
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }
    }
    */

    function ccExpired(month, year) {
        var today = new Date();
        //alert(today.getMonth()+1+today.getFullYear()*100);
        //alert(parseInt(year)*100+parseInt(month));
        if(today.getMonth()+1+today.getFullYear()*100 > parseInt(year)*100+parseInt(month))
        {
            return true;
        }
        else
        {
            return false;
        }
    }


    function taxes() {
        if(document.getElementById("ctl00_MainContent_chbShowHide").checked)
        {
            document.getElementById("ctl00_MainContent_lblTaxTotal").style.visibility = "hidden";
            document.getElementById("ctl00_MainContent_lblTaxes").style.visibility = "visible";
        }
        else 
        {
           document.getElementById("ctl00_MainContent_lblTaxTotal").style.visibility = "visible";
           document.getElementById("ctl00_MainContent_lblTaxes").style.visibility = "hidden";
        }   
    }
   
  
  	var ranNum = '';
	var ranNum = Math.round(Math.random()*3);
	var ranNum1 = '';
	var ranNum1 = Math.round(Math.random()*3);

	function getSplash(s) {
  		var bg = new Array(4)
    	bg[0]="<a target='_blank' href='http://www.travelinsurancestore.ca/'><img border='0' src='images/interface/rbc.jpg' width='340' height='242' alt='Purchase Travel Insurance through RBC now'><\/a>";
    	bg[1]="<a target='_blank' href='http://www.ambassadortravel.ca/'><img border='0' src='images/interface/free-tickets.gif' width='340' height='242' alt='Win Free Tickets through Ambassador Travel'><\/a>";
    	bg[2]="<a target='_blank' href='http://www.alamo.com/index.do?action=resRentalInfo.do&source=generic&iataNumber=61528364'><img border='0' src='images/interface/alamo.jpg' width='340' height='242' alt='Alamo Car Rentals available here'><\/a>";
    	bg[3]="<a target='_blank' href='http://www.ambassadortravel.ca/'><img border='0' src='images/interface/ambassador.jpg' width='340' height='242' alt='Visit Ambassador Travel'><\/a>";

		var picture = bg[ranNum1];
  			document.write(picture);
		}  

function dateDifference(strDate1,strDate2){
     datDate1= Date.parse(strDate1);
     datDate2= Date.parse(strDate2);
     return (datDate2-datDate1)/(24*60*60*1000)
     
}

//SHOW DIV LAYERS
function showLayer(layerName) {

if (check) {
 if (agent=="none") {
  return;
 } else if (agent=="moz") {
  document.getElementById(layerName).style.visibility="visible";
  document.getElementById(layerName).style.display="block";
 } else if (agent=="ie") {
  eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"');
  eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.display="block"');
 } else {
  eval('document.layers["theHolder"].' + layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"');
 }
} else {					// alert ("Please wait for the page to finish loading.");
 return;
}
}

//HIDE DIV LAYERS
function hideLayer(layerName) {

if (check) {
 if (agent=="none") {
  return;
 } else if (agent=="moz") {
  document.getElementById(layerName).style.visibility="hidden";
  document.getElementById(layerName).style.display="none";
 } else if (agent=="ie") {
  eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');
  eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.display="none"');
 } else {
    eval('document.layers["theHolder"].' + layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');
 }
} else {					//  alert ("Please wait for the page to finish loading.");
 return;
}
}
	
var check = false;

function init() {				//  alert ("Running Init");

if (document.layers) {				//  alert ("Running Netscape 4");

 layerRef="document.layers";
 styleSwitch="";
 visibleVar="show";
 agent ="ns4";

} else if (document.all) {			//  alert ("Running IE");

 layerRef="document.all";
 styleSwitch=".style";
 visibleVar="visible";
 agent ="ie";

} else if (document.getElementById) {		//  alert ("Running Netscape 6");

 layerRef="document.getElementByID";
 styleSwitch=".style";
 visibleVar="visible";
 agent="moz";

} else {					//  alert("Older than 4.0 browser.");

 agent="none";
 newbrowser = false;

}
						//  window.status='status bar text to go here';
check = true;
}

function flightChosen()
{

	if(document.forms[0].ctl00$MainContent$rblFlights.length == undefined)
	{
		if(document.forms[0].ctl00$MainContent$rblFlights.checked)
		{
		pleaseWait()
		return true
        }else{
       alert("Please select your flight(s) before continuing.")
       return false;
       } 
      } else{

        radioOption = -1
        for (counter=0; counter< document.forms[0].ctl00$MainContent$rblFlights.length; counter++) {
            if (document.forms[0].ctl00$MainContent$rblFlights[counter].checked) {
                radioOption = counter
            }
        }
    if (radioOption == -1) {
        alert("Please select your flight(s) before continuing.")
        return false
    }
    pleaseWait()
    return true;
}
}

function flightChosen2()
{

		pleaseWait()
		return true;

}

function pleaseWait(){

 if (agent!="moz")
 {
    hideLayer("ctl00_MainContent_PleaseWaitBack") 
    hideLayer("ctl00_MainContent_SearchForm")
    showLayer("ctl00_MainContent_PleaseWait")

    setTimeout('document.progressImage.src = "images/interface/loading-ani.gif"', 2); 
    setTimeout('document.waitDots.src = "images/interface/wait-dots.gif"', 2);
}
}

function pleaseWaitBack(){

 if (agent!="moz")
 {
    hideLayer("ctl00_MainContent_SearchForm")
   hideLayer("ctl00_MainContent_PleaseWait") 
    showLayer("ctl00_MainContent_PleaseWaitBack")

    setTimeout('document.progressImage2.src = "images/interface/loading-ani.gif"', 2); 
    setTimeout('document.waitDots2.src = "images/interface/wait-dots.gif"', 2);
 }
    
}

function goAsGuest()
{
    pleaseWait()
    return true;
}

function login()
{
    if(document.forms[0].ctl00$MainContent$txtUsername.value == "")
    {
    alert("Please enter your username");
    document.forms[0].ctl00$MainContent$txtUsername.focus();
    return false;
    }
    if(document.forms[0].ctl00$MainContent$txtPassword.value == "")
    {
    alert("Please enter your password");
    document.forms[0].ctl00$MainContent$txtPassword.focus();
    return false;
    }
    pleaseWait()
    return true;
}

function loginProfile()
{
    if(document.forms[0].ctl00$MainContent$txtUsername.value == "")
    {
    alert("Please enter your username");
    document.forms[0].ctl00$MainContent$txtUsername.focus();
    return false;
    }
    if(document.forms[0].ctl00$MainContent$txtPassword.value == "")
    {
    alert("Please enter your password");
    document.forms[0].ctl00$MainContent$txtPassword.focus();
    return false;
    }
    pleaseWaitBack()
    return true;
}

function GuestInfo()
{

    var firstName = document.forms[0].ctl00$MainContent$txtFirstNameBilling.value;
    //var middleName = document.forms[0].ctl00$MainContent$txtMiddleNameBilling.value;
    var lastName = document.forms[0].ctl00$MainContent$txtLastNameBilling.value;
    var countryCode = document.forms[0].ctl00$MainContent$ddlCountriesGuest.value;
  
    if(document.forms[0].ctl00$MainContent$ddlPassengerTitle.selectedIndex == 0)
    {
        alert("Please select your title");
       document.forms[0].ctl00$MainContent$ddlPassengerTitle.focus(); 
       return false;
    }  
   
  //check if empty 
  if(document.forms[0].ctl00$MainContent$txtFirstNameBilling.value == "")
  {
    alert("Please enter your first name");
    document.forms[0].ctl00$MainContent$txtFirstNameBilling.focus();
    return false;
   } 
   
   //check for special symbols
   if(HasSpecialSymbols(firstName))
   {
       alert("Special symbols in names are not allowed, use space instead");
       document.forms[0].ctl00$MainContent$txtFirstNameBilling.focus();
       return false;
   }
   
      //check for special symbols
   //if(HasSpecialSymbols(middleName))
   //{
       //alert("Special symbols in names are not allowed, use space instead");
       //document.forms[0].ctl00$MainContent$txtMiddleNameBilling.focus();
       //return false;
  //}

      //check for special symbols
   if(HasSpecialSymbols(lastName))
   {
       alert("Special symbols in names are not allowed, use space instead");
       document.forms[0].ctl00$MainContent$txtLastNameBilling.focus();
       return false;
   }

  
  if(document.forms[0].ctl00$MainContent$txtLastNameBilling.value == "")
  {
    alert("Please enter your last name");
    document.forms[0].ctl00$MainContent$txtLastNameBilling.focus();
    return false;
   }  
  
        if(document.forms[0].ctl00$MainContent$ddlGender.selectedIndex == 0)
    {
        alert("Please select your gender");
       document.forms[0].ctl00$MainContent$ddlGender.focus(); 
       return false;
    }   
   
  if(document.forms[0].ctl00$MainContent$txtAge.value == "")
  {
    alert("Please enter your age");
    document.forms[0].ctl00$MainContent$txtAge.focus();
    return false;
   }    
   
   //check if the age is a number
   if(isNaN(document.forms[0].ctl00$MainContent$txtAge.value))
   {
       alert("Age must be a number");
        document.forms[0].ctl00$MainContent$txtAge.focus();
        return false;
   }
   
      //check if the age is between 1 and 110
   if(document.forms[0].ctl00$MainContent$txtAge.value < 18 || document.forms[0].ctl00$MainContent$txtAge.value > 110)
   {
       alert("Age must be between 18 and 110");
        document.forms[0].ctl00$MainContent$txtAge.focus();
        return false;
   }

  
   if(document.forms[0].ctl00$MainContent$txtStreetNumberGuest.value == "")
  {
    alert("Please enter your street number");
    document.forms[0].ctl00$MainContent$txtStreetNumberGuest.focus();
    return false;
   }  
  
   if(document.forms[0].ctl00$MainContent$txtStreetNameGuest.value == "")
  {
    alert("Please enter your street name");
    document.forms[0].ctl00$MainContent$txtStreetNameGuest.focus();
    return false;
   }   
   
  if(document.forms[0].ctl00$MainContent$txtCityGuest.value == "")
  {
    alert("Please enter your city");
    document.forms[0].ctl00$MainContent$txtCityGuest.focus();
    return false;
   }    
  
      if(document.forms[0].ctl00$MainContent$ddlCountriesGuest.selectedIndex == 0)
    {
        alert("Please select your country");
       document.forms[0].ctl00$MainContent$ddlCountriesGuest.focus(); 
       return false;
    }  
   
  if((document.forms[0].ctl00$MainContent$ddlProvinceGuest.length > 1) && (document.forms[0].ctl00$MainContent$ddlProvinceGuest.selectedIndex == 0) )
  {
       alert("Please select your province/state");
       document.forms[0].ctl00$MainContent$ddlProvinceGuest.focus(); 
       return false;
  }
  
  //POSTAL CODE VALIDATION
  //must not be empty
  if(document.forms[0].ctl00$MainContent$txtPostalGuest.value == "")
  {
    alert("Please enter your postal/zip code");
    document.forms[0].ctl00$MainContent$txtPostalGuest.focus();
    return false;
   }   
   
    //no special symbols in postal code except for US
    if(countryCode != "US")
    {
        if(!validateAlphaNum(document.forms[0].ctl00$MainContent$txtPostalGuest.value))
        {
            alert("Special symbols in postal code are not allowed, use space instead");
            document.forms[0].ctl00$MainContent$txtPostalGuest.focus();
            return false;
        }
        
        if(countryCode == "CA")
        {
            if(!validateCanadaPostal(document.forms[0].ctl00$MainContent$txtPostalGuest.value))
            {
                alert("Canada postal code must be in A#A #A# or A#A#A# format");
                document.forms[0].ctl00$MainContent$txtPostalGuest.focus();
                return false;
            }
        }
    }
    else
    {
        if(!validateUSZip(document.forms[0].ctl00$MainContent$txtPostalGuest.value))
        {
            alert("US ZIP code must be in ##### or #####-#### format");
            document.forms[0].ctl00$MainContent$txtPostalGuest.focus();
            return false;
        }
    }  
  
  
   if(document.forms[0].ctl00$MainContent$txtAreaCode.value == "")
  {
    alert("Please enter your area code");
    document.forms[0].ctl00$MainContent$txtAreaCode.focus();
    return false;
   }    
  
     if(document.forms[0].ctl00$MainContent$txtPhoneHomeGuest.value == "")
  {
    alert("Please enter your phone number");
    document.forms[0].ctl00$MainContent$txtPhoneHomeGuest.focus();
    return false;
   } 
  
   if(document.forms[0].ctl00$MainContent$txtEmailGuest.value == "")
  {
    alert("Please enter your email address");
    document.forms[0].ctl00$MainContent$txtEmailGuest.focus();
    return false;
   }  
  
  if(document.forms[0].ctl00$MainContent$txtEmailConfirmGuest.value == "")
  {
    alert("Please enter your email address confirmation");
    document.forms[0].ctl00$MainContent$txtEmailConfirmGuest.focus();
    return false;
   }   
  
  if(document.forms[0].ctl00$MainContent$txtEmailConfirmGuest.value != document.forms[0].ctl00$MainContent$txtEmailGuest.value)
  {
  alert("Your email address and email confirmation do not match, please fix this.");
  document.forms[0].ctl00$MainContent$txtEmailConfirmGuest.focus();
  return false;
  }
   
  
var emailStr = document.forms[0].ctl00$MainContent$txtEmailGuest.value  
var checkTLD=1;
var knownDomsPat=/^(com|ca|uk|us|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
alert("Your email address is invalid, please fix it.")
return false
}
var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("Your email address is invalid, please fix it.")
return false
   }
}

for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("Your email address is invalid, please fix it.")
return false
   }
}

if (user.match(userPat)==null) {
alert("Your email address is invalid, please fix it.")
return false
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Your email address is invalid, please fix it.")
return false
   }
}
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("Your email address is invalid, please fix it.")
return false
   }
}

if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("Your email address is invalid, please fix it.")
return false
} 
    
    pleaseWait()
    return true;
}

function Insurance()
{
    pleaseWaitBack()
    return true;
}

function bookFlight(recID)
{
radioObj = document.forms[0].ctl00$MainContent$rblFlights;
radioLength = radioObj.length;
var found = 0;

if(!radioLength)
    {
    document.forms[0].ctl00$MainContent$rblFlights.checked = true;
    found = 1;
    }

for(var i = 0; i < radioLength; i++) 
	{
	radioObj[i].checked = false;
		if(parseInt(radioObj[i].value) == parseInt(recID)) {
			radioObj[i].checked = true;
			found = 1;
		}
	}
	
	if(found == 1)
	{
	    pleaseWaitBack()
        return true;
    }else{
        return false;
    }

}

function flightReSearch()
{
	    pleaseWaitBack()
        return true;
}

//Check contact form
function Contact()

{
    if(document.forms[0].ctl00$MainContent$txtName.value == "")
    {
    alert("Please enter your name");
    document.forms[0].ctl00$MainContent$txtName.focus();
    return false;
    }
    
    if(document.forms[0].ctl00$MainContent$txtEmail.value == "")
    {
    alert("Please enter your email address");
    document.forms[0].ctl00$MainContent$txtEmail.focus();
    return false;
    }
    
    if(document.forms[0].ctl00$MainContent$txtComments.value == "")
    {
    alert("Please enter your comments");
    document.forms[0].ctl00$MainContent$txtComments.focus();
    return false;
    }
    
    return true;
}

//autocomplete function
//finds city by typed symbols
function findCity(city, select)
{
    var found = false;
	for (var i = 0; i < select.options.length; i++) {
	if (select.options[i]["text"].toUpperCase().indexOf(city.toUpperCase()) == 0) {
		found=true; break;
		}
	}
	if (found) { select.selectedIndex = i; }
	else { select.selectedIndex = -1; }
}

function IsDate(dateStr) {
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); 
    if (matchArray == null) { return "Please enter date as either mm/dd/yyyy or mm-dd-yyyy.";}
    month = matchArray[1]; day = matchArray[3]; year = matchArray[5];
    if (month < 1 || month > 12) {return "Month must be between 1 and 12.";}
    if (day < 1 || day > 31) {return "Day must be between 1 and 31.";}
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {return "Month "+month+" doesn`t have 31 days!";}
    if (month == 2) { var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) { return "February " + year + " doesn`t have " + day + " days!";}
    }
    return ""; 
}

 //check for special symbols
function HasSpecialSymbols(name) {
  var objRegExp  = /(^[a-z A-Z]*$)/;

  return !objRegExp.test(name);
}

  function valProfile()
{
    var countryCode = document.forms[0].ctl00$MainContent$ddlCountries.value;

      if(document.forms[0].ctl00$MainContent$ddlPassengerTitle.selectedIndex == 0)
    {
        alert("Please select your title");
       document.forms[0].ctl00$MainContent$ddlPassengerTitle.focus(); 
       return false;
    }  
   
  if(document.forms[0].ctl00$MainContent$txtFirstNameBilling.value == "")
  {
    alert("Please enter your first name");
    document.forms[0].ctl00$MainContent$txtFirstNameBilling.focus();
    return false;
   } 
  
     //check for special symbols
   if(HasSpecialSymbols(document.forms[0].ctl00$MainContent$txtFirstNameBilling.value))
   {
       alert("Special symbols in names are not allowed");
       document.forms[0].ctl00$MainContent$txtFirstNameBilling.focus();
       return false;
   }
   
        //check for special symbols
   if(HasSpecialSymbols(document.forms[0].ctl00$MainContent$txtMiddleNameBilling.value))
   {
       alert("Special symbols in names are not allowed");
       document.forms[0].ctl00$MainContent$txtMiddleNameBilling.focus();
       return false;
   }
     //check for special symbols
   if(HasSpecialSymbols(document.forms[0].ctl00$MainContent$txtLastNameBilling.value))
   {
       alert("Special symbols in names are not allowed");
       document.forms[0].ctl00$MainContent$txtLastNameBilling.focus();
       return false;
   }

    if(document.forms[0].ctl00$MainContent$txtLastNameBilling.value == "")
  {
    alert("Please enter your last name");
    document.forms[0].ctl00$MainContent$txtLastNameBilling.focus();
    return false;
   }  
  
        if(document.forms[0].ctl00$MainContent$ddlGender.selectedIndex == 0)
    {
        alert("Please select your gender");
       document.forms[0].ctl00$MainContent$ddlGender.focus(); 
       return false;
    }   
   
   if(document.forms[0].ctl00$MainContent$txtAge.value == "")
  {
    alert("Please enter your age");
    document.forms[0].ctl00$MainContent$txtAge.focus();
    return false;
   }    
  
     //check if the age is a number
   if(isNaN(document.forms[0].ctl00$MainContent$txtAge.value))
   {
       alert("Age must be a number");
        document.forms[0].ctl00$MainContent$txtAge.focus();
        return false;
   }
   
      //check if the age is between 18 and 110
   if(document.forms[0].ctl00$MainContent$txtAge.value < 18 || document.forms[0].ctl00$MainContent$txtAge.value > 110)
   {
       alert("Age must be between 18 and 110");
        document.forms[0].ctl00$MainContent$txtAge.focus();
        return false;
   }

  
   if(document.forms[0].ctl00$MainContent$txtStreetNumber.value == "")
  {
    alert("Please enter your street number");
    document.forms[0].ctl00$MainContent$txtStreetNumber.focus();
    return false;
   }  
  
   if(document.forms[0].ctl00$MainContent$txtStreet.value == "")
  {
    alert("Please enter your street name");
    document.forms[0].ctl00$MainContent$txtStreet.focus();
    return false;
   }   
   
  if(document.forms[0].ctl00$MainContent$txtCity.value == "")
  {
    alert("Please enter your city");
    document.forms[0].ctl00$MainContent$txtCity.focus();
    return false;
   }    
  
      if(document.forms[0].ctl00$MainContent$ddlCountries.selectedIndex == 0)
    {
        alert("Please select your country");
       document.forms[0].ctl00$MainContent$ddlCountries.focus(); 
       return false;
    }  
   
  if((document.forms[0].ctl00$MainContent$ddlProvinces.length > 1) && (document.forms[0].ctl00$MainContent$ddlProvinces.selectedIndex == 0) )
  {
       alert("Please select your province/state");
       document.forms[0].ctl00$MainContent$ddlProvinces.focus(); 
       return false;
  }
  
  //POSTAL CODE VALIDATION
  //must not be empty
  if(document.forms[0].ctl00$MainContent$txtPostal.value == "")
  {
    alert("Please enter your postal/zip code");
    document.forms[0].ctl00$MainContent$txtPostal.focus();
    return false;
   }   
   
    //no special symbols in postal code except for US
    if(countryCode != "US")
    {
        if(!validateAlphaNum(document.forms[0].ctl00$MainContent$txtPostal.value))
        {
            alert("Special symbols in postal code are not allowed, use space instead");
            document.forms[0].ctl00$MainContent$txtPostal.focus();
            return false;
        }
        
        if(countryCode == "CA")
        {
            if(!validateCanadaPostal(document.forms[0].ctl00$MainContent$txtPostal.value))
            {
                alert("Canada postal code must be in A#A #A# or A#A#A# format");
                document.forms[0].ctl00$MainContent$txtPostal.focus();
                return false;
            }
        }
    }
    else
    {
        if(!validateUSZip(document.forms[0].ctl00$MainContent$txtPostal.value))
        {
            alert("US ZIP code must be in ##### or #####-#### format");
            document.forms[0].ctl00$MainContent$txtPostal.focus();
            return false;
        }
    }    
  
   if(document.forms[0].ctl00$MainContent$txtAreaCode.value == "")
  {
    alert("Please enter your area code");
    document.forms[0].ctl00$MainContent$txtAreaCode.focus();
    return false;
   }    
  
     if(document.forms[0].ctl00$MainContent$txtPhoneHome.value == "")
  {
    alert("Please enter your phone number");
    document.forms[0].ctl00$MainContent$txtPhoneHome.focus();
    return false;
   } 
  
   if(document.forms[0].ctl00$MainContent$txtEmail.value == "")
  {
    alert("Please enter your email address");
    document.forms[0].ctl00$MainContent$txtEmail.focus();
    return false;
   }  
  
  if(document.forms[0].ctl00$MainContent$txtEmailConf.value == "")
  {
    alert("Please enter your email address confirmation");
    document.forms[0].ctl00$MainContent$txtEmailConf.focus();
    return false;
   }   
  
  if(document.forms[0].ctl00$MainContent$txtEmailConf.value != document.forms[0].ctl00$MainContent$txtEmail.value)
  {
  alert("Your email address and email confirmation do not match, please fix this.");
  document.forms[0].ctl00$MainContent$txtEmailConf.focus();
  return false;
  }
   
  
var emailStr = document.forms[0].ctl00$MainContent$txtEmail.value  
var checkTLD=1;
var knownDomsPat=/^(com|ca|uk|us|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
alert("Your email address is invalid, please fix it.")
return false
}
var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("Your email address is invalid, please fix it.")
return false
   }
}

for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("Your email address is invalid, please fix it.")
return false
   }
}

if (user.match(userPat)==null) {
alert("Your email address is invalid, please fix it.")
return false
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Your email address is invalid, please fix it.")
return false
   }
}
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("Your email address is invalid, please fix it.")
return false
   }
}

if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("Your email address is invalid, please fix it.")
return false
} 


  if(document.forms[0].ctl00$MainContent$txtPassword.value == "")
  {
    alert("Please enter your password");
    document.forms[0].ctl00$MainContent$txtPassword.focus();
    return false;
   }   
  
    if(document.forms[0].ctl00$MainContent$txtPasswordConfirm.value == "")
  {
    alert("Please enter your password confirmation");
    document.forms[0].ctl00$MainContent$txtPasswordConfirm.focus();
    return false;
   }    
  
    if(document.forms[0].ctl00$MainContent$txtPassword.value.length < 4)
  {
    alert("Your password must be at least 4 characters long");
    document.forms[0].ctl00$MainContent$txtPassword.focus();
    return false;
   }   
  
    if(document.forms[0].ctl00$MainContent$txtPassword.value != document.forms[0].ctl00$MainContent$txtPasswordConfirm.value)
  {
    alert("Your password and password confirmation must match");
    document.forms[0].ctl00$MainContent$txtPasswordConfirm.focus();
    return false;
   }     

    pleaseWait()
    return true;
}

function ChangeAddress()
{
  var countryCode = document.forms[0].ctl00$MainContent$ddlCountries.value;

  if(document.forms[0].ctl00$MainContent$txtFirstName.value == "")
  {
    alert("Please enter your first name");
    document.forms[0].ctl00$MainContent$txtFirstName.focus();
    return false;
   } 
  
     //check for special symbols
   if(HasSpecialSymbols(document.forms[0].ctl00$MainContent$txtFirstName.value))
   {
       alert("Special symbols in names are not allowed");
       document.forms[0].ctl00$MainContent$txtFirstNameBilling.focus();
       return false;
   }
   
        //check for special symbols
   if(HasSpecialSymbols(document.forms[0].ctl00$MainContent$txtMiddleName.value))
   {
       alert("Special symbols in names are not allowed");
       document.forms[0].ctl00$MainContent$txtMiddleName.focus();
       return false;
   }
     //check for special symbols
   if(HasSpecialSymbols(document.forms[0].ctl00$MainContent$txtLastName.value))
   {
       alert("Special symbols in names are not allowed");
       document.forms[0].ctl00$MainContent$txtLastName.focus();
       return false;
   }

  if(document.forms[0].ctl00$MainContent$txtLastName.value == "")
  {
    alert("Please enter your last name");
    document.forms[0].ctl00$MainContent$txtLastName.focus();
    return false;
  }  
   
  if(document.forms[0].ctl00$MainContent$txtStreetNumber.value == "")
  {
    alert("Please enter your street number");
    document.forms[0].ctl00$MainContent$txtStreetNumber.focus();
    return false;
   }  
  
   if(document.forms[0].ctl00$MainContent$txtStreet.value == "")
  {
    alert("Please enter your street name");
    document.forms[0].ctl00$MainContent$txtStreet.focus();
    return false;
   }   
   
  if(document.forms[0].ctl00$MainContent$txtCity.value == "")
  {
    alert("Please enter your city");
    document.forms[0].ctl00$MainContent$txtCity.focus();
    return false;
  }    
  
  if(document.forms[0].ctl00$MainContent$ddlCountries.selectedIndex == 0)
  {
       alert("Please select your country");
       document.forms[0].ctl00$MainContent$ddlCountries.focus(); 
       return false;
    }  
   
  if((document.forms[0].ctl00$MainContent$ddlProvinces.length > 1) && (document.forms[0].ctl00$MainContent$ddlProvinces.selectedIndex == 0) )
  {
       alert("Please select your province/state");
       document.forms[0].ctl00$MainContent$ddlProvinces.focus(); 
       return false;
  }
  
  //POSTAL CODE VALIDATION
  //must not be empty
  if(document.forms[0].ctl00$MainContent$txtPostal.value == "")
  {
    alert("Please enter your postal/zip code");
    document.forms[0].ctl00$MainContent$txtPostal.focus();
    return false;
   }   
   
    //no special symbols in postal code except for US
    if(countryCode != "US")
    {
        if(!validateAlphaNum(document.forms[0].ctl00$MainContent$txtPostal.value))
        {
            alert("Special symbols in postal code are not allowed, use space instead");
            document.forms[0].ctl00$MainContent$txtPostal.focus();
            return false;
        }
        
        if(countryCode == "CA")
        {
            if(!validateCanadaPostal(document.forms[0].ctl00$MainContent$txtPostal.value))
            {
                alert("Canada postal code must be in A#A #A# or A#A#A# format");
                document.forms[0].ctl00$MainContent$txtPostal.focus();
                return false;
            }
        }
    }
    else
    {
        if(!validateUSZip(document.forms[0].ctl00$MainContent$txtPostal.value))
        {
            alert("US ZIP code must be in ##### or #####-#### format");
            document.forms[0].ctl00$MainContent$txtPostal.focus();
            return false;
        }
    }    
    
  if(document.forms[0].ctl00$MainContent$txtPhoneHome.value == "")
  {
    alert("Please enter your phone number");
    document.forms[0].ctl00$MainContent$txtPhoneHome.focus();
    return false;
   } 
  
   if(document.forms[0].ctl00$MainContent$txtEmail.value == "")
  {
    alert("Please enter your email address");
    document.forms[0].ctl00$MainContent$txtEmail.focus();
    return false;
   }  
  
  if(document.forms[0].ctl00$MainContent$txtEmailConf.value == "")
  {
    alert("Please enter your email address confirmation");
    document.forms[0].ctl00$MainContent$txtEmailConf.focus();
    return false;
   }   
  
  if(document.forms[0].ctl00$MainContent$txtEmailConf.value != document.forms[0].ctl00$MainContent$txtEmail.value)
  {
    alert("Your email address and email confirmation do not match, please fix this.");
    document.forms[0].ctl00$MainContent$txtEmailConf.focus();
    return false;
  }
   
    var emailStr = document.forms[0].ctl00$MainContent$txtEmail.value  
    var checkTLD=1;
    var knownDomsPat=/^(com|ca|uk|us|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);

    if (matchArray==null) {
        alert("Your email address is invalid, please fix it.")
        return false
    }
    var user=matchArray[1];
    var domain=matchArray[2];

    for (i=0; i<user.length; i++) { 
        if (user.charCodeAt(i)>127) {
            alert("Your email address is invalid, please fix it.")
            return false
        }
    }

    for (i=0; i<domain.length; i++) {
        if (domain.charCodeAt(i)>127) {
            alert("Your email address is invalid, please fix it.")
            return false
        }
    }

    if (user.match(userPat)==null) {
        alert("Your email address is invalid, please fix it.")
        return false
    }

    var IPArray=domain.match(ipDomainPat);
    
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                alert("Your email address is invalid, please fix it.")
                return false
            }
        }
    }

    var atomPat=new RegExp("^" + atom + "$");
    var domArr=domain.split(".");
    var len=domArr.length;
    for (i=0;i<len;i++) {
        if (domArr[i].search(atomPat)==-1) {
            alert("Your email address is invalid, please fix it.")
            return false
        }
    }

    if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
        alert("Your email address is invalid, please fix it.")
        return false
    } 

}

function popup(winName,URL,height,width,scroll) {

 var popup = window.open(URL,winName,"height=" + height + ",width=" + width + ",left=28,top=25,status=0,scrollbars=" + scroll + ",toolbar=0,directories=0,menubar=0,location=0");
 NewWindow = popup;
 NewWindow.focus();

}

function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
  States zip code in 5 digit format or zip+4
  format. 99999 or 99999-9999

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;

  //check for valid US Zipcode
  return objRegExp.test(strValue);
}

function validateAlphaNum( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains alphanumeriacal symbols only

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^[a-z 0-9A-Z]*$)/;

  return objRegExp.test(strValue);
}

function validateCanadaPostal( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains alphanumeriacal symbols only

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^[a-zA-z]{1}\d{1}[a-zA-z] \d{1}[a-zA-z]{1}\d{1}$)|(^[a-zA-z]{1}\d{1}[a-zA-z]\d{1}[a-zA-z]{1}\d{1}$)/;

  return objRegExp.test(strValue);
}
