/*!*
 * 
 * Skyward Design Google Maps Library
 * Version 1.0.0
 * 
 */
var gmaps;
if(!gmaps) {
    gmaps = {};
} else {
    if(typeof map != "object") {
        throw new Error("'gmaps' already exists and is not an object")
    }
}

gmaps.mapObj = "";

gmaps.mapLoad = function(lat, lng, tag, id) {
    if(GBrowserIsCompatible()){
        mapObj = new GMap2(document.getElementById("mapArea"));
        mapObj.addControl(new GLargeMapControl());
        mapObj.addControl(new GOverviewMapControl());
        
        var point = new GLatLng(lat, lng);
        mapObj.setCenter(point, 13);
        mapObj.enableScrollWheelZoom();
        mapObj.enableContinuousZoom();
        
        //記事ポイントをマッピング
        var iconBluePin = new GIcon();
        iconBluePin.image = "http://maps.google.co.jp/mapfiles/ms/icons/blue-pushpin.png";
        iconBluePin.shadow = "http://maps.google.co.jp/mapfiles/ms/icons/pushpin_shadow.png";
        iconBluePin.size = new GSize(32, 32);
        iconBluePin.shadowSize = new GSize(59, 32);
        iconBluePin.iconAnchor = new GPoint(10, 32);
        var markerOption = {clickable:false, icon:iconBluePin};
        mapObj.addOverlay(new GMarker(point, markerOption));
        
        //近隣ポイントをマッピング
        GDownloadUrl("/mt5/mt-search.cgi?Template=related_point&blog_id=2&tag=" + tag + "&limit=100", function(data){
            var xml = GXml.parse(data);
            var markers = xml.documentElement.getElementsByTagName("marker");
            for(i = 0, len = markers.length; i < len; i++) {
                var entryid = markers[i].getElementsByTagName('id')[0].firstChild.nodeValue;
                var lat2 = markers[i].getElementsByTagName('lat')[0].firstChild.nodeValue;
                var lng2 = markers[i].getElementsByTagName('lng')[0].firstChild.nodeValue;
                var title = markers[i].getElementsByTagName('title')[0].firstChild.nodeValue;
                var message = markers[i].getElementsByTagName('message')[0].firstChild.nodeValue;
                var image = markers[i].getElementsByTagName('image')[0].firstChild.nodeValue;
                var url = markers[i].getElementsByTagName('url')[0].firstChild.nodeValue;
                
                if(entryid != id){
                    var html = "<dl id=\"entryInfo\"><dt>" + title + "</dt><dd><p><img src=\"" + image + "\" width=\"70\" height=\"47\" alt=\"\" class=\"thumbnail\" />" + message + "</p><ul><li><a href=\"" + url + "\" onclick=\"_gaq.push(['_trackEvent', 'Shimalog', 'MapClick', 'EntryArchive']);\"><img src=\"/shimalog/images/btn_readentry.gif\" alt=\"記事「" + title + "」を読む\" width=\"72\" height=\"20\" /></a></li></ul></dd></dl>";
                    gmaps.addMarker(lat2, lng2, html);
                }
            }
        });
    }
};

gmaps.addMarker = function(lat, lng, html) {
    var marker = new GMarker(new GLatLng(lat, lng));
    GEvent.addListener(marker, "click", function(){
        marker.openInfoWindowHtml(html);
    });
    mapObj.addOverlay(marker);
};

