/* La funzione CheckedObject viene lanciata  sul click di una checkbox
ha lo scopo di costruire una stringa con tutti i valori della checkbox 
premuta che sono checkati. Questa stringa sarà poi passata a Sistema 
motore che dovrebbe settare e gestire i blocchi utente sul motore   */

function CheckedObject(Oggetto,Nome,f,ClasseNormale,ClasseGrigia,ClasseSelect) {
//alert ("Inizio 1");
//doHourglass();
var valore = "";
var Separatore = "";
	for (var i=0;i<Oggetto.length; i++) {
		//alert (i);
		if (Oggetto[i].checked) {
			GestisciOnOff(Nome,Oggetto[i].value,ClasseSelect,"_on.gif");
			valore = valore + "" + Separatore + "" + Oggetto[i].value;
			Separatore = "|";
		} else {
			if (Oggetto[i].disabled) {
				GestisciOnOff(Nome,Oggetto[i].value,ClasseGrigia,"_off.gif");
			} else {
				GestisciOnOff(Nome,Oggetto[i].value,ClasseNormale,".gif");
			}
		}
	}
	//alert("Fine 1");
	return SistemaMotore(Oggetto,valore,Nome,f);
	doNormal();
}

/*  Per le icone servizi La funzione CheckedObject viene lanciata  sul click di una checkbox
ha lo scopo di costruire una stringa con tutti i valori della checkbox 
premuta che sono checkati. Questa stringa sarà poi passata a Sistema 
motore che dovrebbe settare e gestire i blocchi utente sul motore   */

function CheckedObjectServizi(Oggetto,Nome,f,ClasseNormale,ClasseGrigia,ClasseSelect) {
//alert ("Inizio 1");
//doHourglass();
var valore = "";
var Separatore = "";
	for (var i=0;i<Oggetto.length; i++) {
		//alert (i);
		if (Oggetto[i].checked) {
			change("Img"+Nome+""+Oggetto[i].value, ClasseSelect);
			valore = valore + "" + Separatore + "" + Oggetto[i].value;
			Separatore = "|";
		} else {
			if (Oggetto[i].disabled) {
				change("Img"+Nome+""+Oggetto[i].value, ClasseSelect);
			} else {
				change("Img"+Nome+""+Oggetto[i].value, ClasseNormale);
			}
		}
	}
	//alert("Fine 1");
	return SistemaMotore(Oggetto,valore,Nome,f);
	doNormal();
}
/* A Partire dalla lista ultima dei valore selezionati e in base a questa
dovrebbe sistemare il motore evitando all'utente di gestire ricerche senza 
senso */

function SistemaMotore(Oggetto,Valori,NomeOggetto,f) {
//alert ("Inizia 2");
// Trasformo la stringa dei valori in un vettore
var ArrayInput = Valori.split("|");
if (DatiPerElaborazioni[NomeOggetto]!="vuoto") {
	//alert ("Stelle");
	VettPrimarioDati = DatiPerElaborazioni[NomeOggetto].split(",");
	var ClasseNormale= VettPrimarioDati[3];
	var ClasseGrigia= VettPrimarioDati[4];
	var ClasseSelect= VettPrimarioDati[5];
	OggettoModificato = eval ("f." + VettPrimarioDati[0] + "");
	//alert (VettPrimarioDati[0]);
		if (Valori=="") {
			for (var i=0;i<OggettoModificato.length; i++) {
				OggettoModificato[i].disabled=false;
					if (OggettoModificato[i].checked) {
					GestisciOnOff(VettPrimarioDati[0],OggettoModificato[i].value,ClasseSelect,"_on.gif");				
					} else {
		GestisciOnOff(VettPrimarioDati[0],OggettoModificato[i].value,ClasseNormale,".gif");
					}	
			}	
		} else {
			for (var i=0;i<OggettoModificato.length; i++) {
				OggettoModificato[i].disabled=true;
				GestisciOnOff(VettPrimarioDati[0],OggettoModificato[i].value,ClasseGrigia,"_off.gif");
			}
			VettCampiPossibili= VettPrimarioDati[1].split("|");
			VettReazioniPossibili = VettPrimarioDati[2].split("|");
			//alert (VettPrimarioDati[2]);
			for (var i=0;i<ArrayInput.length; i++) {
				for (var x=0;x<VettCampiPossibili.length; x++) {
				//alert ("ArrayInput" + ArrayInput[i]);
				//alert ("Campi" + VettCampiPossibili[x]);
					if (ArrayInput[i]==VettCampiPossibili[x]) {
						ListaAzioniSpecifiche = VettReazioniPossibili[x].split("++");
							for (var y=0;y<ListaAzioniSpecifiche.length; y++) {
								for (var k=0;k<OggettoModificato.length; k++) {
							//alert ("Oggetto" + OggettoModificato[k].value);
							//alert ("Azione" + ListaAzioniSpecifiche[y]);
									if (OggettoModificato[k].value==ListaAzioniSpecifiche[y]) {
										OggettoModificato[k].disabled=false;
										if (OggettoModificato[k].checked) {	GestisciOnOff(VettPrimarioDati[0],OggettoModificato[k].value,ClasseSelect,"_on.gif");
										} else {
											GestisciOnOff(VettPrimarioDati[0],OggettoModificato[k].value,ClasseNormale,".gif");
										}
									}
								}
							}
					}
				}
			}
		}
}
return 1;
}

// Funzione Per Il Cambio di classe testata con IE6 e Firefox
function change(id, newClass) {
	identity=document.getElementById(id);
        if ( identity.className!=newClass) {
	        identity.className=newClass;
        }
}

function ResetSearchEngine(ListaArgomenti,f,DefText) {
	f.txtcerca.value = DefText;
	f.Provincia.value = "";
	var ArrayInput = ListaArgomenti.split("|");
	for (var i=0;i<ArrayInput.length; i++) {
		OggettoModificato = eval ("f." + ArrayInput[i] + "");
			for (var x=0;x<OggettoModificato.length; x++) {
				OggettoModificato[x].disabled=false;
				OggettoModificato[x].checked=false;
			GestisciOnOff(ArrayInput[i],OggettoModificato[x].value,"RigaCheck",".gif")
//change(""+ArrayInput[i]+""+OggettoModificato[x].value,"RigaCheck")
			}
	}
}

function GestisciOnOff(Nome,Valore,Classe,ExtImg) {
	//alert ("Cambio "+Nome+" Con: Img"+Nome+"/"+Valore+""+ExtImg);
	if (objImg = document.getElementById("Img"+Nome+""+Valore)) {
		if (Nome=="Stelle") {
		objImg.src = "motore/common/img/Img"+Nome+"/"+Valore+""+ExtImg;
		}
	} else { 
		if (Nome=="Localita" & Classe=="RigaCheckBuia") {
			change(""+Nome+""+Valore, "RigaCheckSparita");
		} else {
			change(""+Nome+""+Valore, Classe);
		}
	}
}

function CampoDiTesto(Oggetto,Default) {
	if (Oggetto.value==Default) {
		Oggetto.value="";
	}
	return 1;
}

function SubmitDiForm(ListaArgomenti,f,txtdefault) {
	var ArrayInput = ListaArgomenti.split("|");
	var indirizzo;
	var separatore;
	var paipe;
	var singolo;
	//alert "sono qui";
	indirizzo = "";
	paipe = "";
		for (var i=0;i<ArrayInput.length; i++) {
			singolo = "";
			separatore = "";
			OggettoModificato = eval ("f." + ArrayInput[i] + "");
				for (var x=0;x<OggettoModificato.length; x++) {
					if (OggettoModificato[x].checked) {
						singolo = singolo + separatore + OggettoModificato[x].value;
						separatore = ",";
					}
				}
			if 	(singolo!="") {
			indirizzo = indirizzo + paipe + ArrayInput[i] + "-_-" + singolo;
			paipe = "|";
			}
		}
		if (f.txtcerca.value != txtdefault) {
			//msgbox ("Confronto fra "+ f.txtcerca.value + " e "+ txtdefault+"");
			indirizzo = indirizzo + paipe + "TxtCerca-_-" + f.txtcerca.value;
		}
	paipe = "|";
	if (f.Provincia.value!="") {
		indirizzo = indirizzo + paipe + "Provincia-_-" + f.Provincia.value;
	}
	if (f.LinguaPassata.value!="") {
		indirizzo = indirizzo + paipe + "LinguaPassata-_-" + f.LinguaPassata.value;
	} else {
		indirizzo = indirizzo + paipe + "LinguaPassata-_-ita";
	}
	document.location.href= "cerca.php?argomento=" + indirizzo + "|Pagina-_-1";
	return false;
}
