function MakeArray(n) {        this.length = n        return this}monthNames = new MakeArray(12)monthNames[1] = "gennaio"monthNames[2] = "febbraio"monthNames[3] = "marzo"monthNames[4] = "aprile"monthNames[5] = "maggio"monthNames[6] = "giugno"monthNames[7] = "luglio"monthNames[8] = "agosto"monthNames[9] = "settembre"monthNames[10] = "ottobre"monthNames[11] = "novembre"monthNames[12] = "dicembre"dayNames = new MakeArray(7)dayNames[1] = "Domenica"dayNames[2] = "Luned&igrave;"dayNames[3] = "Marted&igrave;"dayNames[4] = "Mercoled&igrave;"dayNames[5] = "Gioved&igrave;"dayNames[6] = "Venerd&igrave;"dayNames[7] = "Sabato"function customDateString(oneDate) {        var theDay = dayNames[oneDate.getDay() + 1]        var theMonth = monthNames[oneDate.getMonth() + 1]		var yy = date.getYear();		var theYear = (yy < 1000) ? yy + 1900 : yy;        return "<b>"+ theDay + " " + oneDate.getDate() + " " + theMonth + " " + theYear + "<\/b>"}function y2k(number)    {		return (number < 1000) ? number + 1900 : number;}function padout(number) { return (number < 10) ? '0' + number : number; }function LeapYear(year) {    if ((year/4)   != Math.floor(year/4))   return false;    if ((year/100) != Math.floor(year/100)) return true;    if ((year/400) != Math.floor(year/400)) return false;    return true;}function dayPart(oneDate) {        var theHour = oneDate.getHours()        if (theHour <6 )                return " <font color=red>Ciao, buona nottata<\/font>"        if (theHour < 18)                return " <font color=red>Ciao, buona giornata<\/font>"        return " <font color=red>Ciao, buona serata<\/font>"}// Santi del calendario //now = new DateJan = new ArrayJan[1] = "Maria Madre di Dio"Jan[2] = "SS. Basilio e Gregorio"Jan[3] = "Santa Genoveffa"Jan[4] = "Santa Fausta"Jan[5] = "Santa Amelia"Jan[6] = "Epifania di N. S."Jan[7] = "San Luciano"Jan[8] = "San Severino"Jan[9] = "San Giuliano"Jan[10] = "Sant'Aldo"Jan[11] = "San Modesto"Jan[12] = "Sant'Ilario"Jan[13] = "Battesimo di Ges&ugrave;"Jan[14] = "San Felice"Jan[15] = "San Mauro"Jan[16] = "San Marcello"Jan[17] = "Sant'Antonio abate"Jan[18] = "Santa Liberata"Jan[19] = "San Mario"Jan[20] = "San Sebastiano"Jan[21] = "Santa Agnese"Jan[22] = "San Vincenzo"Jan[23] = "Santa Emerenziana"Jan[24] = "San Francesco di Sales"Jan[25] = "Conversione di San Paolo"Jan[26] = "SS. Tito e Timoteo"Jan[27] = "Santa Angela Merici"Jan[28] = "San Tommaso d'Aquino"Jan[29] = "San Valerio"Jan[30] = "Santa Martina"Jan[31] = "San Giovanni Bosco"Feb = new ArrayFeb[1] = "Santa Verdiana"Feb[2] = "Presentazione del Signore"Feb[3] = "San Biagio"Feb[4] = "San Gilberto"Feb[5] = "Santa Agata"Feb[6] = "San Paolo Miki"Feb[7] = "Santa Eugenia, San Teodoro m."Feb[8] = "Sant'Onorato"Feb[9] = "San Rinaldo"Feb[10] = "Sant'Arnaldo"Feb[11] = "Nostra Signora di Lourdes"Feb[12] = "Santa Eulalia"Feb[13] = "Santa Maura"Feb[14] = "San Valentino"Feb[15] = "San Faustino"Feb[16] = "Santa Giuliana"Feb[17] = "San Donato"Feb[18] = "San Simeone"Feb[19] = "San Mansueto"Feb[20] = "Santa Amata, Sant'Eleuterio v."Feb[21] = "Santa Eleonora"Feb[22] = "Santa Isabella"Feb[23] = "San Renzo"Feb[24] = "Sant'Ediberto"Feb[25] = "San Romeo"Feb[26] = "San Nestore, San Claudiano m."Feb[27] = "San Leandro"Feb[28] = "San Cereale"Feb[29] = "Anno bisestile"Mar = new ArrayMar[1] = "Sant'Albino"Mar[2] = "San Quinto"Mar[3] = "Santa Cunegonda"Mar[4] = "San Casimiro"Mar[5] = "Sant'Adriano"Mar[6] = "Santa Coletta"Mar[7] = "Santa Felicita"Mar[8] = "San Giovanni di Dio"Mar[9] = "Santa Francesca Romana"Mar[10] = "San Simplicio"Mar[11] = "San Costantino"Mar[12] = "San Teofane"Mar[13] = "San Rodrigo"Mar[14] = "Santa Matilde"Mar[15] = "Santa Luisa"Mar[16] = "Sant'Eriberto"Mar[17] = "San Patrizio"Mar[18] = "San Cirillo di Ger."Mar[19] = "San Giuseppe"Mar[20] = "Santa Alessandra"Mar[21] = "San Benedetto"Mar[22] = "Santa Lea"Mar[23] = "San Vittoriano"Mar[24] = "San Romolo"Mar[25] = "Annunc. di Maria Vergine"Mar[26] = "San Teodoro"Mar[27] = "Santa Augusta"Mar[28] = "San Sisto III papa"Mar[29] = "San Secondo di Asti"Mar[30] = "Sant'Amedeo"Mar[31] = "San Beniamino"Apr = new ArrayApr[1] = "Sant'Ugo"Apr[2] = "San Francesco di Paola"Apr[3] = "San Riccardo"Apr[4] = "Sant'Isidoro v."Apr[5] = "San Vincenzo F."Apr[6] = "Santa Virginia"Apr[7] = "San Giovanni Battista"Apr[8] = "Sant'Alberto"Apr[9] = "Santa Maria Cleofe"Apr[10] = "San Terenzio"Apr[11] = "San Stanislao v."Apr[12] = "San Zenone"Apr[13] = "San Martino I p."Apr[14] = "San Lamberto"Apr[15] = "Sant'Annibale"Apr[16] = "Santa Bernadette S."Apr[17] = "San Roberto"Apr[18] = "San Galdino"Apr[19] = "Sant'Espedito, Sant'Ermogene m."Apr[20] = "Santa Adalgisa"Apr[21] = "Sant'Anselmo"Apr[22] = "San Leonida"Apr[23] = "San Giorgio m."Apr[24] = "San Fedele"Apr[25] = "San Marco evangelista"Apr[26] = "San Marcellino"Apr[27] = "Santa Zita"Apr[28] = "Santa Valeria"Apr[29] = "Santa Caterina da Siena"Apr[30] = "San Pio V"May = new ArrayMay[1] = "San Giuseppe art."May[2] = "San Cesare"May[3] = "SS. Filippo e Giacomo"May[4] = "San Silvano"May[5] = "San Fulvio"May[6] = "San Domenico Savio"May[7] = "Santa Flavia"May[8] = "San Vittore"May[9] = "Sant'Isaia profeta"May[10] = "Sant'Antonino"May[11] = "San Fabio"May[12] = "San Nereo"May[13] = "Santa Emma"May[14] = "San Mattia apostolo"May[15] = "San Torquato"May[16] = "Sant'Ubaldo"May[17] = "San Pasquale B."May[18] = "San Venanzio"May[19] = "San Pietro"May[20] = "San Bernardino da S."May[21] = "San Vittorio"May[22] = "Santa Rita da Cascia"May[23] = "San Desiderio v."May[24] = "Maria Ausiliatrice"May[25] = "San Beda"May[26] = "San Filippo Neri"May[27] = "Sant'Oliviero"May[28] = "Sant'Emilio"May[29] = "San Massimino"May[30] = "San Felice I papa"May[31] = "Visitazione B. Vergine"Jun = new ArrayJun[1] = "San Giustino"Jun[2] = "Corpo e Sangue del Signore"Jun[3] = "Santa Clotilde"Jun[4] = "San Quirino di T."Jun[5] = "San Bonifacio"Jun[6] = "San Norberto v."Jun[7] = "San Gilberto"Jun[8] = "San Medardo"Jun[9] = "San Primo"Jun[10] = "Santa Diana"Jun[11] = "San Barnaba a."Jun[12] = "San Guido"Jun[13] = "Sant'Antonio da Padova"Jun[14] = "Sant'Eliseo profeta"Jun[15] = "San Vito"Jun[16] = "Sant'Aureliano"Jun[17] = "San Ranieri"Jun[18] = "San Gregorio B."Jun[19] = "SS. Gervaso e Protaso, San Romualdo a."Jun[20] = "Sant'Ettore"Jun[21] = "San Luigi Gonzaga"Jun[22] = "San Paolino da Nola"Jun[23] = "San Lanfranco"Jun[24] = "San Giovanni B."Jun[25] = "San Guglielmo a."Jun[26] = "San Rodolfo"Jun[27] = "San Cirillo d'Alessandria"Jun[28] = "Sant'Attilio"Jun[29] = "SS. Pietro e Paolo"Jun[30] = "SS. Primi Martiri"Jul = new ArrayJul[1] = "Santa Ester"Jul[2] = "Sant'Ottone"Jul[3] = "San Tommaso ap."Jul[4] = "Santa Elisabetta"Jul[5] = "Sant'Antonio M. Z."Jul[6] = "Santa Maria Goretti"Jul[7] = "San Claudio"Jul[8] = "Sant'Adriano"Jul[9] = "San Fabrizio"Jul[10] = "San Marziale"Jul[11] = "San Benedetto"Jul[12] = "San Fortunato"Jul[13] = "Sant'Enrico"Jul[14] = "San Camillo de Lellis"Jul[15] = "San Bonaventura"Jul[16] = "Beata Vergine del Carmine"Jul[17] = "Sant'Alessio"Jul[18] = "San Federico"Jul[19] = "San Simmaco"Jul[20] = "Santa Vera"Jul[21] = "San Lorenzo da B."Jul[22] = "Santa Maria Maddalena"Jul[23] = "Santa Brigida"Jul[24] = "Santa Cristina"Jul[25] = "San Giacomo ap."Jul[26] = "SS. Anna e Gioacchino"Jul[27] = "Santa Liliana"Jul[28] = "San Nazario"Jul[29] = "Santa Marta"Jul[30] = "San Pietro Cris."Jul[31] = "Sant'Ignazio di Loyola"Aug = new ArrayAug[1] = "Sant'Alfonso"Aug[2] = "Sant'Eusebio da V."Aug[3] = "Santa Lidia"Aug[4] = "San Giovanni M. V."Aug[5] = "Sant'Osvaldo"Aug[6] = "Trasfigurazione del Signore"Aug[7] = "San Gaetano da Thi."Aug[8] = "San Domenico"Aug[9] = "San Fermo"Aug[10] = "San Lorenzo"Aug[11] = "Santa Chiara v."Aug[12] = "Sant'Ercolano"Aug[13] = "Sant'Ippolito"Aug[14] = "Sant'Alfredo"Aug[15] = "Assunzione della Santa Vergine"Aug[16] = "San Rocco"Aug[17] = "San Giacinto"Aug[18] = "Santa Elena"Aug[19] = "San Mariano"Aug[20] = "San Bernardo"Aug[21] = "San Pio X papa"Aug[22] = "B. V. Maria Reg."Aug[23] = "Santa Rosa da Lima"Aug[24] = "San Bartolomeo ap."Aug[25] = "San Lodovico"Aug[26] = "Sant'Alessandro"Aug[27] = "Santa Monica"Aug[28] = "Sant'Agostino"Aug[29] = "Martirio di San Giovanni Batt."Aug[30] = "San Gaudenzio"Aug[31] = "Sant'Abbondio"Sep = new ArraySep[1] = "Sant'Egidio"Sep[2] = "Sant'Elpidio"Sep[3] = "San Gregorio Magno"Sep[4] = "Santa Rosalia"Sep[5] = "San Vittorino"Sep[6] = "Sant'Umberto"Sep[7] = "Santa Regina"Sep[8] = "Nativit&agrave; della Beata Vergine"Sep[9] = "San Pietro Claver"Sep[10] = "Santa Pulcheria"Sep[11] = "San Giacinto"Sep[12] = "Ss. Nome di Maria"Sep[13] = "San Maurilio"Sep[14] = "Esaltazione Santa Croce"Sep[15] = "Beata Vegine Addolorata"Sep[16] = "San Cornelio"Sep[17] = "San Roberto Bellarmino"Sep[18] = "San Giuseppe da Cop., Santa Sofia"Sep[19] = "San Gennaro v."Sep[20] = "Santa Candida"Sep[21] = "San Matteo evang."Sep[22] = "San Maurizio"Sep[23] = "San Lino"Sep[24] = "San Pacifico"Sep[25] = "Santa Aurelia"Sep[26] = "SS. Cosma e Damiano"Sep[27] = "San Vincenzo d&egrave; Paoli"Sep[28] = "San Venceslao"Sep[29] = "SS. Michele, Gabriele, Raffaele"Sep[30] = "San Gerolamo"Oct = new ArrayOct[1] = "Santa Teresa di Ges&ugrave; B."Oct[2] = "SS. Angeli Custodi"Oct[3] = "San Gerardo"Oct[4] = "San Francesco d'Assisi"Oct[5] = "San Placido"Oct[6] = "San Bruno Abate"Oct[7] = "Beata Vergine del Rosario"Oct[8] = "Santa Benedetta"Oct[9] = "Sant'Abramo"Oct[10] = "San Daniele"Oct[11] = "Santa Emanuela"Oct[12] = "San Serafino"Oct[13] = "Sant'Edoardo"Oct[14] = "San Callisto"Oct[15] = "Santa Teresa d'Avila"Oct[16] = "Santa Edvige"Oct[17] = "Sant'Ignazio d'Antiochia"Oct[18] = "San Luca evang."Oct[19] = "Santa Laura"Oct[20] = "Sant'Artemio"Oct[21] = "Santa Orsola"Oct[22] = "San Donato"Oct[23] = "San Giovanni da Cap."Oct[24] = "Sant'Antonio Cl."Oct[25] = "Santa Daria"Oct[26] = "Sant'Evaristo"Oct[27] = "San Fiorenzo"Oct[28] = "SS. Simone e Giuda"Oct[29] = "Santa Ermelinda"Oct[30] = "San Germano"Oct[31] = "Santa Lucilla"Nov = new ArrayNov[1] = "Tutti i Santi"Nov[2] = "Comm. dei Defunti"Nov[3] = "Santa Silvia"Nov[4] = "San Carlo Borromeo"Nov[5] = "San Zaccaria"Nov[6] = "San Leonardo"Nov[7] = "Sant'Ernesto"Nov[8] = "San Goffredo"Nov[9] = "Sant'Oreste"Nov[10] = "San Leone Magno"Nov[11] = "San Martino di Tours"Nov[12] = "San Renato"Nov[13] = "San Diego"Nov[14] = "San Giocondo v."Nov[15] = "Sant'Alberto"Nov[16] = "Santa Margherita di Sco."Nov[17] = "Santa Elisabetta"Nov[18] = "Bas. di San Pietro"Nov[19] = "San Ponziano, San Fausto"Nov[20] = "Sant'Edmondo"Nov[21] = "Presentazione Santa Vergine"Nov[22] = "Santa Cecilia"Nov[23] = "San Clemente"Nov[24] = "Cristo Re"Nov[25] = "Santa Caterina"Nov[26] = "San Corrado"Nov[27] = "San Virgilio"Nov[28] = "San Giacomo F."Nov[29] = "San Saturnino"Nov[30] = "Sant'Andrea ap."Dec = new ArrayDec[1] = "Sant'Eligio"Dec[2] = "Santa Viviana"Dec[3] = "San Francesco Saverio"Dec[4] = "Santa Barbara"Dec[5] = "San Giulio"Dec[6] = "San Nicola di Bari"Dec[7] = "Sant'Ambrogio"Dec[8] = "Immacolata Concezione"Dec[9] = "San Siro"Dec[10] = "Nostra Signora di Loreto"Dec[11] = "San Damaso"Dec[12] = "Santa Giovanna"Dec[13] = "Santa Lucia"Dec[14] = "San Giovanni della Croce"Dec[15] = "San Valeriano"Dec[16] = "Santa Adelaide"Dec[17] = "San Lazzaro"Dec[18] = "San Graziano"Dec[19] = "San Dario"Dec[20] = "San Macario"Dec[21] = "San Temistocle"Dec[22] = "San Francesco"Dec[23] = "Santa Vittoria"Dec[24] = "Santa Adele"Dec[25] = "Nativit&agrave; del Signore"Dec[26] = "Santo Stefano"Dec[27] = "San Giovanni evang."Dec[28] = "SS. Innocenti martiri"Dec[29] = "Sacra Famiglia"Dec[30] = "Sant'Eugenio"Dec[31] = "San Silvestro I papa"//**** Event routinesfunction Easter(Y) {    var C = Math.floor(Y/100);    var N = Y - 19*Math.floor(Y/19);    var K = Math.floor((C - 17)/25);    var I = C - Math.floor(C/4) - Math.floor((C - K)/3) + 19*N + 15;    I = I - 30*Math.floor((I/30));    I = I - Math.floor(I/28)*(1 - Math.floor(I/28)*Math.floor(29/(I + 1))*Math.floor((21 - N)/11));    var J = Y + Math.floor(Y/4) + I + 2 - C + Math.floor(C/4);    J = J - 7*Math.floor(J/7);    var L = I - J;    var M = 3 + Math.floor((L + 40)/44);    var D = L + 28 - 31*Math.floor(M/4);    return padout(M) + '.' + padout(D);}function getMM(string)    { return eval(string.substring(0,2)); }function getDD(string)    { return eval(string.substring(3,5)); }function getYYYY(string)  { return eval(string.substring(0,string.indexOf('.'))); }function getMMDD(string)  { return string.substring(string.indexOf('.')+1,string.length); }function daysinyear(year) { if (LeapYear(year)) return 366; else return 365; }function addDays(day,month,year,addition) {    if (LeapYear(year)) var number = day + accumulateLY[month] + addition;    else                var number = day + accumulate[month]   + addition;    var days = daysinyear(year);       while (number > days) {        number -= days;        days = daysinyear(++year);    }    while (number < 1) {        days = daysinyear(--year);        number += days;    }    month = 1;    if (LeapYear(year)) {        while (number > accumulateLY[month]) { month++; }        day = number - accumulateLY[--month];    }    else {        while (number > accumulate[month]) { month++; }        day = number - accumulate[--month];    }    return year + '.' + padout(month) + '.' + padout(day);}function NthDay(nth,weekday,month,year) {    if (nth > 0) return (nth-1)*7 + 1 + (7 + weekday - DayOfWeek((nth-1)*7 + 1,month,year))%7;    if (LeapYear(year)) var days = daysofmonthLY[month];    else                var days = daysofmonth[month];    return days - (DayOfWeek(days,month,year) - weekday + 7)%7;}function Event(day,month,what) {    this.value = '' + padout(month) + '/' + padout(day);    this.day = day;    this.month = month;    this.what = what;}function setEvent(day,month,what) {	myEvent[eventIndex++] = new Event(day,month,what);}var eventIndex = 0, myEvent = new Array();setEvent( 1, 1,"Capodanno");setEvent( 8, 3,"Festa della donna");setEvent( 19, 3,"Festa del pap&agrave;");setEvent( 1, 4,"Pesce d'Aprile");setEvent( 25, 4,"Festa Liberazione");setEvent( 1, 5,"Primo Maggio");setEvent( 2, 6,"Festa Repubblica");setEvent(15, 8,"Ferragosto");var easter = Easter(year);var easterDay = getDD(easter);var easterMonth = getMM(easter);setEvent(easterDay,easterMonth,year,"");var when = addDays(easterDay,easterMonth,year,0);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"Pasqua");var when = addDays(easterDay,easterMonth,year,-47);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"M. grasso");var when = addDays(easterDay,easterMonth,year,-46);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"Le Ceneri");var when = addDays(easterDay,easterMonth,year,-42);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"I. Quaresima");var when = addDays(easterDay,easterMonth,year,-35);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"II. Quaresima");var when = addDays(easterDay,easterMonth,year,-28);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"III. Quaresima");var when = addDays(easterDay,easterMonth,year,-21);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"IV. Quaresima");var when = addDays(easterDay,easterMonth,year,-14);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"V. Quaresima");var when = addDays(easterDay,easterMonth,year,-7);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"Le Palme");var when = addDays(easterDay,easterMonth,year,-3);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"G. Santo");var when = addDays(easterDay,easterMonth,year,-2);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"V. Santo");var when = addDays(easterDay,easterMonth,year,7);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"In Albis");var when = addDays(easterDay,easterMonth,year,42);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"Ascensione");var when = addDays(easterDay,easterMonth,year,49);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"Pentecoste");var when = addDays(easterDay,easterMonth,year,56);setEvent(getDD(getMMDD(when)),getMM(getMMDD(when)),"SS. Trinit&agrave;");setEvent(NthDay(last,sun,mar,year),mar,"Ora legale");setEvent(NthDay(last,sun,oct,year),oct,"Fine ora legale");function showEvent(day,month) {    var output = '';    for(var i=0; i < eventIndex; i++) {        if ((day == myEvent[i].day) && (month == myEvent[i].month))            output += '[' + myEvent[i].what+'] ';    }    return output;}function myObjectBubbleSort(arrayName,length) {    for (var i=0; i<(length-1); i++)        for (var j=i+1; j<length; j++)            if (arrayName[j].value < arrayName[i].value) {                var dummy = arrayName[i];                arrayName[i] = arrayName[j];                arrayName[j] = dummy;            }}myObjectBubbleSort(myEvent,eventIndex);function showAllEvents(year) {    var output = '';    for(var i=0; i < eventIndex; i++) {        output += FullDate(myEvent[i].day,myEvent[i].month,year) + ' ' + myEvent[i].what+'<BR>';    }    return output;}function ValidDate(day,month,year) {    if ( (LeapYear(year) && (day > daysofmonthLY[month])) ||         (!LeapYear(year) && (day > daysofmonth[month])) )        return false;    else        return true;}function ChosenDate(object) {    year = object.year.value;    month = object.month.options[object.month.selectedIndex].value;    day = object.day.options[object.day.selectedIndex].value;    if (!ValidDate(day-0,month-0,year-0)) {        alert('Devi inserire una data valida');        return false;    }    return true;}
