// JavaScript Document

// SKLEPY INDIGO NA MAPIE GOOGLE

if (GBrowserIsCompatible()) {
    	  
	var wykaz = 'wykaz_sklepow.txt';;
	var emailvar = "";	
	var websitevar = "";
  
	// definicja mapy
	var mapa = new GMap2(document.getElementById("mapa"));
	mapa.addControl(new GLargeMapControl());
	mapa.addControl(new GMapTypeControl());
	mapa.addControl(new GOverviewMapControl());
	
	// ustawienia mapy
	var granica = new GLatLngBounds();
	mapa.setCenter(new GLatLng( 50.77479023593762, 15.742378234863281), 14);

	GEvent.addListener(mapa, "moveend", function() {
 	var center = mapa.getCenter();
 	document.getElementById("info_latlang").innerHTML = center.toString();
	});
	
	mapa.enableContinuousZoom();
	// wersja dla IE
	GEvent.addDomListener(document.getElementById("mapa"), "mousewheel",     wheelZoom); 
	// wersja dla FF
	GEvent.addDomListener(document.getElementById("mapa"), "DOMMouseScroll", wheelZoom); 
	
	// definicja ikonek
	var ikona = new GIcon();
	ikona.iconSize = new GSize(12, 20);
	ikona.shadowSize = new GSize(22, 20);	
	ikona.shadow = "./images/mm_20_shadow.png";
	ikona.iconAnchor = new GPoint(6, 20);
	ikona.infoWindowAnchor = new GPoint(5, 1);
	
	// przetwarzanie danych z pliku wykaz_sklepow.htm
	GDownloadUrl(wykaz, function(data, responseCode) {
		var xml = GXml.parse(data);
	  	var dane = xml.documentElement.getElementsByTagName("sklep");
	  			  
	  	for (var i = 0; i < dane.length; i++) {
					  
			var lokalizacja = new GLatLng(parseFloat(dane[i].getAttribute("lat")),
									parseFloat(dane[i].getAttribute("lng")));
									
			var tytul = dane[i].getAttribute("tytul");
			var adres = dane[i].getAttribute("adres");
			var kod = dane[i].getAttribute("kod");			
			var miasto = dane[i].getAttribute("miasto");
			var kod_miasto = dane[i].getAttribute("kod") + " " + dane[i].getAttribute("miasto");		
			var kraj = dane[i].getAttribute("kraj");			
			var telefon = dane[i].getAttribute("telefon");			
			var rodzaj = dane[i].getAttribute("rodzaj");
			var emailadresse = dane[i].getAttribute("emailadresse"); 
			var website = dane[i].getAttribute("website");
								
			
			var emailvar = "";	
			var websitevar = "";

			if (emailadresse.length > 0){
				emailvar = "<tr><td><a href=" + 'mailto:' + emailadresse + ">Send us an email</a></td></tr>"
			}
			
			if (website.length > 0){
				websitevar = "<tr><td><a href=" + website + " target='_blank'>Zobacz opis na stronie www</a></td></tr>"
			}
					
			var adrespopup = "<table><tr><td>" + tytul + "</td></tr>" +
							  "<tr><td>" + adres + "</td></tr>" +
							  "<tr><td>" + kod_miasto + "</td></tr>" +
							  "<tr><td>" + kraj + "</td></tr>" +
							  "<tr><td>" + telefon + "</td></tr>" +
							  "<tr><td>" + emailvar + "</td></tr>" +
							  "<tr><td>" + websitevar + "</td></tr>" +
							  "</table>";
																
			mapa.addOverlay(createMarker(lokalizacja, adrespopup, rodzaj));
			granica.extend(lokalizacja);
								
	  }
	  	document.cookie="other=n"; 
  
	     // ustawienia zoomu mapy
		 //zoom gdy na mapie tylko jedna lokalizacja
	  	if  (dane.length == 1) {
			mapa.setZoom(14);		
		}else{
	  	//zoom gdy na mapie więcej lokalizacji
			mapa.setZoom(mapa.getBoundsZoomLevel(granica));
		}
		
		//wypośrodkowanie mapy
		var clat = (granica.getNorthEast().lat() + granica.getSouthWest().lat()) /2;
		var clng = (granica.getNorthEast().lng() + granica.getSouthWest().lng()) /2;
		mapa.setCenter(new GLatLng(clat,clng));
 
	});
	
}

else {
  alert("Warning: You cannot see our map with your current browser. Please change you browser to Internet Explorer or Mozilla FireFox");
}

//  Wybór i umieszczenie balonika
function createMarker(lokalizacja, adrespopup, rodzaj) {

  var balonik = new GIcon(ikona);
  
  if (rodzaj == "red")
  {
  	balonik.image = "images/mm_20_red.png";
  }
  else if (rodzaj == "blue")
  {
  	balonik.image = "images/mm_20_blue.png";
  }
  else if (rodzaj == "green")
  {
  	balonik.image = "images/mm_20_green.png";
  }
  else if (rodzaj == "brown")
  {
  	balonik.image = "images/mm_20_brown.png";
  }
  else if (rodzaj == "yellow")
  {
  	balonik.image = "images/mm_20_yellow.png";
  }
 
  var sklep = new GMarker(lokalizacja, balonik);
  
  // ustwienie zachowania lokalizacji po najechaniu i kliknięciu myszą
  GEvent.addListener(sklep, "mouseover", function() {
  	sklep.openInfoWindowHtml(adrespopup);
  });
         
  GEvent.addListener(sklep, "click", function() {
    mapa.setCenter(lokalizacja,15);
	sklep.openInfoWindowHtml(adrespopup);
  });
  return sklep;
}

// ustwienie zoomu mapy dla rolki myszki
function wheelZoom(a)
{
  // wersja dla FF
  if (a.detail) 
  {
    if (a.detail < 0)
    { mapa.zoomIn(); }
    else if (a.detail > 0)
    { mapa.zoomOut(); }
  }
  // wersja dla IE
  else if (a.wheelDelta)
  {
    if (a.wheelDelta > 0)
    { mapa.zoomIn(); }
    else if (a.wheelDelta < 0)
    { mapa.zoomOut(); }
  }
}

