/* SCRIPT ******************************************************* bollettino_violazione.js | v1.1.0 Obiettivo Fornire un insieme di funzioni per la gestione del bollettino della violazione Revisioni 14.04.2003: Internazionalizzazione (Enrico Sodacci) [v1.1.0] 10.05.2002: Passaggio in staging (Alessio Mazzieri) [v1.1.0] 30.04.2002: Ristrutturazione per integrazione applicazione PagoNET (Alessio Mazzieri) [v1.0.0] **************************************************************************************************/ /* FUNZIONE ***************************************************************** verificaForm | v1.0.0 Obiettivo Verificare la validità del FORM prima della sottomissione Parametri IN [formAF] Riferimento all'oggetto FORM da controllare Risultato TRUE se il form contiene dati validi, FALSE altrimenti (oltre alla visualizzazione di una finestra di dettaglio dell'errore ed alla focalizzazione del campo mancante) Revisioni 30.04.2002: Ristrutturazione per integrazione applicazione PagoNET (Alessio Mazzieri) [v1.0.0] **************************************************************************************************/ function verificaForm(formAF) { if (!moduloCompleto(formAF)) { return false; } if ( formAF.prezzo.value <= 0 ) { alert("Nessun importo da pagare!"); return false; } if ( formAF.prezzo.value < 258 ) { alert("Importo minimo del bollettino: 2,58 €"); return false; } return true; } /* FUNZIONE *************************************************************** moduloCompleto | v1.0.0 Obiettivo Verificare se i campi sensibili del bollettino sono stati riempiti correttamente Parametri IN [formAF] Riferimento all'oggetto FORM da controllare Risultato TRUE se i campi sono stati verificati con successo, FALSE altrimenti Revisioni 24.04.2002: Ristrutturazione per integrazione applicazione PagoNET (Alessio Mazzieri) [v1.0.0] **************************************************************************************************/ function moduloCompleto(formAF) { var campiVuoti = false; var primoCampo = ""; var msg = "" /* Controllo importo bollettino vuoto */ if (isNaN(formAF.prezzo.value)) { campiVuoti = true; primoCampo = "formAF.prezzoIntero"; msg = "Importo non valido !"; } /* Controllo dati anagrafici esecutore */ if (campoVuoto(formAF.utenteCognome) || campoVuoto(formAF.utenteDomicilio) || campoVuoto(formAF.utenteIndirizzo)) { campiVuoti = true; if (primoCampo=="") { if (formAF.utenteCognome.value=="") { primoCampo = "formAF.utenteCognome"; } else { if (formAF.utenteDomicilio.value=="") { primoCampo = "formAF.utenteDomicilio"; } else { primoCampo = "formAF.utenteIndirizzo"; } } } msg += (msg!=""?"\n":"")+"Completare i dati relativi alla persona che compie il versamento !"; } /* Controllo codice fiscale minimo e conversione in lettere maiuscole */ formAF.utenteCF.value=formAF.utenteCF.value.replace(/\s/g,"").toUpperCase() if ((formAF.utenteCF.value=="") || ((formAF.utenteCF.value.length!=11) && (formAF.utenteCF.value.length!=16))) { campiVuoti = true; primoCampo = (primoCampo==""?"formAF.utenteCF":primoCampo); msg += (msg!=""?"\n":"")+"Completare i dati relativi al codice fiscale!" } else { var tipo = (formAF.utenteNome.value.replace(/\s/g,"")==""?"pi":"cf"); if(!verificaCF(formAF.utenteCF.value, tipo)) { campiVuoti = true; primoCampo = (primoCampo==""?"formAF.utenteCF":primoCampo); msg += (msg!=""?"\n":"")+"I dati relativi al Codice Fiscale non sono validi !\nATTENZIONE: nel caso di un'azienda non si deve specificare il campo nome, ma solo la ragione sociale." } } /* Controllo numero provvedimento e data */ if (formAF.numeroProvvedimento.value=="") { campiVuoti = true; primoCampo = (primoCampo==""?"formAF.numeroProvvedimento":primoCampo); msg += (msg!=""?"\n":"")+"Specificare il numero del provvedimento!" } if (!dataValida(formAF.dataProvvedimento) || formAF.dataProvvedimento.value=="") { campiVuoti = true; primoCampo = (primoCampo==""?"formAF.dataProvvedimento":primoCampo); msg += (msg!=""?"\n":"")+"La data deve essere nel formato 'GG/MM/AAAA' e anteriore alla data odierna!" } /* Visualizzazione finestre di allarme, focalizzazione su primo campo */ if (campiVuoti) { alert(msg); if (!eval(primoCampo).disabled) { eval(primoCampo).focus() eval(primoCampo).select() } } return !campiVuoti; } /* FUNZIONE ******************************************************************* dataValida | v1.0.0 Obiettivo Verificare se il campo contiene una data valida (formato corretto e data anteriore a quella attuale) Parametri IN [campoData] Riferimento al campo contenente la data da controllare Risultato TRUE se il campo contiene una data valida, FALSE altrimenti Revisioni 30.04.2002: Ristrutturazione per integrazione applicazione PagoNET (Alessio Mazzieri) [v1.0.0] **************************************************************************************************/ function dataValida(campoData) { var valoreData = campoData.value; var posizioneSeparatore1 = valoreData.indexOf("/"); if (posizioneSeparatore1==-1) { return false; } var posizioneSeparatore2 = valoreData.indexOf("/", posizioneSeparatore1+1) if (posizioneSeparatore2==-1) { return false; } var dataGiorno = valoreData.split("/")[0] var dataMese = valoreData.split("/")[1] var dataAnno = valoreData.split("/")[2] if ( (dataGiorno.length==0) || (dataGiorno.length>2) ) { return false; } if ( (dataMese.length==0) || (dataMese.length>2) ) { return false; } if (dataAnno.length!=4) { return false; } var dataCalcolata = new Date(dataAnno, dataMese-1, dataGiorno) if ((dataCalcolata.getDate()!=dataGiorno)||((dataCalcolata.getMonth()+1)!=dataMese)||(dataCalcolata.getFullYear()!=dataAnno)) { return false; } if ( dataCalcolata>(new Date()) ) { return false; } return true; } function submitForm(formAF) { var ret= verificaForm(formAF); if (ret) { formAF.onsubmit=''; formAF.action='../pagonet/tools/bollettini_aggiuntavio.asp'; formAF.submit(); } }