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;
}
}