
var map;
var markerI = 0;
var markers = new Array();
var infowindows = new Array();

function mapLoad(lat, lng, zoom) {
	var pos = new google.maps.LatLng(lat, lng);
	var mapOption = {
		zoom: zoom,
		center: pos,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	map = new google.maps.Map(
		document.getElementById('mapGoogle'), 
		mapOption
	);
}

var branch;
var branchLat;
var branchLng;
var branchZoom;
var p;
var openMarker;
function mapBranch(newBranch) {
	branch = newBranch;
	
	switch(branch) {
		case'gdansk':
			branchLat = 54.38;
			branchLng = 18.66;
			branchZoom = 12;
			p = 64;
			break;
		case'lodz':
			branchLat = 51.76;
			branchLng = 19.47;
			branchZoom = 9;
			p = 260;
			break;
		case'poznan':
			branchLat = 52.40;
			branchLng = 16.93;
			branchZoom = 12;
			p = 38;
			break;
		case'warszawa':
			branchLat = 52.23;
			branchLng = 21.07;
			branchZoom = 11;
			p = 873;
			break;
		case'wroclaw':
			branchLat = 51.11;
			branchLng = 17.04;
			branchZoom = 12;
			p = 77;
			break;
	}
}

function mapPoint(lat, lng, title, cid, p) {
	if( lat == 0 && lng == 0 ) return;
	
	var pos = new google.maps.LatLng(lat, lng);
	
	var iconSize = new google.maps.Size(27, 41);
	var iconStart = new google.maps.Point(0, 0);
	var iconPoint = new google.maps.Point(16, 16);
	var icon = new google.maps.MarkerImage("/repository/layout/"+ branch +"/logoMapaFamilijny.png", iconSize, iconStart, iconPoint);

	var link = '<div class="mapInfo"><a href="'+ p +'/'+ cid +'"><b>'+ title +'<b></a></div><a href="'+ p +'/'+ cid +'" class="more">więcej</a>';
	
	markers[ markerI ] = new google.maps.Marker({
		position: pos, 
		map: map,
		title: title,
		icon: icon,
		cid: cid
	});
	markers[ markerI ].infowindow = new google.maps.InfoWindow({ 
		position: pos,
		content: link,
		size: new google.maps.Size(50, 50)		
	});

	google.maps.event.addListener(markers[ markerI ], 'click', function() {
		
		for( var i = 0; i < markers.length; i++ ) {
			if( markers[i].getPosition().toString() == pos.toString() ) {
			
				if( openMarker ) {
					markers[ openMarker ].infowindow.close();
				}
			
				map.setCenter(pos);
				markers[ i ].infowindow.open(map, markers[ i ]);
				openMarker = i;
				
				return;
			}
		}	

	});
	
	markerI++;
}

function mapPointLite(lat, lng, title) {
	var iconSize = new google.maps.Size(27, 41);
	var iconStart = new google.maps.Point(0, 0);
	var iconPoint = new google.maps.Point(16, 16);
	var icon = new google.maps.MarkerImage("/repository/layout/"+ branch +"/logoMapaFamilijny.png", iconSize, iconStart, iconPoint);
	
	var pos = new google.maps.LatLng(lat, lng);
	var marker = new google.maps.Marker({
		position: pos, 
		map: map,
		title: title,
		icon: icon
	});

	markers[ markerI++ ] = marker;
	
	return marker;
}

function mapCenter(lat, lng, cid) {
	var pos = new google.maps.LatLng(lat, lng);

	for( var i = 0; i < markers.length; i++ ) {
		if( markers[ i ].cid == cid ) {
		
			if( openMarker ) {
				markers[ openMarker ].infowindow.close();
			}
		
			map.setCenter(pos);
			markers[ i ].infowindow.open(map, markers[ i ]);
			openMarker = i;
			
			return;
		}
	}
}
