/*
QUESTA FUNZIONE CONTROLLA CHE SIA PRESENTE UN PARAMETRO DI RICERCA ED IN SEGUITO EFFETTUA IL SUBMIT
PARAMETRI: nessuno
VALORE DI RITORNO: nessuno
*/
function go_search()
{
	if (document.ric_libera.key.value != "")
		document.ric_libera.submit();
	else alert('Inserire un termine valido da ricercare');
	document.ric_libera.key.focus();
	return;
}

/*
Svuota un campo dal contenuto (serve per i campi readonly)
PARAMETRI: nomeCampo
VALORE DI RITORNO: nessuno
*/
function eliminaFileGrafica(percorso, nomeSel)
{
	fileSelezionato = document.form.nomeSel.options[document.form.nomeSel.selectedIndex].value;
	alert(percorso+fileSelezionato);
}

/*
Svuota un campo dal contenuto (serve per i campi readonly)
PARAMETRI: nomeCampo
VALORE DI RITORNO: nessuno
*/
function SvuotaCampo(nomeCampo)
{
	document.getElementById(nomeCampo).value = "";
	return;
}
/*
SEMPLICE FUNZIONE CHE EFFETTUA IL REDIRECT VERSO UNA PAGINA
PARAMETRI: string url |contenente l'url di destinazione
VALORE DI RITORNO: nessuno
*/
function redirect(url)
	{
	window.location=url;
	}
	
function submitSenzaSalva(idForm, campoDiscriminante)
	{
	document.getElementById(campoDiscriminante).value = "nessuna"
	document.getElementById(idForm).submit()
	}

/*
SEMPLICE FUNZIONE CHE APRE UNA PICCOLA PAGINA DI POPUP PER IL CALENDARIO
PARAMETRI: string url |contenente l'url di destinazione
VALORE DI RITORNO: nessuno
*/
function OpenFrm(Link)
	{
	windowFrm=window.open(Link,"","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=0,width=300,height=200");
	}
function Apri(Link)
	{
	windowFrm=window.open(Link,"","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=0,width=350,height=200");
	}
function ApriGenerico(Link,larg,alt)
	{
	windowFrm=window.open(Link,"","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,width="+larg+",height="+alt+"");
	}
	
/*
QUESTA FUNZIONE SI OCCUPA DI RENDERE VISIBILE O INVISIBILE UN QUALSIASI ELEMENTO HTML (DIV PER ESEMPIO.). 
IN AUTOMATICO RICAVA LO STATO ATTUALE DELL'ELEMENTO E LO MODIFICA DI CONSEGUENZA
PARAMETRI: string sDiscriminante |contenente il nome dell'elemento da processare
VALORE DI RITORNO: nessuno
*/
function ShowSez(sDiscriminante)	
	{
	var ie4=document.all;
	var ns6=document.getElementById&&!document.all;
	
	 if(ie4)
		{
		if (document.getElementById("rigaAree").style.display  == "none")
			{
			messaggioAlert = "NB: i contenuti della HP di sezione non saranno pi&ugrave; visibili";
			document.getElementById("msgSez").innerHTML = messaggioAlert;
			document.getElementById("msgSezImp").value = messaggioAlert;
			document.getElementById("rigaAree").style.display="block";
			document.getElementById("rigaInHome").style.display="block";
			}
		else
			{
			document.getElementById("msgSez").innerHTML = "";
			document.getElementById("msgSezImp").value = "";
			document.getElementById("rigaAree").style.display="none";
			document.getElementById("area").selectedIndex='0'
			document.getElementById("inHome").checked =false;
			document.getElementById("rigaInHome").style.display="none";
			if (document.getElementById("rigaPagine") != null)
				{
				document.getElementById("rigaPagine").style.display="none";
				}
			
			}
		
		}
	if(ns6)
		{
		if (document.getElementById("rigaAree").style.display  == "none")
			{
			messaggioAlert = "NB: i contenuti della HP di sezione non saranno pi&ugrave; visibili";
			document.getElementById("msgSez").innerHTML = messaggioAlert;
			document.getElementById("msgSezImp").value = messaggioAlert;
			document.getElementById("rigaAree").style.display="table-row";
			document.getElementById("rigaInHome").style.display="table-row";
			}
		else
			{
			document.getElementById("msgSez").innerHTML = "";
			document.getElementById("msgSezImp").value = "";
			document.getElementById("rigaAree").style.display="none";
			document.getElementById("area").selectedIndex='0'
			document.getElementById("inHome").checked =false;
			document.getElementById("rigaInHome").style.display="none";
			if (document.getElementById("rigaPagine") != null)
				{
				document.getElementById("rigaPagine").style.display="none";
				}
			}
		}
	}
	
function ShowAndHide2(sDiscriminante,action)	
	{
	var ie4=document.all;
	var ns6=document.getElementById&&!document.all;
	if(ie4)
		{
		if (action == "hide")
			{
			document.getElementById(sDiscriminante).style.display="none";
			}
		else
			{
			document.getElementById(sDiscriminante).style.display="block";
			}
		}
	if(ns6)
		{
		if (action == "hide")
			{
			document.getElementById(sDiscriminante).style.display="none";
			}
		else
			{
			document.getElementById(sDiscriminante).style.display="table-row";
			}
		}
	}

function ShowAndHide3(sDiscriminante)	
	{
	var ie4=document.all;
	var ns6=document.getElementById&&!document.all;
	if(ie4)
		{
		if (document.getElementById(sDiscriminante).style.display  == "block")
			{
			document.getElementById(sDiscriminante).style.display="none";
			}
		else
			{
			document.getElementById(sDiscriminante).style.display="block";
			}
		}
	if(ns6)
		{
		if (document.getElementById(sDiscriminante).style.display  == "table-row")
			{
			document.getElementById(sDiscriminante).style.display="none";
			}
		else
			{
			document.getElementById(sDiscriminante).style.display="table-row";
			}
		}
	}
	
function ShowAndHide4(sDiscriminante, discriminanteImg, nuovaImg)	
	{
	var ie4=document.all;
	var ns6=document.getElementById&&!document.all;
	if(ie4)
		{
		if (document.getElementById(sDiscriminante).style.display  == "none")
			{
			document.getElementById(sDiscriminante).style.display="block";
			document.getElementById(discriminanteImg).src = "../images/"+nuovaImg;
			document.getElementById(discriminanteImg+"_2").src = "../images/"+nuovaImg;
			}
		else
			{
			document.getElementById(sDiscriminante).style.display="none";
			}
		}
	if(ns6)
		{
		if (document.getElementById(sDiscriminante).style.display  == "none")
			{
			document.getElementById(sDiscriminante).style.display="table-row";
			document.getElementById(discriminanteImg).src = "../images/"+nuovaImg;
			document.getElementById(discriminanteImg+"_2").src = "../images/"+nuovaImg;
			}
		else
			{
			document.getElementById(sDiscriminante).style.display="none";
			}
		}
	}
	
function chiudiTabs(tabCorrente, nTabTotali)
	{
	var listaTabs=new Array();
	if (nTabTotali == 3)
		{
		listaTabs[0]="immaginiGrafica";
		listaTabs[1]="coloriLayout";
		listaTabs[2]="coloriMenu";
		}
	else if (nTabTotali == 4)
		{
		listaTabs[0]="immaginiGrafica";
		listaTabs[1]="coloriLayout";
		listaTabs[2]="coloriTesti";
		listaTabs[3]="coloriMenu";
		}
	else if(nTabTotali == 5)
		{
		listaTabs[0]="immaginiGrafica";
		listaTabs[1]="coloriLayout";
		listaTabs[2]="coloriTesti";
		listaTabs[3]="coloriMenu";
		listaTabs[4]="immaginiMail";
		}
	indice = 1;
	for (tab in listaTabs)
		{
		//alert(document.getElementById(listaTabs[tab]).style.display);
		document.getElementById(listaTabs[tab]).style.display="none";
		document.getElementById("idImgTab0"+indice).src = "../images/tab0"+indice+".jpg";
		document.getElementById("idImgTab0"+indice+"_2").src = "../images/tab0"+indice+".jpg";
		indice++;
		}
		
	document.getElementById("tabCorrente").value = tabCorrente	
	}
/*
QUESTA E' UNA FUNZIONE SPECIFICA PER FAR APPARIRE LE FORM PER ACQUISTARE
PARAMETRI: string sDiscriminante |contenente il nome della form da mostrare
VALORE DI RITORNO: nessuno
*/
function ShowForm(sDiscriminante)	
	{
	if (sDiscriminante == "kgmt")
		{
			antagonista = "conf"
			for (i=1;i<=2;i++)
				{
				document.getElementById(sDiscriminante+i).style.display="block";
				}
			for (i=1;i<=2;i++)
				{
				document.getElementById(antagonista+i).style.display="none";
				}
		}
    else
		{
			antagonista = "kgmt"
			for (i=1;i<=2;i++)
				{
				document.getElementById(sDiscriminante+i).style.display="block";
				}
			for (i=1;i<=2;i++)
				{
				document.getElementById(antagonista+i).style.display="none";
				}
     	}
		
 
	}
/*
QUESTA E' UNA FUNZIONE SELEZIONA TUTTI I CHECKBOX
*/	
function seleziona()
	{
	var totaleNews;
	totaleNews = document.getElementById("totaleNews").value;
	
	if (document.getElementById("selezionaTutto").checked == true)
		{
		for (i=1; i<totaleNews; i++) 
			{	
			box = eval("document.form.flag" + i); 
			if (box.checked == false) box.checked = true;
			}
		}
	else
		{
		for (i=1; i<totaleNews; i++) 
			{
			box = eval("document.form.flag" + i); 
			if (box.checked == true) box.checked = false;
			}
		}
	}
/*
QUESTA E' UNA FUNZIONE EFFETTUA LA CONVERSIONE E CAMBIA I VALORI NEI TEXTBOX
PARAMETRI: string myfield, event, bho
VALORE DI RITORNO: true o false
NB se ritorna false il carattere non viene scritto e nulla succede
*/	
function ConversioneValori(myfield, e, dec)
	{
	var key;
	var keychar;
	
	//ricavo la key premuta ed il codice relativo ad essa
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	//Se premo backspace entro qua
	if (key == 8)
		{
		//estraggo il contenuto in MT
		contenutoMt = document.getElementById("MT").value
		//visto che ho premuto il back devo eliminare l'ultimo carattere del contenuto MT
		contenutoMtAdesso = contenutoMt.substring(0,contenutoMt.length-1);
		//effettuo il calcolo
		qta = contenutoMtAdesso * document.getElementById("KGMT").value;
		//sostituisco il valore all'interno del box QTA arrotondato con 2 decimali
		document.getElementById("QTA").value = qta.toFixed(2);
	   	return true;
		}
		
	//Se premo un numero entro qua
	else if ((("0123456789.").indexOf(keychar) > -1))
		{
		//estraggo il contenuto in MT e lo concateno alla key appena premuta
		contenutoMtAdesso = document.getElementById("MT").value + keychar;
		//effettuo il calcolo
		valoreConvertito =contenutoMtAdesso * document.getElementById("KGMT").value;
		//se il risultato è numerico lo accetto senno lo setto a zero
		if (!isNaN(valoreConvertito))
			qta = valoreConvertito
		else
			qta = 0
		//sostituisco il valore all'interno del box QTA arrotondato con 2 decimali
		document.getElementById("QTA").value = qta.toFixed(2);
		return true;
		}	
	else
	   return false;
	}
	
function Show(sDiscriminante, e)	
	{
	var ie4=document.all;
	var ns6=document.getElementById&&!document.all;
	
	if(ie4)
		{
		x=event.clientX + document.body.scrollLeft + 20;
		y=event.clientY + document.body.scrollTop - 50; 
		}
	if(ns6)
		{
		x= e.clientX + window.pageXOffset;
		y= e.clientY + window.pageYOffset + 15;
		}
	document.getElementById(sDiscriminante).style.display="block";                         		
	document.getElementById(sDiscriminante).style.left = x;                                	
	document.getElementById(sDiscriminante).style.top = y;
	}	

/* this function hides the pop-up when user moves the mouse out of the link */
function Hide(sDiscriminante)
	{
	document.getElementById(sDiscriminante).style.display="none";
	}

/*
QUESTA E' UNA FUNZIONE cambia dinamicamente un immagine, modificandone la source
PARAMETRI: id del campo immagine, percorso nuova immagine
VALORE DI RITORNO: nessuno
*/

function cambiaSrcImmagine(idImmagine, percorso, idLabel)
	{
	var nuovaImg = new Image();
	nuovaImg.src = percorso;
	
		if(nuovaImg.complete!=true)
			window.setTimeout("cambiaSrcImmagine('"+idImmagine+"', '"+percorso+"', '"+idLabel+"')", 1000);
		
	var ultimoCarattere = percorso.charAt(percorso.length - 4);
	if (ultimoCarattere == ".")
		{
			if (nuovaImg.width > 500)
				{
				newWidth = 500
				newHeight = nuovaImg.height * newWidth / nuovaImg.width
				
				if (newHeight < 5)
					newHeight = 20
				}
			else if (nuovaImg.height > 100)
				{
				newHeight = 100
				newWidth = 500
				}
			else
				{
				newWidth = nuovaImg.width;
				newHeight = nuovaImg.height;
				}
			
			document.getElementById(idImmagine).src = percorso;
			document.getElementById(idImmagine).style.width = newWidth;
			document.getElementById(idImmagine).style.height = newHeight;
			document.getElementById(idImmagine).style.visibility="";
			if (document.getElementById(idLabel) != null)
				document.getElementById(idLabel).style.visibility="hidden";
		}
	else
		document.getElementById(idImmagine).style.visibility="hidden";
	}
/*
Controlla la maxlength delle textarea
PARAMETRI: l'id della textarea, lunghezza massima
VALORE DI RITORNO: nessuno
*/
function imposeMaxLength(Object, MaxLen)
	{
  	return (Object.value.length <= MaxLen);
	}

/*
Questa funzione stampa una palette dei colori dinamicamente
PARAMETRI: l'id dei due contenitori delle preview della palette, id dell'input da modificarsi
VALORE DI RITORNO: nessuno
*/	
function stampaPalette(idPreview, idNomePreview, idTextInput)
	{
	//var colori = new Array("00","33","66","99","aa","cc","ff");
	//colorArray = new Array(343);
	
	//definisco i gradini di colore (ne scelgo 8)
	var colori = new Array("00","22","44","66","99","BB","DD","FF");
	
	//i colori totali sono 512 (8*8*8)
	colorArray = new Array(512);
	
	//ora costruisco un array contenente tutti i 512 colori già composti. Per farlo faccio tre cicli nidificati
	//Il primo ciclo sono le righe il secondo i quadranti ed il terzo sono le colonne
	var count = 0
	for ( var x1 = 0; x1 < 8 ; x1++)
	for ( var x2 = 0; x2 < 8 ; x2++)
	for ( var x3 = 0; x3 < 8; x3++)
	colorArray[count++] = new Array("#" + colori[x1] + colori[x2]+ colori[x3]);
	
	//definisco una variabile che contiene l'HTML che poi stamperò
	tabellaPalette = "<TABLE border='0' style ='cursor:hand'>\n";
	
	//ora ho diviso la creazione della palette in 2 fasi per dividere in due la palette
	//il primo for cicla le 8 righe
	for (var x = 0; x < colorArray.length ; x += (colori.length * colori.length))
		{
		tabellaPalette += "<TR>\n";
		//questo for cicla le colonne e devo falo ciclare 32 volte
		for (var y = 0; y < (colori.length/2 * colori.length); y++) 
			{
			tabellaPalette += "<TD onmouseover = \"preview.bgColor = this.bgColor;previewCosa.innerHTML = '" + colorArray[(x+y)][0] + "' \" bgcolor= '" + colorArray[(x+y)][0] + "' onclick='window.opener.document.getElementById(\""+idTextInput+"\").value = this.bgColor;self.close();'>&nbsp;&nbsp;</td>";
			}
		tabellaPalette += "</TR>\n";
	}
	
	//come sopra cicla le 8 righe
	for (var x = 0; x < colorArray.length ; x += (colori.length * colori.length))
		{
		tabellaPalette += "<TR>\n";
		//come sopra ma parte da 32 e va a 64
		for (var y = colori.length/2 * colori.length; y < (colori.length * colori.length); y++) 
			{
			tabellaPalette += "<TD onmouseover = \"preview.bgColor = this.bgColor;previewCosa.innerHTML = '" + colorArray[(x+y)][0] + "' \" bgcolor= '" + colorArray[(x+y)][0] + "' onclick='window.opener.document.getElementById(\""+idTextInput+"\").value = this.bgColor;self.close();'>&nbsp;&nbsp;</td>";
			}
		tabellaPalette += "</TR>\n";
	}
	
	tabellaPalette += "</TABLE>\n";
	document.write(tabellaPalette);
	}