

if (document.layers){navigator.family="nn4"}
if (document.all){navigator.family="ie4"}
if (window.navigator.userAgent.toLowerCase().match("gecko")){navigator.family = "gecko"}
ver="0";

function ocultar(){
if (ver == "0") {
	if(navigator.family =="nn4") {document.vensob.left=-500;}
	else if(navigator.family =="ie4"){vensob.style.pixelLeft=-500;}
	else if(navigator.family =="gecko") {document.getElementById("vensob").style.left=-500;}
}
}
var isNav = (navigator.appName.indexOf("Netscape")!=-1);
function handlerMM(e){
x = (isNav) ? e.pageX : event.clientX + document.body.scrollLeft;
y = (isNav) ? e.pageY : event.clientY + document.body.scrollTop;
}

if (isNav){document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove = handlerMM;



var fHoy=new Date();
var fCalculo=new Date();
var fInicio=new Date();
var fdiaInicio;
var fdiasMes;
var fmes;
var fcalendario;
var fformulario;
var fcuadrodia;
var fcuadromes;
var fcuadroano;
var fx=-1;
var fy=-1;

function mostrarCalendario(){
	var diaActual=1;
	var diaSemana=1;
	var inicio=true;
	var cuerpo=false;
	var desc="<table width='175' border='0' cellspacing='0' cellpadding='0'><tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'>"
    	+"<tr><td width='10'><a href='javascript:mostrarMesMenos();' class='caltr'>&lt;</a></td><td width='60' class='caltr'>"+fmes+"</td><td width='10'><a href='javascript:mostrarMesMas();' class='caltr'>&gt;</a></td>" 
        +"<td width='35'></td><td width='10'><a href='javascript:mostrarAnoMenos();' class='caltr'>&lt;</a></td><td width='40' class='caltr'>"
        +fCalculo.getFullYear()+"</td><td width='10'><a href='javascript:mostrarAnoMas();' class='caltr'>&gt;</a></td></tr></table></td></tr>"
        +"<tr><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td class='caltds'>Lu</td>"
        +"<td class='caltds'>Ma</td><td class='caltds'>Mi</td><td class='caltds'>Ju</td><td class='caltds'>Vi</td><td class='caltds'>Sa</td><td class='caltds'>Do</td></tr>";
	for(i=0;i<=5;++i){
		desc=desc+"<tr align='center'>"; 
		for(j=0;j<=6;++j){
			fecha=diaActual+"/"+(fCalculo.getMonth()+1)+"/"+fCalculo.getFullYear();
			if(inicio==true && fdiaInicio==diaSemana){
				inicio=false;
				cuerpo=true;					
			}
			if(cuerpo){
				if(diaSemana==0){
					if(fCalculo.getFullYear()==fHoy.getFullYear() && fCalculo.getMonth()==fHoy.getMonth() && diaActual==fHoy.getDate()){ 
						if(fInicio.getFullYear()==fCalculo.getFullYear() && fInicio.getMonth()==fCalculo.getMonth() && fInicio.getDate()==diaActual){ 
							desc=desc+"<td width='25' bgcolor='#FFFFCC'><a href=\"javascript:salir('"+fecha+"');\" class='calth'>"+diaActual+"</a></td>";
						}
						else{
							desc=desc+"<td width='25'><a href=\"javascript:salir('"+fecha+"');\" class='calth'>"+diaActual+"</a></td>";
						}
					}
					else{ //dia actual
						if(fInicio.getFullYear()==fCalculo.getFullYear() && fInicio.getMonth()==fCalculo.getMonth() && fInicio.getDate()==diaActual){
							desc=desc+"<td width='25' bgcolor='#FFFFCC'><a href=\"javascript:salir('"+fecha+"');\" class='caltd'>"+diaActual+"</a></td>";
						}
						else{
							desc=desc+"<td width='25'><a href=\"javascript:salir('"+fecha+"');\" class='caltd'>"+diaActual+"</a></td>";
						}
					}				}
				else{ 
					if(fCalculo.getFullYear()==fHoy.getFullYear() && fCalculo.getMonth()==fHoy.getMonth() && diaActual==fHoy.getDate()){ 
						if(fInicio.getFullYear()==fCalculo.getFullYear() && fInicio.getMonth()==fCalculo.getMonth() && fInicio.getDate()==diaActual){
							desc=desc+"<td width='25' bgcolor='#FFFFCC'><a href=\"javascript:salir('"+fecha+"');\" class='calth'>"+diaActual+"</a></td>";
						}
						else{
							desc=desc+"<td width='25'><a href=\"javascript:salir('"+fecha+"');\" class='calth'>"+diaActual+"</a></td>";
						}
					}
					else{
						if(fInicio.getFullYear()==fCalculo.getFullYear() && fInicio.getMonth()==fCalculo.getMonth() && fInicio.getDate()==diaActual){
							desc=desc+"<td width='25' bgcolor='#FFFFCC'><a href=\"javascript:salir('"+fecha+"');\" class='caltn'>"+diaActual+"</a></td>";
						}
						else{
							desc=desc+"<td width='25'><a href=\"javascript:salir('"+fecha+"');\" class='caltn'>"+diaActual+"</a></td>";
						}
					}
				}
				if(diaActual>=fdiasMes){
					cuerpo=false;
				}
				else{
					diaActual=diaActual+1;
				}
			}
			else{
				desc=desc+"<td width='25'>&nbsp;</td>";
			}
			if(diaSemana==6){
				diaSemana=0;
			}
			else{
				diaSemana=diaSemana+1;	
			}
		}
		desc=desc+"</tr>";
	}
	desc=desc+"</table></td></tr></table>";
	return desc;
}
function diasMes(mes,ano){
	if((ano % 4)==0){
		if((ano % 100)==0 && (ano % 400)!= 0)
			return anonb[mes];
		return anob[mes];
	}
	else{
		return anonb[mes];
	}
}
function mostrar(fecha){
	//nombre meses
	meses=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
	//tamaņo de los meses segun aņo bisiesto o no
	anonb=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	anob=[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	//calculo de fecha dia, mes y aņo
	i=fecha.search('/');
	dia=fecha.substring(0,i);
	fecha=fecha.substr(i+1);
	i=fecha.search('/');
	mes=fecha.substring(0,i)-1;
	ano=fecha.substr(i+1);
	//fCalculo.setDate(dia);
	fCalculo.setDate(1);
	fCalculo.setMonth(mes);
	fCalculo.setFullYear(ano);
	fdiaInicio=fCalculo.getDay();
	fCalculo.setDate(dia);
	//calculo de dias del mes
	fdiasMes=diasMes(mes,ano);
	if(fdiasMes<dia){
		dia=fdiasMes;
	}
	//nombre del mes
	fmes=meses[mes];
	fcalendario=mostrarCalendario();
	if(navigator.family=="nn4"){
		document.vensob.document.write(fcalendario);
		document.vensob.document.close();
		if(fx<0){
			fx=document.vensob.left=x+15;
			fy=document.vensob.top=y-5;
		}
		else{
			document.vensob.left=fx;
			document.vensob.top=fy;
		}
	}
	else if(navigator.family=="ie4"){
		vensob.innerHTML=fcalendario;

		if(fx<0){
			fx=vensob.style.pixelLeft=x+15;
			fy=vensob.style.pixelTop=y-5;
		}
		else{
			vensob.style.pixelLeft=fx;
			vensob.style.pixelTop=fy;
		}
	}
	else if(navigator.family=="gecko"){
		document.getElementById("vensob").innerHTML=fcalendario;
		if(fx<0){
			fx=document.getElementById("vensob").style.left=x+15;
			fy=document.getElementById("vensob").style.top=y-5;
		}
		else{
			document.getElementById("vensob").style.left=fx;
			document.getElementById("vensob").style.top=fy;
		}
	}
}
function mostrarMesMenos(){
	if(fCalculo.getMonth()<=0){
		ano=fCalculo.getFullYear()-1;
		mes=12;
	}
	else{
		ano=fCalculo.getFullYear();
		mes=fCalculo.getMonth();
	}
	mostrar(fCalculo.getDate()+"/"+mes+"/"+ano);
}
function mostrarMesMas(){
	if(fCalculo.getMonth()>10){
		ano=fCalculo.getFullYear()+1;
		mes=1;
	}
	else{
		ano=fCalculo.getFullYear();
		mes=fCalculo.getMonth()+2;
	}
	mostrar(fCalculo.getDate()+"/"+mes+"/"+ano);
}
function mostrarAnoMenos(){
	mostrar(fCalculo.getDate()+"/"+(fCalculo.getMonth()+1)+"/"+(fCalculo.getFullYear()-1));
}
function mostrarAnoMas(){
	mostrar(fCalculo.getDate()+"/"+(fCalculo.getMonth()+1)+"/"+(fCalculo.getFullYear()+1));
}
function mostrarHoy(){
	salir(fHoy.getDate()+"/"+(fHoy.getMonth()+1)+"/"+fHoy.getFullYear());
}
function salir(fecha){
	fechatem=fecha;
	i=fechatem.search('/');
	dia=fechatem.substring(0,i);
	fechatem=fechatem.substr(i+1);
	i=fechatem.search('/');
	mes=fechatem.substring(0,i);
	ano=fechatem.substr(i+1);
	
	eval("document."+fformulario+"."+fcuadrodia+".value='"+dia+"'");
	eval("document."+fformulario+"."+fcuadromes+".value='"+mes+"'");
	eval("document."+fformulario+"."+fcuadroano+".value='"+ano+"'");
	ver=0;
	ocultar();
}
function verCalendario(fecha,formulario,edia, emes, eano){
	
	fechatem=fecha;
	i=fechatem.search('/');
	dia=fechatem.substring(0,i);
	fechatem=fechatem.substr(i+1);
	i=fechatem.search('/');
	mes=fechatem.substring(0,i)-1;
	ano=fechatem.substr(i+1);
	fInicio.setDate(dia);
	fInicio.setMonth(mes);
	fInicio.setFullYear(ano);
	fformulario=formulario;
	fcuadrodia=edia;
	fcuadromes=emes;
	fcuadroano=eano;
	mostrar(fecha);
}
