//CAMBIA IL FOGLIO DI STILE

/* La funzione createCookie ho lo scopo di creare il Cookie che conterra'  *
 *il valore del cookie associato al documeto corrente, l'expires e il path.*
 *Il Valore in questo caso  è il nome del file CSS che verra' associato.   */
function createCookie(name,value) {
    var date = new Date();
	date.setTime(date.getTime()+(365*24*60*60*1000));
    var expires = '; expires='+date.toGMTString();
    document.cookie = name+'='+value+expires+'; path=/';
}


/* La funzione readCookie ho lo scopo di leggere il Cookie che conterra'   *
 *il valore del cookie associato al documeto corrente, l'expires e il path *
 *Il Valore in questo caso  è il nome del file CSS che verra' associato.   */
function readCookie(name) {
  var nameEQ = name + '=';
  var ca = document.cookie.split(';'); //Suddivido il valore nei singoli nomi e valori con il metodo split
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') 
    c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) 
	return c.substring(nameEQ.length,c.length);
  }
}

/* Con setFontS è la funzione prinicale che viene chaimata all'interno di personalizza.htm *
 * ha lo scopo di creare il cookie contenente il nome del file CSS da applicare al sito    */
function setCSS(nome_file_css) { 
createCookie('skinUtente',nome_file_css);
location.reload();
}

/*   La funzione setCSShref(nome_file_css) si occupa di impostare il giusto foglio di stile modificando il valore del parametro href nel tag <link  *
 *   rel="stylesheet" type="text/css" href="stile.css" media="screen" />. In pratica lo script memorizza nella variabile link_ tutti i tag LINK		*
 *   presenti nel documento e identifica quello su cui agire attraverso il parametro media="screen". Una volta identificato il giusto tag LINK su 	*
 *   cui agire, altera il parametro href per selezionare il giusto foglio di stile.*/			

function setCSShref(nome_file_css) {
var link_ = document.getElementsByTagName("link");
for ( var i=0; i<link_.length; i++)
	if(link_[i].media=="screen") link_[i].href=nome_file_css+".css";


}


/* Viene eseguita tutte le volte che carico la pagina 		*
 * la sua funzione principale è vedere se esiste un cookie	*
 * se cosi' fosse setta il CSS e il Size contenuto nel coo */
window.onload = function () {
	nome_file_css = readCookie('skinUtente');
	if(nome_file_css){								//se nome_file_css è "non definito" NON entro nell' IF
		if (nome_file_css =='itis'){
		setCSShref(nome_file_css);
		size = readCookie('fontUtente');			//va alla ricerca del valore numerico dopo "fontUtente" x settare il Size
	    setFontSize(size);
		}		
		
		else {
		setCSShref(nome_file_css);
		size = readCookie('fontUtenteacc');			//va alla ricerca del valore numerico dopo "fontUtenteacc" x settare il Size
		setFontSizeacc(size);
		}
	}
}


/* Una delle due funzioni principali; viene chiamata all'interno del file xhtml */
function setFontS(size){
	nome_file_css = readCookie('skinUtente');
	if(nome_file_css)
	{
		if (nome_file_css =='itis')
		{
			setFontSize(size);
			setCSS('itis')
		}
		else 
		{
			setFontSizeacc(size);
			setCSS('itis_av')
		}
	}
	else 
	{	setFontSize(size);
		setCSS('itis')
	}
}
			

/* Ridimensiona il testo se è "attivo" il file itis.css */
function setFontSize(size) {
var body = document.getElementsByTagName('body')[0];
var percentuale = "85%"; // default
if (size == 1) percentuale = "75%";
if (size == 2) percentuale = "85%";
if (size == 3) percentuale = "95%";
body.style.fontSize = percentuale;
createCookie('fontUtente',size);
}

/* Ridimensiona il testo se è "attivo" il file itis_av.css */
function setFontSizeacc(size) {
var body = document.getElementsByTagName('body')[0];
var percentuale = "130%"; // default
if (size == 1) percentuale = "110%";
if (size == 2) percentuale = "130%";
if (size == 3) percentuale = "150%";
body.style.fontSize = percentuale;
createCookie('fontUtenteacc',size);
}

/* La seguente Funzione viene utilizza in vincitori.htm per fare un incapsuolamento dei parametri */
function apriW(ind)
{
	window.open(ind);
	}

// FUNZIONI DI CONTROLLO VALORI MAIL

/* La sequente funzione viene chiamata all'interno del FORM tramite onsubmit *
 * Ha il compito di verificare se:											 *
 * 1) il campo Scuola Š presente;											 *
 * 2) il campo mail Š valido												 *
 * 3) il campo tel Š valido ( formato solo da numeri e /)					 */
 
function validate() {
  var err='';
	if ( !isNotBlank(document.forms["form"].scuola.value))   
	{
		err+='Inserirei il nome della Scuola partecipante\n';
	}
		
	if (! isValidEmail(document.forms["form"].email.value)) 
		{
        err+='Inserire un indirizzo mail valido\n';
      	 }
		 
   if (! isValidTel(document.forms["form"].tel.value)) 
		{
        err+='Inserire un numero telefonico valido\n';
      	 }
	
	if(err=='')
	{
		return true;
	}
	else
	{
		alert('Sono presenti degli errori:\n'+err);
		return false;
	}
}

/* La vunzione ha il compito di controllare la correttezza del numero di telefono *
	restituisce TRUE se e solo se il numero di telefono e formato da cifre e "/"  */
 function isValidTel(tel) {
  var parsed = true;
  var validtel = "1234567890/";
  if(tel=='')
  {
  	parsed = false;
  }
  for (var i=0; (i < tel.length) && (parsed==true) ; i++) 
  {
    var num = tel.charAt(i);
    if (validtel.indexOf(num) == -1)
       parsed = false;
  }
  return parsed;
}

/* La funzione controlla se il valore passatogli sia vuoto o no */
 function isNotBlank(valore)
  {
 	if(valore =='')
	{ return false;
	}
	return true;
  }

/* La vunzione controlla se l'indirizzo inserito Š valido oppure no	*
 * la valutazione si basa su:										*
 * 1)Se i caratteri immessi nel campo TEXT sono validi				*
 * 2)Se Š presente il carattere "@" non come primo					*/
 function isValidEmail(email) {
   
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    }
    return true;
}

/* Controlla se i caratteri immessi siano validi */
function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
  for (var i=0; (i < email.length) && (parsed==true) ; i++) 
  {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) == -1)
       parsed = false;
    }
  return parsed;
}

function home(){
	var loc="index.htm";
	window.location=loc;
}