var markersArray = [];
var map;

$(document).ready(function() {
	/* google search */	 
	if($("#google_map").length) {
		var x = parseFloat($("#center_x").html());
		var y = parseFloat($("#center_y").html());
		var zoom = parseInt($("#zoom_page").html());
		x = x ? x:56.85986;
		y = y ? y:35.904694;
		zoom = zoom ? zoom:12;
		show_gmap_search_map(x,y,zoom)
	}
    
});

function draw_points() {
	
	google.maps.event.addListenerOnce(map, 'idle', function() {
		
    	var bounds = map.getBounds();
        var southWest = bounds.getSouthWest(); 
		var northEast = bounds.getNorthEast(); 
    
    	y_sw = southWest.lat();
		x_sw = southWest.lng();
		y_ne = northEast.lat();
		x_ne = northEast.lng();
	
		$("#y_sw").attr("value",y_sw);
		$("#x_sw").attr("value",x_sw);
		$("#y_ne").attr("value",y_ne);
		$("#x_ne").attr("value",x_ne);	
		
		var mapzoom = map.getZoom();
		$("#zoom").attr("value",mapzoom);
		
		var x_center= map.getCenter().lat(); 
		var y_center = map.getCenter().lng(); 

		var id = $("#google_map").data("id");
		var icon_postfix = $("#google_map").data("icon");
		
		$.getJSON( '/organizations/map/'+id+'/', {
			draw_points: true,
			y_sw:y_sw,
			x_sw:x_sw,
			y_ne:y_ne,
			x_ne:x_ne,
			x_center: x_center,
	 		y_center: y_center,
			zoom: mapzoom
		}, function(obj) {
		
			var x = new Array();
			var y = new Array();
			var html = new Array();
			markers_green = new Array();
			markers_red = new Array();
   		
			//console.log(obj.reviews);
			
   			for (var test in obj.reviews) {
   				
   				var point = new google.maps.LatLng(obj.reviews[test].x,obj.reviews[test].y);
   		
   				
   				//var color = obj.reviews[test].color==0 ? "green":"red";
   				//var icon = "/i/icons/"+color+".png";
   			
   				var icon = "/i/icon"+icon_postfix+".png";
   			
    			var marker = new google.maps.Marker({
  					position: point,
  					map: map,
  					icon: icon,
  					cursor: 'pointer',
  					street: obj.reviews[test].title,
  					link: obj.reviews[test].link
  				}); 
  				
  				//infowindow = new google.maps.InfoWindow({  
	  			//	content: '11' 
				//}); 
  				
  				markers_red.push(marker); 
  				
  				google.maps.event.addListener(marker, 'click', function() {  
  					window.location = $(this).get(0).link;
  					return false;
				});  
				
				google.maps.event.addListener(marker, 'mouseover', function() {
					$("#google_map_note").text($(this).get(0).street).show();
				}); 
				
				google.maps.event.addListener(marker, 'mouseout', function() {
					$("#google_map_note").hide();
				});
				
			}
		});	
 	});	
}

function show_gmap_search_map(x,y,zoom) {
	var container = $("#google_map");
	var height = container.height();
	
	var point = new google.maps.LatLng(x, y);
	var myOptions = {
    	zoom: zoom,
    	center: point,
    	mapTypeId: google.maps.MapTypeId.ROADMAP
    }
   
    map = new google.maps.Map(document.getElementById("google_map"), myOptions);
    
    /*
   	infowindow = new google.maps.InfoWindow({  
	  content: '11' 
	}); 
	*/
    
	draw_points();

	/*
    google.maps.event.addListener(map, "zoom_changed", function(event) {
 			
 		deleteOverlays();
		draw_points();
				
 	});	
 	
 	google.maps.event.addListener(map, "dragend", function(event) {
 			
 		deleteOverlays();
		draw_points();
				
 	});	
 	*/
    
}	

function addMarker(icon, location) {
	marker = new google.maps.Marker({
		position: location,
		map: map,
		icon: icon,
	});
	markersArray.push(marker); 
}

// Deletes all markers in the array by removing references to them
function deleteOverlays() {
 	if (markersArray) {
 		for (i in markersArray) {
 			markersArray[i].setMap(null);
		}
 		markersArray.length = 0;
 	}	
} 


