

	cal_days_labels = ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'];
	cal_months_labels = ['Enero', 'Febrero', 'Marzo', 'Abril',
                     	 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre',
                     	 'Octubre', 'Noviembre', 'Diciembre'];
	cal_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	cal_current_date = new Date(); 

	function Calendar (month, year) {
  		this.month = (isNaN(month) || month == null) ? cal_current_date.getMonth() : month;
  		this.year  = (isNaN(year) || year == null) ? cal_current_date.getFullYear() : year;
  		this.html = '';
	}

	Calendar.prototype.generateHTML = function () {
		var firstDay = new Date(this.year, this.month, 1);
  		var startingDay = firstDay.getDay();
  		var monthLength = cal_days_in_month[this.month];
  		if (this.month == 1) { // February only!
    		if((this.year % 4 == 0 && this.year % 100 != 0) || this.year % 400 == 0){
      			monthLength = 29;
    		}
  		}
  
  		var monthName = cal_months_labels[this.month]
  		var html = '<table class="calendario">';
		html += '<tr><th colspan=2 class="pequeno"><a onclick="javascript:cal = cambioMes(-1,cal.month,cal.year); dias = dameExperienciasMes (cal.month+1,cal.year);"><< Anterior</a></th>'
  		html += '<th height="30" align="center" colspan="3">';
  		html +=  monthName + "&nbsp;" + this.year;
		html += '</th><th colspan=2 class="pequeno"><a onclick="javascript:cal = cambioMes(1,cal.month,cal.year); dias = dameExperienciasMes (cal.month+1,cal.year);">Siguiente >></a>';
  		html += '</th></tr>';
  		html += '<tr class="calendar-header">';
  		for(var i = 0; i <= 6; i++ ){
    		html += '<td class="cabecera-dia">';
    		html += cal_days_labels[i];
    		html += '</td>';
  		}
  		html += '</tr><tr>';

  		var day = 1;
  		for (var i = 0; i < 9; i++) {
			for (var j = 0; j <= 6; j++) { 
      			if (day <= monthLength && (i > 0 || j >= startingDay)) {
      				html += '<td class="dia-sin" name=d"' + day + '" id="d' + day + '" onmouseover="selecciona(1,' + day + ')" onmouseout="selecciona(0,' + day + ')" onclick="detalleDia (' + day + ')">';					
        			html += day;
					html += '<input type="hidden" name="p' + day + '" id="p' + day + '" value="0">';
        			day++;
      			} else { html += '<td>'; }
      			html += '</td>';
    		}
    		if (day > monthLength) {
      			break;
    		} else {
      			html += '</tr><tr>';
    		}
  		}
  		html += '</tr></table>';
  		this.html = html;
	}

	Calendar.prototype.getHTML = function() {
  		return this.html;
	}


