var map;
var mapbounds;

jQuery(function($)
{	
	if ($("#map-generic").length)
	{
		var latlng = new google.maps.LatLng(54.62466, 39.738571);
		map = new google.maps.Map(document.getElementById("map-generic"), 
		{
			zoom: 12,
			center: latlng,
			scrollwheel: true,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			mapTypeControl: true,
    		mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
	    });
		infoWindow = new google.maps.InfoWindow();
		google.maps.event.addListener(map, 'click', function(){
			infoWindow.close();
		});
		mapbounds = new google.maps.LatLngBounds();
	}
});

function mapAddPin(lat, lng, html)
{
	var latlng = new google.maps.LatLng(lat, lng);
	mapbounds.extend(latlng);

	var marker = new google.maps.Marker(
	{
        position: new google.maps.LatLng(lat, lng),
        map: map
    });
	google.maps.event.addListener(marker, 'click', function() 
	{
		infoWindow.setContent('<div id="map-'+Math.random()+'">'+html+'</div>');
		infoWindow.open(map, marker);
	});
}

function mapInitialize(pins)
{
	for (i in pins)
	{
		if (typeof(pins) != 'undefined')
		{
			mapAddPin(pins[i].lat, pins[i].lng, pins[i].html);
		}
	}
	
	map.setCenter(mapbounds.getCenter());
	map.fitBounds(mapbounds); 
}