var map;
var icons = [];
/*var markers = new Array("Saab","Volvo","BMW");  */
var markersLoaded = false;
var markersadded = new Array();
var markers = new Array();

function addMarker (lat, lng, name, dscr, cat) {
	var marker = new GMarker(new GLatLng(lat, lng), {icon: icons[cat], title: name, hide: true});
	marker.txt = name;
	marker.dscr = dscr;
	marker.category = cat;

	map.addOverlay(marker);
	GEvent.addListener(marker,"click",function() {
		marker.openInfoWindowHtml('<b>'+marker.txt+'</b><br />'+marker.dscr);
	}); 
	var kat=new Number(cat);  	
	markers[kat].push(marker);
	marker.show();
	return markers[kat];
}

function toggleMarkers (category, show) {   
  var kat=new Number(category);
  for ( var i in markers ){
    if (markers[i][0].category == kat) {
      var j=0;
      while (markers[i][j].category)  {
        if(show) markers[i][j].show();
			  else markers[i][j].hide();
        j++;
      }
    }         
  }  
  /*for(var i=0; i<markers.length; i++) {
		if(markers[i].category == category) {
			if(show)
				markers[i].show();
			else
				markers[i].hide();
		}
	} */
}

function toggleCategory(item) {
   var kat=new Number(item.id.substring(3));
   if (!markersadded[kat] && item.checked) {
    document.getElementById('infobox').style.display = 'block';
    markersadded[kat] = 1;        
    GDownloadUrl("markers.php?group="+kat, function(data,code) {
  		if(code==200) {  			
        var baseIcon = new GIcon(G_DEFAULT_ICON);
  			baseIcon.iconSize = new GSize (50, 50);
  			baseIcon.imageMap = [0,0, 50,0, 50,50, 0,50];
  			baseIcon.iconAnchor = new GPoint (25, 25);
  			baseIcon.shadow = '';
  			var xml = GXml.parse(data);
  			
  			markers[kat] = new Array();
        var markerss = xml.documentElement.getElementsByTagName("marker");
  			for(var i=0; i<markerss.length; i++) {
  				var lat = parseFloat(markerss[i].getAttribute("lat"));
  				var lng	= parseFloat(markerss[i].getAttribute("lng"));
  				var name = markerss[i].getAttribute("name");
  				var dscr = markerss[i].getAttribute("dscr");
  				var cat = markerss[i].getAttribute("cat");
  				if (icons[cat] == undefined) {
  					var icon = new GIcon(baseIcon);
  					icon.image = 'ebiuro/Gm_icons/'+markerss[i].getAttribute("icon");
  					icon.iconAnchor = new GPoint (25, 25);
  					icons[cat] = icon;
  				} 
  				var marker = addMarker(lat, lng, name, dscr, cat);
  			}
        document.getElementById('infobox').style.display = 'none';  			
  		} 
	 });  
	 
	} else {  
	 toggleMarkers (kat, item.checked);
  } 	
}

function loadMarkers () {
  GDownloadUrl("markers.php", function(data,code) {
		if(code==200) {
			var baseIcon = new GIcon(G_DEFAULT_ICON);
			baseIcon.iconSize = new GSize (50, 50);
			baseIcon.imageMap = [0,0, 50,0, 50,50, 0,50];
			baseIcon.iconAnchor = new GPoint (25, 25);
			baseIcon.shadow = '';
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for(var i=0; i<markers.length; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng	= parseFloat(markers[i].getAttribute("lng"));
				var name = markers[i].getAttribute("name");
				var dscr = markers[i].getAttribute("dscr");
				var cat = markers[i].getAttribute("cat");
				if (icons[cat] == undefined) {
					var icon = new GIcon(baseIcon);
					icon.image = 'ebiuro/Gm_icons/'+markers[i].getAttribute("icon");
					icon.iconAnchor = new GPoint (25, 25);
					icons[cat] = icon;
				} 
				var marker = addMarker(lat, lng, name, dscr, cat);
			}
			document.getElementById('infobox').style.display = 'none';
		} 
	});
}

$(document).ready(function(){
  	if (gmLat != '') {
		map = new GMap2(document.getElementById ('offer_googlemap'));
    map.setCenter(new GLatLng(gmLat,gmLon),15);
		map.addControl(new GLargeMapControl());
		}
});

