﻿//控件名
var gShengId = "";
var gShiId = "";
var gHotelListId = "";
var gCommenceId = "";
var gSearchType = "3";

//Ajax是建立在XMLHttp组件下的技术，本例详细语法参考压缩包内xmlhttp手册
var _xmlHttp;
//建立XMLHTTP对象调用MS的ActiveXObject方法，如果成功（IE浏览器）则使用MS ActiveX实例化创建一个XMLHTTP对象 非IE则转用建立一个本地Javascript对象的XMLHttp对象 （此方法确保不同浏览器下对AJAX的支持）
function createXMLHttp() {
    if (window.ActiveXObject) {
        _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        _xmlHttp = new XMLHttpRequest();
    }
}

//建立选择市后的全部酒店
function startXMLHttp_gethotel() {
    if (document.getElementById(gShengId).value != "") {
        createXMLHttp(); //建立_xmlHttp 对象
        _xmlHttp.onreadystatechange = gethotel; //_xmlHttp下的onreadystatechange方法 控制传送过程
        _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?t=0&cf=hotelSelect&p=" + document.getElementById(gShengId).value + "&c=" + document.getElementById(gShiId).value, true); //传送方式 读取的页面 异步与否
        _xmlHttp.send(); //发送
    }
}

//建立选择市后的全部酒店
function startXMLHttp_gethotelAAA() {
    if (document.getElementById(gShengId).value != "") 
    {
        
       onShow();
        
        createXMLHttp(); //建立_xmlHttp 对象
        _xmlHttp.onreadystatechange = gethotelAAA; //_xmlHttp下的onreadystatechange方法 控制传送过程
        _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?t=2&cf=hotelSelect&p=" + document.getElementById(gShengId).value + "&c=" + document.getElementById(gShiId).value, true); //传送方式 读取的页面 异步与否
        _xmlHttp.send(); //发送
        
      
        
    }
}

//建立选择市后的全部酒店
function startXMLHttp_gethotelOld() {
    if (document.getElementById(gShengId).value != "") {
        createXMLHttp(); //建立_xmlHttp 对象
        _xmlHttp.onreadystatechange = gethotel; //_xmlHttp下的onreadystatechange方法 控制传送过程
        _xmlHttp.open("get", "/ajax/ajax_search.aspx?ret=0&t=0&p=" + document.getElementById("sheng").value + "&c=" + document.getElementById("shi").value, true); //传送方式 读取的页面 异步与否
        _xmlHttp.send(); //发送
    }
}

function gethotel() {
    if (_xmlHttp.readystate == 4) { // _xmlHttp下的readystate方法 4表示传送完毕
        if (_xmlHttp.status == 200) { // _xmlHttp的status方法读取状态（服务器HTTP状态码） 200对应OK 404对应Not Found（未找到）等
            nocheck();
            document.getElementById("allhotelselect").style.display = "none";
            document.getElementById("showhotelselect").innerHTML = _xmlHttp.responseText;
            
            //document.getElementById("myText").selectBoxOptions = ;
        }
        else {
            alert("抱歉，数据传输错误！");
        }
    }
}

function gethotelAAA() {
    if (_xmlHttp.readystate == 4) { // _xmlHttp下的readystate方法 4表示传送完毕
        if (_xmlHttp.status == 200) { // _xmlHttp的status方法读取状态（服务器HTTP状态码） 200对应OK 404对应Not Found（未找到）等
            nocheck();
            //document.getElementById("allhotelselect").style.display = "none";
            //document.getElementById("showhotelselect").innerHTML = _xmlHttp.responseText;  
            
            onUnShow();
            
            var sbo = document.getElementById("selectBoxOptions");   
            sbo.value = _xmlHttp.responseText.substring(0,_xmlHttp.responseText.length-1);            
            var oo = document.getElementById("selectBoxOptions0");        
            if(oo!=null)
            {              
                var childs = oo.childNodes;
                for(var i=childs.length-1; i>=0; i--)
                {
                    if(childs[i].className == "selectBoxAnOption" )
                        oo.removeChild(childs[i]);
                }
            }
            createEditableSelect(document.getElementById("myText"));
        }
        else 
        {
            alert("抱歉，数据传输错误！");
        }
    }
}

//建立选择市后的全部酒店
function startXMLHttp_gethotelBBB() {
    if (document.getElementById(gShengId).value != "") {
        //onShow();
        createXMLHttp(); //建立_xmlHttp 对象
        _xmlHttp.onreadystatechange = gethotelBBB; //_xmlHttp下的onreadystatechange方法 控制传送过程
        _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?t=" + gSearchType + "&cf=hotelSelect&p=" + document.getElementById(gShengId).value + "&c=" + document.getElementById(gShiId).value, true); //传送方式 读取的页面 异步与否
        _xmlHttp.send(); //发送
    }
}

function gethotelBBB() {
    if (_xmlHttp.readystate == 4) { // _xmlHttp下的readystate方法 4表示传送完毕
        if (_xmlHttp.status == 200) { // _xmlHttp的status方法读取状态（服务器HTTP状态码） 200对应OK 404对应Not Found（未找到）等
            nocheck();
            //onUnShow();
            setSelectList();
                        
        }
        else {
            alert("抱歉，数据传输错误！");
        }
    }
}

function showSelectList() {    
    var sl = document.getElementById("selList");
    if (sl) {
        sl.style.zIndex = 9999;
        sl.style.display = "";
    }
}

function closeSelectList() {
    var sl = document.getElementById("selList");
    if (sl) {
        sl.style.display = "none";
        sl.style.zIndex = 0;
    }
}

function selBodyClick() {
    var oo = window.event.srcElement;
    if (oo.id != "selImg" && oo.id != "selInput" && oo.id != "selTbl") {
        if(oo.tagName == "TR"&&oo.className=="selRow") return;
        if (oo.tagName == "TD" && oo.parentNode.className == "selRow") return;
        closeSelectList();
    }
}

function initCustomSelect() {    
    var ipt = document.getElementById("selInput");
    if (ipt)
        ipt.onclick = showSelectList;
    var img = document.getElementById("selImg");
    if (img)
        img.onclick = showSelectList;
    if (document.all) {
        document.body.attachEvent("onclick", selBodyClick);
    }
    else {
        document.body.addEventListener("onclick", selBodyClick,false);
    }
    document.getElementById("selList").style.display = "none";
}

function clearSelectList() {
    var sl = document.getElementById("selList");
    if (sl)
        sl.innerHTML = "";
}

function selectRowOver(r) {
    r.className = "focus";
}

function selectRowMove(r) {
    r.className = "";
}
function selectRowClick(r) {    
    var ipt = document.getElementById("selInput");
    if (ipt) {
        
        var expr = new Array();
        for (var i = 0; i < r.cells; i++) {
            expr.push(r.cells[i].innerHTML);
        }
        ipt.value = expr.join("  ");
    }
   
    closeSelectList();
 
    var url = "";
    if (document.all && r.url) {//ie
        url = r.url;
         
    }
    else {
        url = r.attributes["url"].nodeValue;
       
    }
    if (url) {
        window.location = url;
    }
}

function setSelectList() {
    var sl = document.getElementById("selList");
    if (sl) {
        sl.innerHTML = _xmlHttp.responseText;
        var tbl = document.getElementById("selTbl");
        if (tbl) {
            for (var i = 0; i < tbl.rows.length; i++) {
                var row = tbl.rows[i];
                //row.onmouseover = function() { row.className = "focus"; };
                //row.onmouseout = function() { row.className = ""; };
                row.onclick = function() { selectRowClick(row); };
            }
        }
    }
}

//建立选择省市后的酒店位置
function startXMLHttp_getporztion(id) {    
    createXMLHttp(); //建立_xmlHttp 对象
    _xmlHttp.onreadystatechange = getporztion; //_xmlHttp下的onreadystatechange方法 控制传送过程
    _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?ba=" + id + "&t=1&cf=commenceSelect&p=" + document.getElementById(gShengId).value + "&c=" + document.getElementById(gShiId).value, true); //传送方式 读取的页面 异步与否
    _xmlHttp.send(); //发送
}

function startXMLHttp_getxzq() {
    onShow();
    createXMLHttp(); //建立_xmlHttp 对象
    _xmlHttp.onreadystatechange = getporztion; //_xmlHttp下的onreadystatechange方法 控制传送过程
    _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?ba=2&t=1&width=90&p=" + document.getElementById(gShengId).value + "&c=" + document.getElementById(gShiId).value, true); //传送方式 读取的页面 异步与否
    _xmlHttp.send(); //发送
}

//建立选择省市后的酒店位置
function startXMLHttp_getporztionOld(id) {

    createXMLHttp(); //建立_xmlHttp 对象
    _xmlHttp.onreadystatechange = getporztion; //_xmlHttp下的onreadystatechange方法 控制传送过程
    _xmlHttp.open("get", "/ajax/ajax_search.aspx?ba=" + id + "&t=1&p=" + document.getElementById("sheng").value + "&c=" + document.getElementById("shi").value, true); //传送方式 读取的页面 异步与否
    _xmlHttp.send(); //发送

}

function getporztion() {
    if (_xmlHttp.readystate == 4) { // _xmlHttp下的readystate方法 4表示传送完毕
        if (_xmlHttp.status == 200) { // _xmlHttp的status方法读取状态（服务器HTTP状态码） 200对应OK 404对应Not Found（未找到）等
            onUnShow();
            document.getElementById("vj").style.display = "none";
            document.getElementById("showdiquselect").innerHTML = _xmlHttp.responseText //_xmlHttp的responseText方法 得到读取页数据
        }
        else {
            alert("抱歉，数据传输错误！");
        }
    }
}

//建立选择省市后的酒店位置
function startXMLHttp_getporztion2(id, sheng, shi) {
    createXMLHttp(); //建立_xmlHttp 对象
    _xmlHttp.onreadystatechange = getporztion2; //_xmlHttp下的onreadystatechange方法 控制传送过程
    _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?c=" + shi + "&a=" + id + "&p=" + sheng , true); //传送方式 读取的页面 异步与否
    _xmlHttp.send(); //发送
}
function getporztion2() {
    if (_xmlHttp.readystate == 4) { // _xmlHttp下的readystate方法 4表示传送完毕
        if (_xmlHttp.status == 200) { // _xmlHttp的status方法读取状态（服务器HTTP状态码） 200对应OK 404对应Not Found（未找到）等			
            document.getElementById("vj").style.display = "none";
            document.getElementById("showsearch_diqu").innerHTML = _xmlHttp.responseText
        }
        else {
            alert("抱歉，数据传输错误！");
        }
    }
}

//建立选择省市后的酒店位置
function startXMLHttp_getporztion22(id, sheng, shi) {
    createXMLHttp(); //建立_xmlHttp 对象
    _xmlHttp.onreadystatechange = getporztion22; //_xmlHttp下的onreadystatechange方法 控制传送过程
    _xmlHttp.open("get", gAbsUrl + "ajax/ajax_search.aspx?c=" + shi + "&a=" + id + "&p=" + sheng + "", true); //传送方式 读取的页面 异步与否
    _xmlHttp.send(); //发送
}
function getporztion22() {
    if (_xmlHttp.readystate == 4) { // _xmlHttp下的readystate方法 4表示传送完毕
        if (_xmlHttp.status == 200) { // _xmlHttp的status方法读取状态（服务器HTTP状态码） 200对应OK 404对应Not Found（未找到）等			
            document.getElementById("vj").style.display = "none";
            document.getElementById("showsearch_diqu").innerHTML = _xmlHttp.responseText
        }
        else {
            alert("抱歉，数据传输错误！");
        }
    }
}


function nocheck() {
    var diqus = document.getElementsByName("diqu");
    for (var i = 0; i < diqus.length; i++) {
        if (diqus[i].checked) {
            diqus[i].checked = false;
            return;
        }
    }
}

/**********************************************************/
function initLocal(sheng, shi, sValue1, sValue2) {
    if (typeof sheng == "string") {
        gShengId = sheng;
        sheng = document.getElementById(sheng);
    }
    else if (sheng != null)
        gShengId = sheng.id;
    if (typeof shi == "string") {
        gShiId = shi;
        shi = document.getElementById(shi);
    }
    else if (shi != null)
        gShiId = shi.id;
    
    var arrSelect1, arrSelect2;
    var arrData1, arrData2;
    if (sheng != undefined && shi != undefined) {
        with (shi) {
            arrSelect2 = (arrText[0].select2).split(",");
            length = arrSelect2.length;
            for (i = 0; i < length; i++) {
                arrData2 = arrSelect2[i].split(":");
                options[i].text = arrData2[0];
                options[i].value = arrData2[1];
            }
        }
        with (sheng) {
            length = arrText.length;
            for (i = 0; i < arrText.length; i++) {
                arrSelect1 = arrText[i].select1;
                arrData1 = arrSelect1.split(":");
                options[i].text = arrData1[0];
                options[i].value = arrData1[1];
                if (arrData1[1] == sValue1) {
                    options[i].selected = true;
                    localSelect("", sValue2);
                }
            }
        }
    }
}

//if (document.all) {
//    document.body.attachEvent("onload", initCustomSelect);
//}
//else {
//    document.body.addEventListener("onload", initCustomSelect, false);
//}


function localSelect(sValue1, sValue2) {
    var eltSelect1 = document.getElementById(gShengId);
    var eltSelect2 = document.getElementById(gShiId);

    var arrSelect1, arrSelect2;
    var arrData1, arrData2;
    with (eltSelect1) {
        var strSelect = options[selectedIndex].value;
    }
    for (i = 0; i < arrText.length; i++) {
        arrSelect1 = arrText[i].select1;
        arrData1 = arrSelect1.split(":");
        if (arrData1[1] == strSelect) {
            arrSelect2 = (arrText[i].select2).split(",");
            for (j = 0; j < arrSelect2.length; j++) {
                arrData2 = arrSelect2[j].split(":");
                with (eltSelect2) {
                    length = arrSelect2.length;
                    options[j].text = arrData2[0];
                    options[j].value = arrData2[1];
                    if (arrData2[1] == sValue2) {
                        options[j].selected = true;
                    }
                }
            }
            break;
        }
    }        
    //startXMLHttp_gethotel();
    startXMLHttp_gethotelBBB();
}

function localSideSelect(sValue1, sValue2) {
    var eltSelect1 = document.getElementById(gShengId);
    var eltSelect2 = document.getElementById(gShiId);

    var arrSelect1, arrSelect2;
    var arrData1, arrData2;
    with (eltSelect1) {
        var strSelect = options[selectedIndex].value;
    }
    for (i = 0; i < arrText.length; i++) {
        arrSelect1 = arrText[i].select1;
        arrData1 = arrSelect1.split(":");
        if (arrData1[1] == strSelect) {
            arrSelect2 = (arrText[i].select2).split(",");
            for (j = 0; j < arrSelect2.length; j++) {
                arrData2 = arrSelect2[j].split(":");
                with (eltSelect2) {
                    length = arrSelect2.length;
                    options[j].text = arrData2[0];
                    options[j].value = arrData2[1];
                    if (arrData2[1] == sValue2) {
                        options[j].selected = true;
                    }
                }
            }
            break;
        }
    }    
    startXMLHttp_getxzq();    
}

function hotelSelect(hotel) {
    if (typeof hotel == "string")
        hotel = document.getElementById(hotel);
    if (hotel == undefined || hotel == null) return;
    window.open(hotel.options[hotel.selectedIndex].value);
}

function commenceSelect(com) {
    if (typeof com == "string")
        com = document.getElementById(com);
    if (com == undefined || com == null) return;
    document.getElementById(gCommenceId).value = hotel.options[hotel.selectedIndex].value;
}

function onShow()
{
    //document.getElementById("AjaxImg").style.display="block";
    //document.getElementById("AjaxSpan").style.display="block";
}

function onUnShow()
{
    //document.getElementById("AjaxImg").style.display="none";
    //document.getElementById("AjaxSpan").style.display="none";
}
/************************/

function initpc(p, c, pv, cv) {
    __gp = _g(p);
    __gc = _g(c);

    if (!__gp || !__gc) return;
    __gp.onchange = function() { localSelect(); }
    with (__gc) {
        var cac = ca[0].b.split(":");
        length = 1;
        options[0].text = cac[0];
        options[0].value = cac[1];
    }
    var spv = "";
    var pi = -1;
    with (__gp) {
        length = ca.length;
        for (var i = 0; i < ca.length; i++) {
            var cap = ca[i].a.split(":");
            options[i].text = cap[0];
            options[i].value = cap[1];
            if (_g(pv) && _g(pv).value == cap[1]) {
                options[i].selected = true;
                pi = i;
                spv = cap[1];
            }
        }
        if (pi < 0)
            pi = 0;
        selectedIndex = pi;
    }
    if (spv) {
        localSelect(spv, cv);
    }
}
function localSelect(pv, sv) {
    if (!__gp || !__gc) return;
    if (_g(pv)) {
        for (var i = 0; i < __gp.options.length; i++) {
            if (__gp.options[i].value == _g(pv).value) {
                __gp.options[i].selected = true;
                break;
            }
        }
    }
    if (__gp.selectedIndex < 0) return;
    var caa = ca[__gp.selectedIndex].b.split(",");
    var si = -1;
    with (__gc) {
        length = caa.length;
        for (var i = 0; i < caa.length; i++) {
            var cac = caa[i].split(":");
            options[i].text = cac[0];
            options[i].value = cac[1];
            if (_g(sv) && _g(sv).value == cac[1]) {
                options[i].selected == true;
                si = i;
            }
        }
    }
    if (si < 0)
        si = 0;
    if (__gc.options.length > 0) {
        //__gc.options[si].selected = true;
        __gc.selectedIndex = si;
    }
    //    ajax_getHotel();
}
