<!--
var xwidth = 180;
var xheight = 180;
var browser = document.layers ? 0 : document.all ? 1 : 2;
var percorso;
var cartella='';
if(percorso!='' && percorso!='undefined' && percorso!=null && percorso!='null')cartella=percorso;

// colori
var backtable = '#CCCCCC';
var calendback = '#EEEEEE';
var lines = '#666666';
var bright = '#000000';
var roll = '#FFFFFF';
var festa = '#FFFFCC';

// ------ Non cambiare ----------
var mesi = new Array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno','Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');

var days = new Array('Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa', 'Do');
var dd = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

var today = new Date();
var anno = today.getFullYear();
var mese = today.getMonth();
var currday = today.getDate();
var cellwidth = Math.floor(xwidth / 7);
xwidth = cellwidth * 7;
var xmese = 0;
var isOn = false;
var source=null;
var noC=false;


function action(g, m , a) {
   function format(x) {
      return x > 9 ? x : "0" + x;
   }
   getId().showIt(false);
   source.value = format(g) + '/' + format(m + 1) + '/' + a;
}

document.write('<style type="text/css">\n<!--');
document.write('.cal { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #666666}');
document.write('.num { font-family: Arial, Helvetica, sans-serif; font-size: 11px; text-decoration:none}');
document.write('.mese {  font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: #999999}');
document.write('.butt {  font-family: Arial, Helvetica, sans-serif; font-size: 11px; text-decoration:none; color: #333333}');
document.write('-->\n</style>');


function comparedate(d1, d2) {
   if (d1.getFullYear() == d2.getFullYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate()) 
      return true;
   return false;
}

function pasqua(aa) {
   var xx = new Array(22, 22, 23, 23, 24, 24);
   var yy = new Array(2, 2, 3, 4, 5, 5);
   var a = aa % 19;
   var b = aa % 4;
   var c = aa % 7;

   var i = Math.floor(aa / 100) - 15;
   var x = xx[i], y = yy[i];
   var d = (19*a + x) % 30;
   var e = (2*b + 4*c + 6 * d + y) % 7;

   var p = 22 + d + e;

   var m = 300;
   if (p > 31) {
      m = 400;
      p = p - 31;
   }
   return m + p;
}


function isfesta(d) {
   var feste = new Array(0, 101, 106, 425, 501, 602, 815, 1101, 1208, 1225, 1226);

   if (d.getDay() == 0)
      return true;

   var pp = pasqua(d.getFullYear()) + 1;     // Pasquetta
      if (pp % 100 > 31)
         pp = 401;

   feste[0] = pp;
   for (var i = 0; i < feste.length; i++)
      if (Math.floor(feste[i] / 100) == d.getMonth() + 1) {
         var gg = feste[i] % 100;
         if (gg == d.getDate())
            return true;
      }

   return false;
}


function calendar(currday, mese, anno) {
	if(currday==0){
		var df=new Date();
		currday=df.getDate();
		mese=df.getMonth();
		anno=df.getFullYear();
	}
   var dx = 2 - (new Date(anno, mese, 1)).getDay();
   if (dx == 2)dx = -5;
   var daysInMonth = dd[mese];

   if (mese == 1) {
      if (anno % 4 == 0 && anno % 100 != 0  || anno % 400 == 0)daysInMonth++
   }
   var tx = '<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="'+calendback+'" height="25"><tr><td><div class="mese">&nbsp;&nbsp;' + mesi[mese] + ' ' + anno +'</div></td><td align="center" class="butt"><a href="javascript:chiudiCal(1);"><img src="'+cartella+'../_img/p_calC.gif" width="16" height="16" border="0" alt="Chiudi"></a></td></tr></table>';
   tx += '<table width="' + xwidth + '" border="0" cellspacing="1" cellpadding="1">\n';
   tx += '<tr align="right">\n';
   for (var i = 0; i < 7; i++)tx += '<td width="' + cellwidth+ '" class="cal" align="center">' + days[i] + '&nbsp;</td>\n';
   tx += '</tr>\n';
   for (var j = 0; j < 6; j++) {
      tx += '<tr bgcolor="' + calendback + '" align="right">\n';
      for (var i = 0; i < 7; i++) {
         var bgstring = "";
         var fgcol = lines;
         var fgstring = '&nbsp;';
		 var fglink='';

         if (dx > 0 && dx <= daysInMonth) {
            fgstring = dx;
            var ddx = new Date(anno, mese, dx);
            if (isfesta(ddx)) bgstring = ' bgcolor="' + festa + '"';
            if (comparedate(ddx, today)) {
               fgcol = bright;
               fgstring = '<b><u>' + dx + '</u></b>\n';
            }
            var tempdate = ddx.getDate() + ", " + ddx.getMonth() + ", " + ddx.getFullYear();
            fgstring = '<font color="' + fgcol + '">' + fgstring + '</font>\n';
			fglink = 'onClick="action(' + tempdate + ')" class = "num" style="cursor:hand;" align="center"';
         }
         tx += '<td width="' + cellwidth + '" class="num"' + bgstring + fglink;
		 if(fgstring!='&nbsp;')tx += ' onMouseOver="this.style.backgroundColor=\''+roll+'\';" onMouseOut="this.style.backgroundColor=\'\';"';
		 tx += '>\n';
         tx += fgstring;
         tx += '</td>\n';
         dx++;
      }
      tx += '</tr>\n';
   }
   tx += '</table>\n';
   return tx;
}
function dataframe(x) {
   var s = '<table width="' + xwidth + '" border="0" cellspacing="0" cellpadding="0" bgcolor="' + backtable + '">';
   s += '<tr>\n<td class="mese" valign="middle">';
   s += x; // calendar(currday, mese, anno);
   s += '</td></tr><tr><td>';
   s += '<table width="100%" border="0" cellspacing="0" cellpadding="2" height="21">';
   s += '<tr>';
   s += '<td align="center" class="butt" width="36"><a href="javascript:altro_mese(-12)" class="butt"><img src="'+cartella+'../_img/p_calA1.gif" width="16" height="15" border="0" alt="Anno prima"></a> <a href="javascript:altro_mese(-1)" class="butt"><img src="'+cartella+'../_img/p_calM1.gif" width="16" height="15" border="0" alt="Mese prima"></a></td>';
   s += '<td align="center" class="butt"><a href="javascript:altro_mese(9)" class="butt">Mese corrente</a></td>';
   s += '<td align="center" class="butt" width="36"><a href="javascript:altro_mese(1)" class="butt"><img src="'+cartella+'../_img/p_calM2.gif" width="16" height="15" border="0" alt="Mese dopo"></a> <a href="javascript:altro_mese(12)" class="butt"><img src="'+cartella+'../_img/p_calA2.gif" width="16" height="15" border="0" alt="Anno dopo"></a></td>';
   s += '</tr></table>';
   s += '</td>\n</tr>\n</table>';
   return s;
}
function altro_mese(x) {
   xmese += x;
   if (x == 9) xmese = 0;
   var xday = (xmese == 0)? currday : 99;
   var mm = (mese + xmese) % 12;
   while (mm < 0)mm += 12;
   //if (x == 10)xday=0;
   var s = dataframe(calendar(xday, mm, anno + Math.floor((mese + xmese) / 12)));
   writeLayer(s);
}
function getId() {
	return document.getElementById("calframe");
}
function moveLayer(xPos, yPos) {
   switch (browser) {
   case 1:
      this.style.pixelLeft = xPos;
      this.style.pixelTop = yPos;
     break;
   default:
      this.style.left = xPos;
      this.style.top = yPos;
   }
}
function createlayer() {
   document.writeln('<div id="calframe" style="position:absolute; visibility: hidden; background-color:#666666;padding:1px;filter: Alpha(Opacity=90);z-index:10;" onMouseDown="noC=true;" onMouseOut="noC=false;"></div>');
}
function showIt(on) {
	isOn = on;
	if(on){
		this.style.visibility="visible";
		lf=document.body.clientWidth;
		hf=document.body.clientHeight;
		sxCal=tC(this,"x")-document.body.scrollLeft;
		aCal=tC(this,"y")-document.body.scrollTop;
		dxCal=sxCal+xwidth;
		bCal=aCal+xheight;
		if(dxCal>lf)this.style.left=(document.body.scrollLeft+lf)-xwidth;
		if(bCal>hf)this.style.top=(document.body.scrollTop+hf)-xheight;
		if(sxCal<0)this.style.left=document.body.scrollLeft;
		if(aCal<0)this.style.top=document.body.scrollTop;
	}else{
		this.style.visibility="hidden";
	}
}
function writeLayer(s) {
   getId().innerHTML = s;
}
function initCalendar() {
   var id = getId();
   id.moveLayer = moveLayer;
   id.showIt = showIt;
   id.showIt(false);
}
function tC(obj,q){
	var c=0;
	var L='Left';
	if(q=='y')L='Top';
	c+=eval("obj.offset"+L);
	while(obj=obj.offsetParent){c+=eval("obj.offset"+L);}	
	return c;
}
function tP(t,c){
	var txt=eval("t.style."+c);
	txt=txt.substr(0,txt.length-2);
	return txt*1;
}
function showCalendar(obj) {
	source=obj;
	val=obj.value;
	if(!val)d=new Date();
	else{
		dt = obj.value.split('/');
		d=new Date(dt[2], dt[1] - 1, dt[0]);
	}
   if (!isOn) {
      if (d) {
            anno = d.getFullYear();
            mese = d.getMonth();
            currday = d.getDate();
         } else {
            anno = today.getFullYear();
            mese = today.getMonth();
            currday = today.getDate();
      }
      
	  var id = getId();
	  id.moveLayer(tC(obj,'x')-((xwidth-tP(obj,"width"))/2), tC(obj,'y'));
	  xmese = 0;
      writeLayer(dataframe(calendar(currday, mese, anno)));
   }
   getId().showIt(!isOn);
   document.onmouseup=chiudiCal;
}
function chiudiCal(chiudi){
	if(!noC || chiudi){
		noC=false;
		getId().showIt(false);
   		document.onmouseup=null;
	}
}
createlayer(1);
//-->
