var map;
var map_ajax_url;


function initialize() {
  var myLatlng = new google.maps.LatLng(46.73891945883612,17.243728637695312);
  var myOptions = {
    zoom: 10,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
		mapTypeControl: false,
        scrollwheel: false

  }


  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

      //google.maps.event.addListener(map, 'zoom_changed', function() {
        
		//});
		// google.maps.event.addListener(map, 'center_changed', function() {
        
		//});

	google.maps.event.addListener(map, 'click', function(event) {
    hide_map_info();
	//alert(google.maps.event.lat())
	placeMarker(event.latLng);
		});

  var map_content=document.getElementById("google-map")
		map_ajax_url='/'+map_content.title.split("|")[4]
		zoom_map(map_content.title)
		extractMarkers()
 
}

function hide_map_info() {
if (isObject(document.getElementById("MapInfo"))) {
	document.getElementById("MapInfo").style.display='none'
	}
}

function zoom_map(area) {
	for ( i = 0; i < markers.length; i++) {
		markers[i].setMap(null)
		//alert(i)
	}
	markers = new Array()
var myLat = parseFloat(area.split("|")[0])
	var myLong = parseFloat(area.split("|")[1])
	var myLatParam=parseFloat(area.split("|")[2])
	var myLongParam=parseFloat(area.split("|")[3])
  var southWest = new google.maps.LatLng(myLat - myLatParam,myLong  - myLongParam);
  var northEast = new google.maps.LatLng(myLat + myLatParam,myLong  + myLongParam);
  var bounds = new google.maps.LatLngBounds(southWest,northEast);
  map.fitBounds(bounds);
   
}

//********** extract Markers ************
var markers = [];
function extractMarkers(){
	//Logo button loader
 if (isObject(map_navi_button)) {map_navi_button.className=map_navi_button_class}
 //
  var map_content=document.getElementById("google-map")

	//zoom_map(map_content.title)

 var allObjects = map_content.getElementsByTagName('DIV');
for(var i=0;i<allObjects.length;i++){
	
	if(allObjects[i].className=='marker'){
		
		var latSpan = allObjects[i].title.split("|")[0]
		var lngSpan = allObjects[i].title.split("|")[1]
		var titleSpan = allObjects[i].title.split("|")[2]
		var titleEntity = allObjects[i].title.split("|")[3]
		var location = new google.maps.LatLng(latSpan,lngSpan);
		var marker = new google.maps.Marker({
        position: location, 
        map: map
		});	
		marker.setIcon('/css/map/'+titleEntity+'.png')
		marker.setTitle(titleSpan);
		attachMessage(marker, allObjects[i]);
		markers.push(marker);	
	}
	
}
//var markerCluster = new MarkerClusterer(map, markers,  {gridSize: 50, maxZoom: 12});
if (currentMarker!=null){
	//alert(currentMarker.infowindow.content)
	//currentMarker.infowindow.content="<h2>neeeeeeeee</h2>"
	currentMarker.infowindow.close()

		}
}
// The five markers show a secret message when clicked
// but that message is not within the marker's instance data


var currentMarker=null

function attachMessage(marker, ob) {
  var message = ob.innerHTML ;
  marker.infowindow = new google.maps.InfoWindow(
      { content: message
      });

  google.maps.event.addListener(marker, 'click', function() {
if (currentMarker!=null){
	currentMarker.infowindow.close()
		}
		currentMarker=marker
	marker.infowindow.open(map,marker);
	
  });
}



//**********Place Navi Marker ************

var zoomMarker;
function placeMarker(location) {
  var clickedLocation = new google.maps.LatLng(location);
  var marker = new google.maps.Marker({
      position: location, 
      map: map
  });
	  if (zoomMarker!=null){zoomMarker.setMap(null)}
		zoomMarker=marker
	  //alert(map.getZoom())
if (map.getZoom()<=13){
	marker.setIcon('/css/map/zoom.png')
	map.setZoom(13);
}
map.setCenter(location);
get_map_data(map_ajax_url)


google.maps.event.addListener(marker, 'click', function() {
	var get_ajax=false		
				//alert(marker.style.backgroundImage)
			if (map.getZoom()<13){
				get_ajax=true
				map.setZoom(13);
				marker.setIcon('/css/map/zoom.png')
			}
			else if (map.getZoom()==15){
				map.setZoom(13);
				marker.setIcon('/css/map/zoom.png')
			}
			else{
				get_ajax=true
				map.setZoom(15);
				marker.setIcon('')
			}
			if (get_ajax){
				map.setCenter(location);
				get_map_data(map_ajax_url)
					}
  });


}

var map_navi_button
var map_navi_button_class
function get_map_data(url) {


//Logo button loader
if (isObject(document.getElementById("MapNaviButton"))) {
map_navi_button=document.getElementById("MapNaviButton")
map_navi_button_class=document.getElementById("MapNaviButton").className
map_navi_button.className +=' loader_button'
}


	hide_map_info();
	for ( i = 0; i < markers.length; i++) {
		markers[i].setMap(null)
		//alert(i)
	}
	var bounds=map.getBounds()
	var top= bounds.getNorthEast().lat()
	var right= bounds.getNorthEast().lng()
	var bottom= bounds.getSouthWest().lat()
	var left= bounds.getSouthWest().lng()
		//marker.setMap(null)
	url=replace(url,'[MapSize]',top+'|'+right+'|'+bottom+'|'+left+'|'+map.getZoom())
	//alert(url)
	makeRequest(url,'','google-map','','google_map')
			
}


