function checkForm(objForm){ var oForm = objForm; var aInput = oForm.getElementsByTagName("input"); var aSelect = oForm.getElementsByTagName("select"); for(var i = 0; i < aInput.length; i++){ switch(aInput[i].type){ case "text": switch(aInput[i].getAttribute("tipo")){ case "fiscale": msgErrore = ControllaCF(aInput[i].value); if (msgErrore !='') { alert(msgErrore); aInput[i].focus(); return false; break; } } if((aInput[i].getAttribute("obbligo") == 1) && (aInput[i].value == '')){ alert(aInput[i].getAttribute("alert")); aInput[i].focus(); return false; break; } else{break;} /*case "radio": if((aInput[i].getAttribute("obbligo") == 1) && !controlloCheck(aInput[i].name, aInput)){ alert(aInput[i].getAttribute("alert")); return false; break; } else{break;} case "checkbox": if((aInput[i].getAttribute("obbligo") == 1) && !controlloCheck(aInput[i].name, aInput, 0)){ alert(aInput[i].getAttribute("alert")); return false; break; } else{break;}*/ } } for(var i = 0; i < aSelect.length; i++){ if((aSelect[i].getAttribute("obbligo") == 1) && (aSelect[i].options[aSelect[i].selectedIndex].value == '')){ alert(aSelect[i].getAttribute("alert")); aSelect[i].focus(); return false; } } if(!document.getElementsByName("Privacy")[0].checked){ alert("E' necessario dare il consenso al trattamento dei dati personali"); document.getElementsByName("Privacy")[0].focus(); return false; } return true; } var bCinque = false; var oInputPromo; function controlloCheck(sNome, aCampi, nLimite){ var cnt = false; for(var k = 0; k != aCampi.length; k++){ if((aCampi[k].getAttribute("name") == sNome) && ((aCampi[k].checked == true) || ((aCampi[k].value != "") && (aCampi[k].type == "text")))){ cnt = true; } } return cnt; } function ControllaCF(cf) { var validi, i, s, set1, set2, setpari, setdisp; if( cf == '' ) return ''; cf = cf.toUpperCase(); if( cf.length != 16 ) return "La lunghezza del codice fiscale non e'\n" +"corretta: il codice fiscale deve essere lungo\n" +"esattamente 16 caratteri.\n"; validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for( i = 0; i < 16; i++ ){ if( validi.indexOf( cf.charAt(i) ) == -1 ) return "Il codice fiscale contiene un carattere non valido '" + cf.charAt(i) + "'.\nI caratteri validi sono le lettere e le cifre.\n"; } set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; s = 0; for( i = 1; i <= 13; i += 2 ) s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); for( i = 0; i <= 14; i += 2 ) s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) return "Il codice fiscale non e' corretto:\n"+ "il codice di controllo non corrisponde.\n"; return ""; }