﻿var map = null;
var geocoder = null;
var center1 = null;
var moveend = "0";
var Hidden_Lat = document.getElementById("Hidden_Lat");
var Hidden_Lng = document.getElementById("Hidden_Lng");
var StationName = document.getElementById("StationName");    
var StationNameLatLng;//捷运经纬度
var centerlat;
var centerlng;
var getZoom = 15;//獲取縮放級別

function initialize2(sMapInfor,LatAndLng) 
{
 
if(LatAndLng != ""&&LatAndLng !=null)
{
  
  $("#Load").css("display","");

  var MapInfor;
  var Lat;
  var Lng;
  var Infor;
  var Lat_Lng;
  
  MapInfor = sMapInfor.split("≌");
  Lat = MapInfor[0].substring(0,MapInfor[0].length-1).split(",");
  Lng = MapInfor[1].substring(0,MapInfor[1].length-1).split(",");
  Infor = MapInfor[2].substring(0,MapInfor[2].length-1).split("→");
  Lat_Lng = LatAndLng.split(",");
    
  if (GBrowserIsCompatible()) {
  
     load(Lat_Lng[0], Lat_Lng[1])
    
    // 为所有标记创建指定阴影、图标尺寸灯的基础图标
    var baseIcon = new GIcon();
    baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
    baseIcon.iconSize = new GSize(36, 32);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 32);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);

    // 创建信息窗口显示对应给定索引的字母的标记
    function createMarker(point, index,Infor_,TTL) {
      // Create a lettered icon for this point using our icon class
      var letter = String.fromCharCode("A".charCodeAt(0) + index);
      var letteredIcon = new GIcon(baseIcon);
      letteredIcon.image = "images/map.gif";

      // 设置 GMarkerOptions 对象
      markerOptions = { icon:letteredIcon,title:TTL };
      var marker = new GMarker(point, markerOptions);

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml( Infor_ );//单击标记说明
        moveend = "1";
        
      });
       

      return marker;
    }
         GEvent.addListener(map.getInfoWindow(),'closeclick',function() {
        map.closeInfoWindow();moveend = "0";//关闭标记事件
        });
    // 向地图添加标记
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var lngSpan = northEast.lng() - southWest.lng();
    var latSpan = northEast.lat() - southWest.lat();
    var biaoji = null;
  
    for (var i = 0; i < Lat.length; i++) 
    {
       
        var biaojiInfo = "";
        biaoji = Infor[i].split("|");
        var sUrlShow = "";   
            switch(biaoji[8])
            {
                case "501": sUrlShow = "http://www.twhouses.com.tw/wwwpub/1house/search/house-show.asp?thisrecord=";break;
                case "502": sUrlShow = "http://www.twhouses.com.tw/wwwpub/2commercial/search/house-show.asp?thisrecord=";break;
                case "503": sUrlShow = "http://www.soufun.com.tw/wwwpub/1house/search/house-show.asp?Thisrecord=";break;
                case "504": sUrlShow = "http://www.soufun.com.tw/wwwpub/2commercial/search/house-show.asp?Thisrecord=";break;
            }
               
       biaojiInfo = "<div id='infor_1' style='width:345px;font-size:12px' ><div style='margin-top:4px;'><div style='margin-left:10px;float:left;width:255px;'> <strong>"+ biaoji[7] +"</strong></div><div style='text-align:right; margin-left:10px;margin-right:10px;float:left;width:50px;'><a href='http://www.twhouses.com.tw/wwwpub/pubtools/add-mynotes.asp?commerical_id=" + biaoji[0] + "&object_id=" + biaoji[1] + "' target='_blank'>加入追蹤</a></div></div><div style='border:#BE9E6D solid 2px;height:90px;clear:left;padding-top:6px;'><div style='margin-left:8px;height:80px; width:95px;float:left;'><a href='"+sUrlShow+biaoji[1]+"' target='_blank'><img src='http://uimg.twhouses.com.tw/ug_showimage.asp?Account=" + biaoji[2] + "&AllowDelay=yes&Size=thumb&Order=1&Id=" + biaoji[1] + "' width='95' height='80' border='0' alt=''/></a></div><div style='float:left; width:225px;margin-left:3px;'><div>地址: <a href='"+sUrlShow+biaoji[1]+"' target='_blank'>" + biaoji[3] + "</a></div><div>物件編號:" + biaoji[1] + "</div><div>價格:<span Style='color:Red;'>" + biaoji[4] + "</span> 元</div><div>電話:" + biaoji[5] + "</div><div>聯絡人:" + biaoji[6] + "</div></div>";
        
      var latlng = new GLatLng(Lat[i],Lng[i]);
      map.addOverlay(createMarker(latlng, i,biaojiInfo,biaoji[7]));
    }
  }
   // GEvent.addListener(map,"mouseup",function(overlay, point){moveend="1";alert("k");}); 
       
   GEvent.addListener(map,"moveend",function(overlay, point)//地圖移動後產生事件
   {
        $("#Hidden_CountyID").val("");
        $("#Hidden_LocalID").val("");
       getZoom = map.getZoom();
       if(moveend=="0")
       {
            
            center1 = map.getCenter();
            if(center1.lat()+","+center1.lng()!=$("#Hidden_Lat_Lng").val())
            {
                $("#Hidden_Search").val("4");
                $("#Load").css("display","");
                bounds = map.getBounds(); 
                var southWest = bounds.getSouthWest();  
                var northEast = bounds.getNorthEast(); 
                var lat_lng = "";
                 var center = map.getCenter();
                
                Hidden_Lat.value = southWest.lat();
                Hidden_Lat.value += ","+northEast.lat();
                Hidden_Lng.value = southWest.lng();
                Hidden_Lng.value += ","+ northEast.lng();
                 $("#Hidden_Lat_Lng").val(center.lat()+","+center.lng())
                $("#Hidden_Lat_Lng2").val(Hidden_Lat.value+","+Hidden_Lng.value);
               
            　 CallBack("0");
                
            }
       }
       else
       {
            moveend = "0";
       } 
   
   }); 
            
     $("#Search4").css("display","");
     $("#Search5").css("display","none");
    $("#Load").css("display","none");
    //tab狀態
    if(Search_4and5=="4")
    {
        
        $("#Search4").css("display","");
        $("#Search5").css("display","none");
    }
    else
    {
        $("#Search4").css("display","none");
        $("#Search5").css("display","");
    }



}
else
{
   
    load(25.0462397, 121.5174482);
    $("#Search4").css("display","");
   
}

}
 
 
function initialize(lat,lng) {
Search_Hidd('4',"0");
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(lat, lng), getZoom);

 //LatLngMax_Min();
 
 
  var bounds = map.getBounds(); 
        var southWest = bounds.getSouthWest(); 
        var northEast = bounds.getNorthEast();
         var center = map.getCenter();
         $("#Hidden_Lat_Lng").val(center.lat()+","+center.lng()); 
        $("#Hidden_Lat_Lng2").val(southWest.lat()+","+northEast.lat()+","+southWest.lng()+","+northEast.lng());
        Hidden_Lat.value = southWest.lat();
        Hidden_Lat.value += ","+northEast.lat();
        Hidden_Lng.value = southWest.lng();
        Hidden_Lng.value += ","+ northEast.lng();
        load(center.lat(),center.lng());
 
//Search_Hidd('5',"0");
}
}
    
function GetLatLng(id)
{
    select = document.getElementById(id);
    if(select.options[select.selectedIndex].value=="0")
        return;
    var StationNameLatLng = select.options[select.selectedIndex].value.split(",");
     $("#Hidden_Lat_Lng2").val(select.options[select.selectedIndex].value);
//     if($("#Hidden_Search").val()=="1")
//      $("#SearchValeu")[0].value += " [" + $("#School option:selected").text()+"] ";
//     if($("#Hidden_Search").val()=="2")
//      $("#SearchValeu")[0].value += " [" + $("#StationName option:selected").text()+"] ";
   
    $("#Mi_ID").val(StationNameLatLng[2])
    initialize(StationNameLatLng[0],StationNameLatLng[1]);
   
}
    
        
 function showAddress(address) 
{
    selectTag('Search4','selectTag_5','1_4');Search_Hidd('4','0');
    address = address.replace("請輸入地段關鍵字","");
    //document.getElementById("SearchValeu").value += " ["+address+"] ";
    
  if (geocoder) 
  {
    
  geocoder.getLatLng(address,function(point) {if (!point) {return;} else 
  {     
       moveend = "1";     
       map.setCenter(point, getZoom);
	    //LatLngMax_Min();
	    //Hidden_Lat_Lng2 = document.getElementById("Hidden_Lat_Lng2");
        var center = map.getCenter();

        centerlat = center.lat();//经度
		 centerlng = center.lng();//纬度
		 
		$("#Hidden_Lat_Lng").val(centerlat+","+centerlng);
		
	    var bounds = map.getBounds(); 
        var southWest = bounds.getSouthWest(); // 返回矩形西南角的点 
        var northEast = bounds.getNorthEast(); // 返回矩形东北角的点
        
        $("#Hidden_Lat_Lng2").val(southWest.lat()+","+northEast.lat()+","+southWest.lng()+","+northEast.lng());
        Hidden_Lat.value = southWest.lat();
        Hidden_Lat.value += ","+northEast.lat();
        Hidden_Lng.value = southWest.lng();
        Hidden_Lng.value += ","+ northEast.lng();
        
        load(centerlat,centerlng);
      }
     }
    );
 }
  	  
}
 
   
function OnCallback(sShowInfo)
{   
    //移動與熱門
    if(sShowInfo!="")
    {
    var ArryInfo;
    ArryInfo = sShowInfo.split("≈");
    if(ArryInfo[ArryInfo.length-1] == "0")
    {
       
        if(ArryInfo[3]!="0")
        {
            PageNum = 1;
             
            $("#SearchInfor")[0].innerHTML=ArryInfo[0];
            $("#Hidden_iPage").val(ArryInfo[3]);
            initialize2(ArryInfo[1],ArryInfo[2]);
          
            
            Page();
        }
        else
        {
            $("#SearchInfor")[0].innerHTML=ArryInfo[0];
             $("#Search4").css("display","");
            $("#Search5").css("display","");
             load(25.0462397, 121.5174482);
        }
         
        
    }
    //進階
    if(ArryInfo[ArryInfo.length-1] == "1")
    {
         PageNum=1;
          $("#SearchInfor")[0].innerHTML=ArryInfo[0];
        $("#Hidden_iPage").val(ArryInfo[3]);

         initialize2(ArryInfo[1],ArryInfo[2]);
         $("#Search4").css("display","");
         Page();
    }
    //租售
    if(ArryInfo[ArryInfo.length-1] == "2")
    {
            UseType2 = document.getElementById(UseType);
            UseType2.options.length=0;
           
            
            for(var i=0;i<ArryInfo[0].split(",").length-1;i++)
            {
                 UseType2.options.add(new Option(ArryInfo[0].split(",")[i],ArryInfo[1].split(",")[i]));
            } 
            UseType2.options.add(new Option("不限",0));
//        $("#"+UseType).remove();
//        $("#"+UseType).append("<option value='1'>sssssss</option>");
         $("#"+UseType).attr("disabled",false);
    }
     $("#Load").css("display","none");
     
     
   }
   else
   {
       alert("提示:對不起沒有資訊!");
   }
}

function OnCallback2(sShowInfo)
{
    if(sShowInfo!="")
    {
        var ArryInfo = sShowInfo.split("≈");
        $("#SearchInfor")[0].innerHTML=ArryInfo[0];
        $("#Hidden_iPage").val(ArryInfo[1])
        Page();
        $("#Load").css("display","none");
    }
   else
   {
       alert("提示:對不起沒有資訊!");
   }
}

function OnCallback3(sShowInfo)
{
    if(sShowInfo)
    {
        ArryInfo = sShowInfo.split("≈");
        $("#SearchInfor")[0].innerHTML=ArryInfo[0];
        $("#Hidden_iPage").val(ArryInfo[1])
        
        $("#Load").css("display","none");
    }
   else
   {
       alert("提示:對不起沒有資訊!");
   }
}

function OnCallback4(sShowInfo)
{  
    if(sShowInfo!="")
    {
        var sShowInfoArray =  sShowInfo.split("_");
        var Select= document.getElementById("LuXian");
        var Select2= document.getElementById("StationName");
         
        if(sShowInfoArray.length > 0)
        {    
            if(sShowInfoArray[1] == "0")
            {
               
                var Mi_NameArray = sShowInfoArray[0].split(",");

                Select.options.length=0;//移除所有ITEM
               
                Select.options.add(new Option("請選擇",0));
                for(var i=0;i<Mi_NameArray.length-1;i++)//循环添加
                {
                     Select.options.add(new Option(Mi_NameArray[i],Mi_NameArray[i]));
                } 
            }  
        }
        
        if(sShowInfoArray[2] == "1")
        {
            var Mi_StationNameArray= sShowInfoArray[1].split(",");
            var Mi_LonLatArray = sShowInfoArray[0].split("|")
            Select2.options.length=0;
            Select2.options.add(new Option("請選擇",0));
            for(var i=0;i<Mi_StationNameArray.length-1;i++)//循环添加
            {
       
                 Select2.options.add(new Option(Mi_StationNameArray[i],Mi_LonLatArray[i]));
                
            } 

        } 
           
               if(sShowInfoArray[2] == "2")
        {

            Select.options[Select2.selectedIndex].selected=true;

        } 
   }
   else
   {
       alert("提示:數據錯誤,請重試!");
   }     
}


function OnCallback5(sShowInfo)
{ 
    if(sShowInfo)
    {
        var sShowInfoArray =  sShowInfo.split("_");
         if(sShowInfoArray.length > 0)
        {
             var Mi_StationNameArray= sShowInfoArray[1].split(",");
            var Mi_LonLatArray = sShowInfoArray[0].split("|")
            School = document.getElementById("School");
            School.options.length=0;
            School.options.add(new Option("請選擇",0));
            for(var i=0;i<Mi_StationNameArray.length-1;i++)//循环添加
            {
       
                 School.options.add(new Option(Mi_StationNameArray[i],Mi_LonLatArray[i]));
                
            } 
        }
   }
   else
   {
       alert("提示:數據錯誤,請重試!");
   }

}


//var map;            // 全局的地图对象
  var fly;            // “放大镜”地图对象
  var elemBorder;     // “放大镜”边框对象
  var zoomDelta = 1;  // 放大的级别
  var star = "0";//是否使用放大镜
  /**
   * 鼠标移入地图时，显示放大镜
   */
  function mouseIn() {
    fly.visible = true;
    fly.getContainer().style.display = 'block';
   
        if (elemBorder)
          elemBorder.style.display = 'block';
    
  }
  
  /**
   * 鼠标移出地图时，隐藏放大镜
   */
  function mouseOut() {
    fly.visible = false;
    fly.getContainer().style.display = 'none';
    if (elemBorder)
      elemBorder.style.display = 'none';
  }
  
  /**
   * 释放 Ctrl 键时，显示放大镜
   */
  function keyUp(e) {
    if (e.keyCode == 17) { // CTRL key
      mouseIn();
    }
  }

  /**
   * 按下 Ctrl 键时，隐藏放大镜
   */  
  function keyDown(e) {
    if (e.keyCode == 17) { // CTRL key
      mouseOut();
    }
  }
  
  /**
   * 缩放级别改动时，放大镜的缩放级别也要随之改变
   */
  function zoomEnd(oldLevel, newLevel) {
    fly.setZoom(newLevel + zoomDelta);
  }
  
  /**
   * 鼠标在地图上移动时，将“放大镜”放到鼠标所在的位置
   */
  function mouseMove(e) {
    var x, y;
    e = e || window.event;
    
    // 鼠标移入地图时，显示放大镜
    if(star == "1")
    {
        if (!fly.visible && !e.ctrlKey) {
          mouseIn();
        }
    }

    // 获得鼠标相对于页面顶端的坐标（兼容常见浏览器）
    if (e.pageX) {      // Firefox
      x = e.pageX;
      y = e.pageY;
    } else if (e.clientX) {   // IE
      var body = document.documentElement || document.body;
      x = e.clientX + body.scrollLeft;
      y = e.clientY + body.scrollTop;
    }

    // 获得鼠标相对于地图的坐标
    var elemMap = map.getContainer();
    var point = new GPoint(x - elemMap.offsetLeft, y - elemMap.offsetTop);
    
    // 鼠标移出地图时，隐藏放大镜
    if (e.ctrlKey || point.x < 0 || point.y < 0 
        || point.x > elemMap.offsetWidth
        || point.y > elemMap.offsetHeight) {
      mouseOut();
      return;
    }
    
    // 将放大镜中的地图平移到正确的位置
    var latlng = map.fromContainerPixelToLatLng(point);
    if (window.event) {
      fly.setCenter(latlng);  // 在 IE 下 panTo() 执行缓慢，所以用 setCenter()
    } else {
      fly.panTo(latlng);
    }

    // 让“放大镜”跟随鼠标移动
    var elemFly = fly.getContainer();
    elemFly.style.left = x + elemFly.offsetX + 'px';
    elemFly.style.top = y + elemFly.offsetY + 'px';
    
    if (elemBorder) {
      elemBorder.style.left = x + elemFly.offsetX - 31 + 'px';
      elemBorder.style.top = y + elemFly.offsetY - 31 + 'px';
    }
  }
  

  /**
   * 创建地图控件，并添加一些基本的控件
   */
  function load(lat,lng) {
    
    if (GBrowserIsCompatible()) {
      var elemMap = document.getElementById('map_canvas');
      map = new GMap2(elemMap);
      
      // 给地图添加内置的控件，分别为：
      // 平移及缩放控件（左上角）
      map.addControl(new GLargeMapControl());//在 Google 地图上使用的大型平移/缩放控件
      map.addControl(new GScaleControl());//比例尺控件（左下角）
      

      // 将视图移到
 
        map.setCenter(new GLatLng(lat, lng),getZoom);
        
    
     if($("#Hidden_Lat_Lng").val() =="")
     {   
 map.openInfoWindow(map.getCenter(),
                           document.createTextNode("歡迎來到地圖家搜尋！"));
      }
 
       geocoder = new GClientGeocoder();
      // 添加地图的事件处理
      GEvent.addListener(map, 'zoomend', zoomEnd);
     
      // 初始化“放大镜”地图
      var elemFly = document.getElementById('fly');
      fly = new GMap2(elemFly);
      fly.setCenter(map.getCenter(), map.getZoom() + zoomDelta);
      elemFly.style.display = 'block';

      // 添加 DOM 对象的事件处理
      GEvent.addDomListener(elemMap, 'mousemove', mouseMove);
      GEvent.addDomListener(elemFly, 'mousemove', mouseMove);

      // 获得边框图片
      var borderImage = 'images/FanDaJian.gif';
      
      // 判断是否使用图片边框      
      if (borderImage) {
        elemBorder = document.getElementById('border');
        GEvent.addDomListener(elemBorder, 'mousemove', mouseMove);
        elemFly.offsetX = elemFly.offsetY = -75;
        
        // 载入边框图片，并处理  IE6 不支持半透明 png 的情况
        if (window.event) {
          var arVersion = navigator.appVersion.split("MSIE")
          var version = parseFloat(arVersion[1])
          if ((version >= 5.5) && (version < 7.0) && (document.body.filters)) {
            elemBorder.style.filter = 
                'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'
                + borderImage + '", sizingMethod="scale")';
              
          }
          else {
            elemBorder.style.backgroundImage = 'url(' + borderImage + ')';
          }
        } else {
          elemBorder.style.backgroundImage = 'url(' + borderImage + ')';
        }
      } else {
        // 使用普通的矩形边框
        elemFly.style.border = 'solid 3px #808080';
        elemFly.offsetX = elemFly.offsetY = 8;
      }
    }
     mouseOut();
  }


function star_()
{
    if(document.getElementById("Checkbox_Star").checked)
    {
        star = "1";
        document.getElementById("label_star").innerHTML = "取消放大鏡";
    }
    
     if(document.getElementById("Checkbox_Star").checked == false)
    {
        star = "0";
        document.getElementById("label_star").innerHTML = "使用放大鏡";
    }
    
}

if($("#mapInfo")[0].innerHTML!="")
    initialize2($("#mapInfo")[0].innerHTML,$("#sLat_LngVal")[0].innerHTML);
else
     load(25.0462397, 121.5174482);

Page(); 