// JavaScript Document

function esBisiesto(ano)
{
return ((ano%4==0 && ano%100!=0)||(ano%400==0)?true:false);
}

function llenarDias(ano, mes, dia)
{
var valMes, valAno, indiceCbo, i, n, cboAno, cboMes, cboDia, carMes;

cboDia=document.getElementById(dia);
cboMes=document.getElementById(mes);
cboAno=document.getElementById(ano);

//se eliminan todos los elementos del combo 'Día'
n=cboDia.options.length;
for (i=n-1; i>=0; i--)
{
cboDia.options[i] = null }

//se llena el combo 'Día' con valores del 1 al 28
for (i=1; i<=28; i++){
cboDia.options[i-1]=new Option (String(i),String(i)); }
//String() para convertir en cadena un número

//se obtiene el valor del mes
indiceCbo=cboMes.selectedIndex//índice de la opción seleccionada
valMes=parseInt(cboMes.options[indiceCbo].value) //parseInt() paraconvertir en número una cadena

//se obtiene el valor del año
indiceCbo=cboAno.selectedIndex //índice de la opción seleccionada
valAno=parseInt(cboAno.options[indiceCbo].value)

i=29
if (valMes==2) //si el mes es febrero
{
if (esBisiesto(valAno)) //si el año es biciesto
//se agrega 1 días más al combo 'Día' para que llegue a 29
cboDia.options[i-1]=new Option (String(i),String(i))
}
else if ((valMes%2==0||valMes>=8)&&(valMes%2!=0||valMes<=7 )) //si elmes es abril, junio, septiembre o noviembre
{
//se agregan 2 días más al combo 'Día' para que llegue a 30
for (i=29; i<=30; i++)
cboDia.options[i-1]=new Option (String(i),String(i))
}
else if ((valMes%2!=0&&valMes<8)||(valMes%2==0&&valMes>7)) //si elmes es enero, marzo, mayo, julio, agosto, octubre o diciembre
{
//se agregan 3 días más al combo 'Día' para que llegue a 31
for (i=29; i<=31; i++)
cboDia.options[i-1]=new Option (String(i),String(i))
}
}

