function TextualZoomControl() {
}
TextualZoomControl.prototype = new GControl();
TextualZoomControl.prototype.initialize = function(map) {
	var container = document.createElement("div");
	var zoomInDiv = document.createElement("div");
	container.appendChild(zoomInDiv);
	zoomInDiv.className="zoomInDiv";
	GEvent.addDomListener(zoomInDiv, "click", function() {
		map.zoomIn();
	});
	var zoomOutDiv = document.createElement("div");
	container.appendChild(zoomOutDiv);
	zoomOutDiv.className="zoomOutDiv";
	GEvent.addDomListener(zoomOutDiv, "click", function() {
		map.zoomOut();
	});
	var moveRightDiv = document.createElement("div");
	container.appendChild(moveRightDiv);
	moveRightDiv.className="moveRightDiv";
	GEvent.addDomListener(moveRightDiv, "click", function() {
		map.panDirection(-1,0);
	});
	var moveLeftDiv = document.createElement("div");
	container.appendChild(moveLeftDiv);
	moveLeftDiv.className="moveLeftDiv";
	GEvent.addDomListener(moveLeftDiv, "click", function() {
		map.panDirection(+1,0);
	});
	var moveUpDiv = document.createElement("div");
	container.appendChild(moveUpDiv);
	moveUpDiv.className="moveUpDiv";
	GEvent.addDomListener(moveUpDiv, "click", function() {
		map.panDirection(0,+1);
	});
	var moveDownDiv = document.createElement("div");
	container.appendChild(moveDownDiv);
	moveDownDiv.className="moveDownDiv";
	GEvent.addDomListener(moveDownDiv, "click", function() {
		map.panDirection(0,-1);
	});
	var moveBackToPointDiv = document.createElement("div");
	container.appendChild(moveBackToPointDiv);
	moveBackToPointDiv.className="moveBackToPointDiv";				
	GEvent.addDomListener(moveBackToPointDiv, "click", function() {
		map.returnToSavedPosition();
	});
	map.getContainer().appendChild(container);
	return container;
}
TextualZoomControl.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
}
var map;
var geocoder;
var marker;
var mapIsOK = true;
function initialize() {
	var mapBaseLocation = (LF24.Wizytowka.currentData)?(LF24.Wizytowka.currentData.ulica.replace(/\/.+?$/,'').replace(/^plut\./,'').replace(/m\..+?$/,'').replace(/lok\..+?$/,'').replace(/pok\..+?$/,'').replace(/p\..+?$/,'')+', '+LF24.Wizytowka.currentData.miejscowosc.replace(/Wrocław-.+/,'Wrocław').replace(/Kraków-.+/,'Kraków').replace(/Łódź-.+/,'Łódź')):('');
	//var mapBaseLocation = 'Zandkagfgdfggdf';
	if (GBrowserIsCompatible()) {
		geocoder = new GClientGeocoder();
		map = new GMap2(document.getElementById("map_canvas"));
		showLocation(mapBaseLocation);
		map.addControl(new TextualZoomControl());
		overview = new GOverviewMapControl();
		map.addControl(overview);
	}
}
function addAddressToMap(response) {
	map.clearOverlays();
	if (!response || response.Status.code != 200) {
		if(LF24.Wizytowka.currentData.gpsE==undefined || LF24.Wizytowka.currentData.gpsE=='' || LF24.Wizytowka.currentData.gpsN==undefined || LF24.Wizytowka.currentData.gpsN=='') {
			PrintCheckbox.EnableDisableCheckbox('print_mapaDojazdu','Off');
			mapIsOK = false;
			document.getElementById('map_canvas').innerHTML = '<img src="'+Config.baseUrl.images+'noMap.png" usemap="#mapa" /><map name="mapa"><area href="'+siteUrl+'lf24_zmiana_lokalizacji_na_mapie.pdf" target="_blank" shape="rect" coords="91,201,538,286"/></map>';
		} else {
			mapIsOK = true;
			PrintCheckbox.EnableDisableCheckbox('print_mapaDojazdu','On');
			point = new GLatLng(LF24.Wizytowka.currentData.gpsN,LF24.Wizytowka.currentData.gpsE);
			map.setCenter(point, 14);
			map.savePosition();
			marker = new GMarker(point);
			map.addOverlay(marker);
			marker.openInfoWindowHtml('<div style="background-color: #ffffff; font-size: 11px; width:300px; font-family: Verdana, Tahoma, Arial, Sans-Serif;"><b>'+LF24.Wizytowka.currentData.nazwa+'</b><hr />'+LF24.Wizytowka.currentData.ulica+'<br />'+LF24.Wizytowka.currentData.kod_pocztowy+' '+LF24.Wizytowka.currentData.miejscowosc+'<br /><hr /><b>GPS: </b>N: '+getNiceGPS(LF24.Wizytowka.currentData.gpsN)+' E: '+getNiceGPS(LF24.Wizytowka.currentData.gpsE)+'</div>');		
		}
	} else {
		mapIsOK = true;
		PrintCheckbox.EnableDisableCheckbox('print_mapaDojazdu','On');
		place = response.Placemark[0];
		if(LF24.Wizytowka.currentData.gpsE!=undefined && LF24.Wizytowka.currentData.gpsE!='' && LF24.Wizytowka.currentData.gpsN!=undefined && LF24.Wizytowka.currentData.gpsN!='') {
			point = new GLatLng(LF24.Wizytowka.currentData.gpsN,LF24.Wizytowka.currentData.gpsE);
		} else {
			point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);
		}
		map.setCenter(point, 14);
		map.savePosition();
		marker = new GMarker(point);
		map.addOverlay(marker);
		marker.openInfoWindowHtml('<div style="background-color: #ffffff; font-size: 11px; width:300px; font-family: Verdana, Tahoma, Arial, Sans-Serif;"><b>'+LF24.Wizytowka.currentData.nazwa+'</b><hr />'+LF24.Wizytowka.currentData.ulica+'<br />'+LF24.Wizytowka.currentData.kod_pocztowy+' '+LF24.Wizytowka.currentData.miejscowosc+'<br /><hr /><b>GPS: </b>N: '+getNiceGPS(place.Point.coordinates[1])+' E: '+getNiceGPS(place.Point.coordinates[0])+'</div>');
	}
}
function showLocation(address) {
	geocoder.getLocations(address, addAddressToMap);
}
function getNiceGPS(a) {
	var b = Math.floor(a);
	var c = a - b;
	var d = c*60;
	return b+'&deg;'+Math.floor(d)+'&#39;'+Math.floor((d-Math.floor(d))*60)+'&#34';
}
