
var calendario_width = 220;
var calendario_color_background = '#ffffff';
var calendario_color_border = '#ffffff';
var calendario_font_family = 'Helvetica';
var calendario_font_size = 11;
var calendario_font_color = '#666666';
var calendario_padding = 3;


function calendario(campo) {
document.write("<div id=\""+campo+"_c\" style=\"text-align:center; width:"+calendario_width+"px; margin-bottom:20px; position:absolute; visibility:hidden;\"></div>");
}

function calendarioH(campo) {
document.getElementById(campo).style.visibility='hidden';
document.getElementById(campo).style.position='absolute';
}

function calendarioS(campo) {
d=new Date();
anno=d.getFullYear();
mese=d.getMonth()+1;
calendarioW(anno,mese,campo);
document.getElementById(campo+'_c').style.position='relative';
document.getElementById(campo+'_c').style.visibility='visible';
}

function calendarioT(campo,valore) {
document.getElementById(campo).value=valore;
calendarioH(campo+'_c');
}

function calendarioGM(val) {
val=val+'';
if (val.length==1) { outval="0"+val; }
else { outval=val; }
return outval;
}


function calendarioW(anno,mese,campo) {

monthName = new Array("gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre");

var_iFirstWeekday = new Date(anno,mese-1,01);
iFirstWeekday = var_iFirstWeekday.getDay();
iFirstWeekday = iFirstWeekday + 1;

var_iDaysInMonth = new Date(anno,mese,0);
iDaysInMonth = var_iDaysInMonth.getDate();

aCalendarDays = new Array(); 

for (iLoop=1; iLoop<=iDaysInMonth; iLoop++) {
aCalendarDays[iLoop + iFirstWeekday - 1] = iLoop;
}

iColumns = 7;

iRows = 6; 

output="";

output=output+("<table cellpadding=\""+calendario_padding+"\" cellspacing=\"0\" border=\"1\" style=\"text-align:center; width:"+calendario_width+"px; background:"+calendario_color_background+"; border:1px solid "+calendario_color_border+"; border-collapse:collapse; font-family:"+calendario_font_family+"; font-size:"+calendario_font_size+"px; color:"+calendario_font_color+";\">");

output=output+("<tr>");

output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+"; font-size:"+(calendario_font_size+3)+"px;\"><a href=\"javascript:;\" onclick=\"javascript:calendarioW("+(anno-1)+","+mese+",'"+campo+"');\"><div>&laquo;</div></a></td>");

output=output+("<td colspan=\"5\" style=\"text-align:center; border:1px solid "+calendario_color_border+";\"><b>"+anno+"</b></td>");

output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+"; font-size:"+(calendario_font_size+3)+"px;\"><a href=\"javascript:;\" onclick=\"javascript:calendarioW("+(anno+1)+","+mese+",'"+campo+"');\"><div>&raquo;</div></a></td>");

output=output+("</tr>");

output=output+("<tr>");

if ((mese-1)>0) {
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+"; font-size:"+(calendario_font_size+3)+"px;\"><a href=\"javascript:;\" onclick=\"javascript:calendarioW("+anno+","+(mese-1)+",'"+campo+"');\"><div>&laquo;</div></a></td>");
} else
{
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">&nbsp;</td>");
}

output=output+("<td colspan=\"5\" style=\"text-align:center; border:1px solid "+calendario_color_border+";\"><b>"+monthName[mese-1]+"</b></td>");

if ((mese+1)<=12) {
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+"; font-size:"+(calendario_font_size+3)+"px;\"><a href=\"javascript:;\" onclick=\"javascript:calendarioW("+anno+","+(mese+1)+",'"+campo+"');\"><div>&raquo;</div></a></td>");
}
else
{
output=output+("<td style=\"border:1px solid "+calendario_color_border+";\">&nbsp;</td>");
}

output=output+("</tr>");

output=output+("<tr style=\"font-weight:bold;\">");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">D</td>");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">L</td>");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">M</td>");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">M</td>");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">G</td>");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">V</td>");
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">S</td>");
output=output+("</tr>");

for (iRowsLoop=1; iRowsLoop<=iRows; iRowsLoop++) {

output=output+("<tr>");

for (iColumnsLoop=1; iColumnsLoop<=iColumns; iColumnsLoop++) {

if ( aCalendarDays[ (iRowsLoop-1)*7 + iColumnsLoop ] > 0) {
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\"><a href=\"javascript:;\" onclick=\"javascript:calendarioT('"+campo+"','"+calendarioGM(aCalendarDays[(iRowsLoop-1)*7 + iColumnsLoop])+"/"+calendarioGM(mese)+"/"+anno+"');\"><div>" + aCalendarDays[(iRowsLoop-1)*7 + iColumnsLoop] + "</div></span></td>");
}
else {
output=output+("<td style=\"text-align:center; border:1px solid "+calendario_color_border+";\">&nbsp;</td>");
}

}

output=output+("</tr>");

}

output=output+("<tr>");

output=output+("<td align=\"right\" colspan=\"7\" style=\"text-align:right; border:1px solid "+calendario_color_border+";\"><a href=\"javascript:;\" onclick=\"javascript:calendarioH('"+campo+"_c');\"><b>X</b></a></td>");

output=output+("</tr>");

output=output+("</table>");

document.getElementById(campo+'_c').innerHTML=output;

}
