var mesesCorto=new Array('ene','feb','mar','abr','may','jun','jul','ago','sep','oct','nov','dic');
var diasSemanaCorto=new Array('dom','lun','mar','mie','jue','vie','sab');

function diasEnMes(smes,sanho) {
    var d=0;
    var mes=parseInt(smes);
    var anho=parseInt(sanho);
    switch(mes) {
        case 1:
            d=31;
            break
        case 2:
            d=28;
            break
        case 3:
            d=31;
            break
        case 4:
            d=30;
            break
        case 5:
            d=31;
            break
        case 6:
            d=30;
            break
        case 7:
            d=31;
            break
        case 8:
            d=31;
            break
        case 9:
            d=30;
            break
        case 10:
            d=31;
            break
        case 11:
            d=30;
            break
        case 12:
            d=31;
            break
    }
    if(mes==2 && anho % 4==0 && anho % 100!=0) {
        d=29;
    }
    return(d);
}

function reloadDias(sMeses,sDias) {
    //
    var ma=sMeses.options[sMeses.selectedIndex].value;
    var m=ma.substr(0,ma.indexOf("-"));
    var a=ma.substr(ma.indexOf("-")+1);
    //
    var diames=1;
    var hoy=new Date();
    if(hoy.getMonth()==m-1) {
        diames=hoy.getDate();
    }
    privateCargaDias(diames,m,a,sMeses,sDias);
}

function privateCargaDias(diames,m,a,sMeses,sDias) {
    var hoy=new Date();
    for(i=sDias.options.length-1;i>=0;i--) {
        sDias.options[i]=null;
    }
    for(i=diames;i<=diasEnMes(m,a);i++) {
        var dt=new Date(a,m-1,i);
        var diasemana=dt.getDay();
        var opt=new Option(diasSemanaCorto[diasemana]+" "+i,i);
        if(i==hoy.getDate()) {
            opt.selected=true;
        }
        sDias.options[sDias.options.length]=opt;
        diasemana++;
        if(diasemana==7) {
            diasemana=0;
        }
    }
}

function muestraCalendarioActual() {
    var ma=document.getElementById('mes').options[document.getElementById('mes').selectedIndex].value;
    muestraCalendario(ma);
}
    
function muestraCalendario(ma) {
    var m=ma.substr(0,ma.indexOf("-"));
    var a=ma.substr(ma.indexOf("-")+1);
    document.getElementById('calendario_mes_'+ma).style.top='400px';
    document.getElementById('calendario_mes_'+ma).style.left='400px';
    document.getElementById('calendario_mes_'+ma).style.visibility='visible';
    // y el siguiente
    m++;
    if(m==13) {
        m=1;
        a++;
    }
    ma=m+"-"+a;
    document.getElementById('calendario_mes_'+ma).style.top='400px';
    document.getElementById('calendario_mes_'+ma).style.left='650px';
    document.getElementById('calendario_mes_'+ma).style.visibility='visible';
    document.getElementById('selectCategorias').style.visibility='hidden';
}

function ocultaCalendario(mes,anho) {
    document.getElementById("calendario_mes_"+mes+"-"+anho).style.visibility='hidden';
    document.getElementById('selectCategorias').style.visibility='visible';
}

function seleccionaDiaCalendario(dia,ms,anho) {
    privateCargaDias(dia,ms,anho,document.getElementById('mes'),document.getElementById('dia'));
    ops=document.getElementById('mes').options;
    for(i=0;i<ops.length;i++) {
        if(ops[i].value==ms+'-'+anho) {
            document.getElementById('mes').selectedIndex=i;
        }
    }
    ops=document.getElementById('dia').options;
    for(i=0;i<ops.length;i++) {
        if(ops[i].value==dia) {
            document.getElementById('dia').selectedIndex=i;
        }
    }
}
