//<![CDATA[
var locations = {};

function load() {
  var map = new GMap2(document.getElementById("map"));
  	map.setCenter(new GLatLng(44.081, -121.312515), 11);
    map.addControl(new GMapTypeControl());
  	//map.enableScrollWheelZoom();
  	map.addControl(new GLargeMapControl3D());

  GDownloadUrl("http://www.tfabend.com/wp-content/themes/bluebox/xml/markerdata.xml", function(data) {
    var xml = GXml.parse(data);
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var leader = markers[i].getAttribute("leader");
var leader2 = markers[i].getAttribute("leader2"); 
var host = markers[i].getAttribute("host"); 
      var address = markers[i].getAttribute("address"); 
var day = markers[i].getAttribute("day");
var time = markers[i].getAttribute("time"); 
      var type = markers[i].getAttribute("type");   	  
      var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                              parseFloat(markers[i].getAttribute("lng")));
      var label = markers[i].getAttribute("label");
var color = markers[i].getAttribute("color");
      var store = {latlng: latlng, leader: leader, leader2: leader2, host: host, address: address, day: day, time: time, type: type, label: label, color: color};
      var latlngHash = (latlng.lat().toFixed(6) + "" + latlng.lng().toFixed(6));
      latlngHash = latlngHash.replace(".","").replace(".", "").replace("-","");
      if (locations[latlngHash] == null) {
        locations[latlngHash] = []
      }
      locations[latlngHash].push(store);
    }
    for (var latlngHash in locations) {
      var stores = locations[latlngHash];
      if (stores.length > 1) {
        map.addOverlay(createClusteredMarker(stores));
      } else {
        map.addOverlay(createMarker(stores));
      }
     }
  });
}  
                                                         
function createMarker(stores) { 
  var store = stores[0];
  var newIcon = MapIconMaker.createFlatIcon({ primaryColor: stores[0].color, strokeColor:"#000000", label: stores[0].label, labelColor:"#FFFFFF"});   
  var marker = new GMarker(store.latlng, {icon: newIcon});
  var html = "<table><tr><td>Ldrs: </td><td>" + store.leader + "<br>" + store.leader2 + "</td></tr><tr><td>Host: </td><td>" + store.host + "</td></tr><tr><td>Addr: </td><td>" + store.address + "</td></tr><tr><td>Day: </td><td>" + store.day + "</td></tr><tr><td>Time: </td><td>" + store.time + "</td></tr></table>";
  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(html);
  });
  return marker;
}

function createClusteredMarker(stores) {  
  var newIcon = MapIconMaker.createFlatIcon({ primaryColor: stores[0].color, strokeColor:"#000000", label: stores[0].label, labelColor:"#FFFFFF"});   
  var marker = new GMarker(stores[0].latlng, {icon: newIcon});
  var html = "";
  for (var i = 0; i < stores.length; i++) {
     html = "<table><tr><td>Ldrs: </td><td>" + store.leader + "<br>" + store.leader2 + "</td></tr><tr><td>Host: </td><td>" + store.host + "</td></tr><tr><td>Addr: </td><td>" + store.address + "</td></tr><tr><td>Day: </td><td>" + store.day + "</td></tr><tr><td>Time: </td><td>" + store.time + "</td></tr></table>";
  }
  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(html);
  });
  return marker;
}
//]]>