var batch = new Array();
var progressBar = null;
var num = 0;
var maxNum;
var map = null;
var cluser = null;
var direct = true;
var iconJobcorner = MapIconMaker.createLabeledMarkerIcon({addStar: false, label: "", primaryColor: "#005979", width:14, height:20}); 


window.addEvent( 'domready', function(){initMap();} );


function initMap()
{
  if (GBrowserIsCompatible()) 
  {
    map = new GMap2(document.getElementById('map_canvas'));
    map.setCenter(new GLatLng(51.590564, 4.648183), 7);
    map.setUIToDefault();
    map.setMapType(G_PHYSICAL_MAP);
    map.enableScrollWheelZoom();
    progressBar = new ProgressbarControl(map, {width:150});
    var bounds = new GLatLngBounds();
    GDownloadUrl('scripts/jobcorner.lib.php?action=GetKML', function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("Placemark");
      for (var i = 0; i < markers.length; i++) {
        var name = markers[i].getElementsByTagName('name')[0].childNodes[0].nodeValue;
        var address = markers[i].getElementsByTagName('description')[0].childNodes[0].nodeValue;
        var hash = markers[i].getAttribute("hash");
        var point = new GLatLng(parseFloat(markers[i].getElementsByTagName('Point')[0].getElementsByTagName('coordinates')[0].childNodes[0].nodeValue.split(',')[1]),
                                parseFloat(markers[i].getElementsByTagName('Point')[0].getElementsByTagName('coordinates')[0].childNodes[0].nodeValue.split(',')[0]));
        var marker = createMapMarker(point, markers[i].getAttribute("id"), name, address, hash);
        batch.push(marker);
        bounds.extend(point);
      }
      cluster = new ClusterMarker(map, { markers:batch });
      cluster.fitMapToMarkers();
     if (!direct) loadMapProgressBar();
    });
  }
}



function loadMapProgressBar()
{
  progressBar.start(batch.length);
  maxNum = batch.length;
  setTimeout('addMapMarkers()',1);
}

      
function createMapMarker(point, id, name, address, logohash)
{
  var marker = new GMarker(point, iconJobcorner);
  var html = '<div class="geomarker"><div class="geomarkerlogo"><img src="images/logos/'+logohash+'_s.jpg"></div><ul><li><a href="/job/'+id+'">' + name + '</a></li><li>' + address +'</li></ul>';
  GEvent.addListener(marker, 'click', function(point) { marker.openInfoWindowHtml(html); });
  return marker;
}

      
function addMapMarkers()
{
  num = num + 1;
  progressBar.updateLoader(1);
  var marker = batch.pop();
  map.addOverlay(marker);
  if (num < maxNum) setTimeout('addMapMarkers()',10);
  else progressBar.remove();
}



