// Aggiunta da RG 01-09-05 per passare da un tipo mappa all'altro
// (esempio da percorsi a traffico).
// mapType: vale "traffico", "percorso", "meteo" oppure "servizi"
// mappa: codice mappa (esempio "milano_9")
// mapLevel: "micro" o "macro"
function switchMapType(mapType,mapLevel,mappa)
{
    var loc = "";
    if (location.href.indexOf("tipo=") == -1)
    {
        loc = mapType + ".do?mapLevel=" + mapLevel + "&mappa=" + mappa + "&mapType=" + mapType;
    }
    else
    {
        loc = replaceParam(location.href,"tipo",mapType.substring(0,1).toUpperCase());
    }
    location.href=loc;
}


function gotoMainMap(mappa, how) {
	var addParam;
	addParam = (location.href.indexOf('?') == -1)? '?' : '&' ;
    location.replace(location.href + addParam + 'mappa=' + mappa +'&'+how+'=true');
}

function gotoMapFromItalyMicro(mappa){
	gotoMap(mappa);
}
function gotoMapFromItalyMacro(mappa){
	gotoMap(mappa);
}
function goMacro(mappa){
	var str=location.href;
    if (str.indexOf("#")>0) str = str.substr(0,str.indexOf("#"));
        
	if (str.indexOf("dettaglioevento.do")>=0) {
		//trasformare in traffico.do
		str=str.substr(0,str.indexOf("dettaglioevento.do"))+"traffico.do";
	}
	str=replaceParam(str,"mapLevel","macro");
	location.replace(replaceParam(str,"mappa",associazioneMicroMacro(mappa)));
}
function gotoMicroMap(mappa) {
	gotoMap(mappa);
}
function gotoMacroMap(mappa) {
	gotoMap(mappa);
}

//function gotoMap(mappa) spostata nelle jsp (tiles/[micro|macro|mega]mappa) per poter inibire la navigazione da configurazione

function backToMacroMap(mappa){
	if(location.href.indexOf("mappa=") > 0)
	  location.replace(location.href.substring(0,location.href.indexOf("mappa="))+'mappa='+mappa+'&macroMappa=true&macro=true');
	else { 
		addParam = (location.href.indexOf('?') == -1)? '?' : '&' ;
    location.replace(location.href + addParam + 'mappa=' + mappa+'&macroMappa=true&macro=true');
	}
}

function goMappaTraffico(mappa){
	location.replace(location.href.substring(0,location.href.lastIndexOf("/"))+'/macro.do?mappa='+associazioneMicroMacro(mappa));
}

/* variabile che memorizza il livello di zoom */
var numZoom=0;
/* funzione che esegue lo zoom controllando la disabilitazione della rosa dei venti */
function zoom(val){
	mymovie.Zoom(val);
	if(val<100){
		if(numZoom==0){
		}
		if(numZoom<5)
			numZoom=numZoom+1;
			
	}else{
		if(numZoom>1){
			numZoom=numZoom-1;
		}else{
			numZoom=0;
		}	
	}	
}

/* funzione che risetta lo zoom ad una dimensione specifica */
function setZoom(z) {
       mymovie.Zoom(0);    
       mymovie.Zoom(z);    
}   

/* funzione che fa lo switch fra le immagini dello zoom fisso */
function switchZoom(nome) {
    for(var i=1; i<=4;i++) {
        var nm=eval('"zoom_"+i');
        if (!nm) return;
        if(nome==nm) {
            document.images[nm].src=eval('"custom/images/zoom_"+i+"on.gif"');
        }
        else {
            document.images[nm].src=eval('"custom/images/zoom_"+i+".gif"');
        }
    }
} 

/* funzioni di controllo orologino meteo micromappa e macromappa */
var ruotaIntervalId = 8;
var rotazione=false;
var fascia = 0;
var nextfascia=1; //valore iniziale (now?)
var periodo=2000;
var nomefasce = new Array ("h 0-3","h 3-6","h 6-9","h 9-12","h 12-15","h 15-18","h 18-21","h 21-24");

function setFasciaGiorno(nfascia){

	fascia = nfascia;
	nextfascia = (1 + nfascia) % 8;

	document.getElementById("nomeFascia").firstChild.nodeValue=nomefasce[fascia];

	mymovie.cambiaFascia(fascia);		//icone su mappa
	mymovieoro.cambiaFascia(fascia);	//fascia su orologino
}

function setRotazione(){
	//rotazione = mymovie.GetVariable("rotazione");
	//mymovie.goRotazione();
	//(dis)attiva la rotazione delle fasce
	rotazione = !rotazione;

	if (rotazione) {
		document.getElementById("imgplaypause").src="custom/images/meteo/pausebut.gif";
		//qui parte un ciclo di chiamate a ruota() ogni periodo
		ruotaIntervalId = setInterval(function() {
			//setFascia(nextfascia);
			ruota();
		}, periodo);
	} else {
		document.getElementById("imgplaypause").src="custom/images/meteo/playbut.gif";
		clearInterval(ruotaIntervalId);
	}
	//mymovieoro.cambiaRotazione(rotazione);
}

function ruota() {
	//chiamata dalla setInterval
	setFascia(nextfascia);
}


//(dead) funzione per stampare il contenuto del flash
function print() {
    mymovie.TCallLabel("/","stampa");
}

function associazioneMicroMacro(micro){
  if ("aosta_27"==micro ||
	 "torino_22"==micro ||
	 "savona_26"==micro ||
	 "genova_11"==micro ||
	 "novara_12"==micro) return "nord_ovest_1";
  else if ("milano_9"==micro  ||
         "piacenza_5"==micro  ||
       "la_spezia_21"==micro  ||
          "firenze_2"==micro  ||
          "bologna_1"==micro  ||
    "nord_bologna_19"==micro  ||
           "rimini_6"==micro) return "centro_nord_2";
  else if ("bolzano_24"==micro  ||
            "verona_18"==micro  ||
           "venezia_20"==micro  ||
           "trieste_23"==micro) return "nord_est_3";
  else if ("sud_firenze_3"==micro ||
                "ancona_8"==micro ||
             "nord_roma_4"==micro ||
                  "roma_7"==micro ||
             "est_roma_25"==micro ||
              "pescara_10"==micro) return "centro_4";
  else if ("sud_roma_13"==micro ||
             "napoli_17"==micro ||
              "vasto_15"==micro ||
             "foggia_14"==micro ||
               "bari_16"==micro) return "centro_sud_5";
  //stringa di default
  else return "centro_nord_2";
}


/* (dead) funzione che ricarica i dati da xml e resetta gli eventi */
function aggiorna(){
	//alert('aggiorna()');
	resetOnUpdate();
	mymovie.TGotoLabel("/","loadXml");
	mymovie.Play();
}

/* resetta tutti i parametri necessari prima di caricare informazioni */
function resetOnUpdate(){
//	setData('');
}

/* resetta tutti i parametri necessari prima di cambiare movie */
function resetAll(){
	resetOnUpdate();
	//setta le immagini dello zoom
	if(pagLoaded=="zona") {
//        setZoomImg();
    }
    numZoom=0
}

function getMeteo(period){
	/*
    mymovie.SetVariable("orePrevisione",period);
    mymovie.TCallLabel("/","showMeteo");
    */
	mymovie.showMeteo(period);
}

/* view situazione meteo  ('50_','previsioni')*/
function getMeteoPrv(id,tipo){
    var nome_popup="popupMeteo";
	var jsp = "popupMeteo.do";
	jsp+="?codPrv="+id;
	var parametri="scrollbars=yes,resizable=yes,width=476,height=725,left="+leftPos+",top="+topPos;
	loadingPopup(jsp,nome_popup,parametri);
}

//funzione di debug, in produzione ovviamente non apriamo nessun alert!
function problemAdv(causa) {
	alert("Dati momentaneamente non disponibili ["+causa+"]");
}

function setGiorno(gg,primo) {
    giorno=gg;
    var nome=document.images[eval('"sx"+gg')].name;
    if(primo=='0') {
        for(var i=0; i<=2;i++) {
            var g=24*i;
            var nm=eval('"sx"+g');
            if(nome==eval('"sx"+g')) {
                document.images[nm].src=eval('"images/freccetta_on.gif"');
            }
            else {
                document.images[nm].src=eval('"images/comuni/pix.gif"');
            }
        }
    } else if(primo=='24') {
        for(var i=1; i<=3;i++) {
            var g=24*i;
            var nm=eval('"sx"+g');
            if(nome==eval('"sx"+g')) {
                document.images[nm].src=eval('"images/freccetta_on.gif"');
            }
            else {
                document.images[nm].src=eval('"images/comuni/pix.gif"');
            }
        }
    }
}

function previsioni(imgName){
//una funzione inutile chiamata dal flash...
}


