// JavaScript Document

//	Cambia l'opacità al tag
function Opaco(id_tag, valore) {
	//	Se l'opacità è 100 aggiunge lo sfondo
	if (valore == 100)
		id_tag.style.backgroundColor = '#FFFFFF';
	else
		id_tag.style.backgroundColor = 'transparent';
}

//	Elimina gli spazi bianchi all'inizio e alla fine della stringa
function Trim(stringa) {
	return stringa.replace(/^\s+|\s+$/g,'');
}

//	Controlla la validità dell'email
function ControlloMail(stringa) {
	if (stringa.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.eu)|(\.biz)|(\..{2,2}))$)\b/gi)) return true;
	else return false;
}

//	Controlla che i campi obbligatori siano inseriti (solo per i contatti)
function ControlloForm(form) {				
	//	Nome
	if (Trim(form.nome.value) == '') {
		alert('Specificare il nominativo');
		form.nome.focus();
		return false;
	}
	
	//	E-mail
	if (Trim(form.email.value) == '') {
	 	alert('Specificare l\'indirizzo e-mail al quale essere ricontattati');		  
		form.email.focus();
		return false;
	}

	//	E-mail non valida
	if (Trim(form.email.value) && !ControlloMail(form.email.value)) {
	  	alert('L\'indirizzo e-mail non sembra corretto');
		form.email.focus();
		return false;
	}
	
	//	Messaggio
	if (Trim(form.informazioni.value) == '') {
	  	alert('Specificare il tipo di informazione richiesta');		  
		form.informazioni.focus();
		return false;
	}
	
	//	Non è stato dato il consenso all'informativa sulla privacy
	if (form.privacy.checked != true) {
	 	alert('Per proseguire occorre accettare l\'informativa');
		return false;
	}	
	
	// Tutto ok
	return true;
}

//  Mostra o nasconde un tag
function MostraNascondi(id_tag, visibile) {
	//  Valore di default per la visibilità
	if (!visibile)
		visibile = 'block';
	
	// Rende il tag visibile
	if (document.getElementById(id_tag).style.display == '' || 
		document.getElementById(id_tag).style.display == 'none')
		document.getElementById(id_tag).style.display = visibile;
	
	//  Nasconde il tag
	else
		document.getElementById(id_tag).style.display = 'none';
}

//  Scambia le visibilità di due tag
function Scambia(id_tag1, id_tag2, visibile1, visibile2) {
	//  Valore di default per la visibilità
	if (!visibile1)
		visibile1 = 'block';
	
	if (!visibile2)
		visibile2 = 'block';
	
	// Rende il primo tag visibile e il secondo invisibile
	if (document.getElementById(id_tag1).style.display == '' || 
		document.getElementById(id_tag1).style.display == 'none') {
		document.getElementById(id_tag1).style.display = visibile1;
		document.getElementById(id_tag2).style.display = 'none';
	}
	
	//  Nasconde il secondo tag e mostra di nuovo il primo
	else {
		document.getElementById(id_tag1).style.display = 'none';
		document.getElementById(id_tag2).style.display = visibile2;
	}
}

//	Chiede conferma per l'eliminazione
function Conferma(id, url) {
	if (confirm('Confermi l\'eliminazione?')) { 
		if (confirm('Sei sicuro?')) { 
			//	Procede con l'eliminazione
			window.location.href = url+'&del='+id;
			
			return true;
		}
	}
}
	
//	Aggiunge un campo file
function AggiungiCampo(id_tag, id_file, descrizione, numero_file) {
	var i = 0;
	
	//  Se non presente setta la variabile a un valore generico
	if (!descrizione)
		descrizione = 'File';
	
	//  Se non presente setta la variabile a zero
	if (!numero_file)
		numero_file = 0;
	
	//  Recupera l'ultimo campo in base all'id_file
	while (document.getElementById(id_file+i))
		i++;
	
	//  Controlla che il campo precedente, se esiste, sia riempito
	if (i > 0 && !document.getElementById(id_file+(i - 1)).value)
		alert('Prima di aggiungerne altri occorre riempire i campi precedenti');
	
	else { 
		//  Nuovo campo label
		var nuova_etichetta = document.createElement('label');
	
		//  Nuovo campo input
		var nuovo_input = document.createElement('input');
		
		//  Aggiunge il codice al pulsante
		nuovo_input.setAttribute('id', id_file+i);
		nuovo_input.setAttribute('name', id_file+i);
		nuovo_input.setAttribute('type', 'file');
		nuovo_input.setAttribute('size', '60');
		
		//  Aggiunge il codice all'etichetta
		nuova_etichetta.appendChild(document.createTextNode(descrizione+' n°'+(i + numero_file + 1)+' : '));
		nuova_etichetta.appendChild(nuovo_input);
		
		//	Aggiunge il codice al tag
		document.getElementById(id_tag).appendChild(nuova_etichetta);
		
		//	Incrementa il contatore
		i++;
	}
}