//------------ Variabili della pagina form.jsp e della pagina form_interpreta.jsp --------------------- var nomeF = "cambiavalori"; var nomeSanno = "anno_select"; //<--- è di tipo TEXT var nomeSmese = "mese_select"; //<--- è di tipo SELECT var nomeSgiorno = "giorno_select"; //<--- è di tipo SELECT /* -- inoltre nella pagina ci sono i seguenti input riferiti al form di nome "cambiavalori" 'lingua' di tipo HIDDEN 'nazione' di tipo SELECT 'province' di tipo SELECT 'luogo' di tipo HIDDEN 'oraconosciuta' di tipo HIDDEN 'giorno' di tipo HIDDEN 'mese' di tipo HIDDEN 'anno' di tipo HIDDEN 'ora_visualizzata' di tipo TEXT 'minuti_visualizzati' di tipo TEXT 'ora' di tipo HIDDEN 'minuti' di tipo HIDDEN 'orariouniversale' di tipo RADIO 'fusiora' di tipo TEXT 'fusiminuti' di tipo TEXT 'invigore' di tipo RADIO 'orelegali' di tipo HIDDEN 'precedenteNazione' di tipo HIDDEN 'longgradi' di tipo TEXT 'longprimi' di tipo TEXT 'longpolo' di tipo RADIO 'latgradi' di tipo TEXT 'latprimi' di tipo TEXT 'latpolo' di tipo RADIO Tutte richiamate tramite elements['....'] */ //----------------------------------------------------------------------------------------------- //Funzione che costruisce le select di giorno, mese e anno function riempiGiorni() { var i; var indice_mese = document.forms[nomeF].elements[nomeSmese].selectedIndex; var indice_giorno = document.forms[nomeF].elements[nomeSgiorno].selectedIndex; var anno_sel = document.forms[nomeF].elements[nomeSanno].value; var mese_sel = document.forms[nomeF].elements[nomeSmese].options[indice_mese].value; var giorno_sel = document.forms[nomeF].elements[nomeSgiorno].options[indice_giorno].value; var lunghezza_sel_giorno = document.forms[nomeF].elements[nomeSgiorno].length; var nomeMese = new Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"); var numGiorniPerMese = new Array(31,28,31,30,31,30,31,31,30,31,30,31); //--------- ristrutturo i giorni se in precedenza avevo lavorato su ottobre 1582 if (lunghezza_sel_giorno ==21) { //ero in Ottobre 1582 for (var i = (lunghezza_sel_giorno-1); i >= 4; i--) { document.forms[nomeF].elements[nomeSgiorno].options[i] = null; } for (var i = 4; i < (numGiorniPerMese[indice_mese]); i++) { if (i<9) {document.forms[nomeF].elements[nomeSgiorno].options[i] = new Option("0"+(i+1),i+1); } else {document.forms[nomeF].elements[nomeSgiorno].options[i] = new Option(i+1,i+1); } } if (indice_giorno >3) {indice_giorno+=10;} } if ((isNaN(anno_sel)==false)&& (isNaN(mese_sel)==false)&& (isNaN(giorno_sel)==false)) { var anno_val = Number(anno_sel); var mese_val = Number(mese_sel); var giorno_val = Number(giorno_sel); if (mese_val ==2) { if ((anno_val%4==0)&&(anno_val%100!=0)) numGiorniPerMese[1]=29; if (anno_val%400==0)numGiorniPerMese[1]=29; } } if (lunghezza_sel_giorno > numGiorniPerMese[indice_mese]) { for (var i = (lunghezza_sel_giorno-1); i >= numGiorniPerMese[indice_mese]; i--) { document.forms[nomeF].elements[nomeSgiorno].options[i] = null; } }else { if (lunghezza_sel_giorno < numGiorniPerMese[indice_mese]) { for (var i = lunghezza_sel_giorno; i < numGiorniPerMese[indice_mese]; i++) { document.forms[nomeF].elements[nomeSgiorno].options[i] = new Option(i+1,i+1); } } } //--------- considero un caso particolare : ottobre 1582 passa dal 4 al 15 if ((anno_sel == "1582")&&(mese_sel=="10")) { for (var i = (lunghezza_sel_giorno-1); i >= 4; i--) { document.forms[nomeF].elements[nomeSgiorno].options[i] = null; } for (var i = 4; i < (numGiorniPerMese[indice_mese]-10); i++) { document.forms[nomeF].elements[nomeSgiorno].options[i] = new Option(i+11,i+11); } if (indice_giorno < 4) {indice_giorno = indice_giorno;} if ((indice_giorno >= 4)&&(indice_giorno <14)) {indice_giorno = 3;} if (indice_giorno >= 14) {indice_giorno = indice_giorno-10;} } //--------- seleziono il giorno corretto if (indice_giorno >= numGiorniPerMese[indice_mese]) { document.forms[nomeF].elements[nomeSgiorno].options[(numGiorniPerMese[indice_mese]-1)].selected = true; } else { document.forms[nomeF].elements[nomeSgiorno].options[indice_giorno].selected = true; } //--------- verifico se l'anno ha 4 cifre if (anno_sel.length<5) { if (anno_sel.substring(0,1)=="-") {segno ="-"; nuovo_anno=anno_sel.substring(1); }else {segno =""; nuovo_anno=anno_sel; } if (nuovo_anno.length<4) { alert(b01_riempiGiorni); if (nuovo_anno.length<2) nuovo_anno=segno+"000"+nuovo_anno; if (nuovo_anno.length<3) nuovo_anno=segno+"00"+nuovo_anno; if (nuovo_anno.length<4) nuovo_anno=segno+"0"+nuovo_anno; document.forms[nomeF].elements[nomeSanno].value = nuovo_anno; } } } function modificaDataNascita() { var indice_mese = document.forms[nomeF].elements[nomeSmese].selectedIndex; var indice_giorno = document.forms[nomeF].elements[nomeSgiorno].selectedIndex; var anno_sel = document.forms[nomeF].elements[nomeSanno].value; var mese_sel = document.forms[nomeF].elements[nomeSmese].options[indice_mese].value; var giorno_sel = document.forms[nomeF].elements[nomeSgiorno].options[indice_giorno].value; document.forms[nomeF].elements['anno'].value = anno_sel; document.forms[nomeF].elements['mese'].value = mese_sel; document.forms[nomeF].elements['giorno'].value = giorno_sel; } function inizializzaSelect() { document.forms[nomeF].elements[nomeSanno].value = document.forms[nomeF].elements['anno'].value; for (var i=0; i