var cal; function onSantoLoad() { d = new Date(); var c = new CalendarTable( d.getFullYear(), 1, 1 ); c.setFullSingleYear(d.getFullYear(),true); c.draw(); cal = new Calendar(); writeTitle(); } function nav(_dir) { if(document.location.href.indexOf("?") > 0) var url=document.location.href.substring(0,document.location.href.indexOf("?")+1); else var url=document.location.href+"?"; var nextDate=cal.incrementOrDecrementDate(cal.getTheDate(),_dir); url+="giorno="+nextDate.substring(6)+"&"; url+="mese="+nextDate.substring(4,6)+"&"; url+="anno="+nextDate.substring(0,4); document.location.href=url; } function writeTitle() { //Martedì 17 Aprile var obj=document.getElementById("giorno"); var d=new Date(); var year=cal.getTheDate().substring(0,4); var month=cal.getTheDate().substring(4,6)-1; var day=cal.getTheDate().substring(6); d.setFullYear(year, month, day); //obj.innerHTML=cal.getWeekDay(d)+" "+day+" "+cal.getYearMonth(d); } function Calendar() { var giorniNelMese = {'01':'31', '02':'28', '03':'31', '04':'30', '05':'31', '06':'30', '07':'31', '08':'31', '09':'30', '10':'31', '11':'31', '12':'31' }; this.incrementOrDecrementDate = function( dateString, nDays ){ var sign = Math.abs(nDays)/nDays; for ( var i=0; igiorniNelMese[mese] ){ giorno = '01'; if( mese == '12' ){ mese = '01'; anno = (parseInt(anno)+1) + ''; }else{ mese = (parseFloat(mese)+1) + ''; if(mese.length==1){ mese = '0'+mese; } } } dateString = anno + mese + giorno; } return dateString; } this.getTheDate = function(){ var today = getTodayDateString(); var theDateString = getDateStringFromQueryString(); if ( !theDateString || theDateString=='') return today; else return theDateString; } this.getWeekDay = function(dateObj) { var weekday=new Array(7); weekday[0]="Domenica"; weekday[1]="Lunedì"; weekday[2]="Martedì"; weekday[3]="Mercoledì"; weekday[4]="Giovedì"; weekday[5]="Venerdì"; weekday[6]="Sabato"; return weekday[dateObj.getDay()]; } this.getYearMonth = function(dateObj) { var yearmonth=new Array(12); yearmonth[0]="Gennaio"; yearmonth[1]="Febbraio"; yearmonth[2]="Marzo"; yearmonth[3]="Aprile"; yearmonth[4]="Maggio"; yearmonth[5]="Giugno"; yearmonth[6]="Luglio"; yearmonth[7]="Agosto"; yearmonth[8]="Settembre"; yearmonth[9]="Ottobre"; yearmonth[10]="Novembre"; yearmonth[11]="Dicembre"; return yearmonth[dateObj.getMonth()]; } function getTodayDateString(){ var todayObj = new Date(); day = todayObj.getUTCDate(); if ( day<=9 ){ day = '0' + day }; month = todayObj.getUTCMonth() + 1; if ( month<=9 ){ month = '0' + month }; year = todayObj.getFullYear(); return ('' + year + '' + month + '' + day); } function getDateStringFromQueryString() { var query = window.location.search.substring(1); if( query && query.indexOf('selectmonth=' )==-1 && query.indexOf('=' )!=-1 && query.indexOf('&' )!=-1){ // link costruito dal calendar var vars = query.split("&"); var ret = ''; for ( var i=vars.length-1; i>=0; i-- ){ var pair = vars[i].split("="); if(pair[1].length==1){ ret += '0' + pair[1]; }else{ ret += pair[1]; } } }else if( query && query.indexOf('selectmonth=' )!=-1){ // link costruito dal calendar il quale ha chiesto il cambio del mese // vado al primo del mese come da specifiche di calendar.cgi var month = query.substring( query.indexOf('=')+1 ); if( month.length==1 ){ month = '0'+month; } var ret = today.substring(0,4) + month + '01'; } return ret; } }