
	
var test=false;
function alert2(text)
{
if (test==true)
	alert(text);
}

var layerActive='';

var versione='3.0.2';
var pathVersione='/IE3.0.2/Web/TAB'

//Layers di base (richiesti)
var LayersBase = new Array('Settings|Impostazioni|/IE3.0.2/Web/TAB/settings.asp|0',												// LAYER_Settings
									/* 'Meteo|Italy Meteo|/IE_meteo.asp|1',															// LAYER_Meteo */
							 	  	'3D|Italy 3D|/IE3.0.2/Web/TAB/3D.asp|1',														// LAYER_3D
								  	'Search|Ricerca|/IE3.0.2/Web/TAB/search.asp|0',												// LAYER_Search
								  	'GPS|Tracce GPS|/IE3.0.2/Web/TAB/gps.asp|0',													// LAYER_GPS
								  	'Stereo|Stereo 3D|/IE3.0.2/Web/TAB/3Dglasses.asp|0',											// LAYER_Stereo
								  	'Sito|Contattaci|/web/italiano/Contattaci.asp|0',												// LAYER_Sito
									'Facebook|Facebook|http://www.facebook.com/pages/Italy-eXplorer-by-GIS-Solution/74074248109|0');// LAYER_Facebook

//Layers di GIS Solution
var LayersGISSolution = new Array('GISSolution|GIS Solution|http://www.gis-solution.com|1',											// LAYER_GISSolution
							 	  'MeteoBrowser|Meteo Browser|http://www.datameteo.com/meteo_browser.php|0',						// LAYER_MeteoBrowser
								  '2DSoave|Vini Soave|http://www.gis-solution.com/Soave|0',											// LAYER_2DSoave
								  'ItalyeXplorer2|ItalyeXplorer v.2|/IE2.1.1/Web/panel.asp|0');										// LAYER_ItalyeXplorer2

var LayersMaps = new Array('GoogleMaps|Google Maps|http://mappe.google.it|1',														// LAYER_GoogleMaps
							 	  'LiveMaps|Live.com Maps|http://maps.live.com/?mkt=it-it|0',										// LAYER_LiveMaps
								  'YahooMaps|Yahoo Maps|http://it.mappe.yahoo.net|0',												// LAYER_YahooMaps
								  'PGVisual|Pagine Gialle|http://www.visual.paginegialle.it|0',										// LAYER_PGVisual
								  'PCN|P.C.N.|http://www.pcn.minambiente.it/mdSearch|0',											// LAYER_PCN
								  'ViaMichelin|Via Michelin|http://www.viamichelin.it/viamichelin/ita/dyn/controller/Cartes|0', 	// LAYER_ViaMichelin
								  'DiscoverItalia|Discover Italia|http://www.discoveritalia.it/mappe/mappeRaster.asp?lingua=it|0');	// LAYER_DiscoverItalia

// INTERFACCIA A TAB
// copyright Giorgio Marchetto, www.giorgiomarchetto.com, www.gis-solution.com

/*
Struttura della pagina

HTML	>	
			BODY 	>	
						CONTAINER	>														DIV	(#container)
										LAYER_ID	>										DIV	(class=visible,invisible)
														TAB_ID								DIV (class=TAB)
														CONTENT_ID							DIV (class=CONTENT)
																>	IFRAME_ID 				IFRAME (class=IFRAME_CONTENT)	
																													
																	
Ad ogni pagina è associato un TAB ed un LAYER

function LAYER(ID)										//conversione da LAYER_ID a ID
function ID(layerID)									//conversione da ID a LAYER_ID

function CreaSeNonEsiste(ID)							//Crea un layer obbligatorio se non esiste
function Crea(layerID,label,url,visualizza)				//creazione dinamica di un layer, con riempimento
function Riempi(layerID,label,url,visualizza)			//carica contenuto di un layer (se non esiste lo crea)
function Visualizza(layerID)							//visualizza un layer (nasconde tutti i layers e poi lo rende visibile)
function Nascondi(layerID)								//nasconde un layer
function Elimina(layerID)								//elimina un layer
function NascondiLayers()								//nasconde tutti i layers
function ElencaLayers()									//elenca tutti i layers (in una stringa composta da id1#label1;id2#label2)
function EsisteLayer(ID)								//verifica se esiste un layer (0=no, 1=si ma non attivo, 2=si e attivo)
*/

//Crea gruppo di layers da Array
function CreaLayers(ArrayLayers)
{
	code='';
	for (i=0;i<ArrayLayers.length;i++)
	{
			ID=ArrayLayers[i].split('|')[0];
			label=ArrayLayers[i].split('|')[1];
			url=ArrayLayers[i].split('|')[2];
			visualizza=ArrayLayers[i].split('|')[3];
			
	if (EsisteLayer(ID)==0){
		//alert('Crea('+ID+','+label+','+url+','+visualizza+')');
		code=code+'Crea(\''+ID+'\',\''+label+'\',\''+url+'\',\''+visualizza+'\');';
		}
	else {		
	    //alert('Riempi('+ID+','+label+','+url+','+visualizza+')');
		code=code+'Riempi(\''+ID+'\',\''+label+'\',\''+url+'\',\''+visualizza+'\');';
		}
	}
	//alert('code='+code);
	eval(code);
}

//Crea un layer obbligatorio se non esiste
function CreaSeNonEsiste(ID){
	for (i=0;i<LayersBase.length;i++)
		{
			if (LayersBase[i].split('|')[0]==ID)	//identificato layer
				{
				//alert2('ho trovato il layer LAYER_'+ID);	
					if (EsisteLayer(LAYER(ID))==0){	//layer non esiste
							//crea layer con proprietà definite nell'array
							Crea(LayersBase[i].split('|')[0],LayersBase[i].split('|')[1],LayersBase[i].split('|')[2],LayersBase[i].split('|')[3]);
							Visualizza(LAYER(ID));
						}
				break; //esci dal ciclo for, se già trovato		
				}
					
		}

}


//DA ID A LAYER_ID
function LAYER(ID)
{
	return ('LAYER_'+ID);	
}

//DA LAYER_ID a ID
function ID(layerID)
{
	if (layerID.substr(0,6)=='LAYER_'){
		return (layerID.slice(6));
	}
	else{
		return '';
	}
}

//VERIFICA LAYER

//CREAZIONE DI UN LAYER
function Crea(ID,label,url,visualizza)
{
if (! document.getElementById('LAYER_' + ID))
	{
  //Crea il DIV layerID a primo livello		
  var layerDIV = document.createElement('div');
  layerDIV.setAttribute('id','LAYER_'+ID);
  layerDIV.setAttribute('label',label);
  layerDIV.setAttribute('class','invisible');
  layerDIV.setAttribute('className','invisible');

  document.getElementById('Container').appendChild(layerDIV);
  codice='<div id="TAB_' + ID + '" class="TAB">';
  codice=codice+'</div>';
  codice=codice+'<div id="CONTENT_' + ID + '" class="CONTENT">';
  //codice=codice+'<iframe id="IFRAME_'+ ID + '" name="IFRAME_'+ ID + '" scrolling="auto" class="IFRAME" src="'+url+'" ></iframe>';
  codice=codice+'<iframe id="IFRAME_'+ ID + '" name="'+ ID + '" height="'+ (pageHeight()-30) +'px" scrolling="auto" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" class="IFRAME" src="'+url+'" ></iframe>';
  codice=codice+'</div>';
  layerDIV.innerHTML = codice;
  alert2('Creato: '+ID);
	
  if (visualizza=='1'){
		Visualizza('LAYER_'+ID);
		}
  else{
  Visualizza(layerActive);	  
  }
  		
  }
//se esiste già cambia il contenuto  
else {
	Riempi(ID,label,url,visualizza);
}

	
}

//RIEMPIMENTO DI UN LAYER CON NUOVO CONTENUTO
function Riempi(ID,label,url,visualizza)
{
	if (Iframe=document.getElementById('IFRAME_'+ID))
		{
		Iframe.setAttribute('src',url);
		if (label!='' && document.getElementById('LAYER_' + ID)){
			(document.getElementById('LAYER_' + ID)).setAttribute('label',label);
			
		}
		if (visualizza=='1'){
			Visualizza('LAYER_'+ID);
			}
		else{
  			Visualizza(layerActive);	  
  			}	
		}
	else
		Crea(ID,label,url,visualizza);
}

//ELIMINAZIONE DI UN LAYER
function Elimina(layerID)
{
  if (document.getElementById(layerID))	{
		document.getElementById("Container").removeChild(document.getElementById(layerID));
  		alert2('Eliminato ' + layerID);
		
		//Visualizza il layer attivo (se non è quello eliminato) oppure Layer Settings
		if (layerActive==layerID){
			Visualizza('LAYER_Settings');
		}
		else{
			Visualizza(layerActive);
			}
			
		
  }
}

//SCOMPARSA DI TUTTI I LAYERS
function NascondiLayers() {
	var layerDIV=document.getElementsByTagName("div");
	for (i=0;i<layerDIV.length;i++)
	{
		//alert2('trovato: '+div[i].id));
		if ((layerDIV[i].getAttribute("id")).substr(0,6)=='LAYER_'){
			Nascondi(layerDIV[i].getAttribute("id"));	
		}
		
	}
}

//SCOMPARSA DI UN LAYER
function Nascondi(layerID) {
	if(layerDIV=document.getElementById(layerID))
		{
		layerDIV.setAttribute('class','invisible');
    	layerDIV.setAttribute('className','invisible');	
		alert2('Nascosto '+ layerID);
		}
}

//VISUALIZZAZIONE DI UN LAYER
function Visualizza(layerID) {
	if(layerDIV2=document.getElementById(layerID))
		{
		NascondiLayers();
		layerDIV2.setAttribute('class','visible');
    	layerDIV2.setAttribute('className','visible');
		IframeHeight(layerID.slice(6));
		alert2(layerID.slice(6));
		alert2('Visualizzato '+ layerDIV2.getAttribute("id"));
		VisualizzaTAB(layerID);
		layerActive=layerID;
		}
		
}

//FIX ALTEZZA IFRAME (ALLA VISUALIZZAZIONE O AL PAGE RESIZE)
function IframeHeight(ID) {
	if(Iframe2=document.getElementById('IFRAME_'+ID))
	{
	if (Iframe2.style.height!=(pageHeight()-30)+'px'){
		Iframe2.style.height=(pageHeight()-30)+'px';	
		alert2('altezza iframe=' + Iframe2.style.height);
		}
	}
}

//CREAZIONE DELLA BARRA DEI TAB
function VisualizzaTAB(layerID)
{
	if (layerDIV=document.getElementById(layerID))
	{
		var div=document.getElementsByTagName("div");
		var codice='';
		codice=codice+'<ul>';
		for (i=0;i<div.length;i++)
		{
			if (div[i].getAttribute("id").substr(0,6)=='LAYER_')
				{
				if (layerDIV.getAttribute("id")==div[i].getAttribute("id")){
					codice=codice+'<li class="TABbuttonActive"><a href="javascript:void(0)" onclick="Visualizza(\''+ div[i].getAttribute("id") +'\');parent.frames[\'Settings\'].elencaTAB();">' + ' '+ div[i].getAttribute("label") +' ' +'</a></li>';
				}
				else{
					codice=codice+'<li class="TABbuttonInactive"><a href="javascript:void(0)" onclick="Visualizza(\''+ div[i].getAttribute("id") +'\');parent.frames[\'Settings\'].elencaTAB();">' + ' '+ div[i].getAttribute("label") +' ' +'</a></li>';
				}
				
				}
		}
		
		//codice=codice+'<li class="TABbuttonInactive"><a href="javascript:void(0)" onclick="NascondiLayers()"> Impostazioni </a></li>';
		codice=codice+'</ul>';
		alert2('codice='+codice);
		document.getElementById('TAB_'+layerID.substring(6)).innerHTML=codice;
		
	}	
		
}

//ELENCA TUTTI I LAYERS (in una stringa composta da id1#label1;id2#label2)
function ElencaLayers() {
	var layerDIV=document.getElementsByTagName("div");
	var codice='';
	for (i=0;i<layerDIV.length;i++)
	{
		//alert2('trovato: '+div[i].id));
		if ((layerDIV[i].getAttribute("id")).substr(0,6)=='LAYER_'){
			codice=codice+layerDIV[i].getAttribute("id")+'#'+layerDIV[i].getAttribute("label")+';';
		}
	}
	codice=codice.substr(0,codice.lastIndexOf(";")); //toglie l'ultimo ;
	alert2 (codice);
return codice;	
}

//VERIFICA SE ESISTE UN LAYER
function EsisteLayer(layerID)
{
	if (document.getElementById(layerID)){
		if (layerActive==layerID)
			return 2;	//esiste ed è quello visualizzato
		else
			return 1;	//esiste ma non è quello attivo
	}
	else {
		return 0;		//non esiste
	}

}