function actualizarcombossinanyo(date, month){

	var dia_antiguo=(date.selectedIndex+1);
	
	date.options[30]=null;
	date.options[29]=null;
	date.options[28]=null;


	for (i=1; getDays(month.selectedIndex, 2003) >= i; i++) {
		j = i;
		if (i < 10)
			j = "0" + j;
		var option = new Option(j, j);
		date.options[i-1]=option;
		if (i == dia_antiguo) {
			date.options[i-1].selected=true;
		}
	}

}


function inicializarcombossinanyo(auxdia, auxmes, date, month) {
	
	for (i=1; getDays(auxmes, 2003) >= i; i++) {
		j = i;
		if (j < 10)
			j = "0" + j;
		var option = new Option(j, j);
		date.options[i-1]=option;
		if (i == auxdia) {
			date.options[i-1].selected=true;
		}
	}
	month.selectedIndex=auxmes;
}

function actualizar_combo(date, month, year){

	var dia_antiguo=(date.selectedIndex+1);
	
	date.options[30]=null;
	date.options[29]=null;
	date.options[28]=null;

	for (i=1; getDays(month.selectedIndex, year.options[year.selectedIndex].value) >= i; i++) {
		j = i;
		if (i < 10)
			j = "0" + j;
		var option = new Option(j, j);
		date.options[i-1]=option;
		if (i == dia_antiguo) {
			date.options[i-1].selected=true;
		}
	}
}


function inicializar_combos(hoy, date, month, year, minano, maxano) {
	var auxano = hoy.getFullYear();
	var auxmes = hoy.getMonth();
	var nombremes = getMonthName(month);
	var auxdia = hoy.getDate();

	hoy = null;
	//alert(auxdia);
	for (i=1; getDays(auxmes, auxano) >= i; i++) {
		j = i;
		if (j < 10)
			j = "0" + j;
		var option = new Option(j, j);
		date.options[i-1]=option;
		if (i == auxdia) {
			date.options[i-1].selected=true;
		}
	}
	month.selectedIndex=auxmes;
	for (j=minano; maxano >= j; j++) {
		var option2 = new Option(j, j);
		year.options[j-minano]=option2;
		if (j == auxano) {
			year.options[j-minano].selected=true;
		}
	}
}


<!--

// Copyright 1996 - Tomer and Yehuda Shiran
// This example will appear in our forthcoming book on JavaScript.
// Feel free to "steal" this code provided that you leave this notice as is.
// Additional examples from the book can be found at http://www.geocities.com/SiliconValley/9000/
// For more information contact Tomer or Yehuda Shiran <yshiran@iil.intel.com>

//setCal()

function getTime() {
	// initialize time-related variables with current time settings
	var now = new Date()
	var hour = now.getHours()
	var minute = now.getMinutes()
	now = null
	var ampm = "" 

	// validate hour values	and set value of ampm
	if (hour >= 12) {
		hour -= 12
		ampm = "PM"
	} else
		ampm = "AM"
	hour = (hour == 0) ? 12 : hour

	// add zero digit to a one digit minute
	if (minute < 10)
		minute = "0" + minute // do not parse this number!

	// return time string
	return hour + ":" + minute + " " + ampm
}

function LeapYear(intYear) {
if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
}
else {
	if ((intYear % 4) == 0) { return true; }
}
return false;
}

function getDays(month, year) {
	// create array to hold number of days in each month
	var ar = new Array(12)
	ar[0] = 31 // January
	ar[1] = (LeapYear(year)) ? 29 : 28 // February
	ar[2] = 31 // March
	ar[3] = 30 // April
	ar[4] = 31 // May
	ar[5] = 30 // June
	ar[6] = 31 // July
	ar[7] = 31 // August
	ar[8] = 30 // September
	ar[9] = 31 // October
	ar[10] = 30 // November
	ar[11] = 31 // December

	// return number of days in the specified month (parameter)
	return ar[month]
}

function getMonthName(month) {
	// create array to hold name of each month
	var ar = new Array(12)
	ar[0] = "January"
	ar[1] = "February"
	ar[2] = "March"
	ar[3] = "April"
	ar[4] = "May"
	ar[5] = "June"
	ar[6] = "July"
	ar[7] = "August"
	ar[8] = "September"
	ar[9] = "October"
	ar[10] = "November"
	ar[11] = "December"

	// return name of specified month (parameter)
	return ar[month]
}

function setCal() {
	// standard time attributes
	var now = new Date()
	var year = now.getYear()
	var month = now.getMonth()
	var monthName = getMonthName(month)
	var date = now.getDate()
	now = null

	// create instance of first day of month, and extract the day on which it occurs
	var firstDayInstance = new Date(year, month, 1)
	var firstDay = firstDayInstance.getDay()
	firstDayInstance = null

	// number of days in current month
	var days = getDays(month, year)

	// call function to draw calendar
	drawCal(firstDay + 1, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
	// constant table settings
	var headerHeight = 50 // height of the table's header cell
	var border = 2 // 3D height of table's border
	var cellspacing = 4 // width of table's border
	var headerColor = "midnightblue" // color of table's header
	var headerSize = "+3" // size of tables header font
	var colWidth = 60 // width of columns in table
	var dayCellHeight = 25 // height of cells containing days of the week
	var dayColor = "darkblue" // color of font representing week days
	var cellHeight = 40 // height of cells representing dates in the calendar
	var todayColor = "red" // color specifying today's date in the calendar
	var timeColor = "purple" // color of font representing current time

	// create basic table structure
	var text = "" // initialize accumulative variable to empty string
	text += '<CENTER>'
	text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing
+ '>' // table settings
	text += 	'<TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
	text += 		'<FONT COLOR="' + headerColor + '" SIZE='
+ headerSize + '>' // set font for table header
	text += 			monthName + ' ' + year 
	text += 		'</FONT>' // close table header's font settings
	text += 	'</TH>' // close header cell

	// variables to hold constant settings
	var openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight
+ '>'
	openCol += '<FONT COLOR="' + dayColor + '">'
	var closeCol = '</FONT></TD>'

	// create array of abbreviated day names
	var weekDay = new Array(7)
	weekDay[0] = "Sun"
	weekDay[1] = "Mon"
	weekDay[2] = "Tues"
	weekDay[3] = "Wed"
	weekDay[4] = "Thu"
	weekDay[5] = "Fri"
	weekDay[6] = "Sat"
	
	// create first row of table to set column width and specify week day
	text += '<TR ALIGN="center" VALIGN="center">'
	for (var dayNum = 0; dayNum < 7; ++dayNum) {
		text += openCol + weekDay[dayNum] + closeCol 
	}
	text += '</TR>'
	
	// declaration and initialization of two variables to help with tables
	var digit = 1
	var curCell = 1
	
	for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7);
++row) {
		text += '<TR ALIGN="right" VALIGN="top">'
		for (var col = 1; col <= 7; ++col) {
			if (digit > lastDate)
				break
			if (curCell < firstDay) {
				text += '<TD></TD>';
				curCell++
			} else {
				if (digit == date) { // current cell represent today's date
					text += '<TD HEIGHT=' + cellHeight
+ '>'
					text += '<FONT COLOR="' +
todayColor + '">'
					text += digit
					text += '</FONT><BR>'
					text += '<FONT COLOR="' +
timeColor + '" SIZE=2>'
					text += '<CENTER>' + getTime() +
'</CENTER>'
					text += '</FONT>'
					text += '</TD>'
				} else
					text += '<TD HEIGHT=' + cellHeight
+ '>' + digit + '</TD>'
				digit++
			}
		}
		text += '</TR>'
	}
	
	// close all basic table tags
	text += '</TABLE>'
	text += '</CENTER>'

	// print accumulative HTML string
	document.write(text) 
}



// -->


/*********************************************************************************/
/**************** COMPROBAR QUE UNA FECHA ES VALIDA ****************************/
function chkdate(intYear,intMonth,intday) {
var err = 0;

if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
	if (intday < 1) {
		err = 8;
		return false;
	}
	if (LeapYear(intYear) == true) {
		if (intday > 29) {
			err = 9;
			return false;
		}
	}
	else {
		if (intday > 28) {
			err = 10;
			return false;
		}
	}
}
return true;
}


function LeapYear(intYear) {
if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
}
else {
	if ((intYear % 4) == 0) { return true; }
}
return false;
}

// Pasandole como parametro (fecha) la fecha en formato yyyy-mm-dd lo visualiza en pantalla en formato
// dd/mm/yyyy
function FormatoFecha(fecha)
{
	if ((fecha=="null") || (fecha==""))
		document.write("-");
	else
	{
		var cadena = fecha.split('-');
		document.write(cadena[2] + '/' + cadena[1] + '/' + cadena[0]);
	}
}

// Pasandole como parametro (fecha) la fecha en formato ddmmyyyy lo visualiza en pantalla en formato
// dd/mm/yyyy
function FormatoFecha2(fecha)
{
	if ((fecha=="null") || (fecha==""))
		document.write("-");
	else
	{
		document.write(fecha.substring(0,2) + "/" + fecha.substring(2,4) + "/" + fecha.substring(4,8));
	}
}

