//	Andrea Ulisse.it
//	----------------

//	Carica un'immagine in un tag
function FotoSwitch(idtag, img, w, h, alt) {
	var htmlCode;
	
	//	Codice della pagina
	htmlCode = '<img src="'+img+'" width="'+w+'" height="'+h+'" alt="'+alt+'" />';

	//	Inserisce il codice
	eval(idtag).innerHTML = htmlCode;

	//	Valore vuoto
	void(0);
}

//	Scrive un messaggio sulla barra di stato
function StatusFoto() {
	window.status = 'Clicca per ingrandire';
	return true;
}

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

//	Controlla che i campi obbligatori siano inseriti
function Check(form) {				
	//	Nome
	if (Trim(form.nome.value) == '') {
		alert('Specificare un nome per il progetto');
		form.nome.focus();
		return false;
	}
	
	//	Descrizione
	if (Trim(form.descrizione.value) == '') {
		alert('Specificare una descrizione per il progetto');
		form.descrizione.focus();
		return false;
	}
	
	//	Strumenti
	if (Trim(form.strumenti.value) == '') {
		alert('Specificare gli strumenti utilizzati per il progetto');
		form.strumenti.focus();
		return false;
	}
	
	//	Data di pubblicazione. O vengono specificati tutti e tre i valori o nessuno
	if (Trim(form.giorno.value) != '' || Trim(form.mese.value) != '' || Trim(form.anno.value) != '') {
		if (Trim(form.giorno.value) == '' || Trim(form.mese.value) == '' || Trim(form.anno.value) == '') {
			alert('Specificare la data in maniera completa (gg/mm/aaaa)');
			form.giorno.focus();
			return false;
		}
	}
	
	//	Foto principale
	if (form.fotomain.value == '' && form.oldfotomain.value == '') {
		alert('Specificare una foto principale per il progetto');
		form.fotomain.focus();
		return false;
	}
}

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

//	Controlla che non venga inserito codice HTML nel campo specificato
function CheckNoHTML(stringa) {
	if (stringa.match(/(<|>)/gi)) {
		alert('Non è consentito l\'uso di codice HTML');
		return true;	
	} else return false;
}

//	Controlla che i campi obbligatori siano inseriti
function CheckBlog(form) {			
	//	Titolo
	if (Trim(form.titolo.value) == '') {
		alert('Specificare un titolo per il messaggio');
		form.titolo.focus();
		return false;
	}
	
	//	Messaggio
	if (Trim(form.messaggio.value) == '') {
		alert('Specificare un testo per il messaggio');
		form.messaggio.focus();
		return false;
	}
	
	//	E-mail non valida
	if (Trim(form.email.value) && !CheckMail(form.email.value)) {
		alert('L\'indirizzo e-mail non sembra corretto');
		form.email.focus();
		return false;
	}
	
	//	Autore e e-mail vanno assieme
	if ((Trim(form.autore.value) && !Trim(form.email.value)) || (Trim(form.email.value) && !Trim(form.autore.value))) {
		alert('L\'autore deve avere un indirizzo e-mail e viceversa');
		form.autore.focus();
		return false;
	}
	
	//	Il messaggio non può essere più lungo di 20 caratteri se non si immettono un autore e un'e-mail
	if ((Trim(form.autore.value) == '' || Trim(form.email.value) == '') && Trim(form.messaggio.value).length > 20) {
		alert('Il messaggio non può essere più lungo di 20 caratteri\nse non si immettono un autore e un\'e-mail');
		form.messaggio.focus();
		return false;	
	}	
	
	//	Controlla che non venga inserito codice HTML
	if (CheckNoHTML(form.autore.value))
		return false;
	if (CheckNoHTML(form.email.value))
		return false;
	if (CheckNoHTML(form.titolo.value))
		return false;
	if (CheckNoHTML(form.messaggio.value))
		return false;
}

//	Controlla che i campi obbligatori siano inseriti
function CheckCommento(form) {				
	//	Messaggio
	if (Trim(form.messaggio.value) == '') {
		alert('Specificare un testo per il messaggio');
		form.messaggio.focus();
		return false;
	}

	//	Controlla che non venga inserito codice HTML
	if (CheckNoHTML(form.messaggio.value))
		return false;

	//	Stelle
	var stelle = 0;
	
	//	Invia anche le stelle eventualmente messe
	for (var i = 0; i < flagStella.length; i++) {
		if (flagStella[i] == true) stelle++;
	}
	
	//	Assegna il valore al campo nascosto
	form.giudizio.value = stelle;
}

//	Controlla che i campi obbligatori siano inseriti
function CheckSend(form) {				
	//	Nome
	if (Trim(form.nome.value) == '') {
		alert('Specificare un nome');
		form.nome.focus();
		return false;
	}
	
	//	Messaggio
	if (Trim(form.messaggio.value) == '') {
		alert('Specificare un testo per la richiesta');
		form.messaggio.focus();
		return false;
	}
	
	//	E-mail
	if (Trim(form.email.value) == '') {
		alert('Specificare un indirizzo e-mail');
		form.email.focus();
		return false;
	}
	
	//	E-mail non valida
	if (Trim(form.email.value) && !CheckMail(form.email.value)) {
		alert('L\'indirizzo e-mail non sembra corretto');
		form.email.focus();
		return false;
	}
}

//	Chiede conferma per l'eliminazione
function Conferma(canc, id, tab, pag) {
	if (confirm('Confermi l\'eliminazione?')) { 
		if (confirm('Sei sicuro?')) { 
			//	Controlla la presenza della id
			if (id) window.location.href = '?canc='+canc+'&id='+id+'&tab='+tab+'&pag='+pag;
			else window.location.href = '?canc='+canc+'&tab='+tab+'&pag='+pag;
			
			return true;
		}
	}
}

//	Mostra o nasconde le varianti
function Escludi(box, codice, diametro, dimensioni) {
	var chiaro;
	var scuro;
	
	//	Colori del testo
	chiaro = '#EBEBEB';
	scuro = '#000000';
	
	//	Casella selezionata
	if (box.checked == true) {
		//	Nasconde codice, diametro e dimensioni
		codice.style.color = chiaro;
		diametro.style.color = chiaro;
		dimensioni.style.color = chiaro;
	} 
	
	//	Casella deselezionata
	else {
		//	Mostra codice, diametro e dimensioni
		codice.style.color = scuro;
		diametro.style.color = scuro;
		dimensioni.style.color = scuro;
	}
}
			
//	Valore base del codice di inserimento
var htmlBase;

//	Contatore
var i;
i = 0;
						
//	Aggiunge una variante del prodotto
function Variante() {
	//	Crea il codice
	htmlBase = '<div class="formVar">\n';
	htmlBase += '<label>Codice: <input name="codicevar['+i+']" type="text" id="codicevar['+i+']" size="10" /></label>\n';
	htmlBase += '<label>&Oslash; (mm): <input name="diamvar['+i+']" type="text" id="diamvar['+i+']" size="4" /></label>\n';
	htmlBase += '<label>Dim. (mm): <input name="dimenvar['+i+']" type="text" id="dimenvar['+i+']" size="6" /></label>\n';
	//htmlBase += '<label>Prezzo: <input name="prezzovar['+i+']" type="text" id="prezzovar['+i+']" size="6" /> &euro;</label>\n';
	htmlBase += '</div>\n';	

	//	Aggiunge il codice alla pagina
	variante.innerHTML += htmlBase;
	
	//	Incrementa il contatore
	i++;
}

//	Apre i credits
function Credits() {
	w = 550;
	h = 276;
	
	//	Centra le coordinate
	x = (screen.availWidth / 2) - (w / 2);
	y = (screen.availHeight / 2) - (h / 2);
	
	//	Popup
	window.open('credits.html', '', 'top='+y+',left='+x+',width='+w+',height='+h);
	
	//	Valore vuoto
	void(0);
}

//	Popup di conferma invio richiesta
function InvioRichiesta(esito) {
	if (esito) alert('La richiesta è stata inviata con successo!\nA breve avrai la risposta all\'indirizzo che ci hai fornito');
	else alert('Si sono verificati dei problemi durante l\'invio.\nIn attesa di risolverli puoi inviare la tua richiesta manualmente\ncon un qualsiasi programma di posta elettronica');
	
	//	Ricarica la pagina
	window.location = '/contatti.php';
}

//	Gestisce il giudizio dell'untente
if (document.images) {
	stellaSi = new Image();
	stellaNo = new Image();
	
	//	Flag
	flagStella = new Array(5);
	
	//	Immagini
	stellaSi.src = "/immagini/stellapiena.gif";
	stellaNo.src = "/immagini/stellavuota.gif";
}

//	Click con controllo se la stella deve o meno essere evidente
function Stella(n) {
	if (document.images) {
		//	Nessuna stella
		if (n == 0) {
			for (var i = 0; i < flagStella.length; i++) {
				document['stella'+(i + 1)].src = stellaNo.src;

				//	Flag disattivata
				flagStella[i] = false;
			}
			
			//	Finito
			return false;
		}
		
		//	Attiva o disattiva le stelle
		if (flagStella[n] == false || !flagStella[n]) {
			//	Attiva tutte le stelle fino a quella selezionata
			for (var i = 0; i < n; i++) {
				document['stella'+(i + 1)].src = stellaSi.src;
			
				//	Flag attiva
				flagStella[i] = true;
			}
		} else {
			//	Disattiva tutte le stelle fino a quella selezionata
			for (var i = n; i < flagStella.length; i++) {
				document['stella'+(i + 1)].src = stellaNo.src;

				//	Flag disattivata
				flagStella[i] = false;
			}
		}
	}
}