//funzione di servizio per retro compatibilita

var invocaJs = null;
var sedeDefault = "EUWORK SRL";
var impostaSedeDef = "Imposta sede predefinita";
var impostaSedeNormale = "Abilita inserimento indirizzo";
var messaggioIgnoraModifiche = "Vuoi ignorare le modifiche effettuate???";

function getById(attr_id){
	return(document.all[attr_id]);
}
if(document.all && !document.getElementById)
	document.getElementById = getById;

 function isFunction(a) {
    return typeof a == 'function';
 }
	
 function isObject(a) {
    return (typeof a == 'object' && !!a) || isFunction(a);
 }
	
function isArray(a){
	return isObject(a) && a.constructor == Array;
}

function nullElements(e, name, value){
	if (e == null || e.length == 0)
		return true;
	for( var i = 0; i < e.length; ++i ){
		if (e[i].name != name && e[i].getValue() != null && e[i].getValue() != "" && e[i].getValue() != value){
			return false;
		}
	}
	return true;
}

function countCheckedElements(e, target){
	var count = 0;
	for( var i = 0; i < e.length; ++i ){
		if (e[i].name.match(target) && e[i].getValue() != null)
			count++;
	}
	return count;
}

function richiediConferma(){
	var form = $("formReferenti");
	var elements = form.getElements();
	var confirmString = "Vuoi veramente";
	var name = "categoria";
	var value = "Invia modifiche";
	var target = "rimuoviReferente";
	if(nullElements(elements, name, value)){
		alert("Non ho nulla da fare, non hai impostato nulla!");
		return true;
	}
	var checkedElements = countCheckedElements(elements, target);
	var hasNewReferente = $F(form["nuovoReferente"]) != null && $F(form["nuovoReferente"]) != "";
	if ( checkedElements > 0 ){
		confirmString += " rimuovere " + checkedElements + " referent";
		if ( checkedElements > 1)
			confirmString += "i";
		else
			confirmString += "e";
	}
	if( hasNewReferente ){
		if ( checkedElements > 0  )
			confirmString += " ed";
			
		var shortNuovoReferente = $F(form["nuovoReferente"]).length > 100 
			? "\n\"" + $F(form["nuovoReferente"]).substr(0, 99) + " . . .\"\n"
			: "\"" + $F(form["nuovoReferente"]) + "\"";
		
		confirmString += 
			" aggiungere il referente " + 
			shortNuovoReferente + 
			" nella categoria \"" + 
			nomeCategoria[$F(form["categoria"])] + 
			"\"";
	}
	
	return confirm( confirmString + "?" );
	
}

function impostaSedePredefinita(){
	var form = $("modificaSedi");
	var sedeScelta = $F(form["sedeScelta"]);	
	
	if (campiAttivi){			//IMPOSTO LA SEDE CON INDIRIZZO DI DEFAULT
		$("agente").value = 
		$("indirizzo").value = 
		$("telefono1").value = 
		$("telefono2").value = 
		$("cellulare1").value = 
		$("cellulare2").value = 
		$("fax").value = 
		$("e_mail").value = 
		$("www").value = 
		$("e_mail2").value = "";
		$("zona").value = sedeDefault;
	}
	else{						//TOLGO L'IMPOSTAZIONE DI DEFAULT DELLA SEDE
		$("zona").value = $("desc").value;
	}
	
	changed = true;
	campiAttivi = !campiAttivi;
	aggiornaCampiAttivi();
	aggiornaPulsanteSedeDefault();
	return false;
}


function aggiornaCampiAttivi(){
	$("agente").disabled = 
	$("indirizzo").disabled = 
	$("telefono1").disabled = 
	$("telefono2").disabled = 
	$("cellulare1").disabled = 
	$("cellulare2").disabled = 
	$("fax").disabled = 
	$("e_mail").disabled = 
	$("www").disabled = 
	$("e_mail2").disabled = !campiAttivi;
}

function aggiornaPulsanteSedeDefault(){
	$("sedePredefinita").value = campiAttivi? impostaSedeDef: impostaSedeNormale;
}

function cambiaSede(){
	var form = $("modificaSedi");
	var sedeScelta = $F(form["sedeScelta"]);
	if( changed )
		if( !confirm( messaggioIgnoraModifiche ) )
			return false;
	changed = false;

	$("agente").value = agente[sedeScelta];
	$("indirizzo").value = indirizzo[sedeScelta];
	$("telefono1").value = telefono1[sedeScelta];
	$("telefono2").value = telefono2[sedeScelta];
	$("cellulare1").value = cellulare1[sedeScelta];
	$("cellulare2").value = cellulare2[sedeScelta];
	$("fax").value = fax[sedeScelta];
	$("e_mail").value = e_mail[sedeScelta];
	$("www").value = www[sedeScelta];
	$("e_mail2").value = e_mail2[sedeScelta];
	$("desc").value = desc[sedeScelta];
	$("zona").value = zona[sedeScelta];
	
	campiAttivi = ($("zona").value != sedeDefault);
	
	aggiornaCampiAttivi();
	aggiornaPulsanteSedeDefault();

	return false;
}

function inviaModificheSede(){
	if( !changed ){
		alert("Non hai effettuato nessuna modifica!!!");
		return false;
	}
	
	var form = $("modificaSedi");
	var sedeScelta = $F(form["sedeScelta"]);
	
	return confirm("Inviare le modifiche alla sede di \"" + $("desc" ).value + "\"?");
}

function scegliGalleria(){
	var form = $("listaGallerie");
	var galleriaScelta = $F(form["galleriaScelta"]);
	if ( galleriaScelta == 0 )
		return;
	form.submit();
}

function isFoto(file){
	var lower = file.toLowerCase(); 
	return lower.match("gif$|jpeg$|jpg$|png$");
}

function inviaModificheGalleria(){
	var form = $("formGalleria");
	var elements = form.getElements();
	var name = "caricaFoto";
	var target = "rimuovifoto";
	var value = "invia modifiche";
	var confirmString = "Vuoi veramente";
	var file = $("caricaFoto").value;
	var hasNewFoto = file != "";
	if(nullElements(elements, name, value) && !hasNewFoto ){
		alert("Non ho nulla da fare, non hai impostato nulla!");
		return false;
	}
	var checkedElements = countCheckedElements(elements, target);
	if ( checkedElements > 0 ){
		confirmString += " rimuovere " + checkedElements + " foto";
	}
	if( hasNewFoto ){
		if( !isFoto( file )){
			alert("Immagine non valida! Accetto solo foto in formato png, jpeg o gif");
			return false;
		}
				
		if ( checkedElements > 0  )
			confirmString += " ed";
		
		confirmString += " aggiungere la foto";
	}
	
	return confirm( confirmString + "?" );
}
