var map;
var locations;

// JavaScript Document
$(document).ready(function() 
{		
 	if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("kp_map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(61, 25.6), 7);
        $.get('/karttapalvelu/json_kaupungit/', processLocations );
    }	
		
	
	$("#kp_pidchange").change( function() {
		var pid_index = $("#kp_pidchange").val();
		if(pid_index!=0) {
			location.href = '/karttapalvelu/paikkakunta/'+pid_index;									
		}
	});	         

	$(document.body).unload(function() {
	if (GBrowserIsCompatible()) {
	GUnload();
	}
	}); 
	
});

function processLocations(content) {
	// "tiny" marker icon
	var icon = new GIcon();
	icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	icon.iconSize = new GSize(12, 20);
	icon.shadowSize = new GSize(22, 20);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);
	
	eval("locations = "+content);  
	
	if (!Array.prototype.forEach)
	{
  		Array.prototype.forEach = function(fun /*, thisp*/)	{
		var len = this.length;
		if (typeof fun != "function")
		  throw new TypeError();

		var thisp = arguments[1];
		for (var i = 0; i < len; i++)
		{
		  if (i in this)
			fun.call(thisp, this[i], i, this);
		}
  		};
	}
	
    locations.forEach(function(element, index, array) {
        var marker = new GMarker(new GLatLng(element.pkunta_N, element.pkunta_E), {icon:icon,title: element.pkunta_nimi});
        map.addOverlay(marker);
        GEvent.addListener(marker, 'click', function() {
            marker.openInfoWindowHtml('<div class="kp_iwindow1"><strong><a href="/karttapalvelu/paikkakunta/'+element.pkunta_id+'">'+element.pkunta_nimi+'</a></strong><br />Ravintoloita palvelussa: '+element.lkm+' kpl	</div>');       
        });        
    });

}