﻿
function formatItem(row){if(row[1]!='')
return row[0]+" - <i>"+row[1]+"</i>";else
return row[0];}
function formatResult(row){return row[0].replace(/(<.+?>)/gi,'');}
function getDestinations(panelName,group){$("#"+panelName+"_destination_dropdown").removeOption(/./);$("#"+panelName+"_destination_dropdown").addOption("","Select a destination");$("#"+panelName+"_destination_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase(),"");$("#"+panelName+"_region_dropdown").removeOption(/./);$("#"+panelName+"_resort_dropdown").removeOption(/./);}
function getRegions(panelName,group,code){$("#"+panelName+"_region_dropdown").removeOption(/./);$("#"+panelName+"_region_dropdown").removeOption(0);$("#"+panelName+"_resort_dropdown").removeOption(/./);if(code!="")
$("#"+panelName+"_region_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase()+"/"+code.toLowerCase(),"",true,function(){$(this).change();});updateAutoComplete(panelName,$("#"+panelName+"_destination_dropdown").selectedOptions().text(),code.toLowerCase(),"D");retrieveCookies(panelName);}
function getResorts(panelName,group,code){$("#"+panelName+"_resort_dropdown").removeOption(/./);$("#"+panelName+"_resort_dropdown").addOption("","Any");if(code!="")
$("#"+panelName+"_resort_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase()+"/"+$("#"+panelName+"_destination_dropdown").selectedValues()[0].toLowerCase()+"/"+code.toLowerCase(),"");updateAutoComplete(panelName,$("#"+panelName+"_region_dropdown").selectedOptions().text(),code,"G");}
function updateAutoComplete(panelName,name,code,type)
{if(code==""||code=="all"){if(type=="R"){code=SearchExchangeContainer.Hierarchy.region;name=$("#"+panelName+"_region_dropdown option[value='"+code+"']").text();}else{if(type=="G"){code=SearchExchangeContainer.Hierarchy.destination;name=$("#"+panelName+"_destination_dropdown option[value='"+code+"']").text();}else{if(type=="D"){code="";name="";}}}}
$('#'+panelName+'_autocomplete').val(name);$('#'+panelName+'_autocomplete').removeClass("ac_error");$('#'+panelName+'_result').html("");$('#'+panelName+'_autocomplete_code').val(code);if($('#'+panelName+'_container :visible').length>0){setSearchExchangeContainerHierarchyAuto(panelName);}
DestinationExceptions(panelName,code);RegionExceptions(panelName,code);}
function clearAutoComplete(panelName)
{$('#'+panelName+'_autocomplete').val("");$('#'+panelName+'_autocomplete_code').val("");if($('#'+panelName+'_container :visible').length>0)
setSearchExchangeContainerHierarchyAuto(panelName);}
function findAndUpdateAutoComplete(panelName){var name="";var code="";var type="";if($('#'+panelName+'_resort_dropdown').val()!=""&&$('#'+panelName+'_resort_dropdown').val()!=null)
{name=$('#'+panelName+'_resort_dropdown').selectedOptions().text();code=$('#'+panelName+'_resort_dropdown').val();type="R";}
else if($('#'+panelName+'_region_dropdown').val()!=""&&$('#'+panelName+'_region_dropdown').val()!=null)
{name=$('#'+panelName+'_region_dropdown').selectedOptions().text();code=$('#'+panelName+'_region_dropdown').val();type="G";}
else if($('#'+panelName+'_destination_dropdown').val()!=""&&$('#'+panelName+'_destination_dropdown').val()!=null)
{name=$('#'+panelName+'_destination_dropdown').selectedOptions().text();code=$('#'+panelName+'_destination_dropdown').val();type="D";}
else
{clearAutoComplete(panelName);}
retrieveCookies(panelName);if(name!=""&&code!="")
updateAutoComplete(panelName,name,code,type);}
function getHierarchy(panelName,group,code,fromCookie){if(code==null)
code="";var hierarchyCode=code.toString();var destCode=code.toString().substring(0,2);var regionCode="";var resortCode="";var originCode=destCode;var elm=$("#"+panelName+"_destination_dropdown");if(hierarchyCode.length>=3){var regionCode=code.toString().substring(0,3);originCode=regionCode;}
if(hierarchyCode.length==5){var resortCode=hierarchyCode;originCode=resortCode;}
$("#"+panelName+"_destination_dropdown").removeOption(/./);$("#"+panelName+"_destination_dropdown").addOption("","Select a destination");if(destCode!="")
{$("#"+panelName+"_destination_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase(),"",destCode,findAndUpdateAutoComplete,[panelName]);$("#"+panelName+"_region_dropdown").removeOption(/./);$("#"+panelName+"_region_dropdown").removeOption(0);$("#"+panelName+"_region_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase()+"/"+destCode.toLowerCase(),"",regionCode,findAndUpdateAutoComplete,[panelName]);elm=$("#"+panelName+"_region_dropdown");if(regionCode!="")
{$("#"+panelName+"_resort_dropdown").removeOption(/./);$("#"+panelName+"_resort_dropdown").addOption("","Any");$("#"+panelName+"_resort_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase()+"/"+regionCode.toLowerCase()+"/"+regionCode.toLowerCase(),"",resortCode,findAndUpdateAutoComplete,[panelName]);$("#"+panelName+"_resort_dropdown");}
else
{$("#"+panelName+"_resort_dropdown").removeOption(/./);$("#"+panelName+"_resort_dropdown").addOption("","Any");}}
else
{clearHierarchy(panelName,group);}
if(panelName=="Package"&&fromCookie==undefined)
setPackageOriginPorts(originCode,elm);if(panelName=="VillaPackage"&&fromCookie==undefined)
setVillaPackageOriginPorts(originCode,elm);}
function setSearchExchangeContainerHierarchyAuto(panelName){SearchExchangeContainer.Hierarchy.destination=$("#"+panelName+"_destination_dropdown").val();SearchExchangeContainer.Hierarchy.region=$("#"+panelName+"_region_dropdown").val();SearchExchangeContainer.Hierarchy.resort=$("#"+panelName+"_resort_dropdown").val();}
function clearHierarchy(panelName,group)
{$("#"+panelName+"_destination_dropdown").ajaxAddOption("/autocompletehierarchydropdowns/jsonhierarchy/"+group.toLowerCase(),"","",findAndUpdateAutoComplete,[panelName]);$("#"+panelName+"_region_dropdown").removeOption(/./);$("#"+panelName+"_region_dropdown").removeOption(0);$("#"+panelName+"_resort_dropdown").removeOption(/./);$("#"+panelName+"_resort_dropdown").addOption("","Any");}
function retrieveCookies(panelName){hierarchyPanelName=getCookie('panelName');hierarchyAutocomplete=getCookie('hierarchyAutocomplete');hierarchyDate=getCookie('hierarchyDate');hierarchyNights=getCookie('hierarchyNights');hierarchyOrigins=getCookie('hierarchyOrigins');if(hierarchyPanelName==panelName.toLowerCase()){if(document.getElementById(panelName+'_destination_dropdown').length>1){if(hierarchyAutocomplete!=null&&hierarchyAutocomplete!=""){getHierarchy(panelName,panelName.toLowerCase(),hierarchyAutocomplete,true);setCookie('hierarchyAutocomplete','',-1);hierarchyAutocomplete=null;}}
if(hierarchyAutocomplete==null){if(hierarchyDate!=null&&hierarchyDate!=""){document.getElementById(panelName+'_DatePickerCalendar_1').value=hierarchyDate;setCookie('hierarchyDate','',-1);hierarchyDate=null;}
if(document.getElementById(panelName+'_Nights').length>1){if(hierarchyNights!=null&&hierarchyNights!=""){document.getElementById(panelName+'_Nights').value=hierarchyNights;setCookie('hierarchyNights','',-1);hierarchyNights=null;}}}}}
function getCookie(c_name){if(document.cookie.length>0){c_start=document.cookie.indexOf(c_name+"=");if(c_start!=-1){c_start=c_start+c_name.length+1;c_end=document.cookie.indexOf(";",c_start);if(c_end==-1)c_end=document.cookie.length;return unescape(document.cookie.substring(c_start,c_end));}}
return"";}
