var map;
  var iconBlue = new GIcon(); 
  iconBlue.image = '/catalog/view/javascript/stores/logo_mf.png';
  iconBlue.shadow = '';
  iconBlue.iconSize = new GSize(64, 60);
  iconBlue.shadowSize = new GSize(64, 60);
  iconBlue.iconAnchor = new GPoint(13, 5);
  iconBlue.infoWindowAnchor = new GPoint(5, 1);

  var iconRed = new GIcon(); 
  iconRed.image = '/catalog/view/javascript/stores/logo_mm.png';
  iconRed.shadow = '';
  iconRed.iconSize = new GSize(64, 60);
  iconRed.shadowSize = new GSize(64, 60);
  iconRed.iconAnchor = new GPoint(13, 5);
  iconRed.infoWindowAnchor = new GPoint(5, 1);

  var customIcons = [];
  customIcons["1"] = iconBlue;
  customIcons["2"] = iconRed;
  var markerGroups = { "1": [], "2": []};

  function load() {
    if (GBrowserIsCompatible()) {
      geocoder = new GClientGeocoder();
      map = new GMap2(document.getElementById('map'));
      map.addControl(new GSmallMapControl());
	  map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(46,25), 6);
      document.getElementById("magazinCheckbox").checked = true;
      document.getElementById("mobilCheckbox").checked = true;
		// var marker = createMarker(point, name, address, type);
		// map.addOverlay(marker);
    }
  }
 function searchLocations() {
   var type = 1;
   var address = 'Romania,'+document.getElementById('county').value+','+document.getElementById('town').value+','+document.getElementById('address').value;
   geocoder.getLatLng(address, function(latlng) {
     if (!latlng) {
       sidebar.innerHTML = '<p class="caption"><b>Nu au fost gasite rezultate.</b><br><br>Te rugam sa incerci din nou.</p>';
     } else {
       searchLocationsNear(latlng,type);
	   filter();
     }
   });
 }
 
 function searchSpecificStore() {
 	var type = 2;
	searchLocationsNear(null,type);
	filter();
	return false;
	}

 function searchLocationsNear(center,type) {
   if (type == 1)
   	{
	var radius = document.getElementById('radiusSelect').value;
	var searchUrl = '/system/external/googlemaps/stores.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
	}
	else
	{
	var storeNumber = document.getElementById('sNumber').value;
	var searchUrl = '/system/external/googlemaps/stores.php?store=' + storeNumber;
	}
   
   // console.log(searchUrl);
   
   GDownloadUrl(searchUrl, function(data) {
     var xml = GXml.parse(data);
     var markers = xml.documentElement.getElementsByTagName('marker');
     map.clearOverlays();
     var sidebar = document.getElementById('sidebar');
     sidebar.innerHTML = '';
     if (markers.length == 0) {
       sidebar.innerHTML = '<p class="caption">Nu am gasit rezultate.</p>';
       map.setCenter(new GLatLng(46,25), 6);
       return;
     }

     var bounds = new GLatLngBounds();
     for (var i = 0; i < markers.length; i++) {
       var name = markers[i].getAttribute('name');
       var address = markers[i].getAttribute('address');
	   var phone = markers[i].getAttribute('phone');
	   var orar = markers[i].getAttribute('orar');
       var type = markers[i].getAttribute('type');
       var distance = parseFloat(markers[i].getAttribute('distance'));
       var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                               parseFloat(markers[i].getAttribute('lng')));
       
       var marker = createMarker(point, name, address, phone, orar, type);
       map.addOverlay(marker);
       var sidebarEntry = createSidebarEntry(marker, name, address, phone, orar, distance, type, point);
       sidebar.appendChild(sidebarEntry);
       bounds.extend(point);
     }
	 paginate();
	 results();
	 offon();
     map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
   });
 }

  function createMarker(point, name, address, phone, orar, type) {
    var marker = new GMarker(point, customIcons[type]);
   // console.log('=='+type+'==');
   	var newstring = name.replace("MF", "Magazin ");
    var newstring = newstring.replace("MM", "MIC.RO mobil ");
	markerGroups[type].push(marker);
    var html = '<span class="name"><b>' + newstring + '</b></span> <br/>' + address+'<br />Telefon: '+phone+'<br />Orar: '+orar;
    GEvent.addListener(marker, 'click', function() {
        marker.openExtInfoWindow(
          map,
          "simple_example_window",
         html,
          {beakOffset: -4}
        );

    });
		GEvent.addListener(map, 'click', function(marker,point){ 
		  if (marker) { 
		    map.panTo(marker.getLatLng()); 
		  } 
		});
    return marker;
  }

  function showMarker(marker){ 
             GEvent.trigger(marker,"click"); 
     }

  function toggleGroup(type) {
    for (var i = 0; i < markerGroups[type].length; i++) {
      var marker = markerGroups[type][i];
      if (marker.isHidden()) {
        marker.show();
      } else {
        marker.hide();
      }
    } 
  }
  function createSidebarEntry(marker, name, address, phone, orar, distance, type, point) {
    var div = document.createElement('li');
	var newstring = name.replace("MF", "Magazin ");
    var newstring = newstring.replace("MM", "MIC.RO mobil ");
    var html = '<span class="name"><b>' + newstring + '</b>';
	if (distance.toFixed(1) != 'NaN')
		{
		html = html + ', la ' + distance.toFixed(1) + 'km</span>';
		}
    if (address != '')
		{
		html = html + '<br /><span class="address">' + address;	
		}
    if (orar != '')
		{
		html = html + '<br />Orar: '+orar;	
		}
	if (phone != '')
		{
		html = html + '<br />Telefon: '+ phone;
		}
	html = html + '</span><br /><a href="javascript:">detalii</a>';	
	div.innerHTML = html;
    GEvent.addDomListener(div, 'click', function() {
		searchLocationsNear(point,1);
		return false;
		});
    return div;
  }
