<!--
/**********************HELP**************************

ControllaCampo(Campo,Tipo,Min,Max,Obbligatorio)
	usata in "onChange" di campi di testo (controlli.asp)
	CAMPO: l'oggetto campo.
	TIPO:riconosce "testo","numero","data","ora", ignora il resto.
	MAX,MIN: per testo n° caratteri, per gli altri limite ovvio.
	OBBLIGATORIO: lo è se la variabile<>""	
	
StrToTime(Stringa)

StrToDate(Stringa)

StrToDateUSA(Stringa)
	
****************************************************/

	
//FUNZIONI PER CAMPI FORM

function ControllaCampo(Campo,Tipo,Min,Max,Obbligatorio){
	var Valore=Campo.value;
	var Messaggio="";
	if (Valore.length==0)
	{
		Messaggio= (Obbligatorio.length!=0?"Il campo è obbligatorio.":"");
	}
	else
	{
		switch(Tipo){
			case "Testo":
				if (Min != ""){
					if(Valore.length <= Min){
						Messaggio="La lunghezza minima del campo è " + Min + " caratteri.";
						Campo.value="-";			
					}
				}
				if (Max != ""){
					if(Valore.length >= Max){
						Messaggio="La lunghezza massima del campo è " + Max + " caratteri.";
						//Campo.value=Valore.slice(0,Max-1);
					}
				}			
			break;
			case "Numero":
				Valore=Valore.replace(",","."); //il testo è visualizzato con "."....
					Campo.value=Valore
				if(parseFloat(Valore)==Valore){
					if (Min != ""){
						if(Valore<= parseFloat(Min)){
							Messaggio="Immettere un valore maggiore di " + Min +".";
						}
					}
					if (Max != ""){
						if(Valore >= parseFloat(Max)){
							Messaggio="Immettere un valore minore di " + Max +".";
						}
					}			
				}
				else{
					Messaggio="Immettere un numero valido.";
				}			
			break;
			case "Data":
				Valore = StrToDate(Valore);
				if(Valore.length >0){
					Campo.value=Valore;
						if (Min != ""){
						DataMin=new Date(StrToDateUSA(Min));
						DataValore=new Date(StrToDateUSA(Valore));
						if( DataValore<=DataMin){
							Messaggio="Immettere una data maggiore di " + Min + ".";
						}
					}		
					if (Max != ""){
						DataMax=new Date(StrToDateUSA(Max));
						DataValore=new Date(StrToDateUSA(Valore));
						if( DataValore<=DataMax){
							Messaggio="Immettere una data minore di " + Max + ".";
						}
					}					
				//if (Messaggio.length>0){Campo.value = Campo.defaultValue;}
				}
				else{
					Messaggio="Immettere una data valida.";
				}
			break;		
			case "Ora":
				Valore = StrToTime(Valore);
				if (Valore.length==0){
					Messaggio="Immettere un'ora valida.";
				}
				else{Campo.value=Valore;}			
			break;
		}
	}	
	var Risultato =  (Messaggio.length!=0?false:true);
	if (Messaggio.length>0){
		Messaggio= Messaggio + String.fromCharCode (13);
		window.alert (Messaggio);
	}
	if (Risultato){
		CambiaStato(Campo.form,"M");
	}
	return Risultato;
}

function CambiaStato(form_,valore){
	form_.elements['Stato'].value=valore;
}

//FUNZIONI DI CONVERSIONE

function StrToTime(Stringa){
	Separatore = ".";
	Stringa=Stringa.replace(":",Separatore);
	Elementi = Stringa.split(Separatore);
	switch (Elementi.length ){
	case 2:
		El1=isNaN(parseInt(Elementi[0]))?0:parseInt(Elementi[0]);
		if (El1<0) {El1=0;}
		if (El1>23) {El1=23;}	
		if (El1.toString().length==1){El1="0" + El1;}
		El2=isNaN(parseInt(Elementi[1]))?0:parseInt(Elementi[1]);
		if (El2<0) {El2=0;}
		if (El2>59) {El2=59;}	
		if (El2.toString().length==1){El2="0" + El2;}
		Ora=El1 + Separatore + El2;
	break;
	case 1:
		El1=isNaN(parseInt(Elementi[0]))?0:parseInt(Elementi[0]);
		if (El1<0) {El1=0;}
		if (El1>23) {El1=23;}	
		Ora=El1 + Separatore + "00";
	break;
	default:Ora = "";
	}
	return Ora;
}

function StrToDate(Stringa){
	Data="";
	if (Stringa.length>0){
		Elementi = Stringa.split("/");
		if (Elementi.length == 3){
			Data = Elementi[0] + "/" + Elementi[1] + "/" + Elementi[2] ;
			if(Elementi[2].length==1){Elementi[2]='200' + Elementi[2];}
			if(Elementi[2].length==2){Elementi[2]='20' + Elementi[2];}
			DataCFR = new Date(Elementi[1] + "/" + Elementi[0] + "/" + Elementi[2] );
			if (! isNaN(DataCFR)){
				Data = DataCFR.getDate() + "/" + (DataCFR.getMonth()+1) + "/" + DataCFR.getFullYear();
			}
			else{
				Data="";
			}
		}
	}
	return Data;
}
function StrToDateUSA(Stringa){
	Data="";
	if (Stringa.length>0){
		Elementi = Stringa.split("/");
		if (Elementi.length == 3){
			Data = Elementi[0] + "/" + Elementi[1] + "/" + Elementi[2] ;
			DataCFR = new Date(Elementi[1] + "/" + Elementi[0] + "/" + Elementi[2] );
			if (! isNaN(DataCFR)){
				Data = (DataCFR.getMonth()+1) + "/" + DataCFR.getDate() + "/" +DataCFR.getFullYear();
			}
			else{
				Data="";
			}
		}
	}
	return Data;
}

function stato_form(form,Stato){
	form.elements['Stato'].value=Stato;
	return 0;
}

function form_submit(form){
	form.submit();
	return 0;	
}
-->


