﻿(function() {
   var map = null;
   var pics = null;
   var markerClusterer = null;
   var markers = [];

   function $(element) {
     return document.getElementById(element);
   }

   var AMC = {
     init: function() {
       if(GBrowserIsCompatible()) {
         map = new GMap2($('bommap'));
         map.setCenter(new GLatLng(39.91, 116.38), 2);
         map.addControl(new GLargeMapControl());
         pics = data.boms;
         showMarkers(true);
       }
     },
     showMarkers: function(isInit) {
       showMarkers(isInit);
     },
     timing: function() {
         markerClusterer = new MarkerClusterer(map, markers);
     }
   };

   function showMarkers(init) {
     map.clearOverlays();
     markers = [];
     var icon = new GIcon(G_DEFAULT_ICON);
     icon.image = "http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png";
     
     if(markerClusterer != null) {
       markerClusterer.clearMarkers();
     }
	 
     var lg = pics.length;
     for (var i = 0; i < lg; ++i) {
		var latlng = new GLatLng(pics[i].latitude, pics[i].longitude);
	   var marker = new GMarker(latlng, {icon: icon});
	   var fn = markerClickFn(pics[i], latlng);
       GEvent.addListener(marker, "click", fn);
	   markers.push(marker);
	 }
     setTimeout("AMC.timing()", 0);
   }

   function markerClickFn(bom, latlng) {
     return function() {
       var bomname = bom.bom_name;
       var bomurl = bom.bom_url;
       var fileurl = bom.bom_img;
	   var blogurl = bom.bom_blog;
	   var bomaddr = bom.bom_adr;
	   var bomdesc = bom.bom_desc;
	   var infoHtml = '<div style="width:326px;font-size:12px;">'
	   +'<img src="temp/head.jpg" width="100" height="100" style="float:left;margin-right:6px;" />'
	   +'	<strong style="font-size:14px;">'+bomname+'</strong>'
	   +'<p style="width:220px;line-height:20px;padding:0;margin:3px 0 0;overflow:hidden;">'
	   +'<a href="'+bomurl+'" target="_blank">'+bomurl+'</a>'
	   +'<br />'+bomaddr
	   +'<br />博客：<a href="'+blogurl+'" target="_blank">'+blogurl+'</a>'
	   +'<br />'+bomdesc+'</p></div>';
       //infoHtml += '</div></div>';
       map.openInfoWindowHtml(latlng, infoHtml);
     };
   }
   window.AMC = AMC || window.AMC;
 })();

