﻿var map = null;
var geocoder = null;
var gmarkers = [];
var htmls = [];
var markers = [];
var mainLatlng = null;


function initialize() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(35.86166, 104.195397), 4);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GScaleControl());
        geocoder = new GClientGeocoder();
    }
}
function closeBox() {
    document.getElementById("light").style.display = "none";
    document.getElementById("fade").style.display = "none";
}

function showAddress(address, num, hotelName, MemberPrice, MinPrice, Hid) {
    if (geocoder) {
        geocoder.getLatLng(
                  address,
                 function(point) {
                     if (!point) {
                         //                         alert("不能解析: " + address);
                     } else {
                         map.setCenter(point, 13);
                         var myIcon = new GIcon(G_DEFAULT_ICON);
                         myIcon.image = "../images/tb/xtb" + (parseInt(num) + 1) + ".gif";
                         myIcon.iconSize = new GSize(35, 25);
                         var marker = new GMarker(point, { draggable: false, icon: myIcon });
                         gmarkers[num] = marker;

                         var sContent = "";
                         sContent += "<table border='0' cellpadding='1' cellspacing='1'>";
                         sContent += "<tr><td><img width='160px' height='120px' alt='" + hotelName + "' src='../JiuDianTuPian/" + Hid + "/1.jpg' /></td><td>";
                         sContent += "<br><a href='http://www.pan66.com/Hotel/" + Hid + ".html'><h4><font color='blue'>" + hotelName + "</font></h4><br/>";
                         sContent += "<h5><font color='#000000'>最低价格:" + MinPrice + "元      奖金:" + MemberPrice + "元</font></h5><br/>";
                         sContent += "<h5><font color='#000000'>地址:" + address + "</font></h5><br/></td></tr></table>";
                         htmls[num] = sContent;
                         GEvent.addListener(marker, "click", function() {
                             var latlng = new GLatLng(point.lat(), point.lng());
                             map.openInfoWindowHtml(latlng, sContent);
                         });
                         map.addOverlay(marker);
                     }
                 }
                );
    }
}


//搜索
var pagesum = 0;
function Search_onclick() {
    document.getElementById('light').style.display = 'block'; document.getElementById('fade').style.display = 'block';
    setTimeout("closeBox()", 5000)
    if (start != "" && end != "" && city != "") {
        gmarkers = [];
        htmls = [];
        var citycode = document.getElementById("cityid").value;
        var city = document.getElementById('city1').value;
        var start = document.getElementById("starthotel").value;
        var selectPrice = document.getElementById("selectPrice").value;
        var selectRat = document.getElementById("selectRat").value;
        var end = document.getElementById("endhotel").value;
        var area = document.getElementsByName("checkarea");
        var id = document.getElementById("selectShow").value;
        var name = "";
        for (var i = 0; i < area.length; i++) {
            if (area[i].checked) {
                name = area[i].value;
            }
        }
        //酒店数据
        var hotelInfo = HotelSearchMap.getValue(name, id, selectPrice, selectRat, citycode).value;
        //总页数
        pagesum = HotelSearchMap.getPageSum(name, id).value;
        document.getElementById("sum").value = pagesum;
        var rat = "";
        var HotelRating = "";
        var datatable = null;
        var sContent = "";
        if (hotelInfo != null) {
            datatable = hotelInfo.Tables[0];
        }
        map.clearOverlays();
        if (datatable.Rows.length > 0) {

            for (var j = 0; j < datatable.Rows.length; j++) {


                showAddress(datatable.Rows[j].Address, j, datatable.Rows[j].HotelName, datatable.Rows[j].MemberPrice, datatable.Rows[j].MinPrice, datatable.Rows[j].Hid);
                rat = parseFloat(datatable.Rows[j].HotelRating);
                if (rat >= 0 && rat < 1.5) {
                    HotelRating = "经济型";
                }
                else if (rat >= 1.5 && rat < 2.5) {
                    HotelRating = "二星级";
                }
                else if (rat >= 2.5 && rat < 3.5) {
                    HotelRating = "三星级";
                }
                else if (rat >= 3.5 && rat < 4.5) {
                    HotelRating = "四星级";
                }
                else if (rat >= 4.5 && rat <= 5) {
                    HotelRating = "五星级";
                }
                sContent += "<div id=" + (j + 1) + " onmouseover='openMarkerTipById1(" + j + ",this)'  onmouseout='onmouseout_MarkerStyle(this)'><span class='NObg'>" + (j + 1) + "</span><a href='http://www.pan66.com/Hotel/" + datatable.Rows[j].Hid + ".html' title='" + datatable.Rows[j].HotelName + "'>" + datatable.Rows[j].HotelName + "</a><br />"
                sContent += "<span class='start'> " + HotelRating + "</span><span class='number'>￥" + datatable.Rows[j].MinPrice + "起</span></div>";
            }
            sContent += "<div class='page'>第1页/共" + pagesum + "页<a style='cursor: pointer' onclick='Button1_onclick()'>上一页</a><a style='cursor: pointer' onclick='Button2_onclick()'>下一页</a></div></div>";
        }
        else {
            sContent = "<center><h5 style='color: Red'>找不到和您的查询相符的酒店<hr /></h5></center>";
        }

        document.getElementById("pgNum").value = '1';
        document.getElementById("hotel_list").innerHTML = sContent;
    }
    else {
        alert('请认真选择搜索条件');
        return false;
    }

}



function openMarkerTipById1(num, thiss) { //根据id打开搜索结果点tip
    thiss.style.background = '#CFD6E8';
    if (gmarkers[num] != null)
        gmarkers[num].openInfoWindowHtml(htmls[num]);
}

function onmouseout_MarkerStyle(thiss) {//鼠标移开后点样式恢复
    thiss.style.background = "";
}



//上页
function Button1_onclick() {
    document.getElementById('light').style.display = 'block'; document.getElementById('fade').style.display = 'block';
    setTimeout("closeBox()", 5000)
    if (parseInt(document.getElementById("pgNum").value) > 1) {
        gmarkers = [];
        htmls = [];
        var pgNum = parseInt(document.getElementById("pgNum").value) - 1;
        document.getElementById("pgNum").value = pgNum;
        var area = document.getElementsByName("checkarea");
        var page = document.getElementById("pgNum").value;
        var id = document.getElementById("selectShow").value;
        var name = "";
        for (var i = 0; i < area.length; i++) {
            if (area[i].checked) {
                name = area[i].value;
            }
        }
        var hotelInfo = HotelSearchMap.getValueByPageNum(name, id, page).value;
        var datatable = null;
        var sContent = "";
        if (hotelInfo != null) {
            datatable = hotelInfo.Tables[0];
        }

        if (datatable.Rows.length > 0) {
            map.clearOverlays();
            for (var j = 0; j < datatable.Rows.length; j++) {
                showAddress(datatable.Rows[j].Address, j, datatable.Rows[j].HotelName, datatable.Rows[j].MemberPrice, datatable.Rows[j].MinPrice, datatable.Rows[j].Hid);
                rat = parseFloat(datatable.Rows[j].HotelRating);
                if (rat >= 0 && rat < 1.5) {
                    HotelRating = "经济型";
                }
                else if (rat >= 1.5 && rat < 2.5) {
                    HotelRating = "二星级";
                }
                else if (rat >= 2.5 && rat < 3.5) {
                    HotelRating = "三星级";
                }
                else if (rat >= 3.5 && rat < 4.5) {
                    HotelRating = "四星级";
                }
                else if (rat >= 4.5 && rat <= 5) {
                    HotelRating = "五星级";
                }
                sContent += "<div id=" + (j + 1) + " onmouseover='openMarkerTipById1(" + j + ",this)'  onmouseout='onmouseout_MarkerStyle(this)'><span class='NObg'>" + (j + 1) + "</span><a href='http://www.pan66.com/Hotel/" + datatable.Rows[j].Hid + ".html' title='" + datatable.Rows[j].HotelName + "'>" + datatable.Rows[j].HotelName + "</a><br />"
                sContent += "<span class='start'> " + HotelRating + "</span><span class='number'>￥" + datatable.Rows[j].MinPrice + "起</span></div>";
            }
            sContent += "<div class='page'>第" + pgNum + "页/共" + pagesum + "页<a style='cursor: pointer' onclick='Button1_onclick()'>上一页</a><a style='cursor: pointer' onclick='Button2_onclick()'>下一页</a></div></div>";
        }

        document.getElementById("hotel_list").innerHTML = sContent;
    }
    else
        alert('当前已是首页');
}
//下页
function Button2_onclick() {
    document.getElementById('light').style.display = 'block'; document.getElementById('fade').style.display = 'block';
    setTimeout("closeBox()", 5000)
    if (parseInt(document.getElementById("pgNum").value) < parseInt(pagesum)) {
        gmarkers = [];
        htmls = [];
        var pgNum = parseInt(document.getElementById("pgNum").value) + 1;
        document.getElementById("pgNum").value = pgNum;
        var area = document.getElementsByName("checkarea");
        var id = document.getElementById("selectShow").value;
        var page = document.getElementById("pgNum").value;
        var name = "";
        for (var i = 0; i < area.length; i++) {
            if (area[i].checked) {
                name = area[i].value;
            }
        }
        var hotelInfo = HotelSearchMap.getValueByPageNum(name, id, page).value;
        var datatable = null;
        var sContent = "";
        if (hotelInfo != null) {
            datatable = hotelInfo.Tables[0];
        }

        if (datatable.Rows.length > 0) {
            map.clearOverlays();
            for (var j = 0; j < datatable.Rows.length; j++) {
                showAddress(datatable.Rows[j].Address, j, datatable.Rows[j].HotelName, datatable.Rows[j].MemberPrice, datatable.Rows[j].MinPrice, datatable.Rows[j].Hid);
                rat = parseFloat(datatable.Rows[j].HotelRating);
                if (rat >= 0 && rat < 1.5) {
                    HotelRating = "经济型";
                }
                else if (rat >= 1.5 && rat < 2.5) {
                    HotelRating = "二星级";
                }
                else if (rat >= 2.5 && rat < 3.5) {
                    HotelRating = "三星级";
                }
                else if (rat >= 3.5 && rat < 4.5) {
                    HotelRating = "四星级";
                }
                else if (rat >= 4.5 && rat <= 5) {
                    HotelRating = "五星级";
                }
                sContent += "<div id=" + (j + 1) + " onmouseover='openMarkerTipById1(" + j + ",this)'  onmouseout='onmouseout_MarkerStyle(this)'><span class='NObg'>" + (j + 1) + "</span><a href='http://www.pan66.com/Hotel/" + datatable.Rows[j].Hid + ".html' title='" + datatable.Rows[j].HotelName + "'>" + datatable.Rows[j].HotelName + "</a><br />"
                sContent += "<span class='start'> " + HotelRating + "</span><span class='number'>￥" + datatable.Rows[j].MinPrice + "起</span></div>";
            }
            sContent += "<div class='page'>第" + pgNum + "页/共" + pagesum + "页<a style='cursor: pointer' onclick='Button1_onclick()'>上一页</a><a style='cursor: pointer' onclick='Button2_onclick()'>下一页</a></div></div>";

            document.getElementById("hotel_list").innerHTML = sContent;
        }
    }
    else {
        alert('当前已是最后一页');
    }
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//地址反解析
var userPoint = null;
function showUserPoint(address) {
    if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
              if (!point) {
                  //                  alert("不能解析: " + address);
              } else {
                  map.setCenter(point, 11);
                  var marker = new GMarker(point);

                  var myHtml = address;
                  userPoint = point;
                  map.clearOverlays();
                  GEvent.addListener(marker, "click", function() {
                      var latlng = new GLatLng(point.lat(), point.lng());
                      map.openInfoWindowHtml(latlng, myHtml);
                  });
                  map.addOverlay(marker);
                  document.getElementById('address1').value = point.lat();
                  document.getElementById('address2').value = point.lng();
              }
          }
        );
    }
}


var pointLst = [];
function onTheWay(address, num, hotelName, MemberPrice, MinPrice, Hid) {
    if (geocoder) {
        geocoder.getLatLng(address, function(point) {
            if (!point) {
            } else {
                map.setCenter(point, 11);


                var myIcon = new GIcon(G_DEFAULT_ICON);
                myIcon.image = "../images/tb/xtb" + (parseInt(num) + 1) + ".gif";
                myIcon.iconSize = new GSize(35, 25);
                var marker = new GMarker(point, { draggable: false, icon: myIcon });


                var myHtml = hotelName;
                gmarkers[num] = marker;

                var sContent = "";
                sContent += "<table border='0' cellpadding='1' cellspacing='1'>";
                sContent += "<tr><td><img width='160px' height='120px' alt='" + hotelName + "' src='../JiuDianTuPian/" + Hid + "/1.jpg' /></td><td>";
                sContent += "<br><a href='http://www.pan66.com/Hotel/" + Hid + ".html'><h4><font color='blue'>" + hotelName + "</font></h4><br/>";
                sContent += "<h5><font color='#000000'>最低价格:" + MinPrice + "元      奖金:" + MemberPrice + "元</font></h5><br/>";
                sContent += "<h5><font color='#000000'>地址:" + address + "</font></h5><br/></td></tr></table>";
                htmls[num] = sContent;
                GEvent.addListener(marker, "click", function() {
                    var latlng = new GLatLng(point.lat(), point.lng());
                    map.openInfoWindowHtml(latlng, myHtml);
                });
                map.addOverlay(marker);
                pointLst[num] = point;
            }
        }
        );
    }
}


function showCity(address) {
    if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
              if (!point) {
              } else {
                  map.setCenter(point, 11);
                  var marker = new GMarker(point);
                  var myHtml = address;
                  mainLatlng = point;
                  map.clearOverlays();
                  GEvent.addListener(marker, "click", function() {
                      var latlng = new GLatLng(point.lat(), point.lng());
                      map.openInfoWindowHtml(latlng, myHtml);
                  });
                  map.addOverlay(marker);
              }
          }
        );
    }
}


var hidLst = [];
function searchHotel() {

    var sContent = '';
    var rat = "";
    var HotelRating = "";
    pointLst = [];
    hidLst = [];
    document.getElementById('light').style.display = 'block'; document.getElementById('fade').style.display = 'block';
    setTimeout("closeBox()", 5000)
    var datatable = HotelSearchMap.getList(document.getElementById('address1').value, document.getElementById('address2').value, document.getElementById("Hidden1").value).value;
    if (datatable != null) {
        map.clearOverlays();
        for (var j = 0; j < datatable.Rows.length; j++) {
            hidLst[j] = datatable.Rows[j].Hid;
            onTheWay(datatable.Rows[j].Address, j, datatable.Rows[j].HotelName, datatable.Rows[j].MemberPrice, datatable.Rows[j].MinPrice, datatable.Rows[j].Hid);
            rat = parseFloat(datatable.Rows[j].HotelRating);
            if (rat >= 0 && rat < 1.5) {
                HotelRating = "经济型";
            }
            else if (rat >= 1.5 && rat < 2.5) {
                HotelRating = "二星级";
            }
            else if (rat >= 2.5 && rat < 3.5) {
                HotelRating = "三星级";
            }
            else if (rat >= 3.5 && rat < 4.5) {
                HotelRating = "四星级";
            }
            else if (rat >= 4.5 && rat <= 5) {
                HotelRating = "五星级";
            }

            sContent += "<div id=" + (j + 1) + " onmouseover='openMarkerTipById1(" + j + ",this)'  onmouseout='onmouseout_MarkerStyle(this)'><span class='NObg'>" + (j + 1) + "</span><a href='http://www.pan66.com/Hotel/" + datatable.Rows[j].Hid + ".html' title='" + datatable.Rows[j].HotelName + "'>" + datatable.Rows[j].HotelName + "</a><br />"
            sContent += "<span class='start'> " + HotelRating + "</span><span class='number'>￥" + datatable.Rows[j].MinPrice + "起</span></div>";
        }
        document.getElementById("hotel_list").innerHTML = sContent;
    }
    else {
        sContent = "<center><h5 style='color: Red'>找不到和您的查询相符的酒店<hr /></h5></center>";
    }
    document.getElementById("hotel_list").style.display = 'block';
}


function showPT() {
    showUserPoint(document.getElementById("Hidden2").value + document.getElementById("txtnearHotel").value);
}
