
function checkform(form,array_campi,array_nomi,array_obb,array_tipo){modulo=form;var headerErr="Sono stati rilevati i seguenti errori:\n";var textRequired=" mancante\n";var emailWrong=" non è una email valida\n";var notSelected=" non selezionato\n";var textDateWrong=" : data non nel formato corretto\n";var message="";var num=1;for(i=0;i<array_campi.length;i++){var nome_reale=array_nomi[i];var campo=modulo[array_campi[i]];if(campo){if(array_obb[i]=="1"){if(array_tipo[i]=="telefono"){if(campo_vuoto(campo,num)){message+=nome_reale+" mancante\n";}else if(!(campo.value.indexOf(" ")!=-1)){message+=nome_reale+" Il telefono deve essere nel formato +xx xxx xxxxxx\n";}else if((campo.value.indexOf(" ")!=-1)){telefono_split=campo.value.split(" ");if((!telefono_split[2])||(telefono_split[0].charAt(0)!="+")){message+=nome_reale+" Il telefono deve essere nel formato +xx xxx xxxxxx\n";}}}
else if(array_tipo[i]=="data_xx"){if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}else if(!campo.value.length>2){message+=nome_reale+" 2 \n";}else{if(!solo_numeri(campo)){message+=nome_reale+" deve contenere solo numeri\n";}}}
else if(array_tipo[i]=="data_xxxx"){if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}
else if(!campo.value.length>4){message+=nome_reale+" 4 \n";}else{if(!solo_numeri(campo)){message+=nome_reale+" deve contenere solo numeri\n";}}}
else if(array_tipo[i]=="data"){array_data_12=new Array();array_data_12[0]="_gg";array_data_12[1]="_mm";array_data_12[2]="_aa";for(j=0;j<array_data_12.length;j++){suffix=array_data_12[j];campo_data=modulo[array_campi[i]+suffix];if(campo_vuoto(campo_data,num)){message+="In data campo "+(j+1)+" mancante\n";}else if(solo_numeri(campo_data.value)){message+="In data "+(j+1)+" deve contenere solo numeri\n";}}}
else if(array_tipo[i]=="email"){if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}
else{if(!isEmail(campo.value)){message+=nome_reale+emailWrong;}}}
else if((array_tipo[i]=="select")){if(select_vuoto(campo)){message+=nome_reale+notSelected;}}
else if((array_tipo[i]=="data_xx_xx_xxxx")){if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}
else if(!checkValidDate(campo.value)){message+=nome_reale+textDateWrong;}}
else if((array_tipo[i]=="cf")){if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}
else if((campo.value.indexOf(" ")!=-1)){message+=nome_reale+" non deve contenere spazi\n";}else{if(ControllaCF(campo.value)){message+=nome_reale+" non valido\n";}}}
else if(array_tipo[i]=="radio"){var ceccato=0;for(z=0;z<campo.length;z++){if(campo[z].checked==true){ceccato++;}}
if(ceccato<1){message+=nome_reale+notSelected;}}
else if(array_tipo[i]=="checkbox"){var ceccato=0;for(z=0;z<campo.length;z++){if(campo[z].checked==true){ceccato++;}}
if(ceccato<1){message+=nome_reale+notSelected;}}
else if(array_tipo[i]=="numero"){if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}else if(isNaN(campo.value)||parseInt(campo.value)<0){message+=nome_reale+" deve contenere solo numeri\n";}}
else if(array_tipo[i]=="img"){if(!imgCheck(campo.value)){message+=nome_reale+" non è una immagine\n";}}
else if(array_tipo[i].search(/^radio::/)!=-1){var collegamento=array_tipo[i].split('::');var collegata=collegamento[1].split('=');var campi_collegati=collegata[1].split('|');var ceccato=0;for(i=0;i<campo.length;i++){var campoJoin=modulo[campi_collegati[i]];if(collegata[0]=="sel")
{campo_empty=select_vuoto(campoJoin);}else if(collegata[0]=="text")
{campo_empty=campo_vuoto(campoJoin,num);}
if((campo[i].checked==true)&&(!campo_empty)){ceccato++;}}
if(ceccato<1){message+=nome_reale+" non selezionato o campo collegato non riempito\n";}}
else if((array_tipo[i]=="euro")){if(campo_vuoto(campo,num)){message+=nome_reale+" mancante\n";}else if(!isEuro(campo)){message+=nome_reale+" errato\n";}}
else if((array_tipo[i]=="piva")){if(campo_vuoto(campo,num)){message+=nome_reale+" mancante\n";}else if(checkVATNumber(campo.value)){message+=nome_reale+" errato\n";}}
else{if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}}}}}
if(message!=""){alert(headerErr+message);return false;}else{return true;}}