
		function openWin(url, name, prop)
				{ searchWin = window.open(url, name, prop); }

    function onLoad() {

			var parametro="rai";
			var lat=44.22748846630169;
			var lon=8.88631591796875;
			var zoomStart=9;

			var visibile;
			var b="yes";

			var NLinks=8;
			var NCells=8;
			var oRow, intestazione;
			var oCell;
			var path;

			param_name=new Array();
			param_value=new Array();

			indirizzo=unescape(String(this.location));


			params=indirizzo.split("?");
			param1=String(params[0]);
			if (params!=indirizzo){
				param=params[1].split("&");

				for(i=0;i<param.length;i++){
					param_temp=param[i].split("=");
					param_name[i]=param_temp[0];
					param_value[i]=param_temp[1];

					if(isNaN(param_value[i])) eval("var "+param_name[i]+"='"+param_value[i]+"';");
					else eval("var "+param[i]+";");
				}
			}

			param2=new Array();
			param2=param1.split("/");
			path=param2[param2.length-1];

			var i;
			var stringhe=new Array();

			stringhe[0]=new Array("tem","termometro.jpg","Temperatura");
			stringhe[1]=new Array("idr","livello.jpg","Livello Idrometrico");
			stringhe[2]=new Array("slp","pressione.jpg","Pressione Atmosferica");
			stringhe[3]=new Array("umi","umidita.jpg","Umidita");
			stringhe[4]=new Array("rad","radiazione.jpg","Radiazione Solare");
			stringhe[5]=new Array("vel","velocita.jpg","Velocita Vento");
			stringhe[6]=new Array("dir","direzione.jpg","Direzione Vento");
			stringhe[7]=new Array("bat","batteria.jpg","Tensione Batterie");
			stringhe[8]=new Array("rai","ombrello.jpg","Precipitazione");

			var zoom=zoomStart;
     	var baseIcon = new GIcon();

      baseIcon.infoWindowAnchor = new GPoint(9, 2);
			var map = new GMap2(document.getElementById("map"));

			// Get the list of map types
			var mt = map.getMapTypes();

		// Overwrite the getMinimumResolution() and getMaximumResolution() methods
			for (i=0; i<mt.length; i++) {
				mt[i].getMinimumResolution = function() {return 9;}
				mt[i].getMaximumResolution = function() {return 19;}
			}

			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
    	map.addControl(new GOverviewMapControl());

			map.addMapType(G_PHYSICAL_MAP);
			map.removeMapType(G_HYBRID_MAP);

    	var scale = new GScaleControl(256);
    	map.addControl(scale);
    	map.enableScrollWheelZoom();

      map.setCenter(new GLatLng(lat, lon), zoomStart)
			var center=map.getCenter();

			map.setMapType(G_PHYSICAL_MAP);

			document.getElementById('message').innerHTML="<br>";

			var tab=document.getElementById("tabella");
			intestazione=tab.createTHead();
			oRow = intestazione.insertRow(0);

			if (b=="no"){
				NCells= NLinks-1;
			}

			for (var i = 0; i <=NCells-1; i++){
				oRow.insertCell(i);
			}

			scrivilinks(center);

			GEvent.addListener(map, 'moveend', function() {
				center=map.getCenter();
				zoom=map.getZoom();
				scrivilinks(center);
			});

			GEvent.addListener(map, 'zoomend', function() {
				center=map.getCenter();
				zoom=map.getZoom();
				scrivilinks(center);
			});

			GEvent.addListener(map, "move", function() {
				checkBounds();
			});

		// The allowed region which the whole map must be within
			var allowedBounds = new GLatLngBounds(new GLatLng(43.71354951931429, 7.5421142578125), new GLatLng(44.736978954208844, 10.23101806640625));

		// If the map position is out of range, move it back
			function checkBounds() {
				// Perform the check and return if OK
				if (allowedBounds.contains(map.getCenter())) {
					return;
				}
			// It`s not OK, so find the nearest allowed point and move there
				var C = map.getCenter();
				var X = C.lng();
				var Y = C.lat();

				var AmaxX = allowedBounds.getNorthEast().lng();
				var AmaxY = allowedBounds.getNorthEast().lat();
				var AminX = allowedBounds.getSouthWest().lng();
				var AminY = allowedBounds.getSouthWest().lat();

				if (X < AminX) {X = AminX;}
				if (X > AmaxX) {X = AmaxX;}
				if (Y < AminY) {Y = AminY;}
				if (Y > AmaxY) {Y = AmaxY;}

				map.setCenter(new GLatLng(Y,X));
      }


			function icone(sensore){
				switch(parseFloat(sensore)) {
					case 0:
						visibile=false;
					break;

					case 1:
						visibile=true;
				    baseIcon.image = "simboli/rosso.png";
				  break;

				  case 2:
				  	visibile=true;
				    baseIcon.image = "simboli/giallo.png";
				  break;

				  case 3:
				  	visibile=true;
				    baseIcon.image = "simboli/verde.png";
				  break;

				  default:
				  	visibile=false;
				}
				baseIcon.iconSize = new GSize(15, 15);
      	baseIcon.iconAnchor = new GPoint(10, 6);
			}

			function scrivilinks(center){
				var j=0;
				for (var i = 0; i <= NLinks; i++){
					if (stringhe[i][0]!=parametro){
						if (stringhe[i][0]!="bat"){
							oRow.cells[j].innerHTML = "<a href="+path+"?parametro="+stringhe[i][0]+"&zoomStart="+zoom+"&lat="+center.y+"&lon="+center.x+"&b="+b+">"+stringhe[i][2]+"</a>"; //<br><img src='simboli/termometro.jpg' heigth=30 width=30>
							oRow.cells[j].align = "center";
							j=j+1;
						}
						else if(b!="no"){
							oRow.cells[j].innerHTML = "<a href="+path+"?parametro="+stringhe[i][0]+"&zoomStart="+zoom+"&lat="+center.y+"&lon="+center.x+"&b="+b+">"+stringhe[i][2]+"</a>"; //<br><img src='simboli/termometro.jpg' heigth=30 width=30>
							oRow.cells[j].align = "center";
							j=j+1;
						}
					}
					else {
						document.getElementById("parametro").innerHTML="<h2 align='center'><strong><font color='#0000CC' face='Verdana'>Mappa dei sensori di </font><font face='verdana' color='#2F9700'>"+stringhe[i][2]+"</font></strong></h2>";
					}
				}
			}

			function createMarker(point, cod, nome,altezza,RAINC,TEMPM,CRLVM,PRSTM,SRPWM,REHUM,WSPDM,WDIRP,BVTGM) {

				if (parametro=="rai") {
					icone(RAINC);
				}
				else if (parametro=="tem") {
					icone(TEMPM);
				}
				else if (parametro=="idr") {
					icone(CRLVM);
				}
				else if (parametro=="slp") {
					icone(PRSTM);
				}
				else if (parametro=="umi") {
					icone(REHUM);
				}
				else if (parametro=="rad") {
					icone(SRPWM);
				}
				else if (parametro=="vel") {
					icone(WSPDM);
				}
				else if (parametro=="dir") {
					icone(WDIRP);
				}
				else if (parametro=="bat") {
					icone(BVTGM);
				}

				var icon = new GIcon(baseIcon);
				var marker = new GMarker(point,{icon: icon, title: nome + ' - ' + altezza +'m',clickable:"true"});

				GEvent.addListener(marker, "click", function crealink() {
					var w = 700;
					var h = 600;
					var pw = Math.floor((screen.width-w)/2);
					var ph = Math.floor((screen.height-h)/2);
					window.open("esempio.html?staz="+cod+"?para="+parametro,"","width=" + w + ",height=" + h + ",top=" + ph + ",left=" + pw);
				});

				GEvent.addListener(marker, "mouseover", function() {
				  var latLngStr = cod + ' - ' + nome + ' - Quota: ' + altezza + 'm - ' + marker.getPoint();
					document.getElementById("message").innerHTML = latLngStr;
					//marker.openInfoWindowHtml("<b>" + cod + " - " + nome + "<br>  Quota: " + altezza + "m <br>" + marker.getPoint() + "</b>");
				});

			 	GEvent.addListener(marker, "mouseout", function() {
					document.getElementById('message').innerHTML="<br>";
					//map.closeInfoWindow();
				});

				return marker;
			}

			GDownloadUrl("omirl.xml", function(data) {
				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lon")));
					var marker = createMarker(point, markers[i].getAttribute("code"),markers[i].getAttribute("name"),markers[i].getAttribute("elev"),markers[i].getAttribute("RAINC"),markers[i].getAttribute("TEMPM"),markers[i].getAttribute("CRLVM"),markers[i].getAttribute("PRSTM"),markers[i].getAttribute("SRPWM"),markers[i].getAttribute("REHUM"),markers[i].getAttribute("WSPDM"),markers[i].getAttribute("WDIRP"),markers[i].getAttribute("BVTGM"));

					if (visibile==true) {
					 map.addOverlay(marker);
					}
					else {
						marker.hide();
					}
				}
			});

    }
