tableWidth = 600;
tableHeight = 337;
// dimensione zoom
var tableWidthMax = 900;
var tableHeightMax = 505;

var swfWidth = "100%";
var swfHeight = "100%";
var playerScale = "Showall";
playerScale = "Exactfit";

var g_playerIsOpen = false;
var g_map;
var g_marker;
var BusinessMarker;
var g_isIE = false;

var g_playerReady = false;
var g_movePending = false;
var g_move = null;

var zoomIndoor = false; // abilita bisabilita lo zoom sugli indoor
var markerIndoor;
var mapIndoor;
var zoomIndoorExpand = true;
var mapInternalView = false;
var startPreviewIcon = 17;
var margin;
var footerMargin;
var internalView = new Array();
var category_filter = 0;
var alphabetOrderPoi = '';
var alphabetOrderPoiBusiness = '';
var categoryFilterBusiness = 0;
var addressMap;

var player_top = 102;
var player_left = 220;
var zoomed = false;
var markerMove = false;
index = 0;
var rand_no = Math.random();
var control = false;

var drawCustomBreak = false;
var drawBusinessCenter = false;
var requester = '';
var requesterBusiness = '';
var g_poiListIDBusiness = [];	// ci metto la lista dei POI BUSINESS
var g_poiListMarkerBusiness = [];	// ci metto la lista dei POI BUSINESS
var g_poiListID = [];	// ci metto la lista dei POI
var g_poiListMarker = [];	// ci metto la lista dei POI
var MAX_POI_LIST = 200;
var g_poiZoom = -1;	// mi salvo lo zoom per fare il refresh

var dynamic_icon = new Array();
dynamic_icon [1] = new Array(120,110,60,110);
dynamic_icon [2] = new Array(120,110,10,110);
dynamic_icon [3] = new Array(147,97,0,97);
dynamic_icon [4] = new Array(162,78,0,33);
dynamic_icon [5] = new Array(148,104,0,0);
dynamic_icon [6] = new Array(120,118,11,0);
dynamic_icon [7] = new Array(120,110,110,110);
dynamic_icon [8] = new Array(137,97,137,97);
dynamic_icon [9] = new Array(150,79,150,33);
dynamic_icon [10] = new Array(137,104,137,0);
dynamic_icon [11] = new Array(121,118,110,0);
dynamic_icon [12] = new Array(120,118,60,0);

var id_comune;
var geocoder;
var address;

var absoluteLocation = 'http://www.geomondo.eu/framework/';


//var g_playerName = "../../player/gmaps6_24_step6.swf?loadPOI=1&buttons=1&photo=0&virtualKeyboard=0&mapZoom=100000&damp=0.3&pauseReq=1&gMaps=1&radarmap2d=1&radarmap3d=0&fileProp=../../player/player.properties_new&rand=" + rand_no;
var g_playerName = "../../player/seetyPlayer.swf?overlay=1&loadPOI=1&buttons=1&photo=1&virtualKeyboard=0&mapZoom=100&fov=270&damp=0.3&pauseReq=1&gMaps=1&radarmap2d=1&radarmap3d=0&rand=" + rand_no;

//var g_playerName = "../../player/gmaps6_24_step6.swf?pauseReq=true&latlong=1&overlay=1&debugJS=0&radarmap2d=1&radarmap3d=0&navdepth=12&texturedepth=2&editor=1&r3rot=50&r3z=1420&r3offset=320&r3zoom=0.1&new=1&rand="+ rand_no;


var playerCode = '\
<div id="seetyPlayerContainer">\
				<table id="seetyPlayerTable" style="background-color:#C8D1D6;">\
				<tr><td height="15"><div style="background-image: url(../../images/toolbar.png);">\
				<div id="reversegeocod"></div>\
				<div style="top:0;left:0;position:absolute!important;margin-left:5px;">\
				<img src="../../images/newplayerclose.png" class="over" name="closepl" onclick="playerClose();" onmouseover="document.closepl.src=\'../../images/newplayercloseover.png\'" onmouseout="document.closepl.src=\'../../images/newplayerclose.png\'"/>\
				<img src="../../images/camera.png" class="over" name="camera" onclick="winPhoto.show(\'animation\');" onmouseover="document.camera.src=\'../../images/cameraover.png\'" onmouseout="document.camera.src=\'../../images/camera.png\'"/>\
				<img src="../../images/playerbig.png" class="over" name="playerbig" onclick="zoomPlayer();" onmouseover="document.playerbig.src=\'../../images/playerbigover.png\'" onmouseout="document.playerbig.src=\'../../images/playerbig.png\'"/></div></div></td></tr>\
					<tr>\
						<td id ="playerCell" width="' + tableWidth + 'px" height="' + tableHeight + 'px">\
							<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="' +swfWidth +'" height="' +swfHeight +'" id="gmaps" align="middle">\
								<param name="allowScriptAccess" value="sameDomain" />\
								<param name="wmode" value="transparent" />\
 								<param name="allowFullScreen" value="true" />\
								<param name="scale" value="' +playerScale +'" />\
								<param name="movie" value="' +g_playerName +'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />\
								<embed id="embed" allowFullScreen="true" wmode="transparent" src="' +g_playerName +'" quality="high" bgcolor="#666666" width="' +swfWidth +'" height="' +swfHeight +'" name="gmaps" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" scale="' +playerScale +'"/>\
							</object>\
						</td>\
					</tr>\
				</table>\
		</div>\
			<div id="poi_indoor_list_col"></div>\
			<div id="poi_indoor_text_row"></div>\
			</div>\
			';


function createSwfDiv(_point, _map){
    var elem = document.getElementById("seetyPlayer");
    elem.innerHTML = playerCode;
    if (_map != undefined) {
        playerSetPos(player_left, player_top); 
        playerHide();
    }
}

function playerSetPos(x, y){
    var elem = document.getElementById("seetyPlayer");
    elem.style.top = y.toString() + "px";
    elem.style.left = x.toString() + "px";
}

function playerHide(){

    var elem = document.getElementById("seetyPlayer");
    if (g_isIE) {
        elem.style.zIndex = -1;
    }
    else {
        elem.style.visibility = "hidden";
    }
}

function playerUnhide(){
    var elem = document.getElementById("seetyPlayer");
    if (g_isIE) {
        elem.style.zIndex = 99;
    }
    else {
        elem.style.visibility = "visible";
        elem.style.zIndex = 3;
    }
	
	var elem = document.getElementById("playerCell");
    if (zoomIndoor){
		elem.width = tableWidthMax;
    	elem.height = tableHeightMax;
	} else {
		elem.width = tableWidth;
    	elem.height = tableHeight;		
	}
	
}

function playerOpen(_point, _rot, _v, _map, poi_id){

        // cerco il pixel sul bordo del player in basso
        panToMap(_point, zoomed);
        
		geocoder = new GClientGeocoder();
		getAddress(_point);
        if (poi_id != 0) {
            position = getUV(poi_id);
        }
        else {
            position = new Array();
            position[0] = -1;
            position[1] = .5;
            getUV('undefined');
        }
		internalView = position;
		internalView['internalid'] = poi_id;	
		asGoLatLong(_point.lat(), _point.lng(), position[0], position[1], 270);
		/*
		if (position['internalview'] == 1 && directIndoor == 1) {
			//zoomIndoor = true;
			//internalPoi();
			asGoLatLong(_point.lat(), _point.lng(), position[0], position[1], 270);
		}else if (position['internalview'] == 1 && position['directindoor'] == 0) {
			//zoomIndoor = true;
			//internalPoi();
			asGoLatLong(_point.lat(), _point.lng(), position[0], position[1], 270);		
		}else {
			//if (zoomIndoor) {
			//	hideMapIndoor();
				//zoomIndoor = false;	
			//}
			asGoLatLong(_point.lat(), _point.lng(), position[0], position[1], 270);		
		} */	
		playerUnhide();
        g_playerIsOpen = true;

        //drawCustomPoi();
        getFocus();
    
}

function playerOpenUserGen(lat, lng, u, v){
		if (g_map.getZoom() < 15) g_map.setZoom(15);
		var pointUserGen = new GLatLng(lat, lng);
        panToMap(pointUserGen, zoomed);
        playerUnhide();
		geocoder = new GClientGeocoder();
		getAddress(pointUserGen);
        asGoLatLong(lat, lng, u, v,270);
        g_playerIsOpen = true;
        getFocus();
    
}



function panToMap(_point){
    var pix = g_map.fromLatLngToDivPixel(_point); // ho cliccato su questo pixel
    var size = g_map.getSize();
    var container = g_map.getContainer();
    var centery = container.offsetTop + size.height / 2;
    var centerx = container.offsetTop + size.width / 2;
    var elem = document.getElementById("playerCell");
    var width_flash = elem.width / 2;
    var height_flash = elem.height;
  /*  if (zoomed) {
        pix.y -= (height_flash / 2 - centery + 70);
        pix.x -= (-centerx + width_flash * 2 + 170);
    }
    else {*/
	pix.y -= (tableHeight - centery + 100);
	pix.x -= (-centerx + tableWidth - 230);
    //}
    var point = g_map.fromDivPixelToLatLng(pix);
    //	_map.panTo(point);
    //	var size = _map.getSize();
   
    g_map.panTo(point);
    g_marker.setLatLng(_point);
}

function mapInit(lat, lng, zoomStart, comune,topMargin,left,marginBorder,iconPreview,businessCenter,u, v, _open){
	startPreviewIcon = iconPreview;
	if (businessCenter)
		drawBusinessCenter = true;
		
    if (navigator.appName.indexOf("Microsoft") != -1) {
        g_isIE = true;
		requester = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
    else {
        g_isIE = false;
		requester = new XMLHttpRequest();
    }
	id_comune = comune;
	player_top = topMargin;
	//if(poi == 'false') drawCustomBreak = true;
	var mapElem = document.getElementById("map");
	margin = marginBorder;
	if (margin == 'undefined') margin = 302;
	//mapElem.style.height = (document.documentElement.clientHeight-player_top)+'px';
	mapElem.style.width = (document.documentElement.clientWidth-margin)+'px';
	//mapElem.style.top = top+'px';
	//mapElem.style.left = left+'px';
    // creo un subject
    //g_subject = new Subject();
    
    if (GBrowserIsCompatible()) {
        // metto anche lo zindex del map a 2
        var mapElem = document.getElementById("map");
        mapElem.style.zIndex = 2;
        var map = new GMap2(mapElem);
        map.setUIToDefault();
		//map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
		if (typeof mapCreateCustom == 'function') {
			mapCreateCustom(map, lat, lng);
		}
        var point = new GLatLng(lat, lng);
        map.setCenter(point, zoomStart);
        //createSwfDiv(point,map);
        map.enableScrollWheelZoom();
        map.enableGoogleBar();
		//map.addMapType(G_PHYSICAL_MAP);
		

        icon = new GIcon();
        icon.image = "../../images/cursore/pic00.png";
        icon.iconSize = new GSize(64, 64);
        //icon.shadowSize = new GSize(37, 34);
        icon.iconAnchor = new GPoint(32, 32);
        icon.infoWindowAnchor = new GPoint(10, 0);
        icon.infoShadowAnchor = new GPoint(19, 22);
        //icon.shadow = "http://www.google.com/mapfiles/markerA.png";
        
        lastIconIndex = 0;
        
        var marker = new PdMarker(point, icon);
        g_marker = marker;
        g_map = map;
        
        map.addOverlay(g_marker);
        
        //per comunicare con extjs
        var e = parent.Ext;
        
        //inizializzo array x le categorie selezionate
        category_filter = new Array(0);
		
		
        if (_open == undefined) {
            _open = false;
        }
        //_open = false;
        if (_open) {
            //mapMove(lat, lng, 0)
            var point = new GLatLng(lat, lng);
            map.setCenter(point, 15);
            createSwfDiv(point, map);
            playerOpen(point, u, v, map, 0, true);
            panToMap(point)
			//mapMoveTo(lat,lng);
            //createSwfDiv(new GLatLng(lat,lng),map);
        }
        else {
            //alert('ok');
            var info = fumetto_iniziale;
            //map.openInfoWindow(point,info,{onCloseFn:function(){playerOpen(point,-1,-1,g_map,0);}});
            //drawCustomPoi();
            map.openInfoWindow(point, info);
            createSwfDiv(point, map);
            
        }		
		
		var mapElem = document.getElementById("mapIndoor");
		var playerPos = getPlayerPos();	
		var leftValue = playerPos['x']+597;
		var topValue = playerPos['y']+352;
		var mapElemContainer = document.getElementById("mapIndoor_container");
		mapElemContainer.style.top = topValue+'px';	
		mapElemContainer.style.left = leftValue+'px';		
		mapElem.style.width = '300px';
		mapElem.style.height = '150px';
		mapElemContainer.style.zIndex = 0;
		mapElem.style.zIndex = 0;
		mapElem.style.display = 'none';
		mapIndoor = new GMap2(mapElem);
		mapIndoor.addControl(new GSmallZoomControl3D());
		var point = g_marker.getLatLng();
	    mapIndoor.setCenter(point, 15);
	    mapIndoor.enableScrollWheelZoom();
		if (typeof mapCreateCustom == 'function') {
			mapCreateCustom(mapIndoor, lat, lng, 'internal');
		}
	    icon = new GIcon();
	    icon.image = "../../images/cursore/pic00.png";
	    icon.iconSize = new GSize(64, 64);
	    icon.iconAnchor = new GPoint(32, 32);
	    icon.infoWindowAnchor = new GPoint(10, 0);
	    icon.infoShadowAnchor = new GPoint(19, 22);
	    lastIconIndex = 0;   
	    markerIndoor = new PdMarker(point, icon);	
		mapIndoor.addOverlay(markerIndoor);
		
        GEvent.addListener(mapIndoor, "click", function(_marker, point){
			asGoLatLong(point.lat(),point.lng(),-1,.5);		
			markerIndoor.setLatLng(point);
        });		
		
/*
        var info = "<div style='font-family:verdana;font-size:9pt'><img src='../../images/logo_small.gif' style='margin-left:15pt'/><p><br>Per vedere la citt&agrave; in ogni sua via, segui queste indicazioni:</p><br><ul style='font-family:verdana;font-size:9pt;list-style-image: url(http://www.seety.co.uk/images/arrow.gif);margin-left:15pt'><li>Clicca sulla mappa, nel punto che preferisci</li> <li>Apparir&agrave; un'immagine, cliccaci e spostati per guardarti attorno</li> <li>Inizia la tua avventura virtuale. Vai dove vuoi!</li> <li>Come? Usa la bussola o i tasti direzione sulla tastiera</li></ul><br><center>Buon divertimento!</center></div>";
        //map.openInfoWindow(point,info,{onCloseFn:function(){playerOpen(point,-1,-1,g_map,0);}});
        //drawCustomPoi();
        map.openInfoWindow(point, info);
        createSwfDiv(point, map);
*/		
		
        // aggiungo il listener per il click sulla mappa					
        GEvent.addListener(map, "click", function(_marker, point){
            map.closeInfoWindow();
            //alert('click');
            if (_marker) {
                // ho colpito un marker
                if (_marker.getLatLng) {
                    point = _marker.getLatLng();
					 //alert('click marker');
                }
                
                if (_marker == marker) {
                    // se colpisco il marker dell'omino apro l'infowindow
                     //alert('devo aprire il palyer');
                    if (g_playerIsOpen) {
                        playerClose();
                    }
                    else {
                        var new_point = g_marker.getLatLng();
						//alert(new_point);
                        playerOpen(point, -1, .5, map, 0);
                    }
                }
                else {
                    //alert("ho colpito un altro marker");
					// alert('altro');
                }
            }
            else {

                //e.getCmp('addpoibutton').setDisabled(false);
                
                // non ho colpito nessun marker
				//alert(g_marker.getLatLng());
                g_marker.setLatLng(point); // sposto il marker
				//alert(point);
                //alert('sposto marker');
                if (g_playerIsOpen) {
                    // attenzione chiudere il player se e' gia' chiuso fa casini 
                    playerClose();
                }
                
            }
        });
        
        
        
        //listener per lo spostamento della mappa tramite drag
       /* GEvent.addListener(map, "dragend", function(){
         alert('Drag');
         drawCustomPoi();
         }); */
        
        //listener per lo zoom sulla mappa
        GEvent.addListener(map, "zoomend", function(){
            //alert('zoom');
			clearPOI();
			clearPOIBusiness();
            drawCustomPoi();
        });
        //listener per lo spostamento della mappa tramite panTo
        GEvent.addListener(map, "moveend", function(){
            //alert('mosso');
            markerMove = true;
            drawCustomPoi();
        });
    }
    else {
        alert(alert_browser);
        createSwfDiv();
        playerOpen();
    }
	
	if(typeof drawPolyLine == 'function') {
		drawPolyLine();
	} 	

}

function getAddress(latlng) {
  if (latlng != null) {
    address = latlng;
    geocoder.getLocations(latlng, showAddress);
  }
}


function showAddress(response) {

	if (!response || response.Status.code != 200) {
		alert("Status Code:" + response.Status.code);
	}
	else {
		place = response.Placemark[0];
		document.getElementById("reversegeocod").innerHTML = place.address;
		addressMap = place.address;
	}

}


function drawCustomPoi()
{

	if (drawCustomBreak) {
		if (drawBusinessCenter) drawBusiness();
		 return false;
	}

	zoom = g_map.getZoom();
	var box = g_map.getBounds();
	control = false;

	swlat = box.getSouthWest().lat();
	nelng = box.getNorthEast().lng();
	nelat = box.getNorthEast().lat();
	swlng = box.getSouthWest().lng();
	
		
	var actualFilter = document.getElementById("selectservizi").options[document.getElementById("selectservizi").selectedIndex].value;	
	if(category_filter != actualFilter) {
		clearPOI();
		dynamic_filter = '&category_selected='+actualFilter;
		category_filter = actualFilter;
	} else if (category_filter == 0 && category_filter == actualFilter){
		dynamic_filter = '';
	}
	
	(alphabetOrderPoi != '') ? poiAlphaFilter = '&poialphafilter='+alphabetOrderPoi : poiAlphaFilter = '';
	
	if (window.XMLHttpRequest) {
        var requester = new XMLHttpRequest();
    } else {
            var requester = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
	
	requester.onreadystatechange = function()
	{
		if (requester.readyState==4)
		{
			// se la lista e' troppo lunga ne tolgo un po'
			checkPOIList();
	
			var poiNode = requester.responseXML.getElementsByTagName("poi");
			for (var i=0; i<poiNode.length; i++) 
			{

				// uso questo come id univoco (spero che sia giusto)
				var idNode = requester.responseXML.getElementsByTagName("id")[i];
				var idTextNode = idNode.childNodes[0]; 
				var id = idTextNode.nodeValue;
			
				if (jQuery.inArray(id,g_poiListID)>=0)
				{
					continue;
				}

				var latitudeNode = requester.responseXML.getElementsByTagName("latitude")[i];
				var latitudeTextNode = latitudeNode.childNodes[0]; 
				var latitude = latitudeTextNode.nodeValue;
				var longitudeNode = requester.responseXML.getElementsByTagName("longitude")[i];
				var longitudeTextNode = longitudeNode.childNodes[0]; 
				var longitude = longitudeTextNode.nodeValue;
				var point = new GLatLng(latitude,longitude);
				
				var titleNode = requester.responseXML.getElementsByTagName("title")[i];
				var titleTextNode = titleNode.childNodes[0];
				var title = titleTextNode.nodeValue;
				var userNode = requester.responseXML.getElementsByTagName("user")[i];
				var userTextNode = userNode.childNodes[0];
				var user = userTextNode.nodeValue;
				var pictureNode = requester.responseXML.getElementsByTagName("icon")[i];
				var pictureTextNode = pictureNode.childNodes[0];
				var picture = pictureTextNode.nodeValue;
				var node = requester.responseXML.getElementsByTagName("macrocategory")[i];
				var nodeTextNode = node.childNodes[0]; 
				var indoor = requester.responseXML.getElementsByTagName("indoor")[i].childNodes[0].nodeValue;
				var Node = requester.responseXML.getElementsByTagName("macrocategory")[i];
				var TextNode = Node.childNodes[0];
				
				if (nodeTextNode.nodeValue != '0') 
				{
					var indoorIcon = '';
					if (indoor != 0) indoorIcon = 'indoor';
					var customicon = '../../icon/marker/'+indoorIcon+nodeTextNode.nodeValue+'.gif';
					var iconX = 20;
					var iconY = 25;
					var anchorX = 1;
					var anchorY = 25;
				}
				else 
				{
					customicon = "http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png";
					var iconX = 20;
					var iconY = 34;
					var anchorX = 9;
					var anchorY = 34;
				}
	
				var dyn_icon = requester.responseXML.getElementsByTagName("dyn_icon")[i].childNodes[0].nodeValue;
				var timeNode = requester.responseXML.getElementsByTagName("time")[i];
				var timeTextNode = timeNode.childNodes[0]; 
				var time = timeTextNode.nodeValue;
				var point = new GLatLng(latitude,longitude);
				icon = new GIcon();
				if (zoom < startPreviewIcon) 
				{
					icon.image = customicon;
		        	icon.iconSize = new GSize(iconX, iconY);
		        	icon.iconAnchor = new GPoint(anchorX, anchorY);
		        	icon.infoWindowAnchor = new GPoint(9, 2);
					control = true;
				} 
				else if (zoom >= startPreviewIcon) 
				{
					icon.image = absoluteLocation+"uc/poi_icon/"+id+".png?time="+time;
					icon.iconSize = new GSize(dynamic_icon[dyn_icon][0], dynamic_icon[dyn_icon][1]);
					icon.iconAnchor = new GPoint(dynamic_icon[dyn_icon][2], dynamic_icon[dyn_icon][3]);
					icon.infoWindowAnchor = new GPoint(10,10);
					control = true;
				}
			
				if (control) 
				{
					var marker = new PdMarker(point, {icon:icon});
					custom_marker = marker;
					custom_marker.setId(id);
				}
	
				if (zoom < startPreviewIcon) 
				{
					var htmltooltip = "<div class='markertooltip_container_top'><div class='markertooltip_container'><img src='"+absoluteLocation+"uc/" + user + "/gallery/miniature/" + picture + "' width='100' border='0' style='border:1px solid #437290;' /><br/><div class='markertooltip'>" + title+"</div></div></div>";
					custom_marker.setTooltip(htmltooltip);
					custom_marker.setOpacity(90);
				} else if (zoom >= startPreviewIcon) {
					custom_marker.setTooltip("<div class='markertooltip'>" + title+"</div>");
		
				}
				
				if (control) 
				{
					GEvent.addListener(custom_marker, "click", function()
					{
						markerMove = false;
						new_point = this.getPoint();
						poi_id = this.getId();

						//test = this.getId();
						if (g_playerIsOpen) 
						{
							playerClose();
							playerOpen(new_point, -1, .5, g_map, poi_id);
						}
						else 
						{
							playerOpen(new_point, -1, .5, g_map, poi_id);
						}

					});
					
					g_poiListMarker.push(custom_marker);
					g_poiListID.push(id);
					g_map.addOverlay(custom_marker);
				}
			};
		}
	}
	
			
	requester.open('GET', '/?c=general&m=get_poi_comuni'+poiAlphaFilter+dynamic_filter+'&swlat='+swlat+'&swlng='+swlng+'&nelat='+nelat+'&nelng='+nelng+'&id_comune='+id_comune+'&zoom='+zoom, true);
	requester.send(null);

	findPoi(id_comune,0,alphabetOrderPoi);
	if (!drawBusinessCenter) {
		 return false;
	}else {	
		drawBusiness();
	}
	
}

function selectAlphabetServizi(letter) {
	clearPOI();
	alphabetOrderPoi = letter;
	drawCustomPoi();	
}

function selectAlphabetBusiness(letter) {	

	clearPOIBusiness();
	alphabetOrderPoiBusiness = letter;
	drawBusiness();	
}

function drawBusiness(){
		if (window.XMLHttpRequest) {
	        var requesterBusiness = new XMLHttpRequest();
	    } else {
	            var requesterBusiness = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	    }
		
		var actualFilterBusiness = document.getElementById("selectsponsor").options[document.getElementById("selectsponsor").selectedIndex].value;	
		if(categoryFilterBusiness != actualFilterBusiness) {
			clearPOIBusiness();
			dynamicFilterBusiness = '&category='+actualFilterBusiness;
			categoryFilterBusiness = actualFilterBusiness;
		} else if (categoryFilterBusiness == 0 && categoryFilterBusiness == actualFilterBusiness){
			dynamicFilterBusiness = '';
		}	
		
		(alphabetOrderPoiBusiness != '') ? poiBusinessAlphaFilter = '&poialphafilter='+alphabetOrderPoiBusiness : poiBusinessAlphaFilter = '';		
		
		requesterBusiness.onreadystatechange = function()
		{
			if (requesterBusiness.readyState==4)
			{
				// se la lista e' troppo lunga ne tolgo un po'
				checkPOIListBusiness();
		
				var poiNode = requesterBusiness.responseXML.getElementsByTagName("poibusiness");
				for (var i=0; i<poiNode.length; i++) 
				{
					// uso questo come id univoco (spero che sia giusto)
					var idNode = requesterBusiness.responseXML.getElementsByTagName("id")[i];
					var idTextNode = idNode.childNodes[0]; 
					var id = idTextNode.nodeValue;
									
					if (jQuery.inArray(id,g_poiListIDBusiness)>=0)
					{
						continue;
					}
					
					var latitudeNode = requesterBusiness.responseXML.getElementsByTagName("latitude")[i];
					var latitudeTextNode = latitudeNode.childNodes[0]; 
					var latitude = latitudeTextNode.nodeValue;
					var longitudeNode = requesterBusiness.responseXML.getElementsByTagName("longitude")[i];
					var longitudeTextNode = longitudeNode.childNodes[0]; 
					var longitude = longitudeTextNode.nodeValue;
					var point = new GLatLng(latitude,longitude);
					
					var titleNode = requesterBusiness.responseXML.getElementsByTagName("title")[i];
					var titleTextNode = titleNode.childNodes[0];
					var title = titleTextNode.nodeValue;

					var address = requesterBusiness.responseXML.getElementsByTagName("address")[i].childNodes[0].nodeValue;
					var proprieta = requesterBusiness.responseXML.getElementsByTagName("proprieta")[i].childNodes[0].nodeValue;
					var cap = requesterBusiness.responseXML.getElementsByTagName("cap")[i].childNodes[0].nodeValue;
					var municipality = requesterBusiness.responseXML.getElementsByTagName("municipality")[i].childNodes[0].nodeValue;
					var web = requesterBusiness.responseXML.getElementsByTagName("web")[i].childNodes[0].nodeValue;
					var phone = requesterBusiness.responseXML.getElementsByTagName("phone")[i].childNodes[0].nodeValue;					
					
					var iconX = 9;
					var iconY = 9;
					var anchorX = 4;
					var anchorY = 9;
		
					var timeNode = requesterBusiness.responseXML.getElementsByTagName("time")[i];
					var timeTextNode = timeNode.childNodes[0]; 
					var time = timeTextNode.nodeValue;
					var point = new GLatLng(latitude,longitude);
					icon = new GIcon();
					if (zoom >= 15) 
					{
						icon.image = "/icon/poibusiness/business.png";
			        	icon.iconSize = new GSize(iconX, iconY);
			        	icon.iconAnchor = new GPoint(anchorX, anchorY);
			        	icon.infoWindowAnchor = new GPoint(9, 2);
						control = true;
					} 
				
					if (control) 
					{
						var markerBusiness = new PdMarker(point, {icon:icon});
						BusinessMarker = markerBusiness;

						BusinessMarker.setId(id);
						BusinessMarker.setTooltip("<div class='markertooltip'>" + title+"</div>");
					}
					//BusinessMarker.setTooltip("<div class='markertooltipDetail'>" + title+"<br/>"+proprieta+"<br/>"+address+"<br/>"+cap+" "+municipality+"<br/>"+web+"<br/>Tel. "+phone+"</div>");

					if (control) 
					{
						GEvent.addListener(BusinessMarker, "click", function()
						{
							markerMove = false;
							new_point = this.getPoint();
							if (g_playerIsOpen) playerClose();
								playerOpen(new_point, -1, .5, g_map, 0, true);
							showBusinessInfo('/?c=general&m=getBusinessInfo&id='+this.getId());
						});

										
						g_poiListMarkerBusiness.push(BusinessMarker);
						g_poiListIDBusiness.push(id);
						g_map.addOverlay(BusinessMarker);
						
					}
				};
			}
		}		
		requesterBusiness.open('GET', '/?c=general&m=getBusinessPoi'+poiBusinessAlphaFilter+dynamicFilterBusiness+'&swlat='+swlat+'&swlng='+swlng+'&nelat='+nelat+'&nelng='+nelng+'&id_comune='+id_comune+'&zoom='+zoom, true);
		requesterBusiness.send(null);
		
		findSponsor(id_comune,0, alphabetOrderPoiBusiness);
			
}



function checkPOIList()
{
	//alert(g_poiListID.length);
	if (zoom != g_poiZoom) {
		clearPOI();
		g_poiZoom = zoom;
	}
	else {
		var dif = g_poiListID.length - MAX_POI_LIST;
		if (dif > 0) {
			for (var i = 0; i < dif; i++) {
				g_map.removeOverlay(g_poiListMarker[i]); // lo tolgo dalla mappa
				g_poiListID.shift(); // e dalle liste
				g_poiListMarker.shift();
			}
		}
	}
}

function checkPOIListBusiness()
{
	if (zoom != g_poiZoom) {
		clearPOIBusiness();
		g_poiZoom = zoom;
	}
	else {
		var dif = g_poiListIDBusiness.length - MAX_POI_LIST;
		if (dif > 0) {
			for (var i = 0; i < dif; i++) {
				g_map.removeOverlay(g_poiListMarkerBusiness[i]); // lo tolgo dalla mappa
				g_poiListIDBusiness.shift(); // e dalle liste
				g_poiListMarkerBusiness.shift();
			}
		}
	}
}


function clearPOI()
{
	for (var i = 0; i < g_poiListID.length; i++) {
		g_map.removeOverlay(g_poiListMarker[i]); // lo tolgo dalla mappa
	}
	g_poiListID = [];
	g_poiListMarker = [];
	//g_map.clearOverlays();
	//refreshIcon();
}

function clearPOIBusiness()
{
	for (var i = 0; i < g_poiListIDBusiness.length; i++) {
		g_map.removeOverlay(g_poiListMarkerBusiness[i]); // lo tolgo dalla mappa
	}
	g_poiListIDBusiness = [];
	g_poiListMarkerBusiness = [];
}


function refreshIcon(){
    g_map.addOverlay(g_marker);
    if (index >= 10) {
        g_marker.setImage("http://giovanni.rovatti.googlepages.com/pic" + index + ".png");
    }
    else {
        g_marker.setImage("../../images/cursore/pic0" + index + ".png");
    }
    
}

function getUV(poi){
    if (window.XMLHttpRequest) {
        var requester = new XMLHttpRequest();
    } else {
            var requester = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
    requester.open('GET', '/?c=general&m=getUV&poi_selected=' + poi, false);
    requester.send(null);
    var poiNode = requester.responseXML.getElementsByTagName("poi");
    var uNode = requester.responseXML.getElementsByTagName("u")[0];
    var uTextNode = uNode.childNodes[0];
    var u = uTextNode.nodeValue;
    var vNode = requester.responseXML.getElementsByTagName("v")[0];
    var vTextNode = vNode.childNodes[0];
    var v = vTextNode.nodeValue;
    UV = new Array();
    UV[0] = u;
    UV[1] = v;
	UV['lat'] = requester.responseXML.getElementsByTagName("lat")[0].childNodes[0].nodeValue;
	UV['lon'] = requester.responseXML.getElementsByTagName("lon")[0].childNodes[0].nodeValue;	
	UV['directindoor'] = requester.responseXML.getElementsByTagName("directindoor")[0].childNodes[0].nodeValue;
	UV['internalview'] = requester.responseXML.getElementsByTagName("internalview")[0].childNodes[0].nodeValue;	
	UV['latinternal'] = requester.responseXML.getElementsByTagName("latinternal")[0].childNodes[0].nodeValue;
	UV['lnginternal'] = requester.responseXML.getElementsByTagName("lnginternal")[0].childNodes[0].nodeValue;
	UV['uinternal'] = requester.responseXML.getElementsByTagName("uinternal")[0].childNodes[0].nodeValue;
	UV['vinternal'] = requester.responseXML.getElementsByTagName("vinternal")[0].childNodes[0].nodeValue;			
    return UV;
}


function playerClose(){
    var player = thisMovie("gmaps");
	player.hidePano();
    player.poiSetEditState(0);
    playerHide();
    g_playerIsOpen = false;
    zoomed = false;
	hideMapIndoor();
	zoomIndoor = false;
	//resetInternalView();
	document.getElementById('indoorExpand').src = "/images/arrow_closer_indoor.gif";	
}

/*function asGoLatLong(param1, param2, param3, param4){
    if (g_playerReady) {
        var movie = thisMovie("gmaps");
        movie.goLatLong(param1, param2, param3, param4);
    }
    else {
        g_movePending = true;
        g_move = new Array(param1, param2, param3, param4);
    }
}*/


function asGoLatLong(param1, param2, _param3, _param4,param5){
	if (param5==undefined)
	{
		param5 = -1;
	}

	if (typeof _param3=='string')
	{
		param3 = parseFloat(_param3);
	}
	else
	{
		param3 = _param3;
	}
	if (typeof _param4=='string')
	{
		param4 = parseFloat(_param4);
	}
	else
	{
		param4 = _param4;
	}
	
	
	
	
    if (g_playerReady) {
        var movie = thisMovie("gmaps");
        movie.goLatLong(param1, param2, param3, param4,param5);
    }
    else {
        g_movePending = true;
        g_move = new Array(param1, param2, param3, param4, param5);
    }
}

function thisMovie(movieName){
    if (g_isIE) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}

function getFocus(){
    document.getElementById("gmaps").focus();
}

function asMaximize(){
    maximizePano();
}

function asClose(){
    playerClose();
}

function maximizePano(){
	
var elem = document.getElementById("playerCell");
    if (!zoomed) {
        elem.width = tableWidthMax;
        elem.height = tableHeightMax;
        zoomed = true;
    }
    else {
        elem.width = tableWidth;
        elem.height = tableHeight;
        zoomed = false;
    }
    
    var _point = g_marker.getLatLng();
    panToMap(_point, zoomed);
}

function mapMoveTo(_lat, _lng){
    if (!g_playerIsOpen) {
        return;
    }
    
    if (GBrowserIsCompatible() && markerMove) {
        var lat = parseFloat(_lat);
        var lng = parseFloat(_lng);
        var point = new GLatLng(lat, lng);
        var oldPoint = g_marker.getLatLng();
        var centerMap = g_map.getCenter();
        
        var newCenter = new GLatLng(-oldPoint.lat() + point.lat() + centerMap.lat(), -oldPoint.lng() + point.lng() + centerMap.lng());
        g_map.setCenter(newCenter);
        g_marker.setLatLng(point);
		if (zoomIndoor){
			mapIndoor.setCenter(point);
	        markerIndoor.setLatLng(point);			
		}
		geocoder = new GClientGeocoder();
		getAddress(point);
    }
}

function coordsNotInMap(){
    var info = alert_zona_non_mappata;
    
    if (GBrowserIsCompatible() && g_map) {
		//resetInternalView();
        playerClose();
        var point = g_marker.getLatLng();
        g_map.openInfoWindow(point, info);
    }
}

function flashReady(){
    g_playerReady = true;
    if (g_movePending) {
        g_movePending = false;
        asGoLatLong(g_move[0], g_move[1], g_move[2], g_move[3], g_move[4]);
        
    }
}

function updateBearing(absDir){
    var adjDir = absDir;
    index = Math.round(adjDir / 45); // 360/8
    if (index == 8) {
        index = 0;
    }
    if (index != lastIconIndex) {
        if (index >= 10) {
            g_marker.setImage("http://giovanni.rovatti.googlepages.com/pic" + index + ".png");
			if (zoomIndoor)   markerIndoor.setImage("http://giovanni.rovatti.googlepages.com/pic" + index + ".png");
        }
        else {
            g_marker.setImage("../../images/cursore/pic0" + index + ".png");
			if (zoomIndoor)  markerIndoor.setImage("../../images/cursore/pic0" + index + ".png");
        }
        lastIconIndex = index;
    }
}


function poiMousePressed(type, name, value){
	var height =document.body.clientHeight;
	if (internalView['internalview'] == 1) {
		mapInternalView = true;
		asGoLatLong(internalView['latinternal'], internalView['lnginternal'], internalView['uinternal'], internalView['vinternal'], 270);
		getInternalView(internalView['internalid']);
	}	else 
		popupext(absoluteLocation + 'ci/index.php?c=geo&m=view_from_player&site_id=' + value);
}


function macroCategoryFilter(id,reset){
    if (window.XMLHttpRequest) {
        var requester = new XMLHttpRequest();
    } else {
            var requester = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    }

    if (reset) {
		category_filter = new Array(0);
		clearPOI();
	}
	
    if (id != 0) {

        requester.open('GET', '/?c=general&m=getmacrocategory&custom=' + id, false);
        requester.send(null);
        var filterNode = requester.responseXML.getElementsByTagName("filter");
        for (var i = 0; i < filterNode.length; i++) {
            var id = requester.responseXML.getElementsByTagName("id")[i].childNodes[0].nodeValue;
			category_filter.push(id);
			
        }
    }
    drawCustomPoi();
}

function mapMove(lat, lng, poi){
	//alert(lat+' '+lng+' '+poi);
    point = new GLatLng(lat, lng);
	if (g_map.getZoom() < 15) g_map.setZoom(15);
    g_map.panTo(point);
    if (poi != undefined) {
        playerOpen(point, -1, .5, g_map, poi);
    }

}

function mapMoveAndOpen(lat, lng, poi,value, internal, direct){
	mapMove(lat, lng, poi);
	var height = document.documentElement.clientHeight;
	//window.open('/?c=general&m=view_from_player&site_id='+value,'GeoMondo','width=600,height='+height+',scrollbars=yes');	
	//if (value != undefined && internal == 0)
		//popupext(absoluteLocation+'ci/index.php?c=geo&m=view_from_player&site_id='+value);
}


function popupext(url) {

 	if (Ext.getCmp('windowpanel')) {
		Ext.getCmp('windowpanel').setLocation(url);
	}
 	else {

		Ext.BLANK_IMAGE_URL = '../../extjs/resources/images/default/s.gif';
		var tabs = new Ext.Panel({
			xtype: 'panel',
			region: 'center',
			margins: '0 0 0 0',
			activeTab: 0,
			id: 'view-port',
			defaults: {
				autoScroll: true
			},
			layout: 'fit',
			defaultType: "iframepanel",
			frame: false,
			items: [{
				id: 'windowpanel',
				loadMask: {
					msg: label_caricamento
				}
			//defaultSrc: url
			}]
		});
		
		var win = new Ext.Window({
			title: ' ',
			id: 'east-panel',
			closable: true,
			modal: false,
			width: 622,
			height: document.documentElement.clientHeight - 50,
			layout: 'border',
			x: document.documentElement.clientWidth - 630,
			items: [tabs]
		});
		
		win.show();
		
		Ext.getCmp('windowpanel').setLocation(url);
	}
	Ext.getCmp('east-panel').setPagePosition(document.documentElement.clientWidth - 630,15);
}

function popupPoiUserGen() {
	var box = g_map.getBounds();
	var swlatuser = box.getSouthWest().lat();
	var nelnguser = box.getNorthEast().lng();
	var nelatuser = box.getNorthEast().lat();
	var swlnguser = box.getSouthWest().lng();
	
	var url = '/?c=general&m=showUserGen&swlat='+swlatuser+'&swlng='+swlnguser+'&nelat='+nelatuser+'&nelng='+nelnguser+'&id_comune='+id_comune;
	Ext.getCmp('poiusergenwin').show();
	Ext.getCmp('poiusergenframe').setLocation(url);	
	Ext.getCmp('poiusergenwin').setPosition(document.documentElement.clientWidth - 570,15);
}

function popupPoiUserGenBest() {
	var box = g_map.getBounds();
	var swlatuser = box.getSouthWest().lat();
	var nelnguser = box.getNorthEast().lng();
	var nelatuser = box.getNorthEast().lat();
	var swlnguser = box.getSouthWest().lng();
	
	var url = '/?c=general&m=showUserGenBest&swlat='+swlatuser+'&swlng='+swlnguser+'&nelat='+nelatuser+'&nelng='+nelnguser+'&id_comune='+id_comune;
	
	Ext.getCmp('poiusergenwinbest').show();
	Ext.getCmp('poiusergenframebest').setLocation(url);
	Ext.getCmp('poiusergenwinbest').setPosition(document.documentElement.clientWidth - 570,15);
}


function showBusinessInfo(url) {
	
	
	var obj = document.getElementById('seetyPlayer');
    var topValue= 0,leftValue= 0;
    while(obj){
		leftValue+= obj.offsetLeft;
		topValue+= obj.offsetTop;
		obj= obj.offsetParent;
    }
	leftValue = leftValue+630;


 	if (Ext.getCmp('businessiframe')) {
		Ext.getCmp('businessiframe').setLocation(url);
	}
 	else {
		var businessInfo = new Ext.Panel({
			xtype: 'panel',
			region: 'center',
			id: 'businessinfo',
			margins: '0 0 0 0',
			defaults: {autoScroll: true},
			layout: 'fit',
			defaultType: "iframepanel",
			frame: false,
			items: [{
				id: 'businessiframe',
				loadMask: {
					msg: 'Caricamento in corso'
				}
			//defaultSrc: url
			}]
		});
		
		var winBusiness = new Ext.Window({
			title: pc_titolo_finestra,
			id: 'winbusiness',
			closable: true,
			modal: false,
			width: 400,
			height: 200,
			layout: 'border',
			items: [businessInfo]
		});
		
		winBusiness.show();
		
		Ext.getCmp('businessiframe').setLocation(url);
	}
	winBusiness.setHeight(200);
	winBusiness.setPosition(leftValue,topValue);
}

/*
function showBusinessInfo(url) {
	
	
	var obj = document.getElementById('seetyPlayer');
    var topValue= 0,leftValue= 0;
    while(obj){
		leftValue+= obj.offsetLeft;
		topValue+= obj.offsetTop;
		obj= obj.offsetParent;
    }
	leftValue = leftValue+630;


 	if (Ext.getCmp('businessiframe')) {
		Ext.getCmp('businessiframe').setLocation(url);
	}
 	else {
		var businessInfo = new Ext.Panel({
			xtype: 'panel',
			region: 'center',
			id: 'businessinfo',
			margins: '0 0 0 0',
			defaults: {autoScroll: true},
			layout: 'fit',
			defaultType: "iframepanel",
			frame: false,
			items: [{
				id: 'businessiframe',
				loadMask: {
					msg: label_caricamento
				}
			//defaultSrc: url
			}]
		});
		
		var winBusiness = new Ext.Window({
			title: pc_titolo_finestra,
			id: 'winbusiness',
			closable: true,
			modal: false,
			width: 400,
			height: 200,
			layout: 'border',
			items: [businessInfo]
		});
		
		winBusiness.show();
		
		Ext.getCmp('businessiframe').setLocation(url);
	}
	winBusiness.setHeight(200);
	winBusiness.setPosition(leftValue,topValue);
}
*/

function savePicResultError() {
	Ext.Msg.alert(errore_salva_immagine_titolo, errore_salva_immagine);	
}

function savePicResultComplete(){
	Ext.getCmp('invia').enable();
	updateImage();
	
}

function enableFilter(){
	var comunali = document.getElementById('comunali').checked;
	
	if (!comunali) {
		drawCustomBreak = true;
		clearPOI();
		macroCategoryFilter(0,true);
	} else if (comunali) {
		drawCustomBreak = false;
		macroCategoryFilter(0,true);
	} 
} 

function enableBusiness(){
	var business = document.getElementById('business').checked;
	if (!business) {
		drawBusinessCenter = false;
		clearPOIBusiness();
	} else if (business) {
		drawBusinessCenter = true;
		drawBusiness();
	} 
}    

function resizePlayer(){
	
}

function hideMapIndoor() {
	var mapElem = document.getElementById("mapIndoor_container");
	mapElem.style.zIndex = 1;
	mapElem.style.display = 'none';
}

function getPlayerPos(){
	var obj = document.getElementById('seetyPlayer');
    var topValue= 0,leftValue= 0;
    while(obj){
		leftValue+= obj.offsetLeft;
		topValue+= obj.offsetTop;
		obj= obj.offsetParent;
    }
	var playerPos = [];
	playerPos['x'] = leftValue;
	playerPos['y'] = topValue;	
	return playerPos;
}

function internalPoi() {
	var mapElem = document.getElementById("mapIndoor");
	var playerPos = getPlayerPos();	
	var leftValue = playerPos['x']+597;
	var topValue = playerPos['y']+352;
	var mapElemContainer = document.getElementById("mapIndoor_container");
	mapElemContainer.style.top = topValue+'px';	
	mapElemContainer.style.left = leftValue+'px';		
	mapElemContainer.style.width = 300+'px';	
	mapElemContainer.style.height = 167+'px';
	mapElem.style.width = '300px';
	mapElem.style.height = '150px';			
	mapElem.style.zIndex = 100;
	mapElem.style.display = 'block';	
	mapElemContainer.style.display = 'block';	
	mapElemContainer.style.zIndex = 100;
	mapIndoor.checkResize();
	markerIndoor.setLatLng(g_marker.getLatLng());	
	mapIndoor.setCenter(g_marker.getLatLng(),15);
	
}

function zoomPlayer(){
	var elem = document.getElementById("playerCell");
	if (zoomIndoor){
		elem.width = tableWidth;
    	elem.height = tableHeight;			
		zoomIndoor = false;
		zoomIndoorExpand = true;
		resizeMapIndoor();
		var mapElemContainer = document.getElementById("mapIndoor_container");
		mapElemContainer.style.display = 'none';
		var elem = document.getElementById("poi_indoor_list_col");
		elem.style.height = (tableHeight+119)+'px';			
	} else {
		elem.width = tableWidthMax;
    	elem.height = tableHeightMax;
		zoomIndoor = true;
		internalPoi();
		document.getElementById('indoorExpand').src = "/images/arrow_closer_indoor.gif";
		var elem = document.getElementById("poi_indoor_list_col");
		elem.style.height = (tableHeightMax+119)+'px';
		var elem = document.getElementById("mapIndoor_container");
		(mapInternalView) ? elem.style.bottom = '110px' : elem.style.bottom = '10px';		
	}	
	
}

function resizeMapIndoor(){
	

	if (zoomIndoorExpand){
	
		var mapElemContainer = document.getElementById("mapIndoor_container");
		var mapElem = document.getElementById("mapIndoor");
		var playerPos = getPlayerPos();	
		var leftValue = playerPos['x']+597;
		var topValue = playerPos['y']+352;
		var newTop = topValue+152;
		var newLeft = leftValue+285;
		mapElemContainer.style.top = newTop+'px';	
		mapElemContainer.style.left = newLeft+'px';		
		mapElemContainer.style.width = '15px';
		mapElemContainer.style.height = '15px';
		mapElem.style.display = 'none';
		document.getElementById('indoorExpand').src = "/associati/distrettolaghi/arrow_open_indoor.gif";
		zoomIndoorExpand = false;
	
	} else {
		internalPoi();
		document.getElementById('indoorExpand').src = "/associati/distrettolaghi/arrow_closer_indoor.gif";
		zoomIndoorExpand = true;
	}	
	
}


function browserResize() {
/*		var mapElem = document.getElementById("map");
		//var newHeight = (document.documentElement.clientHeight-player_top-footerMargin);
		//if (newHeight < 586) mapElem.style.height = newHeight+'px';
		mapElem.style.width = (document.documentElement.clientWidth-margin)+'px';	
		g_map.checkResize();
		g_map.setCenter(g_marker.getLatLng(),15);*/
}



function popupPrint() {
/*	if (seatMap.getMapType() == 1)
		var map = 'map';
	else if (seatMap.getMapType() == 2)
		var map = 'orto';
	else if (seatMap.getMapType() == 3)
		var map = 'mix';		
	var geocoderMap = new PGGeoRevCod({lon:g_marker.lon,lat:g_marker.lat,onComplete:'afterGeoRevCod'});
	*/
	if (g_playerIsOpen){
		var photoNameRand = document.getElementById("city").value+'_'+Math.random()+'.png';
		thisMovie('gmaps').savePic('/save.php', photoNameRand);
	} else {
		var photoNameRand = "";
	}
	var pointPrint = g_marker.getLatLng();
	geocoder = new GClientGeocoder();
	getAddress(pointPrint);
	
 	var url = "/?c=general&m=printMap&x="+pointPrint.lng()+"&y="+pointPrint.lat()+"&sm=map&playeropen="+g_playerIsOpen+"&address="+addressMap+"&playerpic="+photoNameRand;
	if (Ext.getCmp('printframe')) {
		Ext.getCmp('printframe').setLocation(url);
	}
 	else {
		var print = new Ext.Panel({
			xtype: 'panel',
			region: 'center',
			margins: '0 0 0 0',
			activeTab: 0,
			id: 'print',
			defaults: {
				autoScroll: true
			},
			layout: 'fit',
			defaultType: "iframepanel",
			frame: false,
			items: [{
				id: 'printframe',
				loadMask: {
					msg: label_caricamento
				}
			}]
		});
		
		var winPrint = new Ext.Window({
			title: stampa_titolo_finestra,
			id: 'winPrint',
			closable: true,
			modal: true,
			width: 750,
			height: document.documentElement.clientHeight - 50,
			layout: 'border',
			items: [print]
		});
		
		winPrint.show();
		winPrint.setWidth(800);
		Ext.getCmp('printframe').setLocation(url);
	}
}
