﻿var points = [];
var lastindex = 0;
var gMap;
var bounds;
var markers = [];
var lat = 35.86166;
var lng = 104.195397;
var gmapready = 0;
var ajaxresultcache = {};
var ajaxhotelistcache = {};
var nextZoomIsCity = false;
var last_hotel_selected = 0;
var sort_price = "default";
var sort_point = "default";
var contid_sortused = "";
var type_sortused = "";
var sortype = "price";
var customlat;
var customlng;
var customaddraction = 0;
//为了处理最低房价的刷新问题，该变量保存上一次ajax请求
var lastAjaxRequestQuery = "";
var isForCRS = (document.location.href.indexOf("crs") != -1);

var citycode;

function navclick() {
    //显示盖在上面的flash中国地图
    $("#panel_citylist").css("display", "block");
    HT$("flash_map").style.display = "block";
    $("#panel_sort").css("display", "none");
    $("#hotelist").html("");
    
    for (var i = 1; i < 4; i++) {
        $("#navblock" + i).css("display", "none");
        $("#split" + i).css("display", "none");
    }
    $("#panel_ajaxresult").css("display", "block");
    expandpanel();
    $("#place1").css("display", "block");
    $("#place2").css("display", "none");
    $("#place3").css("display", "none");
    //第一个中国样式还原
    $("#navblock0").attr("className", "navblockseleted");

    //处理最低价的刷新
    updateLastAjaxQuery("");
    return false;
}

function navcontclick(typeid, contid, contname) {
    //设置排序用到的contid
    contid_sortused = contid;
    //隐藏盖在上面的flash中国地图
    HT$("flash_map").style.display = "none";
    $("#panel_citylist").css("display", "none");
    for (var i = typeid + 1; i < 4; i++) {
        $("#navblock" + i).css("display", "none");
        $("#split" + i).css("display", "none");
    }
    
    //显示导航条
    $("#navblock" + typeid).css("display", "block");
    $("#split" + typeid).css("display", "block");//分隔符
    //隐藏此前显示的下方内容
    $("#place" + typeid).css("display", "none");
    
    $("#navblock" + typeid).attr("className", "navblockseleted");
    
    //当前navblock内容刷新
    $("#navblock" + typeid).html("<div class='link' style='display:none;'><a href='##' onclick='return navcontclick(" + typeid + "," + contid + ",\"" + contname + "\")'>" + contname + "</a></div><div class='nolink'>" + contname + "</div>");
    //前一个navblock样式还原
    $("#navblock" + parseInt(typeid - 1)).attr("className", "navblock");
    //第一个中国样式还原
    $("#navblock0").attr("className", "navblock");
    //前一个navblock内容刷新
    $("#navblock" + parseInt(typeid - 1) + ">div[class='link']").css("display", "block");
    $("#navblock" + parseInt(typeid - 1) + ">div[class='nolink']").css("display", "none");
    
    //处理ajaxcall
    //如果请求城市列表
    if (typeid == 1) {
        $("#panel_sort").css("display", "none");
        $("#hotelist").html("");
        if (gmapready == "1") {
            $("#panel_ajaxresult").css("display", "block");
            expandpanel();
            nextZoomIsCity = true;       

            if (ajaxresultcache["P_" + contid] == undefined)
                ajaxgmapresv.GetCitysByPrID(contid, GetCitys_callback);
            else {
                RefalshCitysHtml(contid);
                //标记城市点
                SetCityPoints(ajaxresultcache["P_" + contid]);

                DrawPoints();
            }
        }

        //处理最低价的刷新
        updateLastAjaxQuery("");
    }
    //如果请求商圈行政区列表
    if (typeid == 2) {
        citycode = contid; //世博提示逻辑
        $("#panel_sort").css("display", "block");
        type_sortused = "city";
        if (gmapready == "1") {
            if (ajaxresultcache["C_" + contid] == undefined)
                ajaxgmapresv.GetAreasByCID(contid, GetAreas_callback);
            else
                RefalshAreasHtml(contid);
            //通过城市code刷新酒店列表
            if (ajaxhotelistcache["HL_C_" + contid] == undefined) {
                $("#hotelist").css("display", "none");
                $("#panel_loading").css("display", "block");
                updateLastAjaxQuery("ajaxgmapresv.GetHotelsByCityCode(" + contid + ", $(\"#datepickerin\").val(), $(\"#datepickerout\").val(), sort_price, GetHotels_callback);");
                ajaxgmapresv.GetHotelsByCityCode(contid, $("#datepickerin").val(), $("#datepickerout").val(), sort_price, GetHotels_callback);
            }
            else {
                SetPoints(ajaxhotelistcache["HL_C_" + contid]);
                ReflashLeftBlocks();
                DrawPoints();
            }
                
        }
    }
    if (typeid == 3) {
        $("#panel_sort").css("display", "block");
        type_sortused = "area";
        if (gmapready == "1") {
            if (ajaxhotelistcache["HL_A_" + contid] == undefined) {
                $("#hotelist").css("display", "none");
                $("#panel_loading").css("display", "block");
                updateLastAjaxQuery("ajaxgmapresv.GetHotelsByAreaCode('" + contid + "', $(\"#datepickerin\").val(), $(\"#datepickerout\").val(), sort_price, GetHotels_callback);");
                ajaxgmapresv.GetHotelsByAreaCode(contid, $("#datepickerin").val(), $("#datepickerout").val(), sort_price, GetHotels_callback);
            }
            else {
                SetPoints(ajaxhotelistcache["HL_A_" + contid]);
                ReflashLeftBlocks();
                DrawPoints();
            }
            $("#navblock" + typeid).attr("className", "navblock");
        }
    }
    return false;
}

//处理刷新酒店列表
function GetHotels_callback(results) { 
    if (!results.error) {
        AddUpdateHLCache(results.value[0], results.value[1]);
        SetPoints(results.value[1]);
        ReflashLeftBlocks(); 
        setTimeout("DrawPoints();", 30);
    } else {
        alert(""+ results.error.Message);
    }
    $("#hotelist").css("display", "block");
    $("#panel_loading").css("display", "none");
    return false;

}

//保存点集合到全局变量
function SetPoints(results) {
    points = [];
    markers = [];
    if (results.Rows.length > 0) {
        for (var i = 0; i < results.Rows.length; i++) {
            var point = {};
            point.index = i + 1;
            point.hotelid = results.Rows[i].hotelId;
            point.hotelname = results.Rows[i].hotelName;
            point.addr = results.Rows[i].addr;
            if (results.Rows[i].geoinfo != undefined) {
                if (results.Rows[i].geoinfo.split('|').length == 2) {
                    point.lat = results.Rows[i].geoinfo.split('|')[1];
                    point.lng = results.Rows[i].geoinfo.split('|')[0];
                }
            }
            point.hotelstyle = results.Rows[i].hotelStyle;
            if (results.Rows[i].tel != undefined) {
                point.tel = results.Rows[i].tel;
            }
            point.lowestPrice = results.Rows[i].lowestPrice;
            point.commentScore = results.Rows[i].commentScore;
            point.isfull = results.Rows[i].isfull;
            if (results.Rows[i].dis != undefined) {
                point.dis = results.Rows[i].dis;
            }
            points.push(point);
        }
    }
}

//保存城市点集合到全局变量
function SetCityPoints(results) {
    points = [];
    markers = [];
    if (results.Rows.length > 0) {
        for (var i = 0; i < results.Rows.length; i++) {
            var point = {};
            point.cityCode = results.Rows[i].cityCode;
            point.cityName = results.Rows[i].cityName;
            if (results.Rows[i].geoinfo != undefined) {
                if (results.Rows[i].geoinfo.split('|').length == 2) {
                    point.lat = results.Rows[i].geoinfo.split('|')[1];
                    point.lng = results.Rows[i].geoinfo.split('|')[0];
                }
            }
            points.push(point);
        }
    }
}

function ReflashLeftBlocks() {
    setTimeout("ReflashLeftBlocks_do();", 10);
}
function ReflashLeftBlocks_do() {
    //$("#panel_sort").css("display","block");
    $("#hotelist").html("");
    var htmls = [];
    for (var i = 0; i < points.length; i++) {
        var item = points[i];
        htmls.push("<div class='blocknotseleted' id='hotelblock" + item.index + "' onclick='return lefthotelblockclick(" + item.index + ")'>");
        htmls.push("<div style='float:left;' class='blocknum'><img src='" + HTSEO_Img + "/images/gmarker_" + item.index + ".png' /></div>");
        htmls.push("<div style='float:left; width:255px; '>");
        htmls.push("<div style='float:left; '>");
        if (item.hotelstyle == "HZ")
            htmls.push("<a href='##' class='lnk' style='color:#51C7FF;'>" + item.hotelname + "</a>");
        if (item.hotelstyle == "HK")
            htmls.push("<a href='##' class='lnk' style='color:#004EA2;'>" + item.hotelname + "</a>");
        if (item.hotelstyle == "HT")
            htmls.push("<a href='##' class='lnk' style='color:#006F4F;'>" + item.hotelname + "</a>");

        htmls.push("</div>");
        htmls.push("<div style='float:right; '>");
        if (item.isfull == "True") {
            htmls.push("<img src='/0-Static/images/ico_noroom.gif' alt='已满房' />");
        }
        else {
            if (sortype == "point") {
                var score = GetPoint(item.commentScore); 
                if (score.toString().indexOf(".") == -1)
                    htmls.push(score+".0" + "分");
                else
                    htmls.push(score + "分");
            }
            else
                htmls.push(item.lowestPrice + "元起");
        }
        htmls.push("</div>");
        htmls.push("<div style='clear:both; '></div>");
        htmls.push("<div class='blockaddr'>" + item.addr + "</div></div>");
        htmls.push( "<div class='clear'></div></div>");
    }
    $("#hotelist").html(htmls.join("")); 
}

function GetPoint(point) {
    return Math.round(point * 10) / 10;
}

function lefthotelblockclick(index) {
    $("#hotelblock" + lastindex).attr("className", "blocknotseleted");
    $("#hotelblock" + index).attr("className", "blockseleted");
    lastindex = index;

    if (markers[index-1] != "nomarker") {
        var infoDetail = GetInfoHtml(points[index-1]);
        showMarkerInfoWindow(markers[index - 1], infoDetail);
    }
    return false;
}


//请求城市列表回调
function GetCitys_callback(results) {
    if (!results.error) {
        var tID = results.value[0];
        var tDtable = results.value[1];

        AddUpdateCache("P_" + tID, results.value[1]);
        RefalshCitysHtml(tID);
        //标记城市点
        SetCityPoints(results.value[1]);
        DrawPoints();
    } else {
    alert("" + results.error.Message);
    }
}

function RefalshCitysHtml(pid) {
    var htmls = [];
    var tDtable = ajaxresultcache["P_" + pid]
    for (var i = 0; i < tDtable.Rows.length; i++) {
        htmls.push("<a href='##' class='menulink' onclick='return navcontclick(2," + tDtable.Rows[i].cityCode + ",\"" + tDtable.Rows[i].cityName + "\")'>" + tDtable.Rows[i].cityName + "</a>&nbsp;");
    }
    $("#place2").html(htmls.join(""));
    $("#place1").css("display", "none");
    $("#place2").css("display", "block");
    $("#place3").css("display", "none");
}



//请求商圈列表回调 对象信息areaCode,areaName,hotelcount,polylines
function GetAreas_callback(results) {
    var cid = results.value[0];
    var dt1 = results.value[1];
    var dt2 = results.value[2];
    var cachevalue = {};
    
    if (dt1.Rows.length > 0) {
        var htmls = [];
        for (var i = 0; i < dt1.Rows.length; i++) {
            if (i % 2 == 1) {
                htmls.push("<a href='##' style='margin-right:0px;' onclick='return navcontclick(3,\"" + dt1.Rows[i].areaCode + "\",\"" + dt1.Rows[i].areaName + "\")'>" + dt1.Rows[i].areaName + "(" + dt1.Rows[i].hotelcount + ")</a>");
            }
            else {
                htmls.push("<a href='##' onclick='return navcontclick(3,\"" + dt1.Rows[i].areaCode + "\",\"" + dt1.Rows[i].areaName + "\")'>" + dt1.Rows[i].areaName + "(" + dt1.Rows[i].hotelcount + ")</a>");
            }
        }
        htmls.push("<div class='clear'></div>");
        cachevalue["SQ"] = htmls.join("");
    }

    if (dt2.Rows.length > 0) {
        var htmls = [];
//        for (var i = 0; i < dt2.Rows.length; i++) {
//            htmls.push("<a href='##' onclick='navcontclick(3,\"" + dt2.Rows[i].areaCode + "\",\"" + dt2.Rows[i].areaName + "\")'>" + dt2.Rows[i].areaName + "</a>&nbsp;");
        //        }
        htmls.push("<table style='width:100%'><tr>");
        for (var i = 0; i < dt2.Rows.length; i++) {
            htmls.push("<td><a href='##' onclick='return navcontclick(3,\"" + dt2.Rows[i].areaCode + "\",\"" + dt2.Rows[i].areaName + "\")'>" + dt2.Rows[i].areaName + "(" + dt2.Rows[i].hotelcount + ")</a></td>");
            if (i % 4 == 3) {
                htmls.push("</tr>");
            }
        }
        htmls.push("<div class='clear'></div>");
        htmls.push("</table>");
        cachevalue["XZ"] = htmls.join("");
    }


    AddUpdateCache("C_" + cid, cachevalue);
    RefalshAreasHtml(cid);
}

function RefalshAreasHtml(cid) { 
    $("#place1").css("display", "none");
    $("#place2").css("display", "none");
    $("#place3").css("display", "block");

    var cacheAreaInfo = ajaxresultcache["C_" + cid];

    if (cacheAreaInfo["SQ"] != undefined) {
        $("#shangquan").css("display", "block");
        $("#shangquaninfo").html(cacheAreaInfo["SQ"]);
    }
    else {
        $("#shangquan").css("display", "none");
    }

    if (cacheAreaInfo["XZ"] != undefined) {
        $("#xingzheng").css("display", "block");
        $("#xingzhenginfo").html(cacheAreaInfo["XZ"]);
    }
    else {
        $("#xingzheng").css("display", "none");
    }
    //如果既没商圈也没行政区
    if (cacheAreaInfo["SQ"] == undefined && cacheAreaInfo["XZ"] == undefined) {
        $("#place3").css("display", "none");
        $("#navblock2").attr("className", "navblock");
    }
}

function gmapinit() {
    if (typeof (GMap2) != "undefined") {
        gMap = new GMap2(document.getElementById("map"));
        GEvent.addListener(gMap, "load", function() {
            if (script != "") {
                script();
                HT$("flash_map").style.display = "none";
            }
        });
        gMap.addControl(new GLargeMapControl());

        bounds = new GLatLngBounds();
        gMap.setCenter(new GLatLng(lat, lng), 4);
    }
}

function DrawPoints() {
    setTimeout("DrawPoints_do();", 50);
}
function DrawPoints_do() {
    gMap.clearOverlays();
    if(customaddraction == 1)
        DrawCustomAddr();

    //重新确定中心点
    var havelatlngpoints = [];
    for (var i = 0; i < points.length; i++) {
        if (points[i].lat != undefined && points[i].lng != undefined) {
            havelatlngpoints.push(points[i]);
        }
    }
    if (havelatlngpoints.length == 1) {
        gMap.setCenter(new GLatLng(havelatlngpoints[0].lat, havelatlngpoints[0].lng), 14);
    }

    if (havelatlngpoints.length > 1) {
        var center = GetCenterLatLng(havelatlngpoints);
        gMap.setCenter(new GLatLng(center.lat, center.lng), 0);
    }
    for (var i = 0; i < points.length; i++) {
        if (points[i].lat != undefined && points[i].lng != undefined) {
            bounds.extend(new GLatLng(points[i].lat, points[i].lng));
            ShowInfo(points[i]);
        }
        else {
            markers.push("nomarker");
        }
    }
    zoomfix();
}

//确定最佳缩放比例
function zoomfix() {
    if (nextZoomIsCity) {
        if(points.length > 1)
            gMap.setZoom(Math.min(12, gMap.getBoundsZoomLevel(bounds) - 1));
        else
            gMap.setZoom(7);
    } else {
        gMap.setZoom(Math.min(12, gMap.getBoundsZoomLevel(bounds)));
    }
    gMap.setCenter(bounds.getCenter());
    bounds = new GLatLngBounds();
    nextZoomIsCity = false;
}

function ShowInfo(point) {

    var gSmallIcon = new GIcon();
    if (point.cityCode == undefined) {
        gSmallIcon.image = HTSEO_Img+"/images/gmarker_" + point.index + ".png";
        gSmallIcon.iconSize = new GSize(21, 21);
        gSmallIcon.iconAnchor = new GPoint(6, 20);
        gSmallIcon.infoWindowAnchor = new GPoint(8, 5);
    }
    else {
        gSmallIcon.image = HTSEO_Img+"/images/map_cityname_" + point.cityCode + ".png";
        gSmallIcon.iconSize = new GSize(66, 35);
        gSmallIcon.iconAnchor = new GPoint(30, 38);
        gSmallIcon.infoWindowAnchor = new GPoint(8, 5);
    }


    var marker = new GMarker(new GLatLng(point.lat, point.lng), { icon: gSmallIcon });
    GEvent.addListener(marker, "infowindowopen", function() {
        showroominfo();
    });

    markers.push(marker);
    gMap.addOverlay(marker);

    if (point.cityCode == undefined) {
        GEvent.bind(marker, 'click', this, function() {
            var infoDetail = GetInfoHtml(point);
            showMarkerInfoWindow(marker, infoDetail);
        });
    }
    else {
        GEvent.bind(marker, 'click', this, function() {
            navcontclick(2, point.cityCode, point.cityName);
        });
    }
}
function showMarkerInfoWindow(amarker, ahtml) {
    if (checkdate()) {
        amarker.openInfoWindow(ahtml);
        setTimeout("getPrice_call();", 400);
    }
}

function showroominfo() {
    if (ajaxroominforesult != "") {
        getPrice_callback(ajaxroominforesult);
        ajaxroominforesult = "";
    }
}

var getPrice_call_param = {};
//拼接infowindow显示内容
function GetInfoHtml(point) {
    var color;
    switch (point.hotelstyle) {
        case "HZ":
            color = "#51C7FF";
            break;
        case "HK":
            color = "#004EA2";
            break;
        case "HT":
            color = "#006F4F";
            break;
    }
    if (isForCRS) {
        var html = "<ul>"
             + "<li ><span style='color:" + color + "; font-size:14px; font-weight:bold;'>" + point.hotelname + "</span>&nbsp;&nbsp;"
             + "<a href='resv:" + point.hotelid + "'><img src='/0-Static/images/btn_resv_50.gif' align='absmiddle'/></a>&nbsp;&nbsp;</li>"
             + "<li>地址：" + point.addr + "</li>"
             + "<li>电话：" + point.tel + "</li>"
             + "<li>详情：<a target='_blank'  href='../hotelinfo/hotel_detail.aspx?hotelid=" + point.hotelid + "&startdate=" + $("#datepickerin").val() + "&enddate=" + $("#datepickerout").val() + "'>查看详情</a>&raquo;</li>"
             + "</ul>"
             + "<div id='roomprice" + point.hotelid + "' style='width:420px;  overflow:auto;'><img src='/0-Static/images/loading.gif' align='absmiddle'/> 加载房型 ...</div>";
    } else {
        var html = "<ul>"
             + "<li ><span style='color:" + color + "; font-size:14px; font-weight:bold;'>" + point.hotelname + "</span>&nbsp;&nbsp;&nbsp;"
             + "<a target='_blank'  href='../hotelinfo/hotel_detail.aspx?hotelid=" + point.hotelid + "&startdate=" + $("#datepickerin").val() + "&enddate=" + $("#datepickerout").val() + "'>查看详情</a>&raquo;</li>"
             + "<li>地址：" + point.addr + "</li>"
              + "<li>电话：" + point.tel + "</li>"
             + "</ul><div id='roomprice" + point.hotelid + "' style='width:420px;  overflow:auto;'><img src='/0-Static/images/loading.gif' align='absmiddle'/> 加载房型 ...</div>";
    }
    getPrice_call_param = { hotelid: point.hotelid, startdate: $("#datepickerin").val(), enddate: $("#datepickerout").val() }; 
    return html;
}
function getPrice_call() {
    getPrice(getPrice_call_param);
}
function getPrice(params) {
    last_hotel_selected = params.hotelid;
    if (isForCRS) {
        $.get("/hotelinfo/ajax_hotel_room.aspx?crs=1&r=" + Math.random(), params, getPrice_callback);
    } else {
        $.get("/hotelinfo/ajax_hotel_room.aspx?r=" + Math.random(), params, getPrice_callback);
    }
}
var ajaxroominforesult = "";
function getPrice_callback(data) {
    ajaxroominforesult = data;
    var hotelid = data.split('|')[0];
    if (last_hotel_selected == hotelid) {
        $("#roomprice" + hotelid).html(data.split('|')[1]);
        gMap.updateInfoWindow();
    }
}

function GetCenterLatLng(apoints) {
    var lat_max = apoints[0].lat;
    var lat_min = apoints[0].lat;
    var lng_max = apoints[0].lng;
    var lng_min = apoints[0].lng;
    for (var i = 0; i < apoints.length; i++) {
        var point = apoints[i];
        lat_max = Math.max(lat_max, point.lat);
        lat_min = Math.min(lat_min, point.lat);
        lng_max = Math.max(lng_max, point.lng);
        lng_min = Math.min(lng_min, point.lng);
    }
    return { lat: lat_min + (lat_max - lat_min) / 2, lng: lng_min + (lng_max - lng_min) / 2 };
}

$(function() {
    if (script == "")
        HT$("flash_map").style.display = "block";
    //gmapapi加载结束
    gmapready = 1;
    gmapinit();
    $("#action").data("flag", "0");
    $("#action").click(function() {
        //alert($(this).attr("flag"));
        if ($(this).data("flag") == "0") {
            dexpandpanel();
        }
        else {
            expandpanel();
        }
    });

  
});

function expandpanel() {
    $("#action").css("backgroundImage", "url('/0-Static/images/dexpand.gif')");
    $("#panel_ajaxresult").css("display", "block");
    $("#action").data("flag", "0");
}

function dexpandpanel() {
    $("#action").css("backgroundImage", "url('/0-Static/images/expand.gif')");
    $("#panel_ajaxresult").css("display", "none");
    $("#action").data("flag", "1");
}

function checkdate() {
    if (CheckDate("datepickerin", "datepickerout")=="") {
        $("#datepickerin").removeHtip();
        expo_check(citycode, $("#datepickerin").val(), $("#datepickerout").val());
        return true;
    }
    else {
        $("#datepickerin").removeHtip();
        $("#datepickerin").showHtip("bottom", null, CheckDate("datepickerin", "datepickerout"), { left: -2, top: 2 });
        expo_check(citycode, $("#datepickerin").val(), $("#datepickerout").val());
        return false;
    }
}

function AddUpdateCache(key, value) {
    ajaxresultcache[key] = value;
}

function AddUpdateHLCache(key, value) {
    ajaxhotelistcache[key] = value;
}

function FlashMapSelected(apID) {
    HT$("flash_map").style.display = "none";
    ajaxgmapresv.GetPrName(apID, FlashMapSelected_callback);
}

function FlashMapSelected_callback(results) {
    eval(results.value);
}

function CloseInfoWindow() {
    //    if (markers[lastindex - 1] != undefined)
    //        markers[lastindex - 1].closeInfoWindow();
    if (gMap != undefined)
        gMap.closeInfoWindow();
}

function GetHotelListSortByPrice(obj) {
    $("#hotelist").html("");
    if ($(obj).attr("className") == "sort inactive") {
        if ($(obj).html() == "按价格从高到低") {
            sort_price = "lowestPrice DESC";
        }
        else {
            sort_price = "lowestPrice";
        }
    }
    else {
        if ($(obj).html() == "按价格从高到低") {
            $(obj).html("按价格从低到高");
            sort_price = "lowestPrice";
        }
        else {
            $(obj).html("按价格从高到低");
            sort_price = "lowestPrice DESC";
        }
    }
    $(obj).attr("className", "sort active");
    $("#a_sort_point").attr("className", "sort inactive");
    sortype = "price";
    $("#panel_loading").css("display", "block");
    $("#hotelist").css("display", "none");
    if (type_sortused == "city") {
        $("#hotelist").css("display", "none");
        $("#panel_loading").css("display", "block");
        updateLastAjaxQuery("ajaxgmapresv.GetHotelsByCityCode(contid_sortused, $(\"#datepickerin\").val(), $(\"#datepickerout\").val(), sort_price, GetHotels_callback);");
        ajaxgmapresv.GetHotelsByCityCode(contid_sortused, $("#datepickerin").val(), $("#datepickerout").val(), sort_price, GetHotels_callback);
    }
    else {
        $("#hotelist").css("display", "none");
        $("#panel_loading").css("display", "block");
        updateLastAjaxQuery("ajaxgmapresv.GetHotelsByAreaCode(contid_sortused, $(\"#datepickerin\").val(), $(\"#datepickerout\").val(), sort_price, GetHotels_callback);");
        ajaxgmapresv.GetHotelsByAreaCode(contid_sortused, $("#datepickerin").val(), $("#datepickerout").val(), sort_price, GetHotels_callback);
    }
    }

function GetHotelListSortByPoint(obj) {
    $("#hotelist").html("");
    if ($(obj).attr("className") == "sort inactive") {
        if ($(obj).html() == "按评分从高到低") {
            sort_point = "commentScore DESC";
        }
        else {
            sort_point = "commentScore";
        }
    }
    else {
        if ($(obj).html() == "按评分从高到低") {
            $(obj).html("按评分从低到高");
            sort_point = "commentScore";
        }
        else {
            $(obj).html("按评分从高到低");
            sort_point = "commentScore DESC";
        }
    }
    $(obj).attr("className", "sort active");
    $("#a_sort_price").attr("className", "sort inactive");
    sortype = "point";
    $("#panel_loading").css("display", "block");
    $("#hotelist").css("display", "none");

    if (type_sortused == "city") {
        $("#hotelist").css("display", "none");
        $("#panel_loading").css("display", "block");
        updateLastAjaxQuery("ajaxgmapresv.GetHotelsByCityCode(contid_sortused, $(\"#datepickerin\").val(), $(\"#datepickerout\").val(), sort_point, GetHotels_callback);");
        ajaxgmapresv.GetHotelsByCityCode(contid_sortused, $("#datepickerin").val(), $("#datepickerout").val(), sort_point, GetHotels_callback);
    }
    else {
        $("#hotelist").css("display", "none");
        $("#panel_loading").css("display", "block");
        updateLastAjaxQuery("ajaxgmapresv.GetHotelsByAreaCode(contid_sortused, $(\"#datepickerin\").val(), $(\"#datepickerout\").val(), sort_point, GetHotels_callback);");
        ajaxgmapresv.GetHotelsByAreaCode(contid_sortused, $("#datepickerin").val(), $("#datepickerout").val(), sort_point, GetHotels_callback);
    }
}

function ToMapNav() {
    $("#panel1").css("display", "block");
    $("#panel_hotelist2").css("display", "none");
    HT$("flash_map").style.display = "block";
    customaddraction = 0;
    navclick();
}

function SearchHotelistByZB() {
    customaddraction = 1;
    GetZBByAddr($("#ipt_addr").val());
    $("#panel1").css("display", "none");
    $("#panel_hotelist2").css("display", "block");
    $("#sp_addr").html($("#ipt_addr").val());

}

//根据地址返回坐标
function GetZBByAddr(addr) {
    var point = {};
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(addr, function(point) {
        //如果该地址得不到正确的坐标,则设置为中国坐标
        if (!point) {
            alert("无法定位地址，请重新输入");
        }
        else {
            customlat = point.x;
            customlng = point.y;
            ajaxgmapresv.GetHotelsByZB(point.y.toString(), point.x.toString(), GetHotelsByZB_callback);
        }
    });
}

function GetHotelsByZB_callback(result) {
    if (!result.error) {
        if (result.value.Rows == 0) {
            $("#hotelist2").html("该地点周围没有汉庭酒店");
        }
        else {
            SetPoints(result.value);
            ReflashLeftBlocks2();
            DrawPoints();

        }
    } else {
    alert("" + result.error.Message);
    }
    return false;
}

function ReflashLeftBlocks2() {
    setTimeout("ReflashLeftBlocks_do2();", 10);
}
function ReflashLeftBlocks_do2() {
    var htmls = [];
    for (var i = 0; i < points.length; i++) {
        var item = points[i];
        htmls.push("<div class='blocknotseleted' id='hotelblock" + item.index + "' onclick='return lefthotelblockclick(" + item.index + ")'>");
        htmls.push("<div style='float:left;' class='blocknum'><img src='" + HTSEO_Img + "/images/gmarker_" + item.index + ".png' /></div>");
        htmls.push("<div style='float:left; width:255px; '>");
        htmls.push("<div style='float:left; '>");
        if (item.hotelstyle == "HZ")
            htmls.push("<a href='##' class='lnk' style='color:#51C7FF;'>" + item.hotelname + "</a>");
        if (item.hotelstyle == "HK")
            htmls.push("<a href='##' class='lnk' style='color:#004EA2;'>" + item.hotelname + "</a>");
        if (item.hotelstyle == "HT")
            htmls.push("<a href='##' class='lnk' style='color:#006F4F;'>" + item.hotelname + "</a>");

        htmls.push("</div>");
        htmls.push("<div style='float:right; '>");
        if (item.dis>1000)
            htmls.push(item.dis / 1000 + "km");
        else
            htmls.push(item.dis + "m");
        htmls.push("</div>");
        htmls.push("<div style='clear:both; '></div>");
        htmls.push("<p class='blockaddr'>" + item.addr + "</p></div>");
        htmls.push("<div class='clear'></div></div>");
    }
    $("#hotelist2").html(htmls.join(""));
    HT$("flash_map").style.display = "none";

}

function DrawCustomAddr() {
    var marker = new GMarker(new GLatLng(customlng, customlat));
    gMap.addOverlay(marker);
    showMarkerInfoWindow(marker, $("#ipt_addr").val());
}


$(window).unload(function() {
    try {
        GUnload();
    } catch (e) { }
});

function changestartdate() {
    if (lastAjaxRequestQuery != "") {
        $("#hotelist").css("display", "none");
        $("#panel_loading").css("display", "block");
        eval(lastAjaxRequestQuery);
    }
}

function updateLastAjaxQuery(query) {
    lastAjaxRequestQuery = query;
}



