﻿//建立圖示
var baseIcon = new GIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(18, 30);
baseIcon.shadowSize = new GSize(30, 24);
baseIcon.iconAnchor = new GPoint(9, 30);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);


//移至物件平均中心
function MoveCenter(XML)
{
    GDownloadUrl(XML, function(data, responseCode)
    {
        var Zoom=map.getZoom()
        if(isNaN(Zoom)==true){Zoom=15}
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        if (markers.length>0)
        {
            var lat = parseFloat(markers[markers.length-1].getAttribute('lat'));
            var lng = parseFloat(markers[markers.length-1].getAttribute('lng'));
            map.setCenter(new GLatLng(lat,lng), Zoom);
        }else{
            map.setCenter(new GLatLng(22.640356,120.315636),Zoom);
            alert('無任何符合您的搜尋，請重新設定搜尋內容!!');
        }
    });
}

//法拍屋
function PlotMarkAuction(XML)
{
    map.clearOverlays()
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rangeXML = XML + '&LngMax='+northEast.lng() + '&LngMin=' +southWest.lng() + '&LatMax=' + northEast.lat() + '&LatMin=' + southWest.lat()
    GDownloadUrl(rangeXML, function(data, responseCode)
    {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        if (markers.length>1)
        {
            for (var i = 0; i < markers.length-1; i++)
            {
                map.addOverlay(CreateMarkerAuction(markers[i]));
            }
        }
    });
}

//中古屋繪製標示圖
function PlotMarkSale(XML)
{
    map.clearOverlays()
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rangeXML = XML + '&LngMax='+northEast.lng() + '&LngMin=' +southWest.lng() + '&LatMax=' + northEast.lat() + '&LatMin=' + southWest.lat()
    GDownloadUrl(rangeXML, function(data, responseCode)
    {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        if (markers.length>1)
        {
            for (var i = 0; i < markers.length-1; i++)
            {
                map.addOverlay(CreateMarkerSale(markers[i]));
            }
        }
    });
}

//地籍圖繪製
function PlotCadasterPicture(XML)
{
    map.clearOverlays()
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rangeXML = XML + '&LngMax='+northEast.lng() + '&LngMin=' +southWest.lng() + '&LatMax=' + northEast.lat() + '&LatMin=' + southWest.lat()
    GDownloadUrl(rangeXML, function(data, responseCode)
    {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        if (markers.length>1)
        {
            for (var i = 0; i < markers.length-1; i++)
            {
                map.addOverlay(CreateCadasterPic(markers[i]));
            }
        }
    });
}

//混合模式
function PlotMarkAll(XML)
{
    map.clearOverlays()
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rangeXML = XML + '&LngMax='+northEast.lng() + '&LngMin=' +southWest.lng() + '&LatMax=' + northEast.lat() + '&LatMin=' + southWest.lat()
    GDownloadUrl(rangeXML, function(data, responseCode)
    {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        if (markers.length>1)
        {
            for (var i = 0; i < markers.length-1; i++)
            {
                switch(markers[i].getAttribute('class'))
                {
                    case "Auction":
                        map.addOverlay(CreateMarkerAuction(markers[i]));
	                    break;
                    case "Sale":
                        map.addOverlay(CreateMarkerSale(markers[i]));
	                    break;
                }
            }
        }
    });
}

//建立法拍屋標示
function CreateMarkerAuction(markersxml)
{
    var icon = new GIcon(baseIcon);
    icon.image = "../IMG/MapMark/" + markersxml.getAttribute('case') + statemark[markersxml.getAttribute('state')] + markersxml.getAttribute('bid') + ".png";
    var point = new GLatLng(markersxml.getAttribute('lat'),markersxml.getAttribute('lng'));
    var WINDOW_HTML = "<table border=0><tr><td class=MapDataCatalog>案號：</td><td class=MapDataContents><span style=display:inline-block;color:Red;>" + markersxml.getAttribute('caption') +"</span></td></tr><tr><td class=MapDataCatalog>債務人：</td><td class=MapDataContents><a href=JavaScript:ShowAuctionProject('" + markersxml.getAttribute('court') + "'," + markersxml.getAttribute('id') + ")>" + markersxml.getAttribute('debtor') +"</a>&nbsp;&nbsp;&nbsp;&nbsp;" + State2Html(markersxml.getAttribute('state')) +"</td></tr><tr><td class=MapDataCatalog>拍賣日期：</td><td class=MapDataContents><span>" + markersxml.getAttribute('biddate')+"</span></td></tr><tr><td class=MapDataCatalog>坐落位置：</td><td class=MapDataContents><span>" + markersxml.getAttribute('build') + "</span></td></tr><tr><td class=MapDataCatalog>價格/坪數：</td><td class=MapDataContents><span style=font-weight:bold;display:inline-block;color:Red;>" + markersxml.getAttribute('price')/10000 + "萬</span> / <span>"+ markersxml.getAttribute('area') +"坪</span></td></tr><tr><td></td><td style=text-align: right;><a href=JavaScript:ShowAuctionProject('" +markersxml.getAttribute('court') + "'," + markersxml.getAttribute('id')+ ")>更多...</a></td></tr></table>";
    var marker = new GMarker(point,icon);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(WINDOW_HTML);
    });
    return marker;
}

//建立中古屋標示
function CreateMarkerSale(markersxml)
{
    var icon = new GIcon(baseIcon);
    icon.image = "../IMG/MapMark/Sale.png";
    var point = new GLatLng(markersxml.getAttribute('lat'),markersxml.getAttribute('lng'));
    var WINDOW_HTML = '<table border=0><tr><td class=MapDataCatalog>賣方人：</td><td class=MapDataContents><a href=JavaScript:ShowSaleProject("'+markersxml.getAttribute('id')+'")>'+ markersxml.getAttribute('Owner') +'</a></td></tr><tr><td class=MapDataCatalog>坐落位置：</td><td class=MapDataContents><span>'+ markersxml.getAttribute('build')+'</span></td></tr><tr><td class=MapDataCatalog>價格/坪數：</td><td class=MapDataContents><span style=font-weight:bold;display:inline-block;color:Red;>'+ markersxml.getAttribute('price')/10000 +'萬</span> / <span>'+ markersxml.getAttribute('area') +'坪</span></td></tr><tr><td></td><td style=text-align: right;><a href=JavaScript:ShowSaleProject("'+markersxml.getAttribute('id')+'")>更多...</a></td></tr></table>';
    var marker = new GMarker(point,icon);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(WINDOW_HTML);
    });
    return marker;
}

//建立地籍圖
function CreateCadasterPic(markersxml)
{
    var boundaries = new GLatLngBounds(new GLatLng(markersxml.getAttribute('south'),markersxml.getAttribute('west')),new GLatLng(markersxml.getAttribute('north'),markersxml.getAttribute('east')));
    var cadastermap = new GGroundOverlay("http://tw.988house.com:81/" + markersxml.getAttribute('id') + ".png", boundaries);
    return cadastermap;
}

//法拍繪製標示圖
function State2Html(state)
{
    var html;
    switch(state)
    {
        case "0":
            html='<img src=../IMG/stop.gif><span style=color:blue;font-weight:bold;>停拍</span>';
		    break;
		case "1":
            html='<span style=color:darkorange;font-weight:bold;>待標</span>';
		    break;
		case "2":
            html='<span style=color:DarkViolet;font-weight:bold;>流標</span>';
		    break;
		case "3":
            html='<img src=../IMG/biding.gif><span style=color:red;font-weight:bold;>得標</span>';
		    break;
        case "4":
            html = "承受";
		    break;
        case "5":
            html = "其它";
		    break;
   }
    return html
} 

statemark=new Array("S","B","L","G","S","S","S");