﻿// JScript 檔


//------------------------------------------------AJAX 回呼函數群 callback00 ---------------------start
var handleSuccess00 = function(o){ //若成功會從 callOneInfoData.aspx 取得 詳細資料
    if(o.responseText !== undefined){
	    YUIdiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
	    YUIdiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
	    YUIdiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
	    YUIdiv.innerHTML += "<li>Server response: " + o.responseText + "</li>";
        
        try {   
            returnMSG2 = YAHOO.lang.JSON.parse(o.responseText);
        }   
        catch (e) {   
            alert("JSON Parse Error!");
            return;
        }
        
        
        for(var x = 0 ; x < NearGMtemp.length ; x++){
            if (NearGMtemp[x]){
            map.removeOverlay(NearGMtemp[x]); //移除已繪製的座標點
            }
        }
    
        var bounds = new GLatLngBounds(); //---定義空的邊界領域
        bounds.extend(RanGMtemp[nowOpenIDX].getPoint());
        
        for(j = 0 ; j <= returnMSG2.pointSet.length - 1 ; j++){
        
                var m_point = new GLatLng(returnMSG2.pointSet[j].Lat,returnMSG2.pointSet[j].Lng);
                
                var m_dist = m_GetDistance(returnMSG2.pointSet[j].Lat,returnMSG2.pointSet[j].Lng,RanGMtemp[nowOpenIDX].getLatLng().lat(),RanGMtemp[nowOpenIDX].getLatLng().lng());
                
                if(m_dist < 25){
                
                    bounds.extend(m_point);  //---將邊界延伸至給定的坐標點
             
                    var myIcon;
                    myIcon = eval('Icon' + returnMSG2.pointSet[j].iconType);
                    
                    m_DrawSubPoint0a( m_point, myIcon, j);
                }
        }
        
        if (map.getBoundsZoomLevel(bounds) <= 12) {
            map.setZoom(map.getBoundsZoomLevel(bounds));    //---縮放 map 至可完整見到邊界的層級
        }
        map.setCenter(bounds.getCenter());  //---設定map中心點 = 邊界領域的中心點
        
    }
}

var handleFailure00 = function(o){
    if(o.responseText !== undefined){
	    YUIdiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
	    YUIdiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
	    YUIdiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
    }
}
    
var callback00 = 
{
  success: handleSuccess00,
  failure: handleFailure00
};



   //點位標記
   function m_DrawSubPoint0a(getPoint, getIcon, getJ ){
      NearGMtemp[getJ] = new GMarker(getPoint, {icon:getIcon,
                                    title: returnMSG2.pointSet[getJ].pName.replace("<b>","").replace("</b>",""),
                                    draggable: false});      
      map.addOverlay(NearGMtemp[getJ]); 
      GEvent.addListener(NearGMtemp[getJ], "click", 
         function(){
             NearGMtemp[getJ].openInfoWindowHtml(returnMSG2.pointSet[getJ].pName);
         }
      );
      
      return;
   }


//------------------------------------------------AJAX 回呼函數群 callback00 ---------------------end



//------------------------------------------------AJAX 回呼函數群 callback01 ---------------------start
var handleSuccess01 = function(o){ //若成功會從 callOneInfoData.aspx 取得 詳細資料
    if(o.responseText !== undefined){
	    YUIdiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
	    YUIdiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
	    YUIdiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
	    YUIdiv.innerHTML += "<li>Server response: " + o.responseText + "</li>";
        
        try {   
            var returnMSG = YAHOO.lang.JSON.parse(o.responseText);
        }   
        catch (e) {   
            RanGMtemp[nowOpenIDX].openInfoWindowHtml("No Data...");
            return;
        }

            var m_summaryData = "<div class='gInfoTitle'><h1>" +returnMSG.pName+ "</h1>" +returnMSG.summ+ "</div>"
            waitToOpenInfoGMObj.openInfoWindowHtml( m_summaryData);
//按[+]看詳細資料             
//            waitToOpenInfoGMObj.openInfoWindowHtml( m_summaryData ,{ 
//               maxTitle: "<div class='gInfoTitle'><h1>" +returnMSG.pName+ "</h1></div>",
//               maxContent: returnMSG.detail
//             } );
    }
}

var handleFailure01 = function(o){
    if(o.responseText !== undefined){
	    YUIdiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
	    YUIdiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
	    YUIdiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
    }
}
    
var callback01 = 
{
  success: handleSuccess01,
  failure: handleFailure01
};
//------------------------------------------------AJAX 回呼函數群 callback01 ---------------------end

//------------------------------------------------AJAX 回呼函數群 callback02 ---------------------start
var handleSuccess02 = function(o){ //若成功會從 callOneInfoData.aspx 取得 詳細資料
    if(o.responseText !== undefined){
	    YUIdiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
	    YUIdiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
	    YUIdiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
	    YUIdiv.innerHTML += "<li>Server response: " + o.responseText + "</li>";
        
        try {   
            returnMSG2 = YAHOO.lang.JSON.parse(o.responseText);
        }   
        catch (e) {   
            alert("JSON Parse Error!");
            return;
        }
        
        
        for(var x = 0 ; x < NearGMtemp.length ; x++){
            if (NearGMtemp[x]){
            map.removeOverlay(NearGMtemp[x]); //移除已繪製的座標點
            }
        }
    
        var bounds = new GLatLngBounds(); //---定義空的邊界領域
        bounds.extend(RanGMtemp[nowOpenIDX].getPoint());
        
        for(j = 0 ; j <= returnMSG2.pointSet.length - 1 ; j++){
        
                var m_point = new GLatLng(returnMSG2.pointSet[j].Lat,returnMSG2.pointSet[j].Lng);
                
                var m_dist = m_GetDistance(returnMSG2.pointSet[j].Lat,returnMSG2.pointSet[j].Lng,RanGMtemp[nowOpenIDX].getLatLng().lat(),RanGMtemp[nowOpenIDX].getLatLng().lng());
                
                if(m_dist < 25){
                
                    bounds.extend(m_point);  //---將邊界延伸至給定的坐標點
             
                    var myIcon;
                    switch(returnMSG2.pointSet[j].pt)
                    {
                    case "06":
                      myIcon = hotelIcon; break;
                    case "07":
                      myIcon = foodIcon; break;
                    case "08":
                      myIcon = viewIcon; break;
                    default:
                      myIcon = viewIcon; break;
                    }
                    
                    m_DrawSubPoint( m_point, myIcon, j);
                }
        }
        
        if (map.getBoundsZoomLevel(bounds) <= 12) {
            map.setZoom(map.getBoundsZoomLevel(bounds));    //---縮放 map 至可完整見到邊界的層級
        }
        map.setCenter(bounds.getCenter());  //---設定map中心點 = 邊界領域的中心點
        
    }
}

var handleFailure02 = function(o){
    if(o.responseText !== undefined){
	    YUIdiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
	    YUIdiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
	    YUIdiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
    }
}
    
var callback02 = 
{
  success: handleSuccess02,
  failure: handleFailure02
};



   //點位標記
   function m_DrawSubPoint(getPoint, getIcon, getJ ){
      NearGMtemp[getJ] = new GMarker(getPoint, {icon:getIcon,
                                    title: returnMSG2.pointSet[getJ].pName,
                                    draggable: false});      
      map.addOverlay(NearGMtemp[getJ]); 
      GEvent.addListener(NearGMtemp[getJ], "click", 
         function(){
            waitToOpenInfoGMObj = NearGMtemp[getJ];
            var sUrl = "callOneInfoData.aspx?isView=" +returnMSG2.pointSet[getJ].isView+ "&Lang=" +returnMSG2.pointSet[getJ].Lang+ "&sno=" + returnMSG2.pointSet[getJ].sno;// AJAX 呼叫
            var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback01);//call AJAX 回呼函數群 [ Common/js/callback.js ]
         }
      );
      
      return;
   }


//------------------------------------------------AJAX 回呼函數群 callback02 ---------------------end