function AgenCal()
{
var SemanasAntes=3;
var SemanasDespues=6;
var SemIni;
var SemFin;
var fechaAct=new Date(anioActual,mesActual,1);
var IniciaAct=fechaAct.getDay()-1;
if(IniciaAct<0)IniciaAct+=7;
var diasXmesAct=numDiasMeses[mesActual];
if(mesActual==1){if(anioActual%4==0)diasXmesAct=29;}
var NumSemanasAct=parseInt((IniciaAct+diasXmesAct)/7);
if((IniciaAct+diasXmesAct)%7!=0)NumSemanasAct++;
var SemanaAct=parseInt((IniciaAct+diaMesAct)/7);
if((IniciaAct+diaMesAct)%7==0)SemanaAct--;
var fechaAnt=new Date(anioActual,mesActual-1,1);
var mesAnt=fechaAnt.getMonth();
var anioAnt=fechaAnt.getFullYear();
var IniciaAnt=fechaAnt.getDay()-1;
if(IniciaAnt<0)IniciaAnt+=7;
var diasXmesAnt=numDiasMeses[mesAnt];
if(mesAnt==1){if(anioAnt%4==0)diasXmesAnt=29;}
var NumSemanasAnt=parseInt((IniciaAnt+diasXmesAnt)/7);
if((IniciaAnt+diasXmesAnt)%7!=0)NumSemanasAnt++;
var fechaPost=new Date(anioActual,mesActual+1,1);
var mesPost=fechaPost.getMonth();
var anioPost=fechaPost.getFullYear();
var IniciaPost=fechaPost.getDay()-1;
if(IniciaPost<0)IniciaPost+=7;
var diasXmesPost=numDiasMeses[mesPost];
if(mesPost==1){if(anioPost%4==0)diasXmesPost=29;}
var NumSemanasPost=parseInt((IniciaPost+diasXmesPost)/7);
if((IniciaPost+diasXmesPost)%7!=0)NumSemanasPost++;
CabDias(0);
if(SemanaAct<SemanasAntes){
SemIni=NumSemanasAnt-(SemanasAntes-SemanaAct);
SemFin=0;
Calen(mesAnt,anioAnt,SemIni,SemFin,false,false,0);
}
if(SemanaAct<=SemanasAntes){SemIni=0;}
if(SemanaAct>SemanasAntes){SemIni=SemanaAct-SemanasAntes;}
var topeFin=SemanaAct+SemanasDespues;
if(topeFin<NumSemanasAct){
var Faltan=0;
SemFin=NumSemanasAct-(SemanaAct+SemanasDespues+1);
}
if(topeFin>=NumSemanasAct){
Faltan=(SemanaAct+SemanasDespues+1)-NumSemanasAct;
SemFin=0;
}
Calen(mesActual,anioActual,SemIni,SemFin,false,true,0);
if(Faltan>0){
SemIni=0;
if(Faltan>=NumSemanasPost){SemFin=0;}
else{SemFin=NumSemanasPost-Faltan;}
Calen(mesPost,anioPost,SemIni,SemFin,false,false,0);
}
}