var map;
var gmarkers = new Array();



var baseIcon = new GIcon();
baseIcon.shadow = "/icons12_png/shadow.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);



function mapInit() {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GOverviewMapControl());
	map.enableDoubleClickZoom();
	map.enableContinuousZoom();

	GEvent.addListener(map, "moveend", function() {
		var b = map.getBounds();
		var url = "/xml/?compact=1" 
			+ "&takeaway=" + takeaway
			+ "&min_lat="  + b.getSouthWest().lat()
			+ "&min_long=" + b.getSouthWest().lng()
			+ "&max_lat="  + b.getNorthEast().lat()
			+ "&max_long=" + b.getNorthEast().lng();
		//alert(url);
		render(url);
	});
}



function shopMarker(point, index, company, category_name, name, indirizzo, luogo, tel, url) {
	// Create a lettered icon for this point using our icon class
	var icon = new GIcon(baseIcon);
	icon.image = "/icons12_png/marker_" + company + ".png";
	var marker = new GMarker(point, icon);
	marker.id = index;
	gmarkers[index] = marker;

	GEvent.addListener(marker, "click", function() {
		var html = "";

		html += "<h3>" + name + "</h3>";

		// PADOVA //////////////////

		if (name == "Break Pizza") {
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/break1.jpg\"><img src=\"/images/80x60/break1.jpg\" height=\"60\"></a>&nbsp;";
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/break2.jpg\"><img src=\"/images/80x60/break2.jpg\" height=\"60\"></a><br/>";
		}


		if (name == "Idea Pizza") {
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/idea1.jpg\"><img src=\"/images/80x60/idea1.jpg\" height=\"60\"></a>&nbsp;";
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/idea2.jpg\"><img src=\"/images/80x60/idea2.jpg\" height=\"60\"></a><br/>";
		}

		if (name == "Ryan (euro 0.80 a consegna)") {
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/ryan1.jpg\"><img src=\"/images/80x60/ryan1.jpg\" height=\"60\"></a>&nbsp;";
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/ryan2.jpg\"><img src=\"/images/80x60/ryan2.jpg\" height=\"60\"></a><br/>";
		}

		if (name == "Mucio Gusto") {
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 28/01/2010\" h" + "ref=\"/images/1024x600w/muciogusto1.jpg\"><img src=\"/images/80x60/muciogusto1.jpg\" height=\"60\"></a>&nbsp;";
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 28/01/2010\" h" + "ref=\"/images/1024x600w/muciogusto2.jpg\"><img src=\"/images/80x60/muciogusto2.jpg\" height=\"60\"></a><br/>";
		}

		// PESCARA //////////////////

		if (name == "Hello Pizza (Pescara)" || name == "Hello Pizza (Montesilvano)") {
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/hello1.jpg\"><img src=\"/images/80x60/hello1.jpg\" height=\"42\"></a>&nbsp;";
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 26/01/2010\" h" + "ref=\"/images/1024x600w/hello2.jpg\"><img src=\"/images/80x60/hello2.jpg\" height=\"42\"></a><br/>";
		}

		// ROMA //////////////////

		if (name == "Sushi House") {
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 12/02/2010\" h" + "ref=\"/images/1024x600w/sushihouse1.jpg\"><img src=\"/images/80x60/sushihouse1.jpg\" height=\"60\"></a>&nbsp;";
			html += "<a class=\"pp_menu\" rel=\"menu\" target=\"_blank\" title=\"aggiornato al 12/02/2010\" h" + "ref=\"/images/1024x600w/sushihouse2.jpg\"><img src=\"/images/80x60/sushihouse2.jpg\" height=\"60\"></a><br/>";
		}

		html += "<small>" + category_name + "</small><br/>";
		html += indirizzo + "<br/>";
		html += luogo + "<br/>";
		html += "<em>tel.</em> <big><big><strong>" + tel + "</strong></big></big><br/>";

		if (url != "")
			html += "<a h" + "ref=\"" + url + " \" target=\"_blank\">Visita il sito</a>";

		marker.openInfoWindowHtml(html);

		setTimeout("$(function() { $(\"a.pp_menu\").fancybox({'zoomOpacity' : true, 'zoomSpeedIn' : 700, 'zoomSpeedOut' : 500});} )", 100);
		setTimeout("$(function() { $(\"a.pp_menu\").fancybox({'zoomOpacity' : true, 'zoomSpeedIn' : 700, 'zoomSpeedOut' : 500});} )", 1000);


	});
	return marker;
}


function render($url) {
GDownloadUrl($url, function(data) {
	var xml = GXml.parse(data);
	var shops = xml.documentElement.getElementsByTagName("shop");
	var tmp = gmarkers.concat();
//alert(shops.length);
	for (var i = 0; i < shops.length; i++) {
		var st = shops[i];
		if (gmarkers[st.getAttribute("id")]) {
			tmp[st.getAttribute("id")] = null;
			continue;
		}
		var point = new GLatLng(parseFloat(st.getAttribute("lat")),
				parseFloat(st.getAttribute("lng")));
		
		map.addOverlay(new shopMarker(point, st.getAttribute("id"), st.getAttribute("category"), st.getAttribute("category_name"),
			st.getAttribute("ragione"), st.getAttribute("indirizzo"),
			st.getAttribute("luogo"), st.getAttribute("telefono"), st.getAttribute("url")));
	}
	while (tmp.length > 0) {
		var g = tmp.pop();
		if (g) {
			map.removeOverlay(g);
			gmarkers[g.id] = null;
		}
	}
});
}













function skipIt() {

function MyControls() { }
MyControls.prototype = new GControl();

MyControls.prototype.initialize = function(map) {
	var container = document.createElement("div");

	var loadDiv = document.createElement("div");
	this.setButtonStyle_(loadDiv);
	container.appendChild(loadDiv);
	loadDiv.appendChild(document.createTextNode("Carica..."));
	GEvent.addDomListener(loadDiv, "click", function() {
		var b = map.getBounds();
		var url = "/xml/?compact=1" 
			+ "&min_lat="  + b.getSouthWest().lat()
			+ "&min_long=" + b.getSouthWest().lng()
			+ "&max_lat="  + b.getNorthEast().lat()
			+ "&max_long=" + b.getNorthEast().lng();
		// alert(url);
		render(url);
	});


	// map.getContainer().appendChild(container);
	return container;
}



// By default, the control will appear in the top left corner of the
// map with 7 pixels of padding.
MyControls.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(7, 14));
}



// Sets the proper CSS for the given button element.
MyControls.prototype.setButtonStyle_ = function(button) {
	button.style.color = "#0000cc";
	button.style.backgroundColor = "white";
	button.style.font = "small Arial";
	button.style.border = "1px solid black";
	button.style.padding = "2px";
	button.style.marginBottom = "3px";
	button.style.textAlign = "center";
	button.style.width = "6em";
	button.style.cursor = "pointer";
}


}


