// global declaration of Google Maps objects
var gMapSimple = null;
var gMgr = null;
var gMap4Search = null;

// Loading simple map for advert detail.
function loadGMapSimple(Center_x, Center_y, zoom)
{
	//var gpsCenter = GetGPS_LatLon("17°16'34.838, 49°35'2.425");
	var gpsCenter = GetGPS_LatLon(Center_y+", "+Center_x);
  //document.getElementById("centralHeader").innerHTML = gpsCenter;

	// creating base google map objects - html element id; XML data for markers source; XML data for markers icons source
	gMapSimple = new GoogleMapObject("map");
	// map initialization with settings of start position and marker manager enabled
	// parameters - map center, init zoom, markers enabled
	gMapSimple.initialize(parseFloat(gpsCenter.split(";")[1]), parseFloat(gpsCenter.split(";")[0]), 15, true);
	
	// adding control for showed map size settings
	gMapSimple.addSmallSizesControl(true, false, false, true);
	// adding search field
	//gMapSimple.addSearch(false, true, true, false);
	// adding overview for huge maps
	//gMapSimple.addOverview(false, true, true, false);
	// adding map type switch
	//gMapSimple.addMapTypeSwitch(true, true, false, false);

  //insertNewMarker(parseFloat(gpsCenter.split(";")[1]), parseFloat(gpsCenter.split(";")[0]), "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
}

// Loading simple map for search results.
function loadGMapExtended(Center_x, Center_y, zoom)
{ 
  if(zoom==null) zoom = 12;
  
	 var gpsCenter = GetGPS_LatLon(Center_y+", "+Center_x);
   //var gpsCenter = GetGPS_LatLon("17°16'34.838, 49°35'2.425");
	//document.getElementById("centralHeader").innerHTML = gpsCenter;

	// creating base google map objects - html element id; XML data for markers source; XML data for markers icons source
	gMapSimple = new GoogleMapObject("map");
	// map initialization with settings of start position and marker manager enabled
	// parameters - map center, init zoom, markers enabled
	gMapSimple.initialize(parseFloat(gpsCenter.split(";")[1]), parseFloat(gpsCenter.split(";")[0]), zoom, true);
	
	gMapSimple.map.setUIToDefault();
	
	// adding control for showed map size settings
	//gMapSimple.addSizesControl(true, false, false, true);
	// adding search field
	//gMapSimple.addSearch(false, true, true, false);
	// adding overview for huge maps
	//gMapSimple.addOverview(false, true, true, false);
	// adding map type switch
	//gMapSimple.addMapTypeSwitch(true, true, false, false);

    /*
    insertNewMarker(parseFloat(gpsCenter.split(";")[1])+0.005, parseFloat(gpsCenter.split(";")[0])+0.005, "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
    insertNewMarker(parseFloat(gpsCenter.split(";")[1])+0.010, parseFloat(gpsCenter.split(";")[0])+0.010, "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
    insertNewMarker(parseFloat(gpsCenter.split(";")[1])+0.005, parseFloat(gpsCenter.split(";")[0])-0.005, "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
    insertNewMarker(parseFloat(gpsCenter.split(";")[1])-0.005, parseFloat(gpsCenter.split(";")[0])+0.005, "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
    insertNewMarker(parseFloat(gpsCenter.split(";")[1])-0.01, parseFloat(gpsCenter.split(";")[0])+0.01, "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
    insertNewMarker(parseFloat(gpsCenter.split(";")[1])+0.01, parseFloat(gpsCenter.split(";")[0])-0.005, "javascript:alert('Zde patří odkaz na detail reality.');", "Moravská OV, byt. 152 m2, původní vest. (mezonet)", "Ulice 100", "Město XXX");
    */
  

   
}

var globalMarkers = new Array();
// Method for adding new marker on the running website.
function insertNewMarker(id, lat, lon, link, title, obrazek, cena, popis, street, city, showinfo)
{
  //alert(lat+', '+lon);
	var newIcon = gMapSimple.createIcon("/styles/images/map-icon.gif", 38, 53);
	var newMarker = gMapSimple.createMarker(lat, lon, title, newIcon, false);
	
	
	// adding event for mouseover of the icon
	
	if(showinfo!=0) {
	
    GEvent.addListener(newMarker, "mouseover", function() {
  		//window.location = "http://"+ link +"/";
  		
  		//for(j=0; j<globalMarkers.length; j++)
  		  //if(j!=i) globalMarkers[j].closeInfoWindow();
  		for (key in globalMarkers) {
        if(key!=id) globalMarkers[key].closeInfoWindow(); 
      }
  		
  		
      var htmlinfo = '<div id="boxall" onclick="globalMarkers['+id+'].closeInfoWindow();" style="height:100px;width:450px;margin-right:10px;">';
      if(obrazek>'') htmlinfo += '<img style="float:left;width:145px;height:105px;border:1px dotted gray;margin-right:10px;" src="'+EXTERNAL_IMGS+obrazek+'&type=list" alt="" />';
      htmlinfo += '<strong><a onclick="document.getElementById(\'boxall\').onclick=\'\';" target="_parent" href="'+link+'">'+title+'</a></strong><br />';
      htmlinfo += '<p style="margin:5px 0px 10px 0px;">'+popis+'</p>';
      htmlinfo += '<div>Cena: <strong>'+cena+'</strong><br />';
      htmlinfo += 'Lokalita: '+(street>''? street :'---- ')+(city>''?', ':'')+city+'</div>';
      htmlinfo += '</div>';
  		newMarker.openInfoWindowHtml(htmlinfo);
  	});
  	
  	
  	//var e = function() {
      //newMarker.closeInfoWindow();
    //};
      // adding event for mouseout of the icon
  	//GEvent.addListener(newMarker, "mouseout", function() {
  	 //newMarker.closeInfoWindow();
     //globalobject.closeInfoWindow();
     //globalobject = newMarker;
  	 //setTimeout("", 400);
    //});
  
  }
  
    // adding event for mouse click to the icon
	GEvent.addListener(newMarker, "click", function() {
		window.open(link,"_self","");
	});
	
	globalMarkers[id] = newMarker;
	
	//gMapSimple.addMarker(newMarker, 4, 17);
}

function getZoomLevel(latitude1, longitude1, latitude2,longitude2) {
  var miles = Math.floor(3958.75 * Math.acos(Math.sin(latitude1 / 57.2958) * Math.sin(latitude2 / 57.2958) + Math.cos(latitude1 / 57.2958) * Math.cos(latitude2 / 57.2958) * Math.cos(longitude2 / 57.2958 - longitude1 / 57.2958))); 
  var zoom = 8;

  if(miles < 0.2) zoom = 15;
  else if(miles <= 0.5) zoom = 15;
  else if(miles <= 1) zoom = 14;
  else if(miles <= 3) zoom = 13;
  else if(miles <= 7) zoom = 12;
  else if(miles <= 14) zoom = 11;
  else if(miles <= 30) zoom = 10;
  else if(miles <= 70) zoom = 9;
  else if(miles <= 170) zoom = 8;
  else if(miles <= 400) zoom = 7;
  else if(miles <= 1500) zoom = 6;
  else if(miles <= 5000) zoom = 5;
  else zoom = 4; 
  
  //alert(zoom);
  return zoom;  
}

