// JavaScript Document
//<![CDATA[
	var map;
	var tilelayers;
	var zoomlevel = 1;
	var x = <? echo $x ?>;
	var y = <? echo $y ?>;
	var z = <? echo $z ?>;
	function SetZoom() {
		var center = map.getCenter();
		var lat = center.lat();
		var lng = center.lng();
		map.removeMapType(map.getCurrentMapType);
		var custommap = new GMapType(tilelayers, new EuclideanProjection(1), "",{tileSize:zoomlevel * 1792});
		map.addMapType(custommap);
		map.setCenter(new GLatLng(lat, lng), 0, custommap);
	}
	function SetLevel() {
		var center = map.getCenter();
		var lat = center.lat();
		var lng = center.lng();
		map.removeMapType(map.getCurrentMapType);
		tilelayers = [new GTileLayer(new GCopyrightCollection("<img src=\"/img/lay/maps/portal.gif\" />"),0,0)];
		tilelayers[0].getCopyright = function(a,b) {
		return {prefix:"", copyrightTexts:["<img src=\"/img/lay/maps/portal.gif\" />"]};
	}
	tilelayers[0].getTileUrl = function (a,b) {
		if ((a.x != 0) || (a.y != 0)) {
			return "img/lay/maps/cache/blank.png";
		} else {
			return "img/lay/maps/cache/level_"+z+".png";
		}
	};    
	var custommap = new GMapType(tilelayers, new EuclideanProjection(1), "",{tileSize:zoomlevel * 1792});
	map.addMapType(custommap);
	map.setCenter(new GLatLng(lat, lng), 0, custommap);
	}
	function TextualZoomControl() {
	}
	TextualZoomControl.prototype = new GControl();
	TextualZoomControl.prototype.initialize = function(map) {
	var container = document.createElement("div");
	var levelUpDiv = document.createElement("div");
	this.setButtonStyle_(levelUpDiv,"andarm.jpg","60","15");
	container.appendChild(levelUpDiv);
	//levelUpDiv.appendChild(document.createTextNode("Acima"));
	GEvent.addDomListener(levelUpDiv, "click", function() {
	if (z > 0) {
	z -= 1;
	SetLevel();
	}
	});      
	var levelDownDiv = document.createElement("div");
	this.setButtonStyle_(levelDownDiv,"andarp.jpg","60","15");
	container.appendChild(levelDownDiv);
	//levelDownDiv.appendChild(document.createTextNode("Level -"));
	GEvent.addDomListener(levelDownDiv, "click", function() {
	if (z < 15) {
	z += 1;
	SetLevel();
	}
	});     
	var zoomInDiv = document.createElement("div");
	this.setButtonStyle_(zoomInDiv,"zoomp.gif","20","20");
	container.appendChild(zoomInDiv);
	//zoomInDiv.appendChild(document.createTextNode("Zoom +"));
	GEvent.addDomListener(zoomInDiv, "click", function() {
	if (zoomlevel < 7) {
	zoomlevel += 1;
	SetZoom();
	}  
	});
	var zoomOutDiv = document.createElement("div");
	this.setButtonStyle_(zoomOutDiv,"zoomm.gif","20","20");
	container.appendChild(zoomOutDiv);
	//zoomOutDiv.appendChild(document.createTextNode("Zoom -"));
	GEvent.addDomListener(zoomOutDiv, "click", function() {
	if (zoomlevel > 1) {
	zoomlevel -= 1;
	SetZoom();
	}  
	});
	map.getContainer().appendChild(container);
	return container;
	}
	TextualZoomControl.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
	}
	TextualZoomControl.prototype.setButtonStyle_ = function(button,img,w,h) {
	button.style.color = "#0000cc";
	button.style.background = "url(img/lay/maps/"+img+")";
	button.style.font = "small Arial";
	button.style.border = "0px";
	button.style.padding = "2px";
	button.style.marginBottom = "3px";
	button.style.textAlign = "center";
	button.style.width = (w-4)+"px";
	button.style.height = (h-4)+"px";
	button.style.cursor = "pointer";
	}      
	function EuclideanProjection(a){
	this.pixelsPerLonDegree=[];
	this.pixelsPerLonRadian=[];
	this.pixelOrigo=[];
	this.tileBounds=[];
	var b=zoomlevel * 1792;
	var c=1;
	for(var d=0;d<a;d++){
	var e=b/2;
	this.pixelsPerLonDegree.push(b/360);
	this.pixelsPerLonRadian.push(b/(2*Math.PI));
	this.pixelOrigo.push(new GPoint(e,e));
	this.tileBounds.push(c);
	b*=2;
	c*=2
	}
	}
	EuclideanProjection.prototype=new GProjection();
	EuclideanProjection.prototype.fromLatLngToPixel=function(a,b){
	var c=Math.round(this.pixelOrigo[b].x+a.lng()*this.pixelsPerLonDegree[b]);
	var d=Math.round(this.pixelOrigo[b].y+(-2*a.lat())*this.pixelsPerLonDegree[b]);
	return new GPoint(c,d)
	};
	EuclideanProjection.prototype.fromPixelToLatLng=function(a,b,c){
	var d=(a.x-this.pixelOrigo[b].x)/this.pixelsPerLonDegree[b];
	var e=-0.5*(a.y-this.pixelOrigo[b].y)/this.pixelsPerLonDegree[b];
	return new GLatLng(e,d,c)
	};
	
	EuclideanProjection.prototype.tileCheckRange=function(a,b,c){
	var d=this.tileBounds[b];
	if (a.y<0||a.y>=d) {
	return false;
	}
	if(a.x<0||a.x>=d){
	a.x=a.x%d;
	if(a.x<0){
	a.x+=d;
	}
	}
	return true
	}
	EuclideanProjection.prototype.getWrapWidth=function(zoom) {
	return this.tileBounds[zoom]*(zoomlevel * 1792);
	}
	if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new TextualZoomControl());    
	GEvent.addListener(map, "click", function(marker, point) {
	if (marker) {
	map.removeOverlay(marker);
	} else {
	map.clearOverlays();
	var marker = new GMarker(point, {draggable: true});
	GEvent.addListener(marker, "dragstart", function() {
	map.closeInfoWindow();
	});
	GEvent.addListener(marker, "dragend", function() {
	var center = this.getPoint();
	marker.openInfoWindowHtml("X: " + center.lat().toString() + "<br>" + "Y: " + center.lng().toString() + "<br>" + "Z: " + z + "<br>" + "<a href=\"" + "?page=maps&x=" + center.lat().toString() + "&y=" + center.lng().toString() + "&z=" + z + "\">Link</a>");
	});
	map.addOverlay(marker);
	marker.openInfoWindowHtml("X: " + point.lat().toString() + "<br>" + "Y: " + point.lng().toString() + "<br>" + "Z: " + z + "<br>" + "<a href=\"" + "?page=maps&x=" + point.lat().toString() + "&y=" + point.lng().toString() + "&z=" + z + "\">Link</a>");
	}
	});
	tilelayers = [new GTileLayer(new GCopyrightCollection("<img src=\"/img/lay/maps/portal.gif\" />"),0,0)];
	tilelayers[0].getCopyright = function(a,b) {
	return {prefix:"", copyrightTexts:["<img src=\"/img/lay/maps/portal.gif\" />"]};
	}
	tilelayers[0].getTileUrl = function (a,b) {
	if ((a.x != 0) || (a.y != 0)) {
	return "img/lay/maps/cache/blank.png";
	} else {
	return "img/lay/maps/cache/level_" + z + ".png";
	}
	};
	var custommap = new GMapType(tilelayers, new EuclideanProjection(1), "",{tileSize:1792});
	map.addMapType(custommap);
	map.setCenter(new GLatLng(x, y), 1, custommap);
	if ((x != 0) && (y != 0) && (z != 0)) {
	var marker = new GMarker(new GLatLng(x, y), {draggable: true});
	GEvent.addListener(marker, "dragstart", function() {
	map.closeInfoWindow();
	});
	GEvent.addListener(marker, "dragend", function() {
	var center = this.getPoint();
	marker.openInfoWindowHtml("X: " + center.lat().toString() + "<br>" + "Y: " + center.lng().toString() + "<br>" + "Z: " + z + "<br>" + "<a href=\"" + "?page=maps&x=" + center.lat().toString() + "&y=" + center.lng().toString() + "&z=" + z + "\">Link</a>");
	});
	map.addOverlay(marker);
	}
	} else {
	alert("Erro, seus browser não suporta nossos mapas.");
	}
	//]]>
