
var fromAirportCode='';var toAirportCode='';var fromPackageCode='';var toPackageCode='';var cityName;var stateCode;var countryCode=null;var areaCode;var countryName=null;var city=null;var parentCode=null;var isdesttgtCall=false;var searchParam='';var submitid='';var providerName='';var providersPopupBlockOff='';var providersPopupBlockOn='';var toStrPresent=false;function makeProviderRequest(productType,fromstr,tostr,placemntKey){producttype=productType;url='/servlet/providerServlet';if(producttype=='flights'){if(tostr!=null&&tostr!=''&&tostr!=oldToStr){oldToStr=tostr;toStrPresent=true;}else{toStrPresent=false;}
if(selectedAirportCode!=null&&selectedAirportCode!='')
{fromstr=selectedAirportCode.toUpperCase();}}
if(producttype=='hotels'){isdesttgtCall=true;if(fromstr!=null){toStrPresent=true;}else{toStrPresent=false;}}
if(producttype=='cars'){if(fromstr!=null){toStrPresent=true;}else{toStrPresent=false;}}
if(producttype=='packages'){if(tostr!=null&&tostr!=''&&tostr!=oldToStr){oldToStr=tostr;toStrPresent=true;}else{toStrPresent=false;}}
if(producttype=='vacationRentals'){isdesttgtCall=true;if(fromstr!=null){toStrPresent=true;}else{toStrPresent=false;}}
if(fromstr!=null&&fromstr!=''&&tostr!=null&&tostr!=''){params='fromStr='+fromstr+'&toStr='+tostr+"&productType="+producttype+'&pageType='+true;}else if(fromstr!=null&&fromstr!=''){params='fromStr='+fromstr+"&productType="+producttype+'&pageType='+true;}
else if(tostr!=null&&tostr!=''){params='&toStr='+tostr+"&productType="+producttype+'&pageType='+true;}
if(productType=='car'){providerId='carProvider';submitid='carSearchButton';}
params=params+'&placementKey='+placemntKey;http.open('POST',url,true);http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.setRequestHeader("Content-length",params.length);http.onreadystatechange=updateproviders;http.send(params);}
function findProviders(providerId,placemntKey){if(providerId=='flights'){oneWayProviderArray=new Array();rndTripProviderArray=new Array();flightPackagesArray=new Array();if(document.getElementById("airFrom").value.trim()==null||document.getElementById("airFrom").value.trim()==''){document.getElementById("airPortFromCode").value='';}
if(document.getElementById("airTo").value.trim()==null||document.getElementById("airTo").value.trim()==''){document.getElementById("airPortToCode").value='';}
var airFrom=document.getElementById("airPortFromCode").value.trim();var airportFrom="";var airTo=document.getElementById("airPortToCode").value.trim();var airportTo="";var hasFromTo=true;providerName='flightProvider';submitid='flSearchButton';providersPopupBlockOff='airProvidersPopupBlockOff';providersPopupBlockOn='airProvidersPopupBlockOn';if(selectedAirportCode!=null&&selectedAirportCode!=''){airFrom=selectedAirportCode;}else if(airFrom==null||airFrom==''){airFrom=document.getElementById("airFrom").value.trim();}
if(airTo==null||airTo==''){airTo=document.getElementById("airTo").value.trim();}
if(airFrom!=''&&airTo!=''){flightsDTCallMade=true;makeProviderRequest('flights',airFrom.toUpperCase(),airTo.toUpperCase(),placemntKey);}}
else if(providerId=='hotels'){providerArray=new Array();providerName='hotelProvider';submitid='hotelSearchButton';providersPopupBlockOff='hotelProvidersPopupBlockOff';providersPopupBlockOn='hotelProvidersPopupBlockOn';var howhere=document.getElementById("destId").value.trim();if(howhere!=''){hotelsDTCallMade=true;makeProviderRequest('hotels',howhere,null,placemntKey);}}else if(providerId=='rentals'){providerName='rentalProvider';submitid='rentalSearchButton';providerArray=new Array();providersPopupBlockOff='vacationRentalsProvidersPopupBlockOff';providersPopupBlockOn='vacationRentalsProvidersPopupBlockOn';var howhere=document.getElementById("rentaldestId").value.trim();if(howhere!=''){rentalsDTCallMade=true;makeProviderRequest('vacationRentals',howhere,null,placemntKey);}}
else if(providerId=='cars'){providerArray=new Array();transportServicesArray=new Array();providerName='carProvider';submitid='carSearchButton';providersPopupBlockOff='carProvidersPopupBlockOff';providersPopupBlockOn='carProvidersPopupBlockOn';var carpickup=document.getElementById("CityPickUp").value.trim();if(carpickup!=''){if(document.getElementById("destId").value!=null&&document.getElementById("destId").value!='')
{carpickup=document.getElementById("destId").value;}
carsDTCallMade=true;makeProviderRequest('cars',carpickup,null,placemntKey);}}
if(providerId=='packages'){providerArray=new Array();if(document.getElementById("packageFrom").value.trim()==null||document.getElementById("packageFrom").value.trim()==''){document.getElementById("packageFromCode").value='';}
if(document.getElementById("packageTo").value.trim()==null||document.getElementById("packageTo").value.trim()==''){document.getElementById("packageToCode").value='';}
var airFrom=document.getElementById("packageFromCode").value.trim();var airportFrom="";var airTo=document.getElementById("packageToCode").value.trim();providerName='flightProvider';submitid='flSearchButton';providersPopupBlockOff='packageProvidersPopupBlockOff';providersPopupBlockOn='packageProvidersPopupBlockOn';if(airFrom==null||airFrom==''){airFrom=document.getElementById("packageFrom").value.trim();}
if(airTo==null||airTo==''){airTo=document.getElementById("packageTo").value.trim();}
if(airFrom!=''&&airTo!=''){packagesDTCallMade=true;makeProviderRequest(providerId,airFrom.toUpperCase(),airTo.toUpperCase(),placemntKey);}}}
function refreshProviders(responseText)
{var domainname=getDomain();var responseobj=eval('('+responseText+')');var ads=responseobj.ForAds;var providerresp=responseobj.Providers;var linkIdsString='';cityName='';stateCode='';countryCodeForAd='';areaCode='';var queryString;var oneWayFlag=false;if(producttype=='flights'&&document.getElementById("oneWayRadBtn")!=null&&document.getElementById("oneWayRadBtn").checked==true){oneWayFlag=true;}
if(toStrPresent&&producttype=='flights'){queryString='air';}
if(toStrPresent&&producttype=='hotels'){queryString='hotel';}
if(toStrPresent&&producttype=='cars'){queryString='car';}
if(toStrPresent&&producttype=='packages'){queryString='package';}
if(toStrPresent&&producttype=='vacationRentals'){queryString='rental';}
if(ads!=null&&ads.length>0){for(adCount=0;adCount<ads.length;adCount++){if(ads[adCount].cityName!=null){cityName=ads[adCount].cityName;queryString=queryString+'&dest='+cityName;}
if(ads[adCount].stateCode!=null){stateCode=ads[adCount].stateCode;queryString=queryString+'&stateCode='+stateCode;}
if(ads[adCount].countryCode!=null){countryCodeForAd=ads[adCount].countryCode;queryString=queryString+'&country='+countryCodeForAd;}
if(ads[adCount].areaCode!=null){areaCode=ads[adCount].areaCode;queryString=queryString+'&area='+areaCode;}
if(ads[adCount].airportCode!=null&&cityName==''){cityName=ads[adCount].airportCode;queryString=queryString+'&dest='+cityName;}}}
if(toStrPresent&&(producttype=='flights'||producttype=='hotels'||producttype=='cars'||producttype=='packages'||producttype=='vacationRentals')){refreshBannerAd(queryString);refreshBoxAd(queryString);}
if(providerresp!=null){for(var i=0;i<providerresp.length;i++){var linkId='';var productTypeKey='';var oneWay='';var oneWayStyle='block';if(providerresp[i].linkId!=null){linkId='ab'+providerresp[i].linkId;}
if(providerresp[i].productTypeKey!=null){productTypeKey=providerresp[i].productTypeKey;}
if(providerresp[i].oneWay!=null){oneWay=providerresp[i].oneWay;}
if(productTypeKey=='flightPackages'){flightPackagesArray.push(linkId);}else if(productTypeKey=='transportServices'){transportServicesArray.push(linkId);}else{if(oneWay=='t'){oneWayProviderArray.push(providerresp[i].linkId)}
if(producttype=='flights'){rndTripProviderArray.push(providerresp[i].linkId);}else{providerArray.push(providerresp[i].linkId);}}}
if(producttype=='flights'){linkIdsString='';if(oneWayFlag){linkIdsString='|'+oneWayProviderArray.join('|')+'|';}else{linkIdsString='|'+rndTripProviderArray.join('|')+'|';}
var flightsObj=populateFlightsProviderLinks(document.airFormCompareRates);var providers=flightsObj.Flights;var packages=flightsObj.Packages;populateProvidersOnDT(producttype,providers,linkIdsString);linkIdsString=flightPackagesArray.join();if(linkIdsString!=null&&linkIdsString!=''&&document.getElementById("vacationpackageslinks")!=null){for(var i=packages.length-1;i>=0;i--){if(packages[i]!=null&&typeof packages[i]!=undefined){var divid='';divid='ab'+packages[i].linkId;if(document.getElementById(divid)!=null){if(linkIdsString.indexOf('ab'+packages[i].linkId)>=0){document.getElementById(divid).style.display='block';}else{document.getElementById(divid).style.display='none';}}}}}}
else if(producttype=='hotels'){linkIdsString='|'+providerArray.join('|')+'|';var hotelObj=populateHotelProviderLinks(document.hotelForm);var providers=hotelObj.Hotels;populateProvidersOnDT(producttype,providers,linkIdsString);}
else if(producttype=='cars'){linkIdsString='|'+providerArray.join('|')+'|';var carsObj=populateCarsProviderLinks(document.carForm);var providers=carsObj.Cars;var transportServices=carsObj.transportServices;populateProvidersOnDT(producttype,providers,linkIdsString);linkIdsString=flightPackagesArray.join();if(linkIdsString!=null&&linkIdsString!=''&&document.getElementById("transportserviceslinks")!=null){for(var i=transportServices.length-1;i>=0;i--){if(transportServices[i]!=null&&typeof transportServices[i]!=undefined){var divid='';divid='ab'+transportServices[i].linkId;if(document.getElementById(divid)!=null){if(linkIdsString.indexOf('ab'+transportServices[i].linkId)>=0){document.getElementById(divid).style.display='block';}else{document.getElementById(divid).style.display='none';}}}}}}
else if(producttype=='packages'){linkIdsString='|'+providerArray.join('|')+'|';var packagesObj=populatePackagesProviderLinks(document.packagesFormCompareRates);var providers=packagesObj.Packages;populateProvidersOnDT(producttype,providers,linkIdsString);}
else if(producttype=='vacationRentals'){linkIdsString='|'+providerArray.join('|')+'|';var rentalObj=populateVacationRentalProviderLinks(document.vacationRentalForm);var providers=rentalObj.VacationRentals;populateProvidersOnDT(producttype,providers,linkIdsString);}}
var destobj=responseobj.destinations;if(destobj!=null&&destobj.length>0){for(destCount=0;destCount<destobj.length;destCount++){if(destobj!=null){if(destobj[destCount].catName!=null){city=destobj[destCount].catName;}
if(destobj[destCount].parentCode!=null){parentCode=destobj[destCount].parentCode;}
if(destobj[destCount].countryName!=null){countryName=destobj[destCount].countryName;}
if(destobj[destCount].countryCode!=null){countryCode=destobj[destCount].countryCode;}}}}
showHidePlanner();getDateBasedProvider();}
$("#airFrom").result(function(event,data,formatted){if(document.getElementById("airFrom").value==''||document.getElementById("airFrom").value==null){document.getElementById("airPortFromCode").value='';}
if(data!=null&&data!=''){setSelectionRange(document.getElementById('airFrom'),0,0);isCacheClick=false;fromAirportCode=data[0][0];document.getElementById("airPortFromCode").value=data[0][0];findProviders('flights','cr_landing_page');}else{fromAirportCode='';document.getElementById("airPortFromCode").value='';}});$("#airTo").result(function(event,data,formatted){if(document.getElementById("airTo").value==''||document.getElementById("airTo").value==null){document.getElementById("airPortToCode").value='';}
if(data!=null&&data!=''){setSelectionRange(document.getElementById('airTo'),0,0);isCacheClick=false;toAirportCode=data[0][0];var airportData='';if(data[0][2]!=null){airportData=data[0][2]+'- ('+toAirportCode+') '+data[0][1]+' Flights';}else{var metrocode=data[0][1];if(metrocode.indexOf('All Airports')!=-1){var metrocoderarray=metrocode.substring(0,metrocode.indexOf('All Airports'));if(metrocoderarray!=null&&metrocoderarray!=''&&metrocoderarray!=undefined){airportData=metrocoderarray+'- ('+data[0][0]+') All Airports Flights';}}}
doAdUpdate(airportData);document.getElementById("airPortToCode").value=data[0][0];findProviders('flights','cr_landing_page');}else{toAirportCode='';document.getElementById("airPortToCode").value='';}});$("#carPickCityBox").result(function(event,data,formatted){document.getElementById("destId").value='';document.getElementById("CityPickUp").value='';var isdest=false;if(data!=null&&data!=''){isCacheClick=false;var airportData='';airportData=data[0][0]+' Rental Cars';if(data[0][2]!=null&&data[0][2]!=''&&!isNaN(data[0][2])){isdest=true;document.getElementById("destId").value=data[0][2];}
doAdUpdate(airportData);document.getElementById("CityPickUp").value=data[0][0];findProviders('cars','cr_landing_page');}else{isdest=false;document.getElementById("destId").value='';document.getElementById("CityPickUp").value='';}});$("#hoWherebox").result(function(event,data,formatted){if(data!=null&&data!=''){isCacheClick=false;var airportData=data[0][0]+','+data[0][1]+' Hotels';doAdUpdate(airportData);document.getElementById("destId").value=data[0][2];document.getElementById("destName").value=data[0][0];findProviders('hotels','cr_landing_page');}else{document.getElementById("destId").value='';document.getElementById("destName").value='';}});$("#packageFrom").result(function(event,data,formatted){if(document.getElementById("packageFrom").value==''||document.getElementById("packageFrom").value==null){document.getElementById("packageFromCode").value='';}
if(data!=null&&data!=''){setSelectionRange(document.getElementById('packageFrom'),0,0);isCacheClick=false;fromPackageCode=data[0][0];document.getElementById("packageFromCode").value=data[0][0];findProviders('packages','cr_landing_page');}else{fromPackageCode='';document.getElementById("packageFromCode").value='';}});$("#packageTo").result(function(event,data,formatted){if(document.getElementById("packageTo").value==''||document.getElementById("packageTo").value==null){document.getElementById("packageToCode").value='';}
if(data!=null&&data!=''){setSelectionRange(document.getElementById('packageTo'),0,0);isCacheClick=false;toPackageCode=data[0][0];var airportData='';if(data[0][2]!=null){airportData=data[0][2]+'- ('+toPackageCode+') '+data[0][1]+' Vacation Packages';}else{var metrocode=data[0][1];if(metrocode.indexOf('All Airports')!=-1){var metrocoderarray=metrocode.substring(0,metrocode.indexOf('All Airports'));if(metrocoderarray!=null&&metrocoderarray!=''&&metrocoderarray!=undefined){airportData=metrocoderarray+'- ('+data[0][0]+') All Airports Vacation Packages';}}}
doAdUpdate(airportData);document.getElementById("packageToCode").value=data[0][0];findProviders('packages','cr_landing_page');}else{toPackageCode='';document.getElementById("packageToCode").value='';}});$("#rentalWherebox").result(function(event,data,formatted){if(data!=null&&data!=''){isCacheClick=false;var airportData=data[0][0]+','+data[0][1]+' Vacation Rentals';doAdUpdate(airportData);document.getElementById("rentaldestId").value=data[0][2];document.getElementById("destName").value=data[0][0];findProviders('rentals','cr_landing_page');}else{document.getElementById("rentaldestId").value='';document.getElementById("destName").value='';}});