//script per il controllo dei dati
itemList = new Array();
lenght = 0;
form = '';

function add_formName(form_name){
	form = form_name;
}

//Aggiunge gli item alla lista
function add_item(item_name,item_label, item_type, notNull){
	itemList[lenght] = new Array();
	itemList[lenght][0] = item_name;
	itemList[lenght][1] = item_label;
	itemList[lenght][2] = item_type;
	itemList[lenght][3] = notNull;
	lenght++;
}

//Convalida
function  check_all_item(){
	number =0;
	errorList = '';	
	if(lenght == 0){
		//return false;
		return true;
	}else{
		for(i = 0; i < lenght; i++){
			if((document) && (document.getElementById(itemList[i][0])) ){
				var a = document.getElementById(itemList[i][0]).value;
				
				if(!check(a,itemList[i][2], itemList[i][3])){
					if(number==0 || i==0){
						errorList += itemList[i][1];
						number++;
					}else{
						errorList += ", "+itemList[i][1];
					}
				}
			}
		}
	}
	if(errorList !== ''){
		alert("Attenzione, i seguenti campi non sono corretti: \n"+errorList);
		number=0;
		errorList = '';
		return false;
	}else{
		return true;
		//document.new_user.submit();
	}
}

function try_integer(value){
	if(isNaN(value)){
   		return true;
   	}else{
   		return false;
   	}
}
		
function try_email(value,obbligatorio){
   if(value!=''){
		if(value.indexOf("@") == -1){
   			return true;
   		}else{
   			var b = value.split("@");
   			if(b[1].indexOf(".") == -1){
	   			return true;
   			}else{
   				return false;
   		 	}   					
   		}
   }else{
   		return false;
   }
}
	 		
function try_data(value){
	if(value!=''){
   		var b = value.split("-");
   	 	if(b.length < 3){ 					
   			return true;
   	 	}else{
   	 		if(b[0] > 31 || b[0] < 1) return true;
   	 		if(b[1] > 12 || b[1] < 1) return true;
   	 		if(b[2] > 9999 || b[2] < 1) return true;
   	 		return false;
   	 	}
	}else{
		return false;
	}
 }

function try_telefono(value){
	if(value!=''){
   		var b = value.split(".");
   	 	if(b.length < 4){ 					
   			return true;
   	 	}else{
   	 		if(b[0] > 999 || b[0] < 1) return true;//.indexOf("+") == -1
   	 		if(b[1] > 999 || b[1] < 1) return true;
   	 		if(b[2] > 99 || b[2] < 1) return true;
   	 		if(b[3] > 99 || b[3] < 1) return true;
   	 		return false;
   	 	}
	}else{
		return false;
	}
 }
 
 function try_dataTime(value){
	if(value!=''){
   		var b = value.split(" ");
   	 	if(b.length < 2){ 					
   			return true;
   	 	}else{
   	 		data=b[0].split("-");
   	 		if(data.length < 3){
   	 			return true;
   	 		}else{
   	 			if(data[0] > 31 || data[0] < 1) return true;
   	 			if(data[1] > 12 || data[1] < 1) return true;
   	 			if(data[2] > 9999 || data[2] < 1) return true;
   	 		}
   	 		time=b[1].split(":");
   	 		if(time.length < 3){
   	 			return true;
   	 		}else{
   	 			if(time[0] > 24 || time[0] < 0) return true;
   	 			if(time[1] > 59 || time[1] < 0) return true;
   	 			if(time[2] > 59 || time[2] < 0) return true;
   	 		}
   	 		return false;
   	 	}
	}else{
		return false;
	}
}
 
function check(value, tipo, obbligatorio){
   	if(obbligatorio == true){
   		if(value == ''){
   			return false;
   		}
   	}
   			    
    if(tipo == 'integer'){
   		if(try_integer(value)){
   			return false;
   		}
   	 }
   			    
   	 if(tipo == 'email'){
   		if(try_email(value,obbligatorio)){
   			return false;
   		}
   	 }
   	 
   	 if(tipo == 'date'){
   		if(try_data(value)){
   			return false;
   		}
   	 }
   	 
   	 if(tipo == 'dataTime'){
   		if(try_dataTime(value)){
   			return false;
   		}
   	 }
   	 
   	 if(tipo == 'telefono'){
   		if(try_telefono(value)){
   			return false;
   		}
   	 }
   	 return true;
}
