// controllo campo partita iva
function pivaCheck(obj){
var checked=0;
var disomma=0;
var pasomma=0;
var result=0;
var i, tempStr;
var piva=obj.value;
var tempAry=piva.match(/\D/);
var cifre=piva.match(/^\d{11}$/);
if( (tempAry==null) && (cifre!=null) ){
cifre=piva.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
for(i=1;i<=9;i=i+2){
disomma=disomma+parseInt(cifre[i]);
}
for(i=2;i<=10;i=i+2){
tempStr=parseInt(cifre[i])*2;
tempStr=parseInt(tempStr/10)+(tempStr-(parseInt(tempStr/10)*10));
pasomma=pasomma+tempStr;
}
result=(pasomma+disomma);
result=result-(parseInt(result/10)*10);
result=10-result;
result=result-(parseInt(result/10)*10);
if(result==cifre[11]){
checked=1;
}}
if(checked){
return true;
}else{
alert("Attenzione!\nIl codice P.IVA inserito '"+piva+"' non è valido.");
obj.focus();
obj.select();
return false;
}}

// controllo campo email
function emailCheck(obj){
var emailStr=obj.value;
var tempAry=emailStr.match(/^([\+\-\.\_a-zA-Z0-9])+\@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
if(tempAry==null){
alert("Attenzione!\nL'indirizzo e-mail \" "+obj.value+" \" non e' un indirizzo valido.");
obj.focus();
obj.select();
return false;
}else{
return true;
}}

// controllo campo numero telefonico
function phoneCheck(obj){
var phoneStr=obj.value;
var tempAry=phoneStr.match(/[^0-9\/\-]/g);
if(tempAry!=null){
alert("Attenzione!\n\nIl numero di telefono (o fax) \" "+obj.value+" \"\ncontiene alcuni caratteri non validi.\nUtilizzare questo set di caratteri:\n0123456789 , / , -\n\nEsempio: 123/456-789");
obj.focus();
obj.select();
return false;
}else{
return true;
}}

// controllo campo cap
function capCheck(obj){
var capStr=obj.value;
if(!capStr.match(/^\d\d\d\d\d$/)){
alert("Attenzione!\n\nIl cap inserito \" "+obj.value+" \"\nnon è valido.\nDigitare 5 caratteri numerici.\n\nEsempio 37100");
obj.focus();
obj.select();
return false;
}else{
return true;
}}

// controllo campo provincia
function provCheck(obj){
var provStr=obj.value;
if(!provStr.match(/^\w\w$/)){
alert("Attenzione!\n\nLa provincia inserita \" "+obj.value+" \"\nnon è valida.\nDigitare 2 lettere.\n\nEsempio VR");
obj.focus();
obj.select();
return false;
}else{
return true;
}}

// controllo campo data
function dateCheck(obj){
var dataStr=obj.value;
if(
	 (matched=dataStr.match(/^(\d?\d)[\/\-]{1}(\d?\d)[\/\-]{1}(\d\d\d\d)$/))
	 && (matched[1]>0)
	 && (matched[1]<=31)
	 && (matched[2]>0)
	 && (matched[2]<=12)
	 ){
	 obj.value=dataStr.replace(/\//g,"-");
return true;
}else{
alert("Attenzione!\n\nLa data inserita \" "+obj.value+" \"\nnon è valida.\n\nUtilizzare come separatori\n\" - \" oppure \" / \"\ne digitare la data nel formato\ngg-mm-aaaa.\n\nEsempio 01-01-2000");
obj.focus();
obj.select();
return false;
}}

// controllo campo numero generico
function numberCheck(obj){
var numberStr=obj.value;
numberStr=numberStr.replace(/\s+/g,"");
obj.value=numberStr;
var tempAry=numberStr.match(/[^0-9]/g);
if(tempAry!=null){
alert("Attenzione!\n\nIl numero inserito \" "+numberStr+" \"\ncontiene alcuni caratteri non validi.\nUtilizzare esclusivalmente caratteri numerici (0123456789)");
obj.focus();	
obj.select();
return false;
}else{
return true;
}}

// controllo campo valuta
function moneyCheck(obj){
var numberStr=obj.value;
numberStr=numberStr.replace(/\s+/g,"");
numberStr=numberStr.replace(/,/g,".");
obj.value=numberStr;
var tempAry=numberStr.match(/^\d+\.\d\d$/g);
if(tempAry==null){
alert("Attenzione!\n\nLa valuta inserita \" "+numberStr+" \"\ncontiene alcuni caratteri non validi\no un numero errato di cifre decimali.\n\n- Utilizzare esclusivalmente caratteri numerici (0123456789)\n- Utilizzare esclusivamente ',' o '.' come separatore dei decimali\n- Digitare sempre il carattere separatore\n- Digitare sempre due cifre decimali dopo il separatore\n\nEs. 1200,00\nEs. 13.50");
obj.focus();	
obj.select();
return false;
}else{
return true;
}}

// controllo esistenza generico (il parametro nullStr permette di specificare
// una stringa da considerare NULL)
function exist(obj,nullStr,ita,eng) {
if ((obj.value=="")||(obj.value==nullStr)) {
if(ita!=''){
alert("Attenzione!\n\" "+ita+" \"\ne' un campo obbligatorio.");
}else if(eng!=''){
alert("Attention!\n\" "+eng+" \"\nis a mandatory field.");
}
if(nullStr==""){	
obj.focus();	
obj.select();
}
return false;
}
else return true;
}

// controllo stato checkbox
function isChecked(obj,ita,eng) {
if (obj.checked!=true) {
if(ita!=''){
alert("Attenzione!\n\" "+ita+" \"\ne' un campo obbligatorio.");
}else if(eng!=''){
alert("Attention!\n\" "+eng+" \"\nis a mandatory field.");
}
return false;
}
else return true;
}


// stampa un messaggio e ritorna falso
function msgAlert(msgStr){
	alert(msgStr);
	return false;
}
