fullMonth = ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
today = new Date();
curntDate = today;
setUp();

function setUp() {
	firstDate = new Date(curntDate.getFullYear(),curntDate.getMonth(),1);
	lastMonth = new Date(curntDate.getFullYear(),curntDate.getMonth()-1,1);
	nextMonth = new Date(curntDate.getFullYear(),curntDate.getMonth()+1,1);
	offSet   = firstDate.getDay() + 1;
	lastSlot = offSet + ((nextMonth - firstDate)/(3600*24*1000)) - 1;
	lastSlot = Math.round(lastSlot);
	calWeeks = Math.ceil(lastSlot/7);
	calDays  = calWeeks * 7;
	day = 1;
	
	tm = today.getMonth()+1;
	ty = today.getYear();
	if (ty<1900) {ty+=1900};
}

function goLast() {
	curntDate = lastMonth;
	setUp();
	printCalendar();
}

function goNext() {
	curntDate = nextMonth;
	setUp();
	printCalendar();
}

function printCalendar() {
cM = curntDate.getMonth()+1;
cY = curntDate.getYear();
if (cY<1900) {cY+=1900};
eM = tm-1;
if (eM<1) {eM=12};
eY = ty+2;

pCal="";
pCal += "<table border=0 cellpadding=0 cellspacing=1 style='background-color:#ffffff'>";

if ((cM==tm) && (cY==ty)) {
	pCal += "<tr align=center><td class=chead></td>";
	}else{
	pCal += "<tr align=center><td class=chead><a href='javascript:goLast()'>&lt;</a></td>";
	}

pCal += "<td class=chead colspan=5>" + fullMonth[curntDate.getMonth()] + " " + curntDate.getFullYear() +"</td>";

if ((cM==eM) && (cY==eY)) {
	pCal += "<td class=chead></td></tr>";
	}else{
	pCal += "<td class=chead><a href='javascript:goNext()'>&gt;</a></td></tr>";
	}

pCal += "<tr align=center><td class=cday>Dom</td><td class=cday>Lun</td><td class=cday>Mar</td><td class=cday>Mié</td><td class=cday>Jue</td><td class=cday>Vie</td><td class=cday>Sáb</td></tr><tr align=center>";

	for (i=1; i<=calDays; i++) {
	if (i >= offSet && i <= lastSlot) {
		if (curntDate.getFullYear() > today.getFullYear() || (curntDate.getFullYear()==today.getFullYear() && curntDate.getMonth() > today.getMonth()) || (curntDate.getFullYear()==today.getFullYear() && curntDate.getMonth()==today.getMonth() && day >= today.getDate())){
			pCal += "<td class=cdate align=center><a href='javascript:return_date(" + day + ")'>" + day + "</a></td>";
		}else{
			pCal += "<td class=nondate align=center>" + day + "</td>";
		}
		day++;
	} else {
		pCal += "<td class=noday></td>";
	}

	if (i%7 == 0) {
		pCal += "</tr>";
		}
	}
	
pCal += "</tr></table>";

if (document.all)
showCalendar.innerHTML=pCal
else if (document.getElementById)
document.getElementById("showCalendar").innerHTML=pCal
}


function return_date(z) {
	// redo month and year selection
	newMY = ""+cM+","+cY;
	for(i=0; i<24; i++) {
		check = document.bookingForm.arrivalMonthYear.options[i].value;
		if (check==newMY) {
			document.bookingForm.arrivalMonthYear.selectedIndex = i;
		}
	}
	
	// redo dates
    maxDays = daysInMonth(cM,cY);
    document.bookingForm.arrivalDate.length=0;
    for(i=1; i<=maxDays; i++) {
        document.bookingForm.arrivalDate.options[i-1] = new Option(i,i);
    }
    
    // select right date
	document.bookingForm.arrivalDate.selectedIndex = z-1;
}












