var Maps = function(var_id,var_gps_x,var_gps_y,var_zoom){
	this.window_w = 200;
	this.window_h = 150;
	this.window_dh = null;
	this.var_id = var_id;
	this.myOptions = {
		    zoom: var_zoom,
		    center: new google.maps.LatLng(var_gps_x, var_gps_y),
//		    disableDefaultUI: true,
//		    scrollwheel: false,
//		    draggable: false,
//		    disableDoubleClickZoom: true,
		    mapTypeId: google.maps.MapTypeId.ROADMAP
		  }
	var map = null;
	this.osiedla = new Array();
	
	var markers = new Array();
	var infowindow = new Array();
	
	this.setMarkers = function(map, locations) {
		for (var i = 0; i < locations.length; i++) {
			var osiedle = locations[i];
			var myLatLng = new google.maps.LatLng(osiedle[1], osiedle[2]);
			markers[i] = new google.maps.Marker({
		        position: myLatLng,
		        map: map,
		        icon: osiedle[3],
		        title: osiedle[0]
			});

			this.attachMessage(markers[i],osiedle[4],osiedle[0],i); 
		}
	};
	
	this.attachMessage = function(marker,message,title, i) {
		var height = '';
		if(this.window_dh !== null) {
			height = 'height: ' + this.window_dh + 'px;'
		}
		infowindow[i] = new google.maps.InfoWindow(
	      { content: '<div style="width: 250px; font-family: Arial; font-size: 11px; text-align: center; ' + height + '"><b>'+title+'</b><br/>'+message+'</div>',
	    	  size: new google.maps.Size(this.window_w,this.window_h)
	      });
		google.maps.event.addListener(marker, 'click', function() {
			infowindow[i].open(map,marker);
		});
	}
	
	this.showInfoWindow = function(id) {
		var l = infowindow.length;
		for(var k = 0; k < l; k++) {
			infowindow[k].close();
		}
		infowindow[id].open(map,markers[id]);
	}

	
	this.initialize = function() {
		map = new google.maps.Map(document.getElementById(this.var_id),
               this.myOptions);

		this.setMarkers(map, this.osiedla);
	};
}
