var popupWin = null; function openWin(target, width, height) { var popupTop = (screen.height - height)/2; var popupLeft = (screen.width - width)/2; if(popupWin == null || popupWin.closed) { popupWin = window.open(target,'windowName','scrollbars=yes,resizable=yes,top=' + popupTop + ',left=' + popupLeft + ',status=no,width=' + width + ',height=' + height); } else { popupWin.location = target; setTimeout("popupWin.focus()",500) } } var newWin = null; function openWin2(target, width, height) { var popupTop = (screen.height - height)/2; var popupLeft = (screen.width - width)/2; if(newWin == null || newWin.closed) { newWin = window.open(target,'window2','scrollbars=yes,resizable=yes,top=' + popupTop + ',left=' + popupLeft + ',status=no,width=' + width + ',height=' + height); } else { newWin.location = target; setTimeout("newWin.focus()",500) } } function checkEmailAddress(field) { // Note: The next expression must be all on one line... // allow no spaces, linefeeds, or carriage returns! alert("checkEmailAddress"); var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi); alert(goodEmail); if (goodEmail==null) { alert('Inserire un indirizzo valido'); field.focus(); field.select(); } return goodEmail; } function validateFormRegistrazione(form,fields) { alert("validateFormRegistrazione"); campiValidi = validateForm(form,fields); if(campiValidi==true) { if(form["Password"].value != form["ConfermaPassword"].value) { alert("Verificare la password"); return false; } if(form["Mail"].value!=("")) { return (checkEmailAddress(form["Mail"])); } } } function validateForm(form,fields,descr) { if(fields == "") return true; fields = fields.split(','); descr=descr.split(',') for(var i = 0; i < fields.length; i++) { switch(form[fields[i]].type) { case 'select-one': if(form[fields[i]].selectedIndex == 0) { alert("Selezionare un tipo di regolamento."); return false; }; break; case 'select-multiple': if(form[fields[i]].selectedIndex == 0) { alert("Il campo " + fields[i].toLowerCase() + " è obbligatorio."); return false; }; break; case 'checkbox': if(!form[fields[i]].checked) { alert("Indicare il " + fields[i].toLowerCase() + "."); return false; }; break; default: if(form[fields[i]].value == "") { alert("Il campo " + descr[i] + " è obbligatorio."); return false; } } } form.submit(); return true; } function controlliCampiAllegato(allegato) { if (allegato.Titolo.value == "") { alert("Il campo titolo è obbligatorio."); return false; } if (allegato.File.value == "") { alert("Allegare un file."); return false; } openWin2('../confermaNuovoAllegato.html',600,400); return true; } function controlliCampiAllegatoModifica(allegato) { if (allegato.Titolo.value == "") { alert("Il campo titolo è obbligatorio."); return false; } openWin2('../confermaModificaAllegato.html',600,400); return true; } // inserire il controllo sulla data delibera e data entrata in vigore /********************************************************************* SCRIPT TESTATO 21-02-2001 CON: - EXPLORER Versione 5.00 - NETSCAPE Versione 4.7 - Inglese Author system_09@yahoo.it ********************************************************************** BISESTILE: Un Anno e' bisestile se questo/4 da come resto 0. Partendo da questo l'anno bisestile si ripete ogni 4 anni, quindi Febbraio, un mese con 28 giorni, in questa occasione ne ha 29 Esempio anno bisestile: 2000, 1996, 1992, 1988, ... *********************************************************************/ function bisestile (anno) { return ( (anno % 4 == 0 && anno % 100 != 0) || (anno % 400 == 0) ); } function isLogical (gg, mm, aaaa) { var MM = new Array(0,1,2,3,4,5,6,7,8,9,10,11,12); var GG = new Array(00,31,28,31,30,31,30,31,31,30,31,30,31); // Il giorno non deve essere < 1 || > 31 if ( (gg < 1) || (gg > 31) ) return 1; // Il mese non deve essere < 1 && > 12 else if ( (mm < 1) || (mm > 12) ) return 2; // Se vero l'anno Utente e' Bisestile e il mese e' Febbraio else if ( bisestile(aaaa) && (mm == 2) ) { if ( gg > 29 ) return 5; return 0; } else if (gg > GG[mm]) { if (mm == 2) return 4; else return 5; } else return 0; } /************************************************************* Funzione che scandisce la stringa carattere per carattere e verifica che ognuno di questi sia un numero. Ritorna TRUE se e' numerico stringa.charAt(P) - estrae un solo carattere nella posizione P ACCORGIMENTO: !parseFloat(0-zero) == NaN [Not a Number] ************************************************************/ function isNumeric (form) { var number = 0; for (var i = 0; i < form.length; i++) { number = form.charAt(i); if ( (number != "0") && (!parseFloat(number)) ) return false; } return true; } /************************************************************* Funzione che verifica la lunghezza della stringa, il formato, la corretteza logica... ************************************************************/ function isDate1 (DATA) { var gg = DATA.value.substring(0,2); // '02' var token11 = DATA.value.substring(2,3); // '/ ' var mm = DATA.value.substring(3,5); // '08' var token21 = DATA.value.substring(5,6); // '/ ' var aaaa = DATA.value.substring(6,10);// '1971' if (DATA.value.length != 10) { alert("Il formato di data richiesto e': gg/mm/aaaa"); DATA.focus(); return false; } else if (token11 != "/") { alert("Il formato di data richiesto e': gg/mm/aaaa"); DATA.focus(); return false; } else if (token21 != "/") { alert("Il formato di data richiesto e': gg/mm/aaaa"); DATA.focus(); return false; } else if (token11 != token21) { alert("Il formato di data richiesto e': gg/mm/aaaa"); DATA.focus(); return false; } else if (!isNumeric(gg)) { alert("Il giorno inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(mm)) { alert("Il mese inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(aaaa)) { alert("L'anno inserito non e' un valore numerico."); DATA.focus(); return false; } else { var g = parseInt(gg,10); var m = parseInt(mm,10); var a = parseInt(aaaa,10); var error=isLogical(g,m,a); if (error == 1) { alert("Il giorno inserito non e' valido: " + gg); DATA.focus(); return false; } else if (error == 2) { alert("Il mese inserito non e' valido: " + mm); DATA.focus(); return false; } else if (error == 4) { alert("Data non corretta poiche' l'anno non e' bisestile: " + aaaa); DATA.focus(); return false; } else if (error == 5) { alert("Data non corretta poiche' il giorno: " + gg + " non e' coerente con il mese: " + mm); DATA.focus(); return false; } else return true; } return true; } /************************************************************* Funzione che verifica la lunghezza della stringa, il formato, la corretteza logica... ************************************************************/ function isDate (DATA,DATA1) { var gg = DATA.value.substring(0,2); // '02' var token1 = DATA.value.substring(2,3); // '/ -' var mm = DATA.value.substring(3,5); // '08' var token2 = DATA.value.substring(5,6); // '/ -' var aaaa = DATA.value.substring(6,10);// '1971' var gg1 = DATA1.value.substring(0,2); // '02' var token1bis = DATA1.value.substring(2,3); // '/ -' var mm1 = DATA1.value.substring(3,5); // '08' var token2bis = DATA1.value.substring(5,6); // '/ -' var aaaa1 = DATA1.value.substring(6,10);// '1971' if ((DATA.value.length != 10)||(DATA1.value.length != 10)) { alert("Il formato di data richiesto e': gg/mm/aaaa."); DATA.focus(); return false; } else if ((token1 != "/")||(token1bis != "/")) { alert("Il formato di data richiesto e': gg/mm/aaaa."); DATA.focus(); return false; } else if ((token2 != "/")||(token2bis != "/")) { alert("Il formato di data richiesto e': gg/mm/aaaa."); DATA.focus(); return false; } else if ((token1 != token2)||(token1bis != token2bis)) { alert("Il formato di data richiesto e': gg/mm/aaaa."); DATA.focus(); return false; } else if (!isNumeric(gg)) { alert("Il giorno inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(mm)) { alert("Il mese inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(aaaa)) { alert("L'anno inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(gg1)) { alert("Il giorno inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(mm1)) { alert("Il mese inserito non e' un valore numerico."); DATA.focus(); return false; } else if (!isNumeric(aaaa1)) { alert("L'anno inserito non e' un valore numerico."); DATA.focus(); return false; } else { var g = parseInt(gg,10); var m = parseInt(mm,10); var a = parseInt(aaaa,10); var g1 = parseInt(gg1,10); var m1 = parseInt(mm1,10); var a1 = parseInt(aaaa1,10); var error=isLogical(g,m,a); var error2=isLogical(g1,m1,a1); var dateNonVal = isNormal(g,m,a,g1,m1,a1); /*if (dateNonVal == 1) { alert("Le date non hanno una corrispondenza logica nel confronto degli anni."); DATA.focus(); return false; } else if (dateNonVal == 2) { alert("Le date non hanno una corrispondenza logica nel confronto dei mesi."); DATA.focus(); return false; } else if (dateNonVal == 3) { alert("Le date non hanno una corrispondenza logica nel confronto dei giorni."); DATA.focus(); return false; } else */ if (error == 1) { alert("Il giorno inserito non e' valido: " + gg); DATA.focus(); return false; } else if (error == 2) { alert("Il mese inserito non e' valido: " + mm); DATA.focus(); return false; } else if (error == 4) { alert("Data non corretta poiche' l'anno non e' bisestile: " + aaaa); DATA.focus(); return false; } else if (error == 5) { alert("Data non corretta poiche' il giorno: " + gg + " non e' coerente con il mese: " + mm); DATA.focus(); return false; } else if (error2 == 1) { alert("Il giorno inserito non e' valido: " + gg1); DATA.focus(); return false; } else if (error2 == 2) { alert("Il mese inserito non e' valido: " + mm1); DATA.focus(); return false; } else if (error2 == 4) { alert("Data non corretta poiche' l'anno non e' bisestile: " + aaaa1); DATA.focus(); return false; } else if (error2 == 5) { alert("Data non corretta poiche' il giorno: " + gg + " non e' coerente con il mese: " + mm); DATA.focus(); return false; } // else return true; } return true; } function isNormal (g,m,a,g1,m1,a1) { if((m == m1) && (a == a1) && (g == g1)) return 0; else if ((a > a1)) return 1; else if ((a == a1) && (m > m1)) return 2; else if ((a == a1) && (m == m1) && (g > g1)) return 3; else return 0; } function controlloCampiRegolamento(regolamento,isComune) { dateValide=true if ((regolamento.DataDelibera.value != "" ) && (regolamento.DataEntrataInVigore.value != "")) dateValide=isDate(regolamento.DataDelibera,regolamento.DataEntrataInVigore); else if (regolamento.DataDelibera.value != "") dateValide=isDate1(regolamento.DataDelibera); else if (regolamento.DataEntrataInVigore.value != "") dateValide=isDate1(regolamento.DataEntrataInVigore); /*if (isNumeric(regolamento.NumeroDelibera.value) == false ) { alert('Attenzione! Non è stato inserito un numero di delibera valido'); return false; } */ if (isNumeric(regolamento.NumeroArticoli.value) == false ) { alert('Attenzione! Non è stato inserito un numero di articoli valido'); return false; } if (dateValide) { if (isComune == true) { if(regolamento['ErrataCorrige']!=null) { validateForm(regolamento,'NumeroArticoli,TitoloRegolamento,ErrataCorrige,NumeroDelibera,DataDelibera,DataEntrataInVigore','Numero Articoli,Titolo Regolamento,Errata Corrige,Numero Delibera,DataDelibera,DataEntrataInVigore'); } else { validateForm(regolamento,'NumeroArticoli,IdTipoRegolamento,TitoloRegolamento,NumeroDelibera,DataDelibera,DataEntrataInVigore','Numero Articoli,Tipo Regolamento,Titolo Regolamento,Numero Delibera,DataDelibera,DataEntrataInVigore'); } } else { if(regolamento['ErrataCorrige']!=null) { validateForm(regolamento,'NumeroArticoli,TitoloRegolamento,ErrataCorrige,DataEntrataInVigore','Numero Articoli,Titolo Regolamento,Errata Corrige,DataEntrataInVigore'); } else { validateForm(regolamento,'NumeroArticoli,IdTipoRegolamento,TitoloRegolamento,DataEntrataInVigore','Numero Articoli,Tipo Regolamento,Titolo Regolamento,DataEntrataInVigore'); } } } else return false; } function checkLogin(form) { var ret=false; if (form.Login.value == "") { alert ("Il campo Identificativo è obbligatorio"); form.Login.focus(); } else if (form.Password.value == "") { alert ("Il campo Password è obbligatorio"); form.Password.focus(); } else ret=true; return ret; } function inviaSelezioneComune(action) { if (document.ricerca.CodiceProvincia.selectedIndex ==0) alert("Selezionare una provincia."); else if(document.ricerca.CodiceProvincia.value=="") alert("Selezionare una provincia."); else { codiceProvincia=document.ricerca.CodiceProvincia.value; nomeComune=document.ricerca.NomeComune.value; url = action +"?Service=GestioneComuni&Method=GetHelpComune&template=amministrazione/jsp/helpComune.jsp"; url=url+'&NomeComune='+nomeComune+'&CodiceProvincia='+codiceProvincia; openWin2(url,600,400); } return false; } function inviaSelezioneProvincia(action) { if (document.ricerca.CodiceRegione.selectedIndex == 0 ) alert("Selezionare una regione."); else { codiceRegione=document.ricerca.CodiceRegione.value; nomeProvincia=document.ricerca.NomeProvincia.value; url = action +"?Service=GestioneComuni&Method=GetHelpProvincie&template=amministrazione/jsp/helpProvincia.jsp"; url=url+'&NomeProvincia='+nomeProvincia+'&CodiceRegione='+codiceRegione; openWin(url,600,400); } return false; } function selezionaComune() { if (document.ricerca.NomeComune.value =="") alert("Selezionare un Comune"); else { document.ricerca.submit(); } return false; } function inviaComando(service,method,template,checkCodiceIstat) { if((document.COMANDI.CodiceIstat.value=="") && checkCodiceIstat) { alert("Selezionare un comune"); return false; } document.COMANDI.Service.value= service; document.COMANDI.Method.value= method; document.COMANDI.template.value=template; document.COMANDI.submit(); }