//var e_dep_date="";
//var e_ret_date="";
//var e_dst="";
//------------------Validate Date Input---------------------------------
function ValidateDataInput()
{
    var errMsg = "";o('txtAirline').className = 'txt';
    if(oa("txtDst")==""||oa("txtDst").length!=3)
        errMsg += "<li>" + e_dst+"</li>";
    if ((oc('ck-normal')||oc('ck-private')||oc('ck-corporate')) && oa('txtAirline') == '') {
        o('txtAirline').className = 'txtrq';return false;
    }
    if(errMsg =="")
        return true;        
    else
    {
        Error(errMsg);
        return false;
    }
}

function AirCompareData7()
{
    if(ConvertDate(oa('txtDep')) < new Date())
             o('txtDep').value = getDateToStr(new Date());
    compareDate(ConvertDate(oa('txtDep')),ConvertDate(oa('txtRet')),'txtRet',5,true);
    $('#txtRet').datepicker( "option" , 'minDate' , ConvertDate(oa('txtDep')));
}
function AirCompareData()
{
    compareDate(ConvertDate(oa('txtDep')),ConvertDate(oa('txtRet')),'txtRet',0,false);
}
//---------------------------Search Fare--------------------------------------------------------------------
//window.onload = function () 
//{
//	focusInput('txt_focus', 'txt');
//}

function OT(detail_id,dst,owrtoj,via,ft,airline,isLowestPage) //Open Terms
{
    if(null==isLowestPage) isLowestPage = 0;
    window.open('terms.aspx?rpid='+detail_id+'&dst='+dst+'&Owrtoj='+owrtoj+'&via='+via+'&ft='+ft+'&airline='+airline+'&isLowestPage='+isLowestPage,'popup', '').focus();
}
function at(detail_id,ft,airline) {
    var objs=o('more_fare_result').getElementsByTagName('div');
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].id.indexOf('dv_')>=0 && objs[i].style.display!='none')
        {
            objs[i].style.display='none';
            o(objs[i].id.replace("dv_","dvs_")).style.display='';
            
        }
    }
    if(airline=='undefined'&&airline==null) airline = '';
    o("dv_"+detail_id).style.display="";
    o("dv_"+detail_id).innerHTML=sloading;
    a(detail_id,"TermsInfo.aspx","rpid="+detail_id+"&airline="+airline+"&dst=&Owrtoj=1&via=","get",atf,true,ft); 
}
function atf(str,detail_id,ft)
{
    o("dvs_"+detail_id).style.display='none';
    o("dv_"+detail_id).innerHTML="<a href='javascript:;' onclick=\"Restore("+ detail_id +","+ft+")\">"+GetMultiLang('Details')+"<<<</a><br />"+str+"<a href='javascript:;' onclick=\"Restore("+ detail_id +","+ft+")\">"+GetMultiLang('Details')+"<<<</a>";
    //ScrollToControl("dv_"+detail_id,30);
}
function Restore(detail_id,ft)
{
    o("dvs_"+detail_id).style.display="";
    o("dv_"+detail_id).style.display="none";
}
function SD(detail_id,via,ft,is_lowest_page,airline)
{
    ShowLoading(hloading);
    a("","FareScheduleResult.aspx","detail_id="+detail_id +"&via="+via+"&ft="+ft+"&isLowestPage="+is_lowest_page+"&Airline="+airline,"get",sdf,true);
}
function sdf(responseText,objId)
{
    window.open('FareScheduleResult.aspx?par='+responseText,"_self","_self",0);
}
function Search()
{
    if(!ValidateDataInput())
        return;
    sld();
    var current_page=GetCurrentPage();
    if(current_page=="Index.aspx")
    {
        current_page="Air/Search.aspx";
    }
    window.location=SerUrl+"Air/Search.aspx"+"?"+GetParameter();
}
function FareResearch(t)
{
    sld('content');
    window.location=SerUrl+"Air/Search.aspx?do_search_air=1&research=1&tier="+t;
}
function ShowAdvSearch()
{
    var divAdv = o("advSearch");
    if(divAdv.style.display=='none')
    {
        divAdv.style.display='';
        o('imgAdv').className='imgArrowUp';
    }
    else
    {
        divAdv.style.display='none';
        o('imgAdv').className='imgArrowDown';
    }
}   

function GetParameter(filterByAirline)
{
//    var owrtoj=1;
//    if(o('ckrt').checked)
//        owrtoj=1;
//    else if(o('ckow').checked)
//        owrtoj=0;
//    else if(o('ckoj').checked)
//        owrtoj=2;
    var parameter="do_search_air=1"
    + "&org=" + o('slOrg').value
    + "&dst=" + o('txtDst').value 
    + "&dst_two=" + o('txtDstTwo').value 
    + "&airline=" + o('txtAirline').value
    + "&class=" + o('slClass').value
//    + "&rt=" + (o('ckrt').checked?"1":"0")
//    + "&owrtoj=" + owrtoj
    + "&rt=" + ($('#slTripType').val()==1?"1":"0")
    + "&owrtoj=" + o('slTripType').value
    + "&fare_cat=" + o('slFareCat').value
    + "&direct=" + (o('ckdt').checked ? "1" : "0")
    //+ "&fs_season=" + (o('fs_low_season').checked ? "1" : "0")
    + "&q-gds=" + (o('ck-gds')!=null&&o('ck-gds').checked ? "1" : "0")
    + "&q-normal=" + (o('ck-normal')!=null&&o('ck-normal').checked ? "1" : "0")
    + "&q-corporate=" + (o('ck-corporate')!=null&&o('ck-corporate').checked ? "1" : "0")
    + "&q-private=" + (o('ck-private')!=null&&o('ck-private').checked ? "1" : "0")
    + "&dep_date=" + o('txtDep').value
    + "&ret_date=" + o('txtRet').value
    + "&is-fare-matrix=" + (oa('sl-search-result')=='Y' ? "1" : "0")
    + "&fv="+(o('ck-new-layout')!=null&&o('ck-new-layout').checked?"2":"1")
    + "&simple_result=" + ((o('cksr')==null || o('cksr').checked)?"1":"0")
    + "&display-price=" + (o('sl-display-prices')!=null? o('sl-display-prices').value:"")
    + "&is-filter-by-airline="+(filterByAirline?"1":"0")
    + "&show-summary="+(($('#ck-summary').attr('checked')!=null&&$('#ck-summary').attr('checked'))?"1":"0")
    + "&season="+($('#fr_season').attr('checked')?"1":"0")
    + "&display-airfare=" + $('#sel-display-fare').val();
    if(o("advSearch")!=null)
    {
        parameter+="&weekday="+(o("ckweekday").checked?"1":"0");
        parameter+="&travel="+(o("cktravel_period").checked?"1":"0");
        parameter+="&validity="+(o("ckvalidity").checked?"1":"0");
        parameter+="&eff="+(o("ckeff").checked?"1":"0");
    }
    return parameter;
}
function HotelSearch()
{
    if(o('txtHtlCity')==null)return;
    if(oa('txtHtlCity')=="")
    {
        Error(getAttibuteValue('txtHtlCity','isempty'));
        o('txtHtlCity').focus();
        return;
    }
    sld();
    var param="";
    

              
    if(typeof(htlVersion)!='undefined'&&htlVersion=="V2")
    {
        var param="?do_search_htl=1"+
                  "&sch-desc="+encodeURIComponent(oa('txtHtlCity'))+
                  "&sch-value="+o('txtCityCode').value+
                  "&indate="+o('txtChkIn').value+
                  "&outdate="+o('txtChkOut').value;
        window.location=SerUrl+"htlv2/Search.aspx"+param;
    }
    else
    {
        param="?do_search_htl=1"+
                  "&countrycode="+o('txtHtlCountry').value+
                  "&citycode="+o('txtHtlCity').value+
                  "&indate="+o('txtChkIn').value+
                  "&outdate="+o('txtChkOut').value+
                  "&htlname="+o('txtHtlName').value;
        param+=(o('htlIsInstOnly').checked? "&isInst=Y":"");
        window.location=SerUrl+"Htl/Search.aspx"+param;
    }
}
function HtlRate(id)
{
    sld();
    window.location=SerUrl+"Htl/RateDetail.aspx?ID="+id;
}
function HotelMoreRate(htlCode)
{
    sld();
    var param="?do_search_htl=1"+
              "&countrycode="+o('txtHtlCountry').value+
              "&citycode="+o('txtHtlCity').value+
              "&htlcode="+htlCode+
              "&indate="+o('txtChkIn').value+
              "&outdate="+o('txtChkOut').value+
              "&morerate=Y"+
              "&htlname="+o('txtHtlName').value;
    window.location=SerUrl+"Htl/Search.aspx"+param;
}
function setHtlSch(cityCode,htlName,indate,outdate)
{
    if(o('txtHtlCity')==null){return;}
    o('txtHtlCity').value=cityCode;
    o('txtChkIn').value=indate;
    o('txtChkOut').value=outdate;
    o('txtHtlName').value=htlName;
    HotelSearch();
}
function swHtlTerms(params,isSchBySummary)
{    
    var termSchBySummary=isSchBySummary? "&tbs=1":"";
    window.open(SerUrl+'Htl/Terms.aspx?P='+params+termSchBySummary,'popup', 'width=830,height=500,scrollbars=yes,left=250,top=150');
}
function swHtlBkgInf(id,uid)
{
    sld();
    window.location=SerUrl+"Admin/HtlBookingInf.aspx?MType=H&BkgRef="+id+"&UID="+uid;
}
function swHtlEmail()
{
    window.open(SerUrl+'Htl/EmailToCust.aspx','popup', 'width=810,height=700,scrollbars=yes');
}
function HtlReserve(sId, str, msg, ckbMulId, formId, txtRateTypeId,trPaxCssName,roomCountErrMsg)
{
    var obj = o(sId);
    var ckbMul=o(ckbMulId);
    var hasSel = false;
    for(var i=0;i<=obj.getElementsByTagName("select").length-1;i++)
    {
        var sel=obj.getElementsByTagName("select")[i];
        if(sel!=null && sel.id.indexOf(str)>=0)
        {
            var s=sel.id.split('_');
            if ((s[1] == "R" || s[1] == "S") && sel.value > 0)
            {sld();hasSel=true;break;}
        }
    }
    if (!hasSel) {
        MsgBox(msg, "", true);
        return;
    }
    if (ckbMul != null && ckbMul.checked) {
        var l = $('tr.' + trPaxCssName).length;
        var num=0;
        $('#RateList select[id^="Item_"]').each(function() {
        if (this.id.split('_')[1] == 'R' || this.id.split('_')[1] == 'S')
                num += parseInt(this.value);
        });
        if (num <= l)
            o(formId).submit();
        else
        {MsgBox(roomCountErrMsg, "Information", true);return;}    
    }
    else {
        $.get(SerUrl + "Htl/Callback.aspx", { type: 6, r: Math.random(), RateType: oa(txtRateTypeId) });
        o(formId).submit();
    }
}
function HtlEnableAppBkg(chk, dvId,submitBtnId,guestListId) {
    $dvBkgRef = $('#' + dvId);
    $guestList = $('#' + guestListId);
    if (chk.checked) {
        $dvBkgRef.show();
        if($guestList.html()!='') $guestList.show();
        ChgBtnEnable(submitBtnId,false);
    }
    else {
        $dvBkgRef.hide();
        $guestList.hide();
        ChgBtnEnable(submitBtnId, true);
    }
}
function HtlCheckLastSeg(txtBkgRefId,txtRateTypeId,submitBtnId,guestListId) {
    if (IsEmpty(oa(txtBkgRefId))) {
        o(txtBkgRefId).className = 'txtrq';
        return;
    }
    else {
        o(txtBkgRefId).className = 'txt';
        sld('content');
        $.getJSON(SerUrl + 'Htl/Callback.aspx', { type: 3, BkgRef: oa(txtBkgRefId), RateType: oa(txtRateTypeId), r: Math.random() },
        function(data) {
            if (!ValidateSession(data)) return;
            if (data.success) {
                $.get(SerUrl + "Htl/Callback.aspx", { type: 5, BkgRef: oa(txtBkgRefId), r: Math.random() }, function(result) {
                    $('#' + guestListId).html(result);
                    $('#' + guestListId).show();
                    ChgBtnEnable(submitBtnId, true); CloseMsgBox();
                });
            }
            else
            { CloseMsgBox(); MsgBox(data.message, 'Information', true); }
        })
    }
}
//passenger list
function HtlPaxSelChg(listId,selObj,tablePrefix,trPrefix,selPaxNumPrefix,selPaxPrefix) {
    if(selObj.value=='')
        return;
    var keys = selObj.id.split('-')[1].split('_');
    var $sels = $("#" + listId + " select[id^='" + selPaxPrefix + "']");
    $sels.each(function(index) {
        if (selObj.id != this.id && selObj.value == this.value) {
            if ($(selObj).attr("oldvalue") == '')
                DelPaxRow(trPrefix + this.id.split('-')[1], true, tablePrefix, trPrefix, selPaxNumPrefix, selPaxPrefix);
            else {//switch old value
                $(this).attr("oldvalue", this.value);
                this.value = $(selObj).attr("oldvalue");
            }
        }
    });
}
function AddPaxRow(roomID,delBtnStr,tablePrefix,trPrefix,selPaxNumPrefix,selPaxPrefix) {
    var tab = o('tb-' + roomID); //first row is the title
    var $paxRows = $(tab).find('tr[id^="'+trPrefix+'"]');
    var trFirst = $paxRows[0];
    var paxNum = parseInt($paxRows[$paxRows.length-1].id.split('-')[1].split('_')[2]);
    var tr = tab.insertRow(tab.rows.length);
    tr.id = trPrefix + roomID + "_" + (paxNum + 1);
    var tdSel = tr.insertCell(0);
    tdSel.innerHTML = ReplaceStr(trFirst.cells[0].innerHTML, trFirst.id.split('-')[1], 'g', tr.id.split('-')[1]);
    $(tdSel).find("select").val("");
    var tdDel = tr.insertCell(1);
    $(tdDel).html("<span class='Hand2' onclick=\"DelPaxRow('" + tr.id + "',true,'"+tablePrefix+"','"+trPrefix+"','"+selPaxNumPrefix+"','"+selPaxPrefix+"')\">" + delBtnStr + "</span>");
    $(tdDel).addClass("tdl");
    $(tdSel).css('width', 140);
    $(tr).addClass("tdl");
    
}
function ChgPaxNum(selObject,delBtnStr,tablePrefix,trPrefix,selPaxNumPrefix,selPaxPrefix) {
    var diff = 0;
    var roomID = selObject.id.split('-')[1];
    var rows=$('#'+tablePrefix +roomID+' tr[id^="'+trPrefix+'"]');
    diff = selObject.value - rows.length;
    if (diff == 0) return;
    else if (diff > 0) { for (i = 0; i < diff; i++) AddPaxRow(roomID, delBtnStr, tablePrefix, trPrefix, selPaxNumPrefix, selPaxPrefix); }
    else {
        diff = 0 - diff;
        rows.each(function(i) 
        { 
            if(i>=rows.length-diff) DelPaxRow(this.id,false,tablePrefix,trPrefix,selPaxNumPrefix,selPaxPrefix);
        });
            
     }
}
function DelPaxRow(trID, chgSel,tablePrefix,trPrefix,selPaxNumPrefix,selPaxPrefix) {
    var keys = trID.split('-')[1].split('_');
    var roomID = keys[0] + '_' + keys[1];
    var tab = o(tablePrefix+ roomID);
    var tr = o(trID);    
    if( $(tab).find('tr[id^="'+trPrefix+'"]').length==1) {
        $('#'+selPaxPrefix+tr.id.split('-')[1]).val("");
     }
    else
        tab.deleteRow(tr.rowIndex);
    $('table[id^="' + tablePrefix + '"]').each(function() { $(this).find('tr[id^="'+trPrefix+'"]:eq(0)').find('td:eq(1)').html(""); });
    if (chgSel) { o(selPaxNumPrefix + roomID).value = $(tab).find('tr[id^="'+trPrefix+'"]').length; }
}
//passenger list end

function HtlReserveBooking(isAppBkg,dvId,emptyMsg,bkgRef,paxReqMsg)
{
    var sthIsEmpty=false;
    var grp = o(dvId);
    if(grp==null){return false;}
    var inputs=grp.getElementsByTagName("input");
    for(var i=0;i<=inputs.length-1;i++)
    {
        var oo=inputs[i];
        if(!isAppBkg)
        {
            if(PaxNameRequired==0 && (oo.id.indexOf('Bkg_LName')>=0 || oo.id.indexOf('Bkg_FName')>=0))
            {
                if(IsEmpty(oo.value))
                    oo.value='TBA';
            }
        }
        else
        {
            if(oo.id.indexOf('SelPax-')>=0&&oo.value=='')
             {   oo.className='select_rq';   sthIsEmpty=true;}
        }
        if(oo.type.toLowerCase()=="checkbox"||oo.type.toLowerCase()=="text")
        {
            oo.className="txt";
            if(isRequired(oo))
            {
                if(oo.value==""){oo.className="txtrq";sthIsEmpty=true;}
            }
        }
    }
    if(!IsTime(oa('Bkg_AriTime')))
    {
        o('Bkg_AriTime').className='txtrq';sthIsEmpty=true;
    }
    if(!IsTime(oa('Bkg_DepTime')))
    {
        o('Bkg_DepTime').className='txtrq';sthIsEmpty=true;
    }
    if (isAppBkg) {
        $('select[id^="SelPax-"]').each(function() { if (this.value == '') { $(this).parent().addClass("select_rq"); sthIsEmpty = true; } else { $(this).parent().removeClass("select_rq"); } });
    }
    if(sthIsEmpty)
    {
        MsgBox(emptyMsg,"",true);
        return false;
    }
    if(isAppBkg&&$('select[id^="SelPax-"]')[0].length-1>$('select[id^="SelPax-"]').length)
    {
        MsgBox(paxReqMsg,"",true);
        return false;
    }
    sld();
    var params="";
    if(isAppBkg)
        params = getParams(dvId, 'SelPax-') + getParams(dvId, 'Bkg_');
    else
        params = getParams(dvId, 'Bkg_');
    a("",SerUrl+"Htl/Callback.aspx","Type=1&BkgRef="+bkgRef+params,"post",EndHtlReserveBooking,true);
}
function EndHtlReserveBooking(responseTest,objId)
{
    EndRequestAndValidate(responseTest,objId);
    var val=responseTest.split('|');
    if(val[0]=="OK"){window.location.replace(SerUrl+"Htl/Complete.aspx"+encodeURI(val[1]));}
    else if(val[0]=="ERR"){window.location.replace(SerUrl+"Htl/Complete.aspx?Err="+encodeURI(val[1]));}
    else{CM();MsgBox(val.length>=1?val[1]:val,"",true);}
}
function getHtlCityName(sId)
{
    var obj=o(sId);
    if(obj!=null&&htl!=null)
    {
       getCityNameByAjax(htl,obj);
    }
}
function getCityNameByAjax(ds,obj)
{
    if(null==obj) return;
    code = obj.innerHTML;
    for(i=0;i<ds.length;i++)
    {
        if(ds[i][0].toLowerCase()==code.toLowerCase())
        {
            obj.innerHTML = ds[i][1];
            return;
        }
    }
    $.getJSON(SerUrl+"Callback/Common.aspx", {Type:4, CityCode:code, r: Math.random},function(data){
        obj.innerHTML = data.message;
    });
}
function getCityName(code,ds)
{
    for(i=0;i<ds.length;i++)
    {
        if(ds[i][0].toLowerCase()==code.toLowerCase())
        {
            return ds[i][1];
        }
    }
    return "";
}
function getCityName2(code,ds)//eg.:PEK->BJS
{       
    function findCity(code)
    {
        for(i=0;i<ds.length;i++)
        {
            if(ds[i][0].toLowerCase()==code.toLowerCase())
            {
                return ds[i];
            }
        }
        return null;
    }
    var city=findCity(code);
    if(city!=null)
    {
        if(city.length>3&&!IsEmpty(city[3]))
        {
             var city2 = findCity(city[3]);
             if(city2!=null&&city2.length>1)
                return city2[1];
             else
                return city[1];   
        }
        else
             return city[1];
    }
    return "";
}
function getAirCityName(id)
{
    var obj=o(id);
    if(obj!=null&&c!=null)
    {
       getCityNameByAjax(c,obj);
    }
}
function getAirCityName2(id)
{
    var obj=o(id);
    if(obj!=null&&c!=null)
    {
       obj.innerHTML=getCityName2(obj.innerHTML,c);
    }
}
function GetCityName(cityCode)
{
    return getCityName(cityCode,c);
}
function FillSelCityName(id)
{
    $('#'+id).find('option').each(function(){this.innerHTML=GetCityName(this.value);});
}
var schedAirs=[[,]];
schedAirs.pop();
function getAirlineName(code)
{
    var name=getCityName2(code,schedAirs);
    if(!IsEmpty(name))return name;
    name=getCityName2(code,airL);
    if(name!=null&&name!='')
    {
       schedAirs.push([code,name]);
       return name;
    }
    else return code;
}
function getHtlInfo(code, viewType) {
    MsgIframe("Hotel Information", 974, 690, SerUrl, "Htl/Information.aspx?Code=" + code+"&ViewType="+viewType,null);
}
function setGMapLinks(cityCode) {
    if (o('city-map') == null)
        return;
    $.getJSON(SerUrl + 'Htl/Callback.aspx', { type: 7, r: Math.random }, function(data) {
        if (!ValidateSession(data)) return;
        if (data.length == 0)
            return;
        else {
            $('#city-map').show();
            var mapStr = $('#city-map').attr('rs-map');
            for (var i = 0; i < data.length; i++) {
                if (o('map-' + data[i][0]) != null) {
                    $('#map-' + data[i][0]).html("<a href=\"javascript:getHtlInfo('" + data[i][0] + "','M')\">"+mapStr+"</a>").show();
                }
            }
        }
    });
}
function getHtlBestDeals(code)
{
    a("_HtlBestDealsList",SerUrl+"Callback.aspx","type=18&CityCode="+code,"get",EndRequestAndValidate,true);
}
function ScheduleSearch()
{
    if(!ValidateDataInput())
        return;
    sld();
    a("",SerUrl+"Air/FareScheduleResult.aspx",GetParameter()+"&"+Math.random(),"get",EndScheduleSearch,true);
}
function EndScheduleSearch(responseText,objId)
{
    window.open(SerUrl+'Air/FareScheduleResult.aspx?par='+responseText+"&"+Math.random(),"_self","_self",0);
}
function HtlFilterLocation(obj)
{   
    sld();
    window.location=encodeURI(GetCurrentPage()+'?page=1&filter=' + obj.value);
}
function ChangeSort(value)
{   
    sld();
    window.location=encodeURI(GetCurrentPage()+'?sort='+value );
}
function ChangePageSize(obj,evalCode)
{
    sld();
    if(evalCode!=null&&evalCode!=""){eval(evalCode.replace("{0}",obj.value));}
    else{window.location=GetCurrentPage()+'?size='+obj.value;}
}
function ChangePageSizeFP(s, al_code) {window.location = GetCurrentPage() + '?size=' + s;}
function sa(a)
{
    if(o('txtAirline')==null)return;
    o('txtAirline').value=a;
    Search();
}
function gc()
{
    if(o("SearchForm")==null)return;
    o("SearchForm").innerHTML=sloading;
    var current_page=GetCurrentPage();
    var pt;
    if(typeof(PageType)=="undefined")
        pt=="Home";
    else
        pt=PageType;
    var t=0;
    if (pt == "Air") {
        a("SearchForm", SerUrl + "Callback/Air/Fares.aspx", "type=5&search_type=" + current_page, "get", gcf, true, true);
    } else {
        if (pt == "Pkg") { t = 11; }
        if (pt == "Htl") { t = 16; }
        a("SearchForm", SerUrl + "Callback.aspx", "type=" + t + "&search_type=" + current_page, "get", gcf, true, true);
    }
}
function gcf(str,objId)
{
    if(!IsTimeout(str))
    {
        if(typeof(PageType)=="undefined")
            pt="Home";
        else
            pt=PageType;
        if(o('rdoAir')==null)PageType='Htl';
        switch(pt)
        {
            case "Pkg":
                o(objId).innerHTML=str;
                break;
            case "Htl":
                o(objId).innerHTML=str;
                break;
            case "Adm":
                o(objId).innerHTML="";                                
                break;
            default:
                o(objId).innerHTML=str;
                SetVisible();
                if(o("IsShowAirline")!=null&&$("#IsShowAllAirline").attr("isShow")=="")
                {
                    if(o("txtAirline")==null||o("txtAirline").value=="")
                        $("#IsShowAirline").hide();
                    else
                    {
                         var array=o("txtAirline").value.split(',');
                        for(var i=0;i<array.length;i++)
                        {
                            if(array[i] != ""){
                                o("txt_airline").innerHTML+=array[i]+" - "+GetMultiLang(array[i],airL)+" ";
                            }
                        }
                        $("#IsShowAirline").show();
                    }  
                }             
                new SuggestFromJS('txtDst',null,c,C,10,'Search()',null,true);
                new SuggestFromJS('txtAirline',null,airL,airL,10,'Search()',',',true);
                //new SuggestFromAjax('txtAirline',null,SerUrl+'Callback.aspx?Type=14',SerUrl+'Callback.aspx?Type=14',null,'Search()',',',true,true);
                if(o('txtDstTwo')!=null)
                {
                    new SuggestFromJS('txtDstTwo',null,c,C,10,'Search()',null,true);
                }
                SetupCalendar();
                break;
        } 
        var deadlineTab=$('#dv-dl-tab').find('.m-m-a').eq(0);
        if(deadlineTab.is('[data="HtlDeadline"]'))
            GetHotelDeadline(o('selHdlViewType'),true);
        else
            deadlineTab.mouseover();    
        GetTicketDeadline();
        if(PageType!='Home'){if(typeof(htlVersion)!='undefined'&&htlVersion =="V2"){GetHtl2SearchForm();}else{GetHtlSearchForm();}GetPkgSearchForm();}
        GetFareListDir();        
        if(o('rdoAir')==null)
        {   
            if(o('rdoHtl')!=null)
                o('rdoHtl').checked=true;
            else
                if(o('rdoPkg')!=null)o('rdoPkg').checked=true;
        }
    }
    else
    {
        RedirectLogin();
    }
}
var d;
function InitFareListDirBox(isFare)
{
    if(isFare==null) isFare = true;
    d=new dTree('d','FareListTree',true,SerUrl+"Callback/Air/FareList.aspx?type=2&isFare="+(isFare?1:0),SerUrl+"Callback/Air/FareList.aspx?type=2&isFare="+(isFare?1:0),'dvAllPanel',640);
    setTimeout("GetLink('',null,null,null,null,null,null,null,null,null,null,"+isFare+");",200);
}
function GetPkgSearchForm()
{
    if(o("dv-sch-box-pkg")!=null && o('sp-psb')!=null)
    {
        a("dv-sch-box-pkg",SerUrl+"Callback.aspx","type=13","get",EndGetPkgSearchForm,true);
    }
}
function GetTicketDeadline()
{
    var objId='TicketDeadline';
    if(o(objId)!=null)
    {
        $.get(SerUrl+"Callback/Air/Fares.aspx",{type:7},function f(data){o(objId).style.display='none';EndGetTicketDeadline(data,objId);$('#'+objId).fadeIn();});
    }
    else
    {
        GetTopNews('HotNews',21);
    }
}
function EndGetTicketDeadline(data,objId)
{
    EndRequestAndValidate(data,objId);
    if(o('Main_Menu_Others')!=null)
    {
        var objs=o('navCircle').getElementsByTagName('li');
        var index=(objs.length-9-1);
        for(var i=0;i<objs.length;i++)
        {
            if($(objs[i]).html().indexOf(OthersString)>0) break;
    	    if(i==index)
	        {
                $(objs[i]).after('<li class="m-n"></li><li class="m-m-n"><a href="'+SerUrl+'Other/Index.aspx" style="color: #231f20;">'+OthersString+'</a></li><li class="m-r-n"></li>');
                break;
	        }
        }
    }
}
function GetHotelDeadline(obj,isRefresh)
{
    if(isRefresh==null) isRefresh = false;
    $("#dv-selHdlViewType").show();
    $("#dv-selHdlReqisitionViewType").hide();
    if(isRefresh||o("HtlDeadline")!=null&&o("HtlDeadline").innerHTML=='')
    {
        var vt='';
        if(obj!=null)
        {
            vt=obj.value;
            if(obj!=null) sld('DeadlineGroup');
        }
        a("HtlDeadline",SerUrl+"Callback.aspx","type=20&ViewType="+vt,"get",EndGetHtlDeadline,true);
    }
}

function GetTicketRequisition(obj)
{
    if(obj==null)return;
    $("#dv-selHdlViewType").hide();
    $("#dv-selHdlReqisitionViewType").show();
//    RegRangeDateControl('TktReq_RequestDateFr',"calRDF",'TktReq_RequestDateTo',"calRDT",0,true,false);
    DateControl('TktReq_RequestDateFr','calRDF',DateControlCompare,true);
    DateControl('TktReq_RequestDateTo','calRDT',DateControlCompare,true);
    if($('#dv-ticket-requistion').html()=='')
        setTimeout("SchTicketRequisitionRefresh()",50);
}

function EndGetHtlDeadline(data,objId)
{
    if(o(objId)==null)return;
    EndRequestAndValidate(data,objId);
    o(objId).style.display='none';
    $('li[data="'+objId+'"]').mouseover();
    $('#'+objId).show('slow');
    CloseMsgBox();
}
function EndGetPkgSearchForm(str,objId)
{
    o("dv-sch-box-pkg").innerHTML=str;
}
function GetHtlSearchForm()
{
    if(typeof(htlVersion)!='undefined'&&htlVersion=="V2")
    {
        window.location.href=SerUrl+"HtlV2/Index.aspx";
    }
    else
    {
        if(o("dv-sch-box-htl")!=null && o('sp-hsb')!=null)a("dv-sch-box-htl",SerUrl+"Callback.aspx","type=15","get",EndGetHtlSearchForm,true);
        if(o("HtlBestDeals")!=null)$.get(SerUrl+"Callback.aspx",{type:17,r:Math.random()},function(data){EndRequestAndValidate(data,'HtlBestDeals');$('#HtlBestDeals').fadeIn('fast');});
    }
}
function GetHtl2SearchForm()
{
    if(o("dv-sch-box-htl")!=null && o('sp-hsb')!=null)a("dv-sch-box-htl",SerUrl+"Callback/HtlV2/Main.aspx","type=1","get",EndGetHtl2SearchForm,true);
    //if(o("HtlBestDeals")!=null)$.get(SerUrl+"Callback.aspx",{type:17,r:Math.random()},function(data){EndRequestAndValidate(data,'HtlBestDeals');$('#HtlBestDeals').fadeIn('fast');});
    if(o("IndexBookingReminder")!=null)$.get(SerUrl+"Callback/HtlV2/Main.aspx",{type:0,r:Math.random()},function(data){EndRequestAndValidate(data,'IndexBookingReminder');$('#IndexBookingReminder').fadeIn('fast');});
    if(o("HtlViewedHistory")!=null)
    {
        if(o("HtlViewedHistory").value=="0")
            $.get(SerUrl+"Callback/HtlV2/Main.aspx",{type:3,r:Math.random()},function(data){EndRequestAndValidate(data,'dv-viewed-history');$('#dv-viewed-history').fadeIn('fast');});
        else
            $.get(SerUrl+"Callback/HtlV2/Main.aspx",{type:2,r:Math.random()},function(data){EndRequestAndValidate(data,'dv-viewed-history');$('#dv-viewed-history').fadeIn('fast');});
    }
}
function EndGetHtl2SearchForm(str,objId)
{
    o("dv-sch-box-htl").innerHTML=str;
    if(o('txtHtlCity')==null)return;
    //new SuggestFromJS('txtHtlCountry',null,htlc,htlc,10,null,null,true,null,"FilterHtl2City()");
    new SuggestFromAjax('txtHtlCity','txtCityCode',SerUrl+'Callback/HtlV2/Rates.aspx?type=1&code={0}',SerUrl+'Callback/HtlV2/Rates.aspx?type=1',null,'',',',false,false,'');
    
    new DateControljQuery('txtChkIn',"cal-CI",HtlCompareData,false,null,null,null,null,'+0',null,2);
    new DateControljQuery('txtChkOut',"cal-CO",HtlCompareData,false,null,null,null,null,ConvertDate(oa('txtChkIn'),'D',1),ConvertDate(oa('txtChkIn'),'D',14),2);
    o('slHtlNights').onchange=HtlSelChange;
    //jQuery("#htl-price-range").slider({ from: 0, to: 10, step: 1, smooth: true, round: 0, dimension: "&nbsp;$", skin: "" });
}
function GetHotelBestDeals(pageIndex,pageSize,sortBy,isAsc)
{
    CommonSearch('Callback.aspx',17,'HtlBestDeals','dv-hotel-best-deals','dv-hotel-best-deals','','',pageIndex,pageSize,sortBy,isAsc);
}
function EndGetHtlSearchForm(str,objId)
{
    o("dv-sch-box-htl").innerHTML=str;
    if(o('txtHtlCountry')==null||o('txtHtlCity')==null)return;
    new SuggestFromJS('txtHtlCountry',null,htlc,htlc,10,null,null,true,null,"FilterHtlCity()");
    FilterHtlCity();
    new DateControljQuery('txtChkIn',"cal-CI",HtlCompareData,false,null,null,null,null,'+0',null,2);
    new DateControljQuery('txtChkOut',"cal-CO",HtlCompareData,false,null,null,null,null,ConvertDate(oa('txtChkIn'),'D',1),ConvertDate(oa('txtChkIn'),'D',14),2);
    o('slHtlNights').onchange=HtlSelChange;
}
function FilterHtlCity()
{
    if(oa('txtHtlCountry')=="")
    {new SuggestFromJS('txtHtlCity',null,htl,HTL,10,'HotelSearch()',null,true,null,null);
    }
    else
    {
        var countryCode=oa('txtHtlCountry');
        var tmpCode="";
        var tmp="";
        for(var iTmp=0;iTmp<htl.length;iTmp++)
        {
            if(htl[iTmp][2].toUpperCase()==countryCode)
            {
                tmp+="['"+htl[iTmp][0]+"','"+htl[iTmp][1].replace(",","\,").replace("'","\\'")+"'],";
                tmpCode=countryCode;
            }
            if(tmpCode!=""&&tmpCode!=countryCode){break;}
        }
        tmp="["+tmp.substr(0,tmp.length-1)+"]";
        var htlfcity=eval(tmp);
        new SuggestFromJS('txtHtlCity',null,htlfcity,htlfcity,100,'HotelSearch()',null,true,null,null);
        ClickHtlCity(o("txtHtlCity").value=="",false);
    }
}
function ClickHtlCity(clear,isFocus)
{
    var obj=o("txtHtlCity");
    if(obj==null||obj.style.display=='none')return;
    if(clear)obj.value="";
    if(isFocus)
    {
           
        if(Browser.isIE){
        obj.focus();
        obj.click();
        }
        else{
        obj.click();
        obj.focus();
        }
    }
}
function HtlCompare(text,most,max)
{
    var s=getCheckID("htllst");
    if(s==""){MsgBox(text,null,true);}
    else if(s.split('|').length>max)
    {MsgBox(most,null,true);}
    else
    {
        sld();
        window.location=SerUrl+"Htl/Compare.aspx?CS="+s;
    }
}
function GetFareListDir()
{
    if(o("FareListTree")!=null && GetCurrentPage().toLowerCase()=="farelist.aspx")
    {
        InitFareListDirBox();
    }
}

function GetSearchInfo()
{
    if(o("SearchInfo")!=null)
    {
        if(o('hdPrint')==null){
            a("SearchInfo",SerUrl+"Callback/Air/Fares.aspx","type=4","get",siff,true);
        }
        else
        {
            var param='?print=Y';
            param+=(o('hdIsSimple')!=null && oa('hdIsSimple')=='Y')? '&simple=Y':'';
            a("SearchInfo",SerUrl+"Callback/Air/Fares.aspx"+param,"type=4","get",oa('hdPrint')=='Y'?siffPrint:siff,true);
        }
    }
}
function siff(str,objId)
{
    o(objId).innerHTML=str;
    //window.setTimeout("GetFooter()","0");
    getAirCityName('OrgCity');
    getAirCityName('DstCity');
    GetGDSLowestFare();
}
function siffPrint(str,objId)
{
    o(objId).innerHTML=str;
    getAirCityName('OrgCity');
    getAirCityName('DstCity');
    AirPrint();
}
//function GetFooter()
//{
//    if(o("FooterInfo")!=null)
//    {
//        a("FooterInfo",SerUrl+"Callback.aspx","type=2&search_type="+GetCurrentPage(),"post",EndRequestAndValidate,true);
//        o("FooterInfo").innerHTML=sloading;
//    }
//}
function GetTopNews(div_id,new_type)
{
    if (o(div_id) != null && o(div_id).innerHTML == '') {
        $.get(SerUrl+"Callback.aspx",{type:new_type,search_type:GetCurrentPage()},function f(data){EndRequestAndValidate(data,div_id);if(o(div_id).style.display!='none'){if(GetCurrentPage()=='Home.aspx')o(div_id).style.backgroundColor='#ffffff';o(div_id).style.display='none';$('#'+div_id).fadeIn();}});
        $('#'+div_id).html(sloading);
    }
}

function SetVisible()
{
//    if($('#ckow').attr("checked"))
//    {
//        o('lb_ret').style.display='none';
//        o('dv_ret').style.display='none';
//    }
//    else
//    {
//        $('#lb_ret').show();
//        $('#dv_ret').show();
//    }
    if($('#slTripType').val()=='1'){
        $('#lb_ret').show();
        $('#dv_ret').show();
    }
    else{
        $('#lb_ret').css('display', 'none');
        $('#dv_ret').css('display', 'none');
    }
    if(o('txtDstTwo')!=null)
    {
        if(o('ckoj').checked)
        {
            if(o('rowojtitle')!=null)o('rowojtitle').style.display='';
            o('rowoj').style.display='';
        }
        else
        {
            if(o('rowojtitle')!=null)o('rowojtitle').style.display='none';
            o('rowoj').style.display='none';
        }
    }
}
var str_tb="<table>{0}</table>";
var str_tr="<tr style='height:25px;'>{0}</tr>";
var str_td="<td>{0}</td>";
var str_row=str_tr.replace("{0}",str_td);
//var str_row_via=str_tr.replace("{0}","<td class='via'>{0}</td>");
var str_row_via=str_tr.replace("{0}","<td class='via'><a onclick=\"OT('{0}','{1}','{2}','{3}',{4},'{5}',{6})\" href='javascript:;'>{7}</a></td>");
var str_terms="<span class='img-detail-h' onclick=\"OT('{0}','{1}','{2}','{3}',{4},'{5}',{6})\" >&nbsp;</span>";
var str_schedule="<input type='button' onclick=\"SD({0},'{1}',{3},{4});\" class='btn3' value='{2}' />";
var str_summary="<span class='{3}' sDetailId='{0}' title='Summary' onclick=\"PreviewSummary(this, '{1}', '{2}',true);\">&nbsp;</span>";
var str_summary_sub="<span class='imgArrowUp' sDetailId_sub='{0}' title='Summary Sub' onclick=\"PreviewSummary(this, '{1}', '{2}',false);\">&nbsp;</span>";
var last_via;
var last_detail_id;
function show_result_info(isShowMore) {
    if(o("fare_result")==null)return;
    var prefix = isShowMore == null||!isShowMore ? "" : "more_";
    var a;
    var objs=o('fare_result').getElementsByTagName("div");
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i]!=null&&objs[i].id!="")
        {
            var ainfo=objs[i].id.split("_");
            a = ainfo[1];
            if (ainfo[0] == "a") 
            {
//                if (typeof (ainfo[3]) != 'undefined') {
//                    objs[i].innerHTML = "<img style='padding-left:1px;' src=\"a/" + ainfo[1] + ".gif\" />";                    
//                    //objs[i].innerHTML = "<img style='padding-left:1px;cursor: pointer;' src=\"a/" + ainfo[1] + ".gif\" onmouseout=\"close_fare_info()\" onmouseover=\"delay_fare_info('" + a + "','" + objs[i].id + "'," + ainfo[2] + ");\"/>";
//                }
//                else {
//                    objs[i].innerHTML = "<span style='padding-left:1px;' class=\"al_main al_" + ainfo[1] + "\" >&nbsp;</span>";
//                }
                  var alName=getAirlineName(ainfo[1]);
                  if(!IsEmpty(alName))
                  {
                    if(alName.length>4)
                    {
                        var daln=('<span style="font-size:12pt;"><a style="color:black" onclick="dgff(\''+ainfo[1]+'\');return false;" href="javascript:;">'+ainfo[1]+'</a></span> - '+alName.substring(0,alName.length-4));
                        objs[i].innerHTML=daln;
                    }
                    else
                    {
                        objs[i].innerHTML=alName;
                    }
                  }
                  else
                  {
                    objs[i].innerHTML=ainfo[1];
                  }
                  objs[i].className='al-name';
            }
            else if((prefix==""&&ainfo[0]=="vias")||(prefix!=""&&ainfo[0]=="more"&&ainfo[1]=="vias"))
            {
                var mark = prefix!="" ? 1 : 0;
                var detail_id = ainfo[1+mark].trim();
                if(prefix!=""&&objs[i].id.indexOf("more_")<0) continue;
                if(prefix!=""&&o(prefix+"terms_"+detail_id)==null) continue;
                var airline = ainfo[2+mark].trim();
                var fl_type = $("#"+prefix+"terms_"+detail_id).attr('ft');
                var vias_content="";
                var terms_content="";
                var schedule_content="";
                var vias=objs[i].innerHTML.trim().split(",");
                if(vias[0].length>3) continue;
                var summaryCss=(($('#ck-summary').attr('checked')!=null&&$('#ck-summary').attr('checked'))?"imgArrowUp":"imgArrowDown");
                for(var j=0;j<vias.length;j++)
                {
                    last_via=vias[j].trim();
                    last_detail_id=detail_id;
                    vias_content+="<table cellpadding='1px' cellspacing='2px'>"+str_row_via.replace("{0}",detail_id).replace("{1}",Dst).replace("{2}",OWRTOJ).replace("{3}",vias[j].trim()).replace("{4}",fl_type).replace("{5}",airline).replace("{6}",prefix==""?1:0).replace("{7}",vias[j].trim())+"</table>";
                    var s=str_row.replace("{0}",mark == 1?str_summary_sub.replace("{0}",detail_id).replace("{1}",detail_id).replace("{2}",last_via)
                                                        :str_summary.replace("{0}",detail_id).replace("{1}",detail_id).replace("{2}",last_via).replace("{3}",summaryCss));
                    terms_content+="<table cellpadding='0px' cellspacing='0px'><tr><td>"+str_tb.replace("{0}",s)+"</td></tr></table>";
                    //terms_content+="<table cellpadding='0px' cellspacing='0px'><tr><td>"+str_tb.replace("{0}",s)+"</td><td><span class='imgArrowDown' title='Preview' id='"+0+"pv_bt_"+detail_id+vias[j].trim()+"' onclick=\"PreviewFare('"+detail_id+"','"+Dst+"','"+OWRTOJ+"','"+vias[j].trim()+"',"+0+");\" >&nbsp;</span></td></tr></table>";
                    schedule_content+="<table cellpadding='1px' cellspacing='2px'>"+str_row.replace("{0}",str_schedule.replace("{0}",detail_id).replace("{1}",vias[j].trim()).replace("{2}",ScheduleText).replace("{3}",fl_type).replace("{4}",prefix==""?1:0))+"</table>";
                }
                objs[i].innerHTML= vias_content;
                objs[i].style.display="";
                $("#"+prefix+"terms_"+detail_id).html(terms_content);//str_tb.replace("{0}",terms_content);
                $("#"+prefix+"schedule_"+detail_id).html(str_tb.replace("{0}",schedule_content));
                if(o('btnmore_'+airline)!=null&&prefix=="")
                {
                     o('btnmore_'+airline).innerHTML = "<span class='spl' onclick=\"dgf("+detail_id+",\'"+airline+"\',"+fl_type+");\">"+o('btnmore_'+airline).innerHTML + '</span> ' + "<span class='imgArrowDown' title='More Price' id='mpspan_"+airline+"' onclick=\"dgf("+detail_id+",\'"+airline+"\',"+fl_type+");\">&nbsp;</span>";
                }
            }
        }
    }
    SetAirlinesName();
//    $('td[class="via"]').each(function()
//    {
//        var via=$.trim(this.innerHTML);if(via!=''){
//            this.title=getCityName(via,c);
//        }
//    });
}
function PreviewSummary(obj, detailId, via,isMain)
{
    var isForAll=$(obj).attr('for-all')=="1";
    $(obj).attr('for-all','');
    var pf=isMain?"summary_":"t_";
    var isShowAllS=o(isMain?'ck-summary':'cksr').checked;
    if(o(pf+detailId).style.display=='none'||$(obj).attr("class")=="imgArrowDown")
    {
        if(!isShowAllS&&isForAll)return;
        if($(obj).attr("class")=="imgArrowDown")
        {
           $('#'+pf+detailId).hide(); 
        }
        $('#'+pf+detailId).fadeIn();
        $('span[sDetailId'+(isMain?'':'_sub')+'=\"'+detailId+'\"]').attr("class","imgArrowDown");
        $(obj).attr("class","imgArrowUp");
        $('#'+pf+'via_'+detailId).val(via);
    }
    else
    {
        if(isShowAllS&&isForAll)return;
        $('span[sDetailId'+(isMain?'':'_sub')+'=\"'+detailId+'\"]').attr("class","imgArrowDown");
        $('#'+pf+detailId).fadeOut();
    }
}
function PreviewFare(detailId,dst,owrtoj,via,ft)
{
    var objs=o(ft+'fare_result').getElementsByTagName('div');
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].id.indexOf(ft+'pv_')>=0 && objs[i].style.display=='' && objs[i].id.indexOf(detailId)<0)
        {
            objs[i].style.display='none';
            o(objs[i].id.replace(ft+'pv_',ft+'f_')).className='rr';
            o(objs[i].id.replace(ft+'pv_',ft+'dvs_')).style.display='';
            if(o(ft+'cksr').checked)o(objs[i].id.replace(ft+'pv_',ft+'t_')).style.display='none';
        }
    }
    objs=o(ft+'fare_result').getElementsByTagName('img');
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].id.indexOf(ft+'pv_bt_')>=0)
        {
            objs[i].className='imgArrowDown';
        }
    }
    var row=o(ft+'f_'+detailId);
    var row_pv=o(ft+'pv_'+detailId);
    if(row.className!='tr-focus')
    {
        row.className='tr-focus';
        row.cells[0].style.backgroundColor='white';
        row.cells[1].style.backgroundColor='white';
        row_pv.className='fare_pv';
        o(ft+'pv_bt_'+detailId+via).className='imgArrowUp';
        row_pv.style.display='';
        a(ft+'pv_'+detailId,SerUrl+"Air/summaryterms.aspx?rpid="+detailId+"&dst="+dst+"&Owrtoj="+owrtoj+"&via="+via+"&ft="+ft,"","get",EndPreview,true,detailId,ft);
        if(!o(ft+'cksr').checked)sld(ft+'pv_'+detailId);
        o(ft+'t_'+detailId).style.display='';
        o(ft+'dvs_'+detailId).style.display='none';
    }
    else
    {
        CloseMsgBox();
        row.className='rr';
        row_pv.style.display='none';
        o(ft+'dvs_'+detailId).style.display='';
        o(ft+'pv_bt_'+detailId+via).className='imgArrowDown';
        if(o(ft+'cksr').checked)
        {
            o(ft+'t_'+detailId).style.display='none';
        }
    }
}
function EndPreview(content,objId,detailId,ft)
{
    o(objId).innerHTML=content;
    InitFareListDeparture(detailId);
    AirInfHandle();    //Change the city to multi-language
    CloseMsgBox();   
}
function SetAirlinesName()
{
    $('span[class="al-name"]').each(function(){
        this.innerHTML=getAirlineName(this.innerHTML);
    });
}
function dgff(al)
{
    var done=false;
    $('span[class="spl"]').each(function(){if(this.attributes["onclick"].value.indexOf(al)>0){done=true;this.onclick();}});
    if(!done)sa(al);
}
function dgf(detail_id, airline, ft_temp)
{
    if($('#mpspan_'+airline).attr('class')=='imgArrowDown')
    {
        SearchFareByAirline(1, 1000, '', true, null, "moredv_"+airline,ft_temp,true,detail_id,airline);
    }
    else
    {
        $('#mpspan_'+airline).attr('class','imgArrowDown');
        $('#moredv_'+airline).fadeOut();
        $('#moredv_'+airline).parents('tr').css('background-color','');
        $('#lbdv_'+airline).hide();
        $('#moredv_'+airline).parents('tr').prev('tr').css('background-color','');
        $('#moredv_'+airline).parents('tr').prev('tr').prev('tr').css('background-color','');
    }
}
function init_terms(OWRTOJ,Dst,last_detail_id,last_via)
{
    a("",SerUrl+"Air/Terms.aspx","init=1&rpid="+last_detail_id+"&dst="+Dst+"&Owrtoj="+OWRTOJ+"&via="+last_via+"","get",EndRequestAndValidate,true);
}
var fareinfotimeout;
function close_fare_info()
{
    clearTimeout(fareinfotimeout);
    CloseMsgBox();
}
function delay_fare_info(airline,obj_id,detail_id,hideSelectBox)
{
    if(hideSelectBox==null) hideSelectBox = false;
    fareinfotimeout=setTimeout("show_fare_info('"+airline+"','"+obj_id+"',"+detail_id+","+hideSelectBox+")",500);
}
function show_fare_info(airline,obj_id,detail_id,hideSelectBox)
{
    if(hideSelectBox==null) hideSelectBox = false;
    var height = $('#'+obj_id).height()==0?30:$('#'+obj_id).height()+3;
    var ofs=$(o(obj_id)).offset();
    var left=ofs.left;
    var top=ofs.top+height;
	if(GetBrowser().indexOf("MSIE")>=0&&(GetBrowser().indexOf("6.0")>=0||GetBrowser().indexOf("7.0")>=0))
	{
        top=top+2;
        left=left+3;
	}
	else if(GetBrowser().indexOf("Firefox")>=0)
    {
        left=left-1;
	}
    CM();
    ShowDiv("<div id='fare_info'>&nbsp;&nbsp;"+sloading+"Loading fare info...&nbsp;&nbsp;</div>",0,0,"#CEDCEB","SHADOW",left,top);
    if(GetBrowser().indexOf("MSIE")>=0&&GetBrowser().indexOf("6.0")>=0)
	{
        var dvId = GetMoreFareId();
        if(hideSelectBox&&o(dvId)!=null)    
        {
            $('#'+ dvId + ' select').each(function(){
                $(this).hide();
            });
        }
    }
    a("fare_info",SerUrl+"Callback/Air/Fares.aspx","type=6&airline="+airline+"&detail_id="+detail_id,"get",end_get_fare_info,true);
}
function GetMoreFareId()
{
    var dvId = '';
    $('#fare_result div').each(function(){
        if($(this).attr("id").indexOf('moredv_')>=0 && $(this).css('display')!='none')
        {
            dvId = $(this).attr("id");
            return false;
        }
    });
    return dvId;
}

function end_get_fare_info(responseText,objId)
{
    if(!IsTimeout(responseText))
    {
        if(o("fare_info")!=null)
            o("fare_info").innerHTML=responseText;
    }
    else
    {
        RedirectLogin();
    }
    //addEvent(o('fare_info'),"onclick",CloseMsgBox);
}
function SetTermsVisible(ft)
{
    var term_trs=document.getElementsByTagName('tr');for(var i=0;i<term_trs.length;i++){if(term_trs[i].id!=null && String(term_trs[i].id).indexOf('t_')>=0)if(!o('cksr').checked)term_trs[i].style.display='none';else term_trs[i].style.display='';}
}
function SetupCalendar()
{
    new DateControljQuery('txtDep',"cal-dep",AirCompareData7,false,null,null,null,null,'+0',null,2);
    new DateControljQuery('txtRet',"cal-ret",AirCompareData,false,null,null,null,null,oa('txtDep'),null,2);
}
//-----------------------News----------------------------------
var shown_objects = new Array();
function toggle_object_visible(id)
{
	var obj = o(id);
	if (!obj || !obj.style) return;
	obj.style.display = (obj.style.display=="none") ? "block":"none";
	shown_objects[id]=(obj.style.display=="block");
}
function set_object_visible(id, val)
{
	var obj = o(id);
	if (!obj || !obj.style) return;
	obj.style.display = (val=="Y") ? "block":"none";
	shown_objects[id]=(val=="Y");
}
function hide_all_objects()
{
	for(var i in shown_objects)
	{
		set_object_visible(i,"N");
	}
}
var CurrNewsID=0;
function ShowDetail(a,b)
{
    toggle_object_visible(a,b);
    if(CurrNewsID!=0)
    {
        toggle_object_visible(CurrNewsID,"Y");
        o("A_"+CurrNewsID).style.display='';
    }
	o("A_"+a).style.display='none';
	CurrNewsID=a;
}
function HtlSearch()
{
}
function HtlSelChange()
{
    HtlCktDate(false);
}
function HtlCktDate(txtChange)
{
    var selN=o('slHtlNights');
    if (txtChange == 'txtChkIn') 
    {
        if (ConvertDate(oa('txtChkIn')) < new Date()) {
            o('txtChkIn').value = getDateToStr(new Date());
        }
        o('txtChkOut').value=getDateToStr(DateAdd('d',parseInt(selN.value),ConvertDate(oa('txtChkIn'))));
        return;
    }
    selN.style.color="";
    var num=1;
    var i=daysElapsed(ConvertDate(oa('txtChkOut')),ConvertDate(oa('txtChkIn')));
    if(!txtChange)
    {
        num=parseInt(selN.value,10);
    }
    else
    {
        if(i>14)
        {num=14;
        txtChange=false;
        selN.options[13].selected=true;
        selN.style.color="Red";
        //Error(getAttibuteValue('txtChkOut','msg'));
        }
        else if(i<1){selN.options[0].selected=true;}
        else{selN.options[i-1].selected=true;}
    }
    compareDate(ConvertDate(oa('txtChkIn')),ConvertDate(oa('txtChkOut')),'txtChkOut',num,!txtChange);
}
function HtlCompareData(txtChange)
{
    HtlCktDate(txtChange);
    if(txtChange=='txtChkIn')
    {
        $('#txtChkOut').datepicker( "option" , {minDate: ConvertDate(oa('txtChkIn'),'D',1),maxDate:ConvertDate(oa('txtChkIn'),'D',14)});
    }
}
function Init()
{
    show_result_info();
    gc();
    GetSearchInfo();
//    window.setTimeout(function () {
//        initSDF();
//    }, 1000);
}
function GetCommission(al)
{
    if(!GdsCommEnable)return;
    if(al==null)al='';
    $.getJSON(SerUrl + 'Callback/Air/Fares.aspx',{ type: 10,airline:al,r: Math.random() },function(data){
        if(data!=null)
        {
            for(var i=0;i<data.length;i++)
            {
                //var imgComm='<img alt="'+data[i].Commission+'" src="'+SerUrl+'images/Comm/Comm-'+data[i].Commission+'.jpg" />';
                if(data[i].Commission>0){
                    $('span[class="gds-fare '+data[i].Airline+' '+data[i].BookingClass+'"]').each(function(){
                        var $gdsf=$(this);
                        $gdsf.next('span').html(data[i].Commission).show();
                        $gdsf.html($gdsf.html().replace('#',''));
                    });
                }
            }
        }
    });
}
function GetGDSLowestFare()
{
    if(o('gds_lowest_process')==null) {GetCommission();return;}
    $.getJSON(SerUrl + 'Callback/Air/Fares.aspx',{ type: 8, r: Math.random() },function(data){
        if(data.success)
        {
            var isChange = false;
            $('#gds_lowest_process').hide();
//            for(var itemp in data)
//            {
//                if(itemp == "success") continue;
//                else if(o('fare_'+itemp)!=null&&o('fare_'+itemp).innerHTML.trim()!=data[itemp]['fare'])
//                {
//                    isChange = true;
//                    var iValue = $.trim($('#fare_'+itemp).parents('td').prev('td').prev('td').html());
//                    $('#fare_'+itemp).parents('tr').attr('class','');
//                    $('#fare_'+itemp).parents('tr').html(data[itemp]['fareresult']);
//                    //$('#fare_'+itemp).parents('tr').find("td:first").html(iValue);
//                    $('#num-'+itemp).html(iValue);
//                }
//            }
//            if(isChange)
//            {
                SetAirlinesName();
                //$('#gds_lowest_update').fadeIn();
                SearchFareList(1,1000);
            //}
        }
        else
        {
            $('#gds_lowest_process').hide();
            MsgBox(data.message, '', true);
        }
    });
}
function SearchFares(pageIndex, pageSize, sort, isAsc, clsLD) {
    var dvId = GetMoreFareId();
//    $('#fare_result div').each(function(){
//        if($(this).attr("id").indexOf('moredv_')>=0 && $(this).css('display')!='none')
//        {
//            dvId = $(this).attr("id");
//        }
//    });
    if(dvId!="") SearchFareByAirline(pageIndex, pageSize, sort, isAsc, clsLD, dvId, 3);
}
function SearchFareByAirline(pageIndex, pageSize, sort, isAsc, clsLD, dvId, ft, forBat, did, airline) {
    //CM();
    if (forBat == null) sld(dvId);
    var params = "";
    params = getParams(dvId, 'Fare_');
    if (!IsEmpty(pageIndex)) { params += "&page=" + pageIndex; }
    if (!IsEmpty(pageSize)) { params += "&size=" + pageSize; }
    if (!IsEmpty(sort)) { params += "&sort=" + sort; }
    if (!IsEmpty(isAsc)) { params += "&asc=" + (isAsc ? "Y" : "N"); }
    if(did=='undefined')did=0;
    if(airline=='undefined'||airline==null) airline = '';
    params+='&did='+did+'&airline='+airline;
    if($('#fr_season').attr('checked')){
        params+='&season=1';
    }
    if(airline==null||airline=='')
    {
        airline = dvId.substring(dvId.indexOf('_')+1);  
    }
    if (forBat) {
        params += "&do-search=1";
    };
    $('#fare_result div').each(function(){
        if($(this).attr("id").indexOf('moredv_')>=0)
        {
            var prefix_airline = $(this).attr("id").substring($(this).attr("id").indexOf('_')+1);
            if(airline==prefix_airline) return true;
            $(this).parents('tr').css('background-color','');
            $(this).parents('tr').prev('tr').css('background-color','');
            $(this).parents('tr').prev('tr').prev('tr').css('background-color','');
            $(this).hide();
            $(this).html('');
            $('#lbdv_'+prefix_airline).hide();
            $('#mpspan_'+prefix_airline).attr('class','imgArrowDown');
        }
    });
    $('#'+dvId).fadeIn();
  //  var detail_id = dvId.substring(dvId.indexOf('_')+1);
    $('#lbdv_'+airline).show();
    $('#'+dvId).parents('tr').css('background-color','#CFE4F7');
    $('#'+dvId).parents('tr').prev('tr').css('background-color','#CFE4F7');
    $('#'+dvId).parents('tr').prev('tr').prev('tr').css('background-color','#CFE4F7');
    $('#mpspan_'+airline).attr('class','imgArrowUp');
    sld(dvId);
    a(dvId, SerUrl + "Callback/Air/Fares.aspx", "type=2&ft=" + ft + params, "get", EndSearchFareByAirline, true, {FareType:ft,ForBat:forBat,DetailId:did,Airline:airline});
}
function EndSearchFareByAirline(str, objId, ci) 
{
    CloseMsgBox();
    o(objId).innerHTML = str;
    if(ci.ForBat!=null&&ci.ForBat) ScrollToControl(objId,45);
    show_result_info(true);
    GetCommission(ci.Airline);
}
//pkg booking
function PkgBkgInit()
{
    new DateControl('txtDep',"cal-dep",null);
}
//end pkg booking
function getCheckID(name,max)
{
    var s="";
    var m=0;
    for(var i=0;i<document.getElementsByName(name).length;i++)
    {
        if(max!=null){if(m>=max){return s.substr(0,s.lastIndexOf('|'));}}
        var o=document.getElementsByName(name)[i]
        if(o.checked)
        {
            s+=o.id+"|";
            m++;
        }
    }
    return s.substr(0,s.lastIndexOf('|'));
}
function showNewsInfo(id)
{
    window.open(SerUrl+'NewsInfo.aspx?ID='+id,'','width=685,scrollbars=yes,left=300,top=100,height=600,resizable=yes');
}
function getMsgCount()
{
    if(o('msg_count')!=null)a("msg_count",SerUrl+"Callback.aspx","type=22","get",EndRequestAndValidate,true);
}
if(o('dv_bkg_info')!=null)
{
    a("dv_bkg_info",SerUrl+"Callback/Air/Fares.aspx","type=3","get",EndRequestAndValidate,true);
}
function chgHtlRoomTypePrice()
{
    chgHtlRoomTypePrice4Print();
    chgHtlQTY();
}
function chgHtlRoomTypePrice4Print()
{
    var sell=o('rdoSell');
    var net=o('rdoNet');
    var obj=o('RateList');
    var oo=obj.getElementsByTagName("span");
    if(net.checked)
    {
        o('sp-currency').innerHTML=o('sp-currency-net').innerHTML;
    }
    else
    {
        o('sp-currency').innerHTML=o('sp-currency-selling').innerHTML;
    }
    for(var i=0;i<=oo.length-1;i++)
    {
        var sp=oo[i];
        if(sp.id.indexOf('Sell_',0)>=0)
        {
            if(sell.checked){sp.style.display="";}
            else{sp.style.display="none";}
        }
        if(sp.id.indexOf('Net_',0)>=0)
        {
            if(net.checked){sp.style.display="";}
            else{sp.style.display="none";}
        }
    }
}
function chgHtlQTY()
{
    var obj=o("RateList");
    var oSell=o('rdoSell');
    if(oSell==null){oSell=true;}
    else{oSell=oSell.checked;}
    var tot=0;
    for(var i=0;i<=obj.getElementsByTagName("select").length-1;i++)
    {
        var oo=obj.getElementsByTagName("select")[i];
        tot+=oo.value*getAttibuteValue(oo.id,oSell?'sell':'net');
    }
    o("RateTot").value=tot;
}
function CountryChanged(country_code)
{
    o("dv_city").innerHTML+=sloading;
    a("dv_city",SerUrl+"Common/Callback.aspx","type=0&pars="+country_code,"get",EndRequestAndValidate,true);
}
function HtlShowSearchPrint(v) 
{
    v = (v=='')?0:v;
    var width=($.browser.msie && $.browser.version=='6.0')? '840':'820';
    window.open('Search4Print.aspx?size=1000&markup='+ v, 'popup', 'width='+width+',height=750,scrollbars=yes,resizable=yes,left=250,top=50');
}
var HtlSchWidth;
function HtlSearchPrint(print)
{
    function display(enable)
    {
        if(enable)
        {
            if($.browser.msie&&$.browser.version!='8.0'){
               HtlSchWidth=$('div.divborderpad').css('width');
               $('div.divborderpad').css('width','647px'); 
            }
        }
        else
        {
            if($.browser.msie&&$.browser.version!='8.0'){
                $('div.divborderpad').css('width',HtlSchWidth); 
             
            }
        }
    }
    if(print==null)
    {PrintPage("HtlSearchPrint('S');","HtlSearchPrint('E');");}
    else if(print=="S"){display(true);}
    else if(print=="E"){display(false);}
}
var HtlInfoWidth;
function HtlInfoPrint(print) {
    function display(enable) {
        if (enable) {
            o('imgADLogo').style.display = '';
            if ($.browser.msie&&$.browser.version!='6.0') {
                HtlInfoWidth = $('#HtlInfo').width();
                $('#HtlInfo').width('625px');
            }
            
        }
        else {
            o('imgADLogo').style.display = 'none';
            if ($.browser.msie && $.browser.version != '6.0') {
                $('#HtlInfo').width(HtlInfoWidth);
            }
        }
    }
    if (print == null)
    { PrintPage("HtlInfoPrint('S');", "HtlInfoPrint('E');"); }
    else if (print == "S") { display(true); }
    else if (print == "E") { display(false); }
}
function HtlDetailRatePrint(isStart)
 {
    function display(start)
    {
        if(start)
        {
          o('dvBtn').style.display='none';
          if(o('dvTypePannel')!=null){
            o('dvTypePannel').style.display='none'
            if(o('rdoNet').cheked){o('dvSell').style.display='none';o('dvNet').style.display='';}
            else{o('dvSell').style.display='';o('dvNet').style.display='none';}
          }
          else {o('dvSell').style.display='';o('dvNet').style.display='none';}         
        }
        else
        {if(o('dvTypePannel')!=null)o('dvTypePannel').style.display='';
         o('dvSell').style.display='none';o('dvBtn').style.display='';
         o('dvNet').style.display='none';}
    }
    
    if(isStart==null)
    {PrintPage("HtlDetailRatePrint(true);","HtlDetailRatePrint(false);");}
    else if(isStart){display(true);}
    else {display(false);}
 }
//function AirShowPrint(ft,m,isPt)
 function AirShowPrint(m,isPt,did,ac,version,isShowSummary)
{
    if(m==null)m=0;
    if(isShowSummary)isShowSummary=o('ck-summary').checked;
    var param='?init=1&size=1000&markup='+m+(isPt?'&ptt=1':'');
    if(did!=null&&did>0)param+=('&detailId='+did);
    if(ac!=null)param+=('&airline='+ac);
    if((o('cksr')!=null&&o('cksr').checked)||isShowSummary) param+='&simple=Y';
    if(version!=null)param+='&Version='+version;
    window.open('SearchForPrint.aspx'+param, 'popup', 'width=888,height=768,scrollbars=yes,resizable=yes,left=250,top=50');
}
var fareResultWidth; 
function AirPrint(print)
{
    function display(enable)
    {
        if(o('imgADLogo')==null)return;
        if(enable)
        {
            o('imgADLogo').style.display='';
            var width=Browser.isIE?($.browser.version=='8.0'?'820':'700px'):'950px';
            fareResultWidth=$('#dv-fare-result').width();
            if(Browser.isIE)$('#dv-fare-result').width(width);
        }
        else
        {o('imgADLogo').style.display='none';$('#dv-fare-result').width(fareResultWidth);}
    }
    
    if(print==null)
    {PrintPage("AirPrint('S');","AirPrint('E');");}
    else if(print=="S"){display(true);}
    else if(print=="E"){display(false);}
}
function cpl(c,f)//change logo
{
    if(f==null)
    {
        o('logo-'+c).style.display='';
        o('logo-'+(3-c)).style.display='none';
    }
    else
    {
        o('logo-'+f).style.display='';
        o('logo-'+(7-f)).style.display='none';
    }
}
/*Get the link of fare list*/
function GetLink(folder,showexpired,showexpiredfile,showall,pageIndex,pageSize,sort,isAsc,clsLD,iniParm,isRef,isFare)
{
    if(!clsLD){sld("dvfl");} 
    var pars;
    pars="type=1";    
    if(!IsEmpty(folder)) { pars+="&folder="+encodeURIComponent(folder);}
    if(!IsEmpty(showexpired))    pars+="&showexpired="+showexpired;
    if(!IsEmpty(showexpiredfile))    pars+="&showexpiredfile="+showexpiredfile;
    if(!IsEmpty(showall))   pars+="&showall="+showall;
    if(!IsEmpty(pageIndex))   pars+="&pageIndex="+pageIndex;
    if(!IsEmpty(pageSize))   pars+="&size="+pageSize;
    if(!IsEmpty(sort))   pars+="&sort="+sort;
    if(!IsEmpty(isAsc))   pars+="&isAsc="+(isAsc?"Y":"N");
    if(!IsEmpty(iniParm))   pars+="&iniParm="+iniParm;
    if(!IsEmpty(isRef) && isRef)   pars+="&isRef=1";
    if(!IsEmpty(isFare) && isFare) pars+="&isFare=1";    
    a("dvListDetail",SerUrl+"Callback/Air/FareList.aspx",pars,"get",EndGetLink,true);
    if(showexpired==null)showexpired='';if(showexpiredfile==null)showexpiredfile='';if(showall==null)showall='';if(showall==null)showall='';
    if(pageIndex==null)pageIndex='null';if(pageSize==null)pageSize='null';if(sort==null)sort='';if(clsLD==null)clsLD=false;if(iniParm==null)iniParm=false;
    o('td-refresh').innerHTML="&nbsp;<input type='button' class='btn3' value='"+GetMultiLang('Refresh')+"' onmousedown=\"GetLink('"+folder.replace('\\','\\\\')+"','"+showexpired+"','"+showexpiredfile+"','"+showall+"',"+pageIndex+","+pageSize+",'"+sort+"',"+isAsc+","+clsLD+","+iniParm+",true,"+isFare+");\" />";
}
function EndGetLink(str,objId)
{
    CloseMsgBox();
    if(IsTimeout(str))RedirectLogin();
    else 
    {
        o(objId).innerHTML=str;
        o(objId).style.display='none';
        FareSetFontSize();
        $('#'+objId).fadeIn();
        //if (o('dvFontSize')!=null)         
        //    o('dvFontSize').style.display=o('dvfileList').style.display;
    }
}
function FareSetFontSize()
{
    var setted=false;
    if(o('rdNormal')!=null&&o('rdNormal').checked){SetFontSize(11);setted=true;}
    else if(o('rdLarge')!=null&&o('rdLarge').checked){SetFontSize(14);setted=true;}
    else if(o('rdXLarge')!=null&&o('rdXLarge').checked){SetFontSize(18);setted=true;}
    if(!setted){
        var fongSizeControls=$('#dvFontSize').find('input[checked=true]');
        if(fongSizeControls.length>0){
            var si=parseInt(fongSizeControls[0].value);
            if(si==11){
                si=14;
                $('#dvFontSize').find('input[type="radio"]')[1].checked=true;
            }
            SetFontSize(si);
        }
    }
}
function Full()
{
    o('footer').style.display='none';
    o('travel').style.display='none';
    o('header').style.display='none';
    o('dvfl').style.width='1024px';
    o('main').style.width='1280px';
    o('btnly').value=GetMultiLang('NormalScreen');
    o('dvListDetail').style.display='none';
    $('#dvListDetail').show('fast');
}
function Normal()
{
    o('footer').style.display='';
    o('travel').style.display='';
    o('header').style.display='';
    o('dvfl').style.width='';
    o('main').style.width='974px';
    o('btnly').value=GetMultiLang('FullScreen');
    o('dvListDetail').style.display='none';
    $('#dvListDetail').fadeIn();
}

function callFeedback(sLang) {
    window.open("http://www.westminstertravel.com/hkwtl/" + sLang + "/feedback/WtlFeedback.php?Area=ADH", "", "left=300,top=100,height=750,width=700,location=no,menubar=no,resizable=yes,titlebar=yes,toolbar=no,scrollbars=yes", "");
}

function showADNewsDetail(id){
    window.open(SerUrl+'NewsDetail.aspx?ID='+id,'','width=685,scrollbars=yes,left=300,top=100,height=600,resizable=yes');
}

function showMarkupBox(t, isPt){ //Pt is Plain Text
    var mp_id='markPosition';
    if(t!=null)mp_id+=t;
	var pi=GetPosition(o(mp_id));
    var left=parseInt(pi.left)+72;
    var top=parseInt(pi.top)+50;
    var ptContent = '';
    
	if(GetBrowser().indexOf("Firefox")<0)
	{
	    top=top-30;
        left=left-67;
	}
	else
    {
	    top=top-30;
        left=left-70;
	}
	if(isPt!=null&&isPt) 
	{
	    ptContent = "<td><input id='chk_pt' type='checkbox' /></td><td align='left' onclick=\"setChecked('chk_pt');\">Plain Text</td>";
	}
    markupContent = "<div style='margin-top:5px;width:170px;height:52px;display:block;' onmouseover=\"o('alert_div').style.display=''\" onmouseout=\"o('alert_div').style.display='none';\"  ><table><tr><td><input id='chk_markup' type='checkbox' onclick=\"setReadonly('markup','chk_markup')\" /></td><td align='left' onclick=\"setReadonly('markup','chk_markup',true);\">Markup</td><td><input type='text' onmouseover=\"o('alert_div').style.display=''\" id='markup' class='txt' value='' style='ime-mode:disabled;width:70px;margin-right:5px;' readonly='readonly' onKeyPress='onlyNumber(this, event)' maxlength='10'  /><td></tr><tr>" + ptContent + "<td colspan='" + (isPt ? 1 : 3) + "' align='center'><input type='button' class='btn3' value=' + ' onmouseover=\"o('alert_div').style.display=''\" onclick=\"checkMark("+t+");\" /></td></tr></table></div>";
    ShowDiv(markupContent, 170, 52, "#BAD6FE", "SHADOW", left, top);
}
function setReadonly(id,chkId,isClick)
{
    if(isClick!=null&&isClick) {setChecked(chkId);}
    $('#'+id).attr('readonly',$('#'+chkId).attr('checked')?'':'readonly');
}
function setChecked(chkId)
{
    o(chkId).checked = o(chkId).checked?false:true;
}
function checkMark(t){
    var markValue = oa('markup');
    markValue = (markValue.indexOf('.')==0)?('0'+markValue):markValue;
    if(markValue.indexOf('.')==(markValue.length-1)){
        markValue = markValue + '0';
    }
    if(!o('chk_markup').checked) markValue = 0;
    var isPt = o('chk_pt')!=null&&o('chk_pt').checked;
    if(t>0)
        AirShowPrint(t,markValue,isPt);
    else
        HtlShowSearchPrint(markValue);
}
/*--------------Fare List Departure Start----------------*/
function InitFareListDeparture(detailId){
    $('#mkrequest'+detailId+' input:text').each(function(){
        if(!IsEmpty($(this).attr('id'))){
            if($(this).attr('disabled')){return true;}  
            new DateControljQuery($(this).attr('id'),$(this).next('span').attr('id'),FareListCompareData,false,null,null,null,null,null,null,2);
            FareListCompareData($(this).attr('id'));
        }
    });      
    $("#mkrequest"+detailId+" input:radio[checked]").parent().parent().attr("class","selected_row_bg");
}
function FareListCompareData(sId)
{ 
    var date1 = ConvertDate(oa(sId));
    var date2 = ConvertDate($('#'+sId).attr('maxdate'));
    var datefrom = sId.replace('To','From');
    var dateto = sId.replace('From','To');
    var maxinterval = $('#'+dateto).attr('maxinterval').split('_');
    var interval = daysElapsed(ConvertDate($('#'+dateto).attr('mindate')), ConvertDate($('#'+datefrom).attr('mindate')));
    compareDate(ConvertDate($('#'+sId).attr('mindate')),ConvertDate(oa(sId)),sId,0,false);
    if(daysElapsed(date2, date1)<0){
          o(sId).value = getDateToStr(date2);
    }
    if(sId.indexOf('From')>0){
        date1 = DateAdd(maxinterval[1],1*maxinterval[0], date1);
        date2 = ConvertDate($('#'+dateto).attr('maxdate'));
        if(daysElapsed(date1,ConvertDate(oa(dateto)))<0){
            o(dateto).value = getDateToStr(date1);
        }
        if(daysElapsed(date2,date1)>0){
            o(dateto).value = getDateToStr(date1);
        }
        else  o(dateto).value = getDateToStr(date2);
    }
    else{
        date1 = DateAdd(maxinterval[1], (-1)*maxinterval[0], date1);
        if(daysElapsed(date1,ConvertDate(oa(datefrom)))>0){
            o(datefrom).value = getDateToStr(date1);
        }
        if(daysElapsed(ConvertDate(oa(dateto)), ConvertDate(oa(datefrom)))<interval){
            o(datefrom).value = getDateToStr(DateAdd("D",(-1)*interval,ConvertDate(oa(dateto))));
        }
    }
}
function LF2FS(did,via)
{
    checkId = $("#mkrequest"+did+" input:radio[checked]").val();
    if(typeof(checkId)=='undefined'){return;}
    param = "detail_id="+did +"&via="+via+'&depdate='+oa(checkId);
    if(!$('#'+checkId.replace('From','To')).attr('disabled')){
        depdate=ConvertDate(oa(checkId)).getDay();
        retdate=ConvertDate(oa(checkId.replace('From','To'))).getDay();
	    if(depdate==0)depdate=7;
        if(retdate==0)retdate=7;
        if(!SendWeekday(depdate,checkId)){SendWeekday(retdate,checkId.replace('From','To'));VLDThroughday(checkId,depdate,retdate,did);return;}
        if(!SendWeekday(retdate,checkId.replace('From','To'))){VLDThroughday(checkId,depdate,retdate,did);return;}
        if(!VLDThroughday(checkId,depdate,retdate,did))return;
        param += "&retdate="+oa(checkId.replace('From','To'));
    }
    sld();
    a("","FareScheduleResult.aspx",param,"get",sdf,true);
}
function SendWeekday(weekday,validateId){
	if(ValidateWeekday(weekday,$('#'+validateId).attr('weekday'))){
	    $('#'+validateId).css({ "border-color" : "#b1d1ea" });
	    $('#'+validateId).siblings("span").next("span").css("color","black");
	    return true;
	}
	else{
	    $('#'+validateId).css({ "border-color" : "red" });
	    $('#'+validateId).siblings("span").next("span").css("color","red");
	    return false;
	}
}
function ValidateWeekday(weekday,totalValue){
	powValue = Math.pow(2,weekday-1);
	if(powValue>totalValue)return false;
	powValue = Math.pow(2,weekday);
	if(powValue >totalValue)return true;
    totalValue -= powValue;
	return ValidateWeekday(weekday,totalValue);
}
function VLDThroughday(datefromId,ddepdate,dretdate,detailId){
    $('#val_'+detailId).children('span').css("color","black");
    depdate = ConvertDate(oa(datefromId));
    retdate = ConvertDate(oa(datefromId.replace('From','To')));
    minthu = $('#'+datefromId.replace('From','To')).attr('minthu');
    powdep = Math.pow(2,ddepdate-1);
    powret = Math.pow(2,dretdate-1);
    if(daysElapsed(retdate,depdate)>=7||minthu==0||powdep==minthu||powret==minthu)return true;
    if(ddepdate<dretdate){
        if(powdep<minthu&&powret>minthu)return true;
    }else if(ddepdate>dretdate){
        if(powret>minthu||powdep<minthu)return true;
    }
    $('#val_'+detailId).children('span').css("color","red");
    return false;
}
function LFSelectStyle(selected){
    $(selected).parent().parent().attr("class","selected_row_bg");
    $(selected).parent().parent().siblings("tr").attr("class","");
}
/*--------------Fare List Departure End----------------*/
function SearchFareList(pageIndex, pageSize, sort, isAsc, clsLD) {
    CM();
    if (!clsLD) { sld("c-westfare"); }
    var params = "";
    params = getParams('fare_result', 'Fare_');
    if (!IsEmpty(pageIndex)) { params += "&page=" + pageIndex; }
    if (!IsEmpty(pageSize)) { params += "&size=" + pageSize; }
    if (!IsEmpty(sort)) { params += "&sort=" + sort; }
    if (!IsEmpty(isAsc)) { params += "&asc=" + (isAsc ? "Y" : "N"); }
    if($('#fr_season').attr('checked')){
        params+='&season=1';
    }
    if($('#ck-summary').attr('checked')){
        params+='&show-summary=1';
    }
    a("fare_result", SerUrl + "Callback/Air/Fares.aspx", "type=1" + params, "get", EndSerchFare, true);
}
function EndSerchFare(str, objId) {
    CloseMsgBox();
    ValidateSession(str);
    o(objId).innerHTML = str;
    o(objId).style.display = 'none';
    $('#' + objId).fadeIn();
    show_result_info(false);
    GetCommission();
}
/*--------------Fare List Departure End----------------*/


function RegCityControl(conId, keydownEvent,width) {
    if (o(conId) == null)
        return;
    new SuggestFromJS(conId, null, c, C, 10, keydownEvent, '/', true, null, null, width);
} 
function RegCityControlDom(conId, keydownEvent, width) {
    if (o(conId) == null)
        return;
    new SuggestFromJS(conId, null, dc, DC, 10, keydownEvent, '/', true, null, null, width);
}

/*--------------------  Control city to mutil-language by js ---------------------------*/
function AirInfHandle(){
   if($('#detail_contont').html()==null) return;
    $('#detail_contont td').each(function(){
        if($(this).attr('class').indexOf('city')>=0){
            $(this).html(CheckAirInf(getAirInfName($(this).html(),c),$(this).html()));
        }               
    });
    $('.multi-lan-air').html(CheckAirInf(getAirInfName($('.multi-lan-air').html(),airL),$('.multi-lan-air').html()));
}
function CheckAirInf(mutiValue,oriValue){
    return mutiValue==''?oriValue:mutiValue;
}
function getAirInfName(code,ds)
{
    return getCityName(code,ds);
}
/*--------------------End control city to mutil-language by js ---------------------------*/
$(document).ready(function () { window.setTimeout("getMsgCount()", 3000); Init(); });
function GetFareTax(ojbId,did,airline,dst,via)
{
    o(ojbId).innerHTML=hloading;
    a(ojbId, SerUrl + "Callback/Air/FareTax.aspx", "type=1&airline="+airline+"&did="+did+"&dst="+oa('sel-airport')+"&via="+via+"&da="+oa('sel-airport'), "get", EndGetFareTax, true);
}
function EndGetFareTax(rs,objId,args)
{
    o(objId).innerHTML=rs;
    ValidateSession(rs);
    o(objId).style.display='none';
    $('#'+objId).fadeIn();
}
function show_atts(obj,fid)
{
    hideSelectBox = false;
    var height = 17;// $('#'+obj_id).height()==0?30:$('#'+obj_id).height()+3;
    var ofs=$(obj).offset();
    var left=ofs.left;
    var top=ofs.top+height;
	if(GetBrowser().indexOf("MSIE")>=0&&(GetBrowser().indexOf("6.0")>=0||GetBrowser().indexOf("7.0")>=0))
	{
        top=top+2;
        left=left+3;
	}
	else if(GetBrowser().indexOf("Firefox")>=0)
    {
        left=left-1;
	}
    CM();
    ShowDiv("<div id='fare_info' onmouseout='' style='text-align:left;'>&nbsp;&nbsp;"+sloading+"Loading fare attachments...&nbsp;&nbsp;</div>",0,0,"#CEDCEB","SHADOW",left,top);
    if(GetBrowser().indexOf("MSIE")>=0&&GetBrowser().indexOf("6.0")>=0)
	{
        var dvId = GetMoreFareId();
        if(hideSelectBox&&o(dvId)!=null)    
        {
            $('#'+ dvId + ' select').each(function(){
                $(this).hide();
            });
        }
    }
    //a("fare_info",SerUrl+"Callback/Air/Fares.aspx","type=6&airline="+airline+"&detail_id="+detail_id,"get",end_get_fare_info,true);
    $.get(SerUrl + "Callback/Air/Attachments.aspx", { type: 1, FareId: fid, r: Math.random() }, function(result) {
        ValidateSession(result);
        $('#fare_info').html(result);
        //obj.style.border='1px solid black';
        document.onclick=function(){
            CM();
            //document.onmouseover=null;    
        }
    });
}
function hide_atts()
{
    
}
function show_summary(isMain,obj)
{
    $('span[title="Summary'+(isMain?'':' Sub')+'"]').each(function(){$(this).attr('for-all','1');$(this).click();});
}

function radioChecked(obj)
{
    if(obj==null) return;
    $(obj).prev(':radio').attr("checked",!$(obj).prev(':radio').checked);
}

function GetGDSTerms(isLowestPage, did, fareType)
{
    var param_ext = "&did=" + did + "&fareType=" + fareType + (isLowestPage ? "&isLowestPage=1" : "");
    CommonCall("Callback/Air/Fares.aspx",9,'dv_terms_used','dv_terms_used','','',param_ext,'text');
}
/*--Flight Schedule--*/
function FlightScheduleSearch(filterByAirline,pageIndex,pageSize,sort,isAsc,isDep,isRefresh)
{
    var param;
    if(isDep==null)isDep=true;
    if(!IsEmpty(pageIndex))
    {
        var dvId=isDep?"dv_departuredata":"dv_returndata";
        sld('fs_content');
        param="Callback/Air/FlightSchedule.aspx?type=1&page="+pageIndex+"&size="+pageSize+"&sort="+sort+"&asc="+isAsc+"&IsDepart="+(isDep?"1":"0")+'&is-refresh='+(isRefresh?'1':'0');
        $.get(SerUrl + param, null, function(result) {
            if (!ValidateSession(result)) return;
            CloseMsgBox();
            $('#'+dvId).html(result);
            GetAirlineNames(isDep);
            MultiLanguageForJs();
        });
    }
    else{
        if(!ValidateDataInput())
            return;
        sld();
        window.location=SerUrl+"Air/FlightSchedule.aspx?"+GetParameter(filterByAirline)+param;
    }
}
function saFlight(airline,isfilterairline)
{
    o("txtAirline").value=airline;
    FlightScheduleSearch(isfilterairline);
}
function GetExportText(filterByAirline,isDepart)
{
    var tripFlag=(isDepart?'departure':'return');
    var pageIndex=$(('#dv_'+tripFlag+'data')).find('span[class="current"]').html();
    var pageSize=$('#sPageSize_'+tripFlag).val();
    sld('content');
    window.location=SerUrl+"Air/FlightSchedule.aspx?"+GetParameter(1).replace('do_search_air=1&','')+"&isText=1&isDepart="+isDepart+'&size='+pageSize+'&page='+pageIndex;
}
function RefreshSchedule(isDepart,sender)
{
    var tripFlag=(isDepart?'departure':'return');
    //var pageIndex=$(('#dv_'+tripFlag+'data')).find('span[class="current"]').html();
    var pageSize=$('#sPageSize_'+tripFlag).val();
    FlightScheduleSearch(false,1,pageSize,null,null,isDepart,true);
}
var FlightSchWidth;
function FlightSchedulePrint(id,print)
{
    function display(enable)
    {
        if(o('imgFlightADLogo')==null&&o('imgReturnADLogo')==null)return;
        if(enable)
        {
            if(o('imgFlightADLogo')==null)
                o('imgFlightADLogo').style.display='';
            if(o('imgReturnADLogo')==null)
                o('imgReturnADLogo').style.display='';
            if($.browser.msie&&$.browser.version!='8.0'){
               var width=Browser.isIE?($.browser.version=='8.0'?'870':'700px'):'850px';
               FlightSchWidth=$('#'+id).css('width');
               if(Browser.isIE)$('#'+id).width(width);
            }
        }
        else
        {
            if(o('imgFlightADLogo')==null)
                o('imgFlightADLogo').style.display='none';
            if(o('imgReturnADLogo')==null)
                o('imgReturnADLogo').style.display='none';
            if($.browser.msie&&$.browser.version!='8.0'){
                $('#'+id).css('width',FlightSchWidth);
            }
        }
    }
    if(o('dv-flight-logo').style.display==''||o('dv-return-logo').style.display=='')
    {
        if(print==null)
        {PrintPage("FlightSchedulePrint('"+id+"','S');","FlightSchedulePrint('"+id+"','E');");}
        else if(print=="S"){display(true);}
        else if(print=="E"){display(false);}
    }
}
window.setTimeout('GetFlightScheduleLogo()',500);

function GetFlightScheduleLogo()
{
    if(o('DepartureData')!=null)
    {
        if(o('DepartureData').style.display!='none'){
            o('dv-flight-logo').style.display='';
        }else{
            o('dv-return-logo').style.display='';
        }
    }
}

/*end*/

function RefreshByLowShoulderSeason(){
    var $options=$('div[id^="moredv_"]');
    if($options.length==0){
        SearchFareList(1,20,'',true);
    }
    else{
        $options.each(function(){if($(this).css('display')!='none'){$('#'+this.id.replace('moredv_','mpspan_')).click().click();}});
    }
}

function FlightCopy(id){
    var ct = o(id);
    ct.select();
    document.execCommand('copy');
    CloseMsgBox();
    $(document).scrollTop(oldScrollTop);
}

