// JavaScript Document
/*////////////////////////////////////////////////////////////////////////////////////////////
	Copyright (c) 2010-2011 AbZoe (http://www.abzoe.com)
////////////////////////////////////////////////////////////////////////////////////////////*/
function controllaTesto(cosa,modo,lungMin,lungMax,intero){ // cosa è il testo da controllare
									 // se modo=costNoControllo non viene controllata la lunghezza
									 // se modo=costControlloMin si controlla che il testo sia di almeno lungMin caratteri
									 // se modo=costControlloMax si controlla che il testo sia di massimo lungMax caratteri
									 // se modo=costControlloRange si controlla il testo sia di almeno lungMin caratteri e 
									 				// massimo lungMax caratteri
									// se intero=costSenzaSpazi si vuole controllare che il testo non contenga spazi
									// 			neppure come primo carattere
var tuttoOk=true; // inizializza la variabile di controllo
		switch (modo){							 
			case costNoControllo:
				break;
			case costControlloMin:
				if (cosa.length<lungMin) { tuttoOk=false; }
				break;
			case costControlloMax:
				if (cosa.length>lungMax) { tuttoOk=false; }
				break;
			case costControlloRange:
				if ((cosa.length<lungMin) || (cosa.length>lungMax)) { tuttoOk=false; } 
				break;
		} // switch
		if (intero==costSenzaSpazi){
			if (cosa.indexOf(' ')!=-1) { tuttoOk=false; }
		}
		return tuttoOk;
}

function controllaEmail(cosa){ // cosa è l'E-mail  da controllare
var tuttoOk=true; // inizializza la variabile di controllo
var posizione=0;
var lunghezzaMinima=8;
var chiocciola=4; // numero minimo di caratteri che ci devono essere dopo la chiocciola
var ultimoPunto=2; // numero minimo di caratteri che ci devono essere dopo l'ultimo punto
var ultimoPuntoMax=3; // numero massimo di caratteri che ci devono essere dopo l'ultimo punto

		// controlla che non sia troppo corto
		if (cosa.length<lunghezzaMinima) { tuttoOk=false; }
		// controlla che non ci siano spazi
		if ((tuttoOk) && (cosa.indexOf(' ')!=-1)) { tuttoOk=false; }
		// controlla che ci sia un solo @
		if ((tuttoOk) && (cosa.indexOf('@')==-1)) { 
			tuttoOk=false; 
		} else {
			posizione = cosa.indexOf('@');
			if (posizione>(cosa.length - (chiocciola + 1))){ tuttoOk=false; } 
		}
		if ((tuttoOk) && (cosa.indexOf('@', posizione+1)!=-1)) { tuttoOk=false; }
		// controlla che ci sia almeno un punto
		if ((tuttoOk) && (cosa.indexOf('.')==-1)) { tuttoOk=false; } 
		// controlla che non ci siano  due punti vicini
		if ((tuttoOk) && (cosa.indexOf('..')!=-1)) { tuttoOk=false; } 
		// controlla che l'ultimo punto sia al posto giusto
		if ((tuttoOk) && (cosa.lastIndexOf('.')>(cosa.length - (ultimoPunto+1)))) { tuttoOk=false; } 
		if ((tuttoOk) && (cosa.lastIndexOf('.')<(cosa.length - (ultimoPuntoMax+1)))) { tuttoOk=false; } 		

		return tuttoOk;
}

function controllaSito(cosa){ // cosa è il sito da controllare
var tuttoOk=true; // inizializza la variabile di controllo
var lunghezzaMinima=8;
var ultimoPunto=2; // numero minimo di caratteri che ci devono essere dopo l'ultimo punto
var ultimoPuntoMax=4; // numero massimo di caratteri che ci devono essere dopo l'ultimo punto

		// controlla che non sia troppo corto
		if (cosa.length<lunghezzaMinima) { tuttoOk=false; }
		// controlla che non ci siano spazi
		if ((tuttoOk) && (cosa.indexOf(' ')!=-1)) { tuttoOk=false; }
		// controlla che non ci sia @
		if ((tuttoOk) && (cosa.indexOf('@')!=-1)) { tuttoOk=false; }
		// controlla che ci sia almeno un .
		if ((tuttoOk) && (cosa.indexOf('.')==-1)) { tuttoOk=false; } 
		// controlla che non ci siano  due punti vicini
		if ((tuttoOk) && (cosa.indexOf('..')!=-1)) { tuttoOk=false; } 
		// controlla che l'ultimo punto sia al posto giusto
		if ((tuttoOk) && (cosa.lastIndexOf('.')>(cosa.length - (ultimoPunto+1)))) { tuttoOk=false; } 
		if ((tuttoOk) && (cosa.lastIndexOf('.')<(cosa.length - (ultimoPuntoMax+1)))) { tuttoOk=false; } 

		return tuttoOk;
}
/*////////////////////////////////////////////////////////////////////////////////////////////
	Copyright (c) 2010-2011 AbZoe (http://www.abzoe.com)
////////////////////////////////////////////////////////////////////////////////////////////*/
function controllaNumero(cosa,modo,valMin,valMax,intero,decimali){ // cosa è il numero da controllare
										// se modo=costNoControllo non viene controllato il valore (si verifica solo
										//	che sia un numero
										// se modo=costControlloMin si vuole essere sicuri che il numero sia maggiore o uguale a valMin
										// se modo=costControlloMax si vuole essere sicuri che il numero sia minore o uguale a valMax
										// se modo=costControlloRange si vuole essere sicuri che il numero sia compreso 
														// tra valMin e valMax (inclusi gli estremi)
										// se intero=costIntero si vuole controllare che il numero sia intero
										// 		cioè senza virgola, in caso contrario il numero può essere SIA intero SIA con la virgola
										// se decimali viene passato, si vuole che venga controllato che non
										//		ci siano troppi decimali
		var tuttoOk=true; // inizializza la variabile di controllo
		var i=0;
		var numeroVirgole=0;
		var a="";

		// separatoreDecUte=parent.separatoreDecimaleUtente;
		// controlla che sia un numero
		for (i=0;i<cosa.length;i++){
			a=cosa.charAt(i);
			if (a==separatoreDecUte){
				numeroVirgole=numeroVirgole+1;
				if (numeroVirgole>1){
					tuttoOk=false;
					break;
				}
			}
			if ((a!='0')&&(a!='1')&&(a!='2')&&(a!='3')&&(a!='4')&&(a!='5')&&(a!='6')&&(a!='7')&&(a!='8')&&(a!='9')&&(a!=separatoreDecUte)){
				tuttoOk=false;
				break;
			}
		} // for
		if ((tuttoOk) && (intero==costIntero)){
			// controlla che sia un numero intero
			if (cosa.indexOf(separatoreDecUte)!=-1) { tuttoOk=false; }
		}	
		if ((tuttoOk) && (intero!=costIntero)){
			if (decimali){			
				// controlla che non ci siano troppi decimali
				i=cosa.indexOf(separatoreDecUte);
				if (i>=0){ // è stato trovato il separatore decimale
					if ((cosa.length - (i + 1)) > decimali){ tuttoOk=false; }
				}
			}
		}
		cosa=cosa.replace(separatoreDecUte,'.'); // passa alla notazione decimale con il punto	
		if (tuttoOk){
			switch (modo){							 
				case costNoControllo:
					break;
				case costControlloMin:
					if (cosa<valMin) { tuttoOk=false; }
					break;
				case costControlloMax:
					if (cosa>valMax) { tuttoOk=false; }
					break;
				case costControlloRange:
					if ((cosa<valMin) || (cosa>valMax)) { tuttoOk=false; } 
					break;
			} // switch
		}
		return tuttoOk;														
}
function soloGiorno(cosa){ // questa funzione accetta una data nel formato specificato dalla
				// costante formatoData e restituisce il giorno senza controlli
	var pos1=0;
	var pos2=0;
	var giorno=0;
	
		switch (formatoData){
			case 'gg/mm/aaaa':
				pos1=cosa.indexOf(separatoreData);
				giorno=cosa.substr(0,pos1);
				break;
			case 'mm/gg/aaaa':
				pos1=cosa.indexOf(separatoreData);
				pos2=cosa.indexOf(separatoreData,pos1 + 1);
				giorno=cosa.substr(pos1 + 1,pos2 - (pos1 + 1));
				break;
		} // switch
	return giorno;		
}
function soloMese(cosa){ // questa funzione accetta una data nel formato specificato dalla
				// costante formatoData e restituisce il mese senza controlli
	var pos1=0;
	var pos2=0;
	var mese=0;
	
		switch (formatoData){
			case 'gg/mm/aaaa':
				pos1=cosa.indexOf(separatoreData);
				pos2=cosa.indexOf(separatoreData,pos1 + 1);			
				mese=cosa.substr(pos1 + 1,pos2 - (pos1 + 1));
				break;
			case 'mm/gg/aaaa':
				pos1=cosa.indexOf(separatoreData);
				mese=cosa.substr(0,pos1);
				break;
		} // switch
	return mese;		
}
function soloAnno(cosa){ // questa funzione accetta una data nel formato specificato dalla
				// costante formatoData e restituisce l'anno. 
				// Se l'anno non è stato inserito a due cifre viene aggiunto il prefisso 20
				// non effettua controlli
	var pos1=0;
	var pos2=0;
	var anno=0;
	
		switch (formatoData){
			case 'gg/mm/aaaa':
				pos1=cosa.indexOf(separatoreData);
				pos2=cosa.indexOf(separatoreData,pos1 + 1);						
				anno=cosa.substr(pos2 + 1,cosa.length - (pos2 + 1));
				break;
			case 'mm/gg/aaaa':
				pos1=cosa.indexOf(separatoreData);
				pos2=cosa.indexOf(separatoreData,pos1 + 1);						
				anno=cosa.substr(pos2 + 1,cosa.length - (pos2 + 1));
				break;
		} // switch
	if (anno.length==2){ // l'anno è stato inserito a due cifre
			anno = "20" + anno;
	}
	return anno;		
}

function controllaData(cosa){ // cosa è la data da controllare che corrisponda al formato richiesto
	var tuttoOk=true;
	var lunghezza=0;
	var i=0;
	var giorno=0;
	var mese=0;
	var anno=0;
	
	if (cosa!=""){
		lunghezza=cosa.length;
		if ((lunghezza>10) || (lunghezza<6)) {		
			tuttoOk = false;			
		}
		if (tuttoOk){
			i=cosa.indexOf(separatoreData);
			if (i>-1){
				i=cosa.indexOf(separatoreData,i+1);
				if (i>-1){
					i=cosa.indexOf(separatoreData,i+1);
					if (i>-1){
						tuttoOk = false;
					}
				} else {
					tuttoOk = false;
				}
			} else {
				tuttoOk = false;
			}			
		}
		if (tuttoOk){ 
			giorno=soloGiorno(cosa);
			mese=soloMese(cosa);
			anno=soloAnno(cosa);	
			if (controllaNumero(giorno,costControlloRange,1,31,costIntero) && controllaNumero(mese,costControlloRange,1,12,costIntero) && controllaNumero(anno,costControlloRange,2000,2020,costIntero)){
				tuttoOk = true;
			} else {
				tuttoOk = false;
			} 
		}
	} else {
		tuttoOk=false;
	}
	return tuttoOk;		
}

function soloDataDB(cosa){
	// questa funzione accetta una data nel formato utente e la restituisce nel formato database aaaa-mm-gg
var giorno;
var mese;
var anno;
	giorno=soloGiorno(cosa);
	mese=soloMese(cosa);
	anno=soloAnno(cosa);
	return anno + "-" + mese + "-" + giorno;
}

function controllaCodiceFiscale(cosa){
}
/*////////////////////////////////////////////////////////////////////////////////////////////
	Copyright (c) 2010-2011 AbZoe (http://www.abzoe.com)
////////////////////////////////////////////////////////////////////////////////////////////*/
