var geocoder;
var map;
var poly_cesano;
var poly_fm3;
var destination;
var destination=null;

for (var j=0;j<fogli.length;j++){
  eval('var poly_' + fogli[j] + ';');
  eval('var markers_'+fogli[j]+ '= new Array();');
}

var pnonpunto= new GLatLng(0,0);
var pcesano= new GLatLng(   42.062166, 12.326918);
var pcasaccia = new GLatLng(42.041707, 12.303915);
var peneasede= new GLatLng( 41.932566, 12.464246);
var pgiolitti= new GLatLng( 41.897166, 12.506175);
var lineaon='0';

function confirm_url(url){
var str1='Hai chiesto di andare alla versione Wide Screen della mappa casa-lavoro. Per usufruire al meglio di questa versione č consigliabile avere uno schermo grande, ';
str1+='una linea veloce e un browser pių efficiente di Explorer, ad esempio Google Chrome, Opera o Firefox. In caso contrario l\'attesa potrebbe essere molto lunga. Confermi la tua richiesta?'
if(confirm(str1)) location.href=url;
return false
}

function cancella(){
  if (lineaon!='0') {
    var poly=eval('poly_'+lineaon)
    poly.hide();
		evidenzia(lineaon,false);
    lineaon='0';
    document.getElementById('foglio').src='casa_lavoro/fogli/bus0.htm';
    document.getElementById('selectline').value='';
	}
}

function apri(){
	var param="left=300, top=100,toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=460, height=500";
	var str1=document.getElementById('foglio').src;
	var str2=str1.slice(str1.length-10,str1.length)
  var foglio= (str2=="uscita.htm") ? "print_ordine_uscita.htm" : "casa_lavoro/fogli/printbus"+lineaon+".htm";
	window.open(foglio, "_blank", param);
}

function alritorno(){
  if (lineaon!='0') {
    var poly=eval('poly_'+lineaon)
    poly.hide();
		evidenzia(lineaon,false);
    lineaon='0';
    document.getElementById('selectline').value='';
	}
  document.getElementById('foglio').src='ordine_uscita.htm';
}



// ------------   L'OPZIONE PALLINO
    var pallino = new GIcon(G_DEFAULT_ICON);
    pallino.image = "images/pallino_7_7.png";
    pallino.iconSize = new GSize(7, 7);
    pallino.iconAnchor = new GPoint(3, 4);
    pallino.shadow = "images/transparent.gif";
// ------------   FINE

// ------------   L'OPZIONE GOCCIA VERDE
    var greenIcon = new GIcon(G_DEFAULT_ICON);
    greenIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/green/blank.png";
// ------------   FINE




// ------------   L'OPZIONE CASACCIA
    var casaccia = new GIcon(G_DEFAULT_ICON);
    casaccia.image = "images/casaccia_80_30.png";
    casaccia.iconSize = new GSize(80, 30);
    casaccia.iconAnchor = new GPoint(40, 24);
    casaccia.shadow = "images/transparent.gif";
// ------------   FINE

// ------------   IL CREA-MARKER CASACCIA
    function createMarkerCasaccia() {
      var marker = new GMarker(pcasaccia,{icon:casaccia});
      return marker;
    }
// ------------   FINE

// ------------   IL CREA-MARKER SEED
    function createMarkerEneasede() {
      var marker = new GMarker(peneasede);
      return marker;
    }
// ------------   FINE

// ------------   IL CREA-MARKER PUNTATO
    function creaMarkerLatLng(lat,lng) {
      var marker = new GMarker(new GLatLng(lat,lng));
      return marker;
    }
// ------------   FINE

// ------------   IL CREA-MARKER RED/GREEN CON UNA ETICHETTA
    function createRedGreenMarker(point,html1 ,label1 ,green/*?*/) {
      if (green){
        var marker = new GMarker(point, {icon:greenIcon});
      }else{
        marker = new GMarker(point, {icon:pallino});
      }

      GEvent.addListener(marker, "click", function() {
			  marker.openInfoWindowTabsHtml([
			  new GInfoWindowTab(label1,html1)
			  ]);
			});
      return marker;
    }

// -----------------------------------------------------------

    function createFermataMarker(point,anome,aj) {
      var marker = new GMarker(point, {icon:greenIcon, hide:true});
      GEvent.addListener(
      marker,
      "click",
      function() {document.getElementById('foglio').src='casa_lavoro/fogli/bus'+anome+'.htm?'+anome+'_'+aj;}
      );
      return marker;
    }


// ------------   FINE


function creafermate(anome){
    coda='della linea '+anome;
    nome='bus_'+anome;
    for (var j=1;j<=eval(nome+'.length')-1;j++){
      var x= eval(nome+'['+j+'][0]');
      var y= eval(nome+'['+j+'][1]');
      point = new GLatLng(x, y);
      var myHtml = "" + map.fromDivPixelToLatLng(map.fromLatLngToDivPixel(point));
      var scritta = 'Linea '+anome
      scritta += ' fermata '+j+' - ore '+ eval(nome+'['+j+'][2]') + ' ' + eval(nome+'['+j+'][3]');
      scritta+='<br><a href=javascript:showline(\''+anome+'\') >evidenzia linea</a>';
      var mark=  createRedGreenMarker(point,scritta,"Descrizione");
      map.addOverlay(mark);

      var mark=  createFermataMarker(point,anome,j);
      map.addOverlay(mark);
      //mark.hide();
      var str='markers_'+anome+'['+j+']=mark;';
      eval('markers_'+anome+'['+j+']=mark;')
    }
}

function evidenzia(anome, on){
  for (var j=1;j<=eval('markers_'+anome+'.length')-1;j++){
    if (on){
      eval('markers_'+anome+'['+j+']').show();
    }
    else{
      eval('markers_'+anome+'['+j+']').hide();
    }
  }
}


function showline(vname){
	if (vname=="") {
		cancella()
	}
		else{
			var poly=eval('poly_'+vname)
			if (vname==lineaon){
				lineaon='0';
				poly.hide();
				evidenzia(vname,false);
				//document.getElementById('id'+vname).style.borderWidth='0';
				document.getElementById('foglio').src='casa_lavoro/fogli/bus0.htm';
			}
			else {
				if (lineaon!='0') {
					eval('poly_'+lineaon).hide();
					evidenzia(lineaon,false);
					//document.getElementById('id'+lineaon).style.border="1 solid white";
				}
				lineaon=vname;
				poly.show();
				evidenzia(vname,true);
				//document.getElementById('id'+vname).style.border="1 solid red";
				document.getElementById('foglio').src='casa_lavoro/fogli/bus'+vname+'.htm';
				while(!map.getBounds().intersects(poly.getBounds()))  map.zoomOut();
			}
	}
}

function creapoly(nome){
  var poli = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 7,
  opacity: 0.4,
  points: eval ('bus_'+nome+'_points'),
  levels: eval ('bus_'+nome+'_levels'),
  zoomFactor: 2,
  numLevels: 18
  });
  poli.hide();
  map.addOverlay(poli);
  return poli;
}


function createLabel(image,width,height,xanchor,yanchor,appPoint){
  var label = new GIcon(G_DEFAULT_ICON);
  label.image = image;
  label.iconSize = new GSize(width, height);
  label.iconAnchor = new GPoint(xanchor,yanchor);
  label.shadow = "images/transparent.gif";
  var marker = new GMarker(appPoint,{icon:label});
  return marker;
}

function pro_intreno(){
  if (GBrowserIsCompatible()) {
    var tbaricentro= [41.95,12.40];
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(tbaricentro[0],tbaricentro[1]), 10);
    map.addControl(new GSmallMapControl());
    map.addOverlay(createLabel('images/casaccia_80_30.png',80,30,40,24,pcasaccia));
    map.addOverlay(createLabel('images/eneasede_80_30.png',80,30,40,24,peneasede));
    map.addOverlay(createLabel('images/termini_80_30.png',80,30,40,24,pgiolitti));
    poly_fm3=creapoly('collegamento_A');
    poly_cesano=creapoly('cesano');
  } //GBrowser compatibile
}

function pro_home(){
  if (GBrowserIsCompatible()) {
    var tbaricentro= [42.10,12.413-0.10];
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(tbaricentro[0]-0.05+0.003,tbaricentro[1]), 9);
    map.addControl(new GSmallMapControl());
    map.addOverlay(createLabel('images/casaccia_80_30.png',80,30,40,24,pcasaccia));
  } //GBrowser compatibile
}

function pro_cesano(){
  if (GBrowserIsCompatible()) {
    var tbaricentro= [42.10,12.413-0.10];
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(tbaricentro[0]-0.05+0.003,tbaricentro[1]), 13);
    map.addControl(new GSmallMapControl());
    map.addOverlay(createLabel('images/bluePoint_80_30.png',80,30,40,24,pcesano));
    map.addOverlay(new GMarker(pcasaccia));
    poly_cesano=creapoly('cesano');
    poly_cesano.show();
  } //GBrowser compatibile
}

function pro_collegamento(){
  if (GBrowserIsCompatible()) {
    var tbaricentro= [41.95,12.40];
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(tbaricentro[0],tbaricentro[1]), 10);
    map.addControl(new GSmallMapControl());
    map.addOverlay(createLabel('images/casaccia_80_30.png',80,30,40,24,pcasaccia));
    map.addOverlay(createLabel('images/eneasede_80_30.png',80,30,40,24,peneasede));
    map.addOverlay(createLabel('images/termini_80_30.png',80,30,40,24,pgiolitti));
    var path=creapoly('collegamento_A');
    path.show();
  } //GBrowser compatibile
}


    function showAddress(address) {
      if (destination) destination.hide();
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
//              map.setCenter(point, 13);
                document.getElementById("latbox").value=point.y;
                document.getElementById("lonbox").value=point.x;
              destination = new GMarker(point, {draggable: true});
              map.addOverlay(destination);

              GEvent.addListener(destination, "dragend", function() {
							document.getElementById("latbox").value=destination.getLatLng().y;
							document.getElementById("lonbox").value=destination.getLatLng().x;
              });



//              destination.openInfoWindowHtml(address);
            }
          }
        );
      }
    }






function bimark(latlng, label1, html1, label2, html2, green/*?*/){
	if (green){
		var marker = new GMarker(latlng, {icon:greenIcon});
	}else{
		marker = new GMarker(latlng, {icon:pallino});
	}
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowTabsHtml([
		new GInfoWindowTab(label1,html1),
		new GInfoWindowTab(label2,html2),
		]);
	});
	return marker
}


function pro_gdownloadurl(){
  if (GBrowserIsCompatible()) {
    var tbaricentro= [41.950299,12.413864];
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(tbaricentro[0],tbaricentro[1]), 10);
    map.addControl(new GMapTypeControl());
    map.addControl(new GLargeMapControl());
    map.addControl(new GScaleControl());
    map.addOverlay(createMarkerCasaccia());
		GDownloadUrl("dati.txt",
			function(data,risposta) {
        alert(risposta)
				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i=0;i<markers.length;i++){
					var lat= String(markers[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue).substring(1,10);
					var lng= String(markers[i].getElementsByTagName("lng")[0].childNodes[0].nodeValue).substring(1,10);
          latlng= new GLatLng(lat,lng);
					var Info= String(markers[i].getElementsByTagName("nome")[0].childNodes[0].nodeValue);
					var info1=Info.substring(1,Info.length-1)
					Info= String(markers[i].getElementsByTagName("dipendenti")[0].childNodes[0].nodeValue);
					var info2=Info.substring(1,Info.length-1)
          mark= bimark(latlng, "Nome",info1,"# dipendenti",info2,true);
          map.addOverlay(mark);
					}
		  });
  } //GBrowser compatibile
}

function pro_vuota() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        map.setUIToDefault();
      }
} // fine function pro_vuota


function pro_casalavoro() {
  if (GBrowserIsCompatible()) {
    var tbaricentro= [41.950299,12.413864];
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(tbaricentro[0],tbaricentro[1]), 10);
    map.addControl(new GMapTypeControl());
    map.addControl(new GLargeMapControl());
    map.addControl(new GScaleControl());

    map.addOverlay(createMarkerCasaccia());
    for (var j=0;j<fogli.length;j++){
      eval('creafermate(\''+fogli[j]+'\');');
      eval('poly_'+fogli[j]+'=creapoly(\''+fogli[j]+'\');');
    }
//--------------------
    geocoder = new GClientGeocoder();
//--------------------
  } //GBrowser compatibile
} // fine function pro_casa_lavoro


