function checkform(form,array_campi,array_nomi,array_obb,array_tipo){modulo=form;var headerErr="Errors found:\n";var textRequired=" missing\n";var emailWrong=" is not a valid email\n";var notSelected=" not selected\n";var textDateWrong=" : date is not in the correct format\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+" missing\n";}else if(!(campo.value.indexOf(" ")!=-1)){message+=nome_reale+" Telephone must be in this format +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+" Telephone must be in this format +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+" should only contain numbers\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+" should only contain numbers\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 date field "+(j+1)+" missing\n";}else if(solo_numeri(campo_data.value)){message+="In date "+(j+1)+" should only contain numbers\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+" must not contain spaces\n";}else{if(ControllaCF(campo.value)){message+=nome_reale+" invalid\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+" should only contain numbers\n";}}
else if(array_tipo[i]=="img"){if(!imgCheck(campo.value)){message+=nome_reale+" is not an image\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+" not selected or linked field not filled\n";}}
else if((array_tipo[i]=="euro")){if(campo_vuoto(campo,num)){message+=nome_reale+" missing\n";}else if(!isEuro(campo)){message+=nome_reale+" wrong\n";}}
else if((array_tipo[i]=="piva")){if(campo_vuoto(campo,num)){message+=nome_reale+" missing\n";}else if(checkVATNumber(campo.value)){message+=nome_reale+" wrong\n";}}
else{if(campo_vuoto(campo,num)){message+=nome_reale+textRequired;}}}}}
if(message!=""){alert(headerErr+message);return false;}else{return true;}}