function calendarCreate(div, obj, month, year)
{
/*
	name   : calendarCreate (originally named makeCalendar)
	date   : 21 Jan 00
	author : A. Gunther
	www    : http://home.earthlink.net/~redbird77
	email  : redbird77@earthlink.net
*/

	var nextMonth, prevMonth, nextYear, prevYear, curYear
	nextYear = year + 1;
	prevYear = year - 1;
	if (month==11) 
	{
		nextMonth = 0; curYear = year + 1;
	}
	else
	{
		nextMonth = month + 1; curYear = year;
	}
	if (month==0) 
	{
		prevMonth = 11; curYear = year - 1;
	}
	else
	{
		prevMonth = month - 1; curYear = year;
	}

	var now = new Date();

	var mnames = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre')

	var monthName, sCal
	var wrkDate, firstDay, curDate, dayPtr

	monthName = mnames[parseInt(month)]
	
	wrkDate = new Date(year, month, 1);

	dayPtr = 0

	curDate = 1

	//calendar links
	var prevLink = 'onclick="calendarUpdate(' + div.id + ',' + obj.id + ',' + prevMonth + ',' + curYear + ')" title="Mes anterior" ';
	var nextLink = 'onclick="calendarUpdate(' + div.id + ',' + obj.id + ',' + nextMonth + ',' + curYear + ')" title="Mes siguiente" ';
	var closeLink = 'onclick="calendarClose(' + div.id + ')" title="Cerrar calendario" ';
	var prevYLink = 'onclick="calendarUpdate(' + div.id + ',' + obj.id + ',' + month + ',' + prevYear + ')" title="Aņo anterior" ';
	var nextYLink = 'onclick="calendarUpdate(' + div.id + ',' + obj.id + ',' + month + ',' + nextYear + ')" title="Aņo siguiente" ';

	//calendar styles
	var calendarBox ="width:100%; border-width:1px; border-color:blue; border-style:solid"
	var calendarHeader ="font-family:Arial;font-size:9pt;background-color:#CCCCFF"
	var calendarDays ="font-weight:bold;font-family:Arial;font-size:9pt;background-color:yellow; text-align:center"
	var calendarBody ="font-family:Arial;font-size:9pt;background-color:white; text-align:center"
	var calendarLink ="color:blue;cursor:pointer"

	//print calendar controls
	sCal = ''
	sCal += '<table border="0" width="100%" cellspacing="0">'
	sCal += '<tr style="' + calendarHeader + '" height="18px">'
	sCal += '	<th width="80%" valign="center" align="center">'
	sCal += '	<span style="' + calendarLink + '" ' + prevYLink + '><<<\/span>&nbsp;&nbsp;'
	sCal += '	<span style="' + calendarLink + '" ' + prevLink + '><<\/span>&nbsp;&nbsp;'
	sCal += 	monthName + ' ' + year + '&nbsp;&nbsp;'
	sCal += '	<span style="' + calendarLink + '" ' + nextLink + '>><\/span>&nbsp;&nbsp;'
	sCal += '	<span style="' + calendarLink + '" ' + nextYLink + '>>><\/span>'
	sCal += '	<\/th>'
	sCal += '	<th align="center"><span style="' + calendarLink + '" ' + closeLink + '>[cerrar]<\/span><\/th>'
	sCal += '<\/tr>'
	sCal += '<\/table>'
	
	firstDay = wrkDate.getDay()

	//print calendar day names
	sCal += '<table border="0" width="100%" cellspacing="2" bgcolor="#CCCCFF">'
	sCal += '<tr style="' + calendarDays + '">'
	sCal += '	<td width="14%">Dom<\/td>'
	sCal += '	<td width="14%">Lun<\/td>'
	sCal += '	<td width="14%">Mar<\/td>'
	sCal += '	<td width="14%">Mie<\/td>'
	sCal += '	<td width="14%">Jue<\/td>'
	sCal += '	<td width="14%">Vie<\/td>'
	sCal += '	<td width="14%">Sab<\/td>'
	sCal += '<\/tr>'

	//print calendar body
	sCal += '<tr style="' + calendarBody + '">'

	for (var i = 0; i < firstDay; i++)
	{
		sCal += '<td>&nbsp;<\/td>'
		dayPtr++
	}

	var lastDay = 0;
	while (wrkDate.getMonth() == month)
	{
		if (!(dayPtr++ % 7)) sCal += '<\/tr>' + '<tr style="' + calendarBody + '">'
		
		if (now.getDate()==curDate)
			sCal += '<td style=background-color:lightblue;border-width:1px;border-style:solid;border-color:blue>'
		else
			sCal += '<td>'
		
		var sDate = "'" + curDate + "-" + (month+1) + "-" + year + "'";
		sCal += '<a href="#" onclick="calendarSetDate(' + div.id + ',' + obj.id + ', ' + sDate + '); return false;">' + curDate + '</a><\/td>'
		lastDay = wrkDate.getDay();
		wrkDate.setDate(++curDate)
	}

	while (lastDay < 7)
	{
		if (!(dayPtr++ % 7)) 
			sCal += '<\/tr>' ;
		else
			sCal += '<td>&nbsp;<\/td>';
		lastDay++;
	}

	sCal += '<\/table>'
	return sCal
}

function calendarClose(div)
{
	div.style.display = "none";
}

function calendarSetDate(div, obj, sdate)
{
	div.style.display = "none";
	obj.value = sdate;
}

function calendarShow(divObj, inputObj)
{
	var now = new Date();
	var s = calendarCreate(divObj, inputObj, now.getMonth(), now.getFullYear());
	divObj.innerHTML = s;
	divObj.style.display='';
}

function calendarUpdate(divObj, inputObj, m, y)
{
	var s = calendarCreate(divObj, inputObj, m, y);
	divObj.innerHTML = s;
	divObj.style.display='';
}
