var div;
function controlla(form){
	for (i=0;i<document.getElementById(form).length;i++){
		if (document.getElementById(form).elements[i].getAttribute('required'))
			document.getElementById(form).elements[i].style.background="white";
	}
	for (i=0;i<document.getElementById(form).length;i++){
		var required = document.getElementById(form).elements[i].getAttribute('required');
		var pattern =new RegExp(document.getElementById(form).elements[i].getAttribute('regexpPattern'));
		var value = document.getElementById(form).elements[i].value;
		var name = document.getElementById(form).elements[i].getAttribute('title');
		var mask =document.getElementById(form).elements[i].getAttribute('mask');
		var pass=document.getElementById(form).elements[i].getAttribute('idRipetiPass');
		if (required)
			document.getElementById(form).elements[i].style.background="white";
		if(!checkPatternChars(name,value,pattern,required)){
			document.getElementById(div).innerHTML="Il campo \""+name+"\" non e\' valido! ("+mask+")";
			document.getElementById(form).elements[i].style.background="red";
			document.getElementById(form).elements[i].focus();
	  		return false;
		}
		if (document.getElementById(form).elements[i].getAttribute("type")=="password" && pass!=null){
			if (document.getElementById(form).elements[i].value!=document.getElementById(pass).value){
				document.getElementById(div).innerHTML="<span style='color:red;'>Le password non combaciano</span>";
				document.getElementById(form).elements[i].style.background="red";
				document.getElementById(pass).style.background="red";
				document.getElementById(pass).focus();
		  		return false;
			}
		}
		if (document.getElementById(form).elements[i].getAttribute("id")=="data"){
			var data = new Date();
	 		var adesso;
	 		month=data.getMonth()+1;
	  		adesso = data.getDate() + "/" + month+ "/" + data.getFullYear();
	  		if (check_date(adesso,document.getElementById("data").value)){
	  			document.getElementById(div).innerHTML="<span style='color:red;'>Il campo \""+name+"\" non e\' valido! (prenotare con 24h di anticipo)</span>";
				document.getElementById(form).elements[i].style.background="red";	
				document.getElementById(form).elements[i].focus();
		  		return false;
	  		}
		}
	}
	return true;
}

function check_date(data_iniziale,data_finale) {

	var arr1 = data_iniziale.split("/");
	var arr2 = data_finale.split("/");
	
	var d1 = new Date(arr1[2],arr1[1]-1,arr1[0]);
	var d2 = new Date(arr2[2],arr2[1]-1,arr2[0]);
	
	var r1 = d1.getTime();
	var r2 = d2.getTime();
	
	if (r1>=r2) return true;
	else return false;

}

function waitIns(d,form){
	div=d;
	document.getElementById(div).innerHTML="<img src='js/loader.gif'>";
	if (controlla(form)){
		 document.getElementById(form).submit();
	}
}

function checkPatternChars(nm,vlu,pattern,required){
  if ( required === undefined ) {
      required = false;
   } 
  if(!required && vlu==""){
    return true;
  }
  if (required){
	  if (!pattern.test(vlu)){
	    //alert("Il campo "+nm+" non e\' valido!");
	    return false;
	  }
	  else { 
	    return true; 
	  }
  }
  else return true;
}
