var dimMeses = ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
var dimDias=[31,0,31,30,31,30,31,31,30,31,30,31];
var weekDay = ["L","M","X","J","V","S","D"];
var dimEvents = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");

function leapYear(year) {
    if (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0)) return true; // is leap year
    return false;
}

function getDays(month, year) {
    dimDias[1] = (leapYear(year)) ? 29 : 28;
    return dimDias[month];
}

function getMonthName(month) {
    return dimMeses[month];
}


function setCal(mesCal, anyCal) {
    var now = new Date();
    var mesActual = false;
    if (mesCal==now.getMonth()) mesActual = true;
    now.setYear(anyCal);
    now.setMonth(mesCal);
    var year = now.getYear();
    if (year < 1000) year+=1900;
    var month = now.getMonth();
    var monthName = getMonthName ( month);
    var date = now.getDate();
    now = null

    var firstDayInstance = new Date(year, month, 1);
    var firstDay = firstDayInstance.getDay();
    firstDayInstance = null;
    var days = getDays(month, year);
    drawCal(firstDay, days, date, monthName, year,mesActual,month);
}

function drawCal(firstDay, lastDate, date, monthName, year, isActualMonth,month) {

    <!--text +=  "<div>"+monthName+" "+year+"</div>";-->
    var text = "<table cellspacing='0'>";
    <!-- pintamos la cabecera y el mes -->
    text += "<thead><tr>";
        text += "<td colspan='7' class='mes'>"+monthName+"-"+year+"</td>";
    text += "</tr></thead>";
        
    <!-- pintamos los dias de la semana -->
    text += "<tr>"
    for (var dayNum = 0; dayNum < 7; ++dayNum) {
        text += "<td class='diaSemana'><span>"+weekDay[dayNum]+"</span></td>";
    }
    text += "</tr>";
    <!-- pintamos los dias del mes -->
    var digit = 1;
    var curCell = 1;
    if (firstDay ==0) firstDay = 7;

    for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
        text += "<tr>";
        for (var col = 1; col <= 7; ++col) {
            if (digit > lastDate) {
                for (var index = col; index <=7; ++index) text += "<td>&nbsp;</td>";
                break;
            }
            if (curCell < firstDay) {
                text += '<td>&nbsp;</td>';
                curCell++
            } else {
                if (meses[month][digit]!=null) {
                    var cadena = ""+meses[month][digit]+"";
                    var valores = cadena.split("|");
                    text += "<td class='evento"+valores[0]+"'><span><a href='#' onClick=\"ficha('"+valores[1]+"');\">"+digit+"</a></span></td>";
                    <!--text += "<td class='evento"+valores[0]+"'><span><a href='Agenda?itemId="+valores[1]+"'>"+digit+"</a></span></td>";-->
                    <!--text += "<td class='evento"+meses[month][digit]+"'><span>"+digit+"</span></td>";-->
                } else if (digit == date && isActualMonth) {
                    text += "<td class='hoy'><span>"+digit+"</span></td>";
                } else if (col==7) {
                    text += "<td class='domingo'><span>"+digit+"</span></td>";
                } else {
                    text += "<td"+dimEvents[digit]+"><span>"+digit+"</span></td>";
                }
                digit++;
            }
        }
    text += "</tr>";
  }
 text += "</tr></table>";
 document.write(text);
}