// SEARCHBOX LIBRARY - COPYRIGHT 2007-2009 DIGITAL TRIP LTD - ALL RIGHTS RESERVED
// NO PORTION OF THIS LIBRARY MAY BE COPIED WITHOUT PRIOR WRITTEN CONSENT
var searchCal;
function initSearchBox()
{
    //new Ajax.Autocompleter('destination','divAutoSuggest','/Assets/Handlers/Ajax/AutoSuggestCustom.ashx',{paramName:'q',minChars:2,frequency:0.5,callback:autoSuggestSearchBox,afterUpdateElement:autoSuggestUpdDest,indicator:'destinationSearching'});
    updateSearchCalendars();
    switchSearch(defaultSearchType);
    for(var r=1;r<=$('rms').selectedIndex+1;r++){
        var cc=$('chd'+r).selectedIndex;
        if(cc==0){
            objHide('chdRow'+r);
        }else{
            objShow('chdRow'+r);
            for(var i=1;i<=6;i++){
                if(i<=cc) objShow('liCA'+r+i);
                else objHide('liCA'+r+i);
            }
        }
    }
}
function getSearchType(){if(document.forms[0].st.length){for(i=0;i<document.forms[0].st.length;i++){if(document.forms[0].st[i].checked){return parseInt(document.forms[0].st[i].value,10);}}}else{return parseInt($('searchType').value,10);}}
function autoSuggestSearchBox(id,qry){$('destinationid').value='';return qry+'&t='+getSearchType();}
function autoSuggestUpdDest(text,li){$('destinationid').value=li.id;}
function updateSearchCalendars(){
    var dateFrom=$('fr');var dateTo=$('to');var dur=0;
    if(isDate(dateFrom.value,'d/M/y') && isDate(dateTo.value,'d/M/y')){
        dur=Math.round((parseDate(dateTo.value,1)-parseDate(dateFrom.value,1))/(24*60*60*1000));
        if(dur<0){alert('Please select a return date after your departure date!');dateTo.value=dateFrom.value;}
        $('frTxt').innerHTML=formatDate(parseDate(dateFrom.value,1),'E, dd NNN yyyy');
        $('toTxt').innerHTML=formatDate(parseDate(dateTo.value,1),'E, dd NNN yyyy');
    }
    $('duration').innerHTML=(dur>0?dur:'0');

    var tktDate = $('tkDate');
    if(isDate(tktDate.value,'d/M/y')){
        $('tkDateTxt').innerHTML = formatDate(parseDate(tktDate.value, 1), 'E, dd NNN yyyy');
    }

}
function clickCalendar(fId){searchCal.setTarget(fId);}
function updateSearchVilla(txt,val,name){$('destinationid').value=val;$('destination').value=txt;$('accname').value=name;}
function submitTravelSearch(fid){
    var errMsg='';
    var srchTyp=getSearchType();
    
    switch(srchTyp) {
        case 2:
            if($('searchCountry').value=='' || $('searchCountry').value=='- All Countries -') errMsg+='\n- Choose a destination country';
            if($('searchCity').value=='' || $('searchCity').value=='- All Cities -') errMsg+='\n- Choose a destination city';
            if($('fr').value=='' || !isDate($('fr').value,'d/M/y')) errMsg+='\n- Enter a valid departure date';
            if($('to').value=='' || !isDate($('to').value,'d/M/y')) errMsg+='\n- Enter a valid return date';
            //if($('intr').value=='' || $('intr').value=='- Select -') errMsg+='\n- Enter your interests';
            if(!$('typ1').checked && !$('typ2').checked && !$('typ3').checked) errMsg+='\n- Select which type of properties you would like to search';
            if($('duration').innerHTML=='0') errMsg+='\n - Select a duration greater than 0 days';
        break; // Accommodation Search
        case 4:
            if($('searchCountryCH').value == '' || $('searchCountryCH').value == '- All Countries -') errMsg+='\n- Choose a pickup country';
            if($('searchCityCH').value == '' || $('searchCityCH').value == '- All Cities -') errMsg+='\n- Choose a pickup city';
            if($('searchAirportCH').value == '' || $('searchAirportCH').value == '- Select Airport -') errMsg += '\n- Choose a pickup airport';
            if($('chPickupDate').value=='' || !isDate($('chPickupDate').value,'d/M/y')) errMsg+='\n- Enter a valid pick-up date';
            if($('chDropoffDate').value=='' || !isDate($('chDropoffDate').value,'d/M/y')) errMsg+='\n- Enter a valid drop-off date';
            if($('chDriverAge').value=='' || (!($('chDriverAge').value >= 21))) errMsg+='\n- Enter a valid driver age';
        break; // Car Hire
        case 6:
            if($('tkDate').value=='' || !isDate($('tkDate').value,'d/M/y')) errMsg+='\n- Enter a valid ticket date';
        break; // Tickets
    }
    
    if(errMsg==''){
		fid.value='searching';document.forms[0].action='/Assets/Handlers/SearchHandlerCustom.ashx';return true;
    }else{
        fid.value='search';alert('Please correct the following:'+errMsg);return false;
    }
}
function destHelperPopulate(t,id){
    if(id!=''){
        objHide('divDestNoResults');
        new Ajax.Request('/Assets/Handlers/Ajax/AutoSuggestV4.ashx',{method:'get',parameters:'ajax=1&t=7&q=xxx&ctry='+escape(id),onSuccess:function(transport){
            var json=transport.responseText.evalJSON();
            var select_destination = document.getElementById('destinationSelect').selectedIndex;
            var selected_destination = document.getElementById('destinationSelect').options[select_destination].text;

            var h='<span>Please select an airport in '+selected_destination+'</span>';
            h+='<ul id="ulDestHelper">';
            for(var i=0;i<json.res.length;i++){
                
                h+='<li class="box4"><a href="#" onclick="$(\'destinationid\').value=\''+json.res[i].code+'\';document.forms[0].action=\'/Assets/Handlers/SearchHandler.ashx\';document.forms[0].submit();">'+json.res[i].name+(json.res[i].code==''?'':' ('+json.res[i].code+')')+'</a></li>';
            }
            h+='</ul>';
            var objHelperOpts=document.getElementById('divDestHelperOpts');
            objHelperOpts.innerHTML=h;
        }});
    }
}
function destHelperDraw(h){
    //h='<span class="fR"><a href="#" onclick="objHide(\'divDestHelper\');objShow(\'ulTSB\')"><a href="#" onclick="objHide(\'divDestHelper\');objShow(\'ulTSB\')">Close</a>&nbsp;&nbsp;<img src="/assets/images/icons/cross.gif" alt="Close" title="Close" style="padding:4px 8px 0px 0px;" /></a></span>'+h;
    h='<span class="fR"><a href="#" onclick="objHide(\'divDestHelper\');objShow(\'ulTSB\')"><span>Close</span></a>&nbsp;&nbsp;</span>'+h;
    var objHelper=document.getElementById('divDestHelper'); objHelper.innerHTML=h; objShow('divDestHelper'); objHide('ulTSB');
}
function changeDepartPoint(fId,selId){
    if(selId==1 && fId[fId.selectedIndex].value==''){objShow('devDepartFromOther');objHide('divDepartFromUk');$('origin').focus();}
    else{
        objShow('divDepartFromUk');objHide('devDepartFromOther');
        var origin1=$('origin1');var origin2=$('origin2');
        if(selId==1)buildDepartPoints(origin1,origin2);
        if(selId==2)buildDepartPoints(origin2,origin3);
    }
}
function buildDepartPoints(boxFr,boxTo){
    if(boxFr[boxFr.selectedIndex].value.indexOf(',')==-1){
        if(boxFr[boxFr.selectedIndex].value!=''){
            boxTo.options.length=0; addDDLOption(boxTo,'- Optional -','');
            for(var i=0;i<boxFr.options.length;i++)
            { if(boxFr.selectedIndex!=i && boxFr.options[i].value!='' && boxFr.options[i].value!='0' && boxFr.options[i].value.indexOf(',')==-1) addDDLOption(boxTo,boxFr.options[i].text,boxFr.options[i].value); }
            boxTo.disabled=false;
        }
        boxFr.disabled=false;
    }else{
        boxTo.options.length=0; addDDLOption(boxTo,'- Optional -',''); boxTo.disabled=true;
    }
}
function changeRooms(fId){
    if(getSearchType()==5){
        objHide('paxRow2');objHide('chdRow2');objHide('paxRow3');objHide('chdRow3');
    }else{
        if(fId.selectedIndex>=1){objShow('paxRow2');}else{objHide('paxRow2');objHide('chdRow2');}
        if(fId.selectedIndex>=2){objShow('paxRow3');}else{objHide('paxRow3');objHide('chdRow3');}
    }
}
function changeCarCountry(fId){
    var cc=fId[fId.selectedIndex].value;var cp=$('carPickup');
    cp.options.length=0;addDDLOption(cp,'- Select pickup point -','');
    if(cc!=''){
        for(var i=0;i<carPickups.length;i++){
            if(carPickups[i][0]==cc){
                for(var j=1;j<carPickups[i].length;j=j+2){
                    addDDLOption(cp,carPickups[i][j+1],carPickups[i][j]);
                }
            }
        }
    }
}
function showChildAges(rid,c){
    if(c.selectedIndex==0){
        objHide('chdRow'+rid);
    }else{
        objShow('chdRow'+rid);
        for(var i=1;i<=6;i++){
            if(i<=c.selectedIndex) objShow('liCA'+rid+i);
            else objHide('liCA'+rid+i);
        }
    }
}
function switchSearch(s){
    defaultSearchType=s; //Stops slow loading of page switching page back to default
    $('book').removeClassName('book'+getSearchType());
    $('book').addClassName('book'+s);
    if($('st'+s)){
        $('st'+s).checked=true;
        $$('li.on').each(function(f){f.removeClassName('on');f.addClassName('off');});
        $('srchTab'+s).addClassName('on');
    }
    objHide('paxRow2');objHide('paxRow3');  
    if(queryString('rms')!=null){$('rms').selectedIndex=parseInt(queryString('rms'),10)-1;changeRooms($('rms'));}else{$('rms').selectedIndex=0;}
    var sbItemCount=99;var sbItemArr;
    switch(s){
    case 2:
        sbItemArr=[1,2,3,4,5,6,7,8,11,12]; 
        break; //AO
    case 4:
        sbItemArr=[16,17,18,19,20,21,22,23];
        break; //CO
    case 6:
        sbItemArr=[13,14,15];
        break; //AT
    default:
        sbItemArr=[1,2,3,4,5,6,7,8,11,12]; 
        break; //AO
    }
    for(var i=1;i<=sbItemCount;i++){
        var fnd=false;
        for(var j=0;j<sbItemArr.length;j++){
            if(sbItemArr[j]==i){fnd=true;break;}
        }
        if(fnd){objShow('tsbLi'+i);}else{objHide('tsbLi'+i);}
    }
}

function applyInterestSettings() {
    var checkList = "";
        $$('#interestPanelCtrlContent input[type=checkbox]').each(function(box) { 
           if(box.checked)
           {
               checkList = checkList + $('l' + box.id).innerHTML + ",";
           }
        });
       if (checkList.length > 0) {
         $('intr').value = checkList; 
       } else {
         $('intr').value = '- Select -'; 
       }   
       $('intr').enable(); 
       IEZIndex_UnProtect(); 
       $('interestPanelCtrl').hide(); 
       

    // $$('#interestPanelCtrlContent input.check')each(function(box){box.checked=false});
}

function IEZIndex_Protect() {
   
    switch($('rms').value) {
        case '1':
            $$('.ie6hide_r1').each(Element.hide);
        break;
        case '2':
            $$('.ie6hide_r1').each(Element.hide);
            $$('.ie6hide_r2').each(Element.hide);
        break;
        case '3':
            $$('.ie6hide_r1').each(Element.hide);
            $$('.ie6hide_r2').each(Element.hide);
            $$('.ie6hide_r3').each(Element.hide);
        break;
    } 
}

function IEZIndex_UnProtect() {

    switch($('rms').value) {
        case '1':
            $$('.ie6hide_r1').each(Element.show);
        break;
        case '2':
            $$('.ie6hide_r1').each(Element.show);
            $$('.ie6hide_r2').each(Element.show);
        break;
        case '3':
            $$('.ie6hide_r1').each(Element.show);
            $$('.ie6hide_r2').each(Element.show);
            $$('.ie6hide_r3').each(Element.show);
        break;
    } 
}

function addDDLOption(fId,txt,val){var opt=document.createElement('option');opt.text=txt;opt.value=val;try{fId.add(opt,null);}catch(ex){fId.add(opt);}}
SafeAddOnload(initSearchBox);
