var mn=['Gen.','Feb.','Mar.','Apr.','Mag.','Giu.','Lug.','Ago.','Sett.','Ott.','Nov.','Dic.'];
var dn=new Array("Domenica","Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato");

function addLink(tag)
{
 return '<a class="'+tag+'" href="" onClick="';
}


function gtp(gg,mm,aa)
{
 var giorno=""+gg;	
 if (giorno.length==1)
  giorno="0"+giorno;
 var mese=""+mm;   
 if (mese.length==1)
  mese="0"+mese;
 var anno=""+aa;

 var frm = document.forms["fCalendario"];
 var dataEvento = frm["dataevento"]; 
 dataEvento.value = giorno + '/' + mese + '/' + anno;
 frm.action = calPage;
 frm.submit();

}

function buildCal(m, y)
{
 var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
 var oD = new Date(y, m-1, 1); 
 oD.od=oD.getDay()+1; 
 var todaydate=new Date(); 
 var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 
 dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;

 var t='<div><table class="main" cols="7" cellpadding="0" border="0" cellspacing="0" width="'+calWidth+'"><tr align="center">';

 // Genero l'header 	
 t+='<td align="center" valign="middle" class="month">'+addLink('mover')+'prevMonth(curMonth);return false">'+monthB[0]+'</a></td>';
 t+='<td colspan="5" valign="middle" class="month">&nbsp;'+mn[m-1]+' '+y+'</td>';
 t+='<td align="center" valign="middle" class="month">'+addLink('mover')+'nextMonth(curMonth);return false">'+monthB[1]+'</a></td></tr><tr align="center">';

 //Genero le caselle con l'iniziale del giorno
 for(s=0;s<7;s++)t+='<td class="daysofweek">'+dn[s].substr(0,1)+'</td>';
 t+='</tr><tr align="center">';

 for(i=1;i<=42;i++)
 {
  var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
  if (x=='&nbsp;')
   t+='<td class="days">'+x+'</td>';
  else if (x==scanfortoday)
   t+='<td class="days"><a class="lCellaRossa" href="" onclick="gtp('+x+','+m+','+y+');return false">'+x+'</a></td>';  
  else
   t+='<td class="days"><a class="lCella" href="" onclick="gtp('+x+','+m+','+y+');return false">'+x+'</a></td>';
 
  if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
 }

 // footer tabella
 t+='</tr><td colspan="7" align="center" class="footer"><a class="lCella" href="'+calPage+'&tipofiltro=30">[Ricerca Eventi]</a></td></tr>';	 
 
 return t+='</table></div>';
}


// Incrementa/decrementa l'anno corrente
function moveYear(dy)
{
 curYear+=dy;
 updateCalendar(curMonth ,curYear);
}

// Decrementa il mese corrente
function prevMonth(m)
{
 curMonth=m-1;
 if (curMonth<1) { curMonth=12; curYear--; }
 updateCalendar(curMonth ,curYear);
}

// Incrementa il mese corrente
function nextMonth(m)
{
  curMonth=m+1;
  if (curMonth>12) { curMonth=1; curYear++;}
  updateCalendar(curMonth ,curYear);
}



//Aggiorna il calendario
function updateCalendar(theMonth,theYear)
{
 var calendarstr=buildCal(theMonth, theYear)
 if (document.getElementById)
 {
  document.getElementById('calendarSpace').innerHTML=calendarstr;
 }
}



