
/********************************************************************************************************/
var NS7=(document.getElementById && !document.all)?1:0;
var hoy = new Date();
var diaHoy = hoy.getDate();
var mesHoy = hoy.getMonth()+1;
var anoHoy = hoy.getYear();
if (anoHoy<1900) anoHoy+=1900;
var elDia = diaHoy;
var elMes = mesHoy;
var elAno = anoHoy;

var losMeses = new Array ("Enero","Febrero","Marzo","Abril","Mayo","Junio",
											"Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
var losMesesEn = new Array ("January","February","March","April","May","June",
											"July","August","September","October","November","Dicember");
											
var losDias = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
var losDiasDeLaSemana = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sabado");
var losDiasDeLaSemanaEn = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
var diasSemana  = new Array ('L','M','X','J','V','S','D');
var diasSemanaEn  = new Array ('Su','Mo','Tu','We','Th','Fr','Sa');


/**
 * Sirve para poder dar estilos a las capas en los descendientes de netscape
 */

function ReconoceCapas(capitas){//alert(capitas);
 var cadena="";
    if (NS7)  {
          cadena=capitas+"=document.getElementById('"+capitas+"')";
					eval (cadena);
    }
}


/**
 * Escribe el select de horas del formulario de búsqueda.
 */
function SelectHoras(){
	for (var i=0; i<23; i++)
	{
		var text = i;
		if (i < 10 )
		{
			text = '0'+i;														
		}
		document.write("<option value='"+text+"'>"+text+":00</option>");
	}
}

/**
 * Calcula las coordenadas para sacar el calendario
 */
function CalcularCoordenadas(tipoVuelo,mes,ano,Evento,dirimagenes)
 {
  
  if(document.all)
  { 
   PosX = window.event.clientX + document.documentElement.scrollLeft;
   PosY = window.event.clientY + document.documentElement.scrollTop;         
  }
  else
  {
   PosX = Evento.pageX;
   PosY = Evento.pageY;
  }
  
  PosY = PosY - 45;
  PosX = PosX + 15;

  mostrarCalendario(tipoVuelo,mes,ano,PosX,PosY,dirimagenes);
 } 

 function CalcularCoordenadasAux(Evento)
 {
 	var capa = document.getElementById('prueba');
 	var referencia = document.getElementById('actividades');

 	var targ;
	if (!Evento) var Evento = window.event;
	if (Evento.target) targ = Evento.target;
	else if (Evento.srcElement) targ = Evento.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;

	PosX = targ.pageX;
	PosY = targ.pageY;
	
	alert(PosX +" : "+ PosY);
		
	if(document.all)
	{ 
	   PosX = window.event.target.clientX + document.documentElement.scrollLeft;
	   PosY = window.event.target.clientY + document.documentElement.scrollTop;         
	}
	else
	{
	   PosX = Evento.srcElement.pageX;
	   PosY = Evento.srcElement.pageY;
	}
 	
 	capa.style.left = PosX+"px";
 	capa.style.top = PosY+"px";
 	
 	capa.style.visibility = 'visible';
 }
 
//---------------------------------------------------------------------------//
function colorear(dia,mes,ano,esDomingo,tratando)
{
	var hoy = new Date();

	if (tratando == 'salida'){
	  	var diaHoy = hoy.getDate();
	  	var mesHoy = hoy.getMonth()+1;
		var anoHoy = hoy.getYear();
	}
	else {
	     diasol = explode("-",document.formBusqueda.fsalida.value);
	     var diaHoy = diasol[0];
	     var mesHoy = diasol[1];
	     var anoHoy = diasol[2];
	}

	if (anoHoy<1900) anoHoy+=1900;
	var celdaDia;

	//HOY O FECHAS PSOTERIORES AL DIA DE HOY
	if ((ano>anoHoy) || ((ano==anoHoy) && (mes>mesHoy)) || ((ano==anoHoy) && (mes==mesHoy) && (dia>=diaHoy)))
	{
		if ((dia+"-"+mes+"-"+ano)==(diaHoy+"-"+mesHoy+"-"+anoHoy)) 
		{
		  	//SI ES EL DIA DE HOY --> FONDO AZUL LETRA BLANCA
		    celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#000066;color:#FFFFFF;font-weight:bold;cursor:pointer;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" onClick=\"marcar("+dia+","+mes+","+ano+");\" width:\"12px\" height:\"12px\">"+dia+"</td>";
		}
		else
		{
		    if (esDomingo)	//SI NO ES HOY Y ES DOMINGO --> FONDO BLANCO LETRA ROJA
		        celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#FFFFFF;color:#CC0000;cursor:pointer;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" onClick=\"marcar("+dia+","+mes+","+ano+");\" width:\"12px\" height:\"12px\">"+dia+"</td>";
			else	//SI NO ES HOY Y NO ES DOMINGO --> FONDO BLANCO LETRA NEGRA
				celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#FFFFFF;color:#000000;cursor:pointer;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" onClick=\"marcar("+dia+","+mes+","+ano+");\" width:\"12px\" height:\"12px\">"+dia+"</td>";
		}
	}
	else	//FECHAS PASADAS --> FONDO GRIS OSCURO LETRAS GRISES NO PERMETIR SELECCION
	{
		celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#aaaaaa;color:#888888;cursor:default;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" width:\"12px\" height:\"12px\">"+dia+"</td>";
	}
	return celdaDia;
}//colorear
//---------------------------------------------------------------------------//


//---------------------------------------------------------------------------//
function mostrarCalendario(tipoVuelo,mes,ano,posIz,posTop,dirimagenes){
   	if (tipoVuelo!=""){
		tratando = tipoVuelo;
   	}
	
	if(posIz!=""){
		calendario.style.left=posIz+"px";
	}
	if(posTop!=""){
		calendario.style.top=posTop+"px";
	}

	if (tipoVuelo=='salida'){

	}

	if (tipoVuelo=='regreso'){		
      	 	diasol = explode("-",document.formBusqueda.fsalida.value);
             	mes = diasol[1];
             	ano = diasol[2];
	}

	var tablaCalendario = "<table>";
	tablaCalendario+= "<tr><td >"+generarCalendario(mes,ano,tratando,dirimagenes)+"</td></tr></table>";
	var celda;

	calendario.innerHTML = tablaCalendario;
	abrirCalendario('calendario');

}//mostrarCalendario
//----------------------------------------------------------------------------------------------------//

/**
 * siguienteMes
 */
function siguienteMes(mes,ano){
	if (mes==12){
	    mes = 1;
	    ano++;
	}else{
	    mes++;
	}
	return mes+"-"+ano;
}//siguienteMes

/**
 * anteriorMes
 */
function anteriorMes(mes,ano){
	if (mes==1){
	    mes = 12;
	    ano--;
	}else{
	    mes--;
	}
	return mes+"-"+ano;
}//anteriorMes

/**
 * generarCalendario
 */
function generarCalendario(mes,ano,tratando,dirimagenes){
	var hoy = new Date();
    
	if (tratando == 'salida'){
   	 	var diaHoy = hoy.getDate();
 	  	var mesHoy = hoy.getMonth()+1;
	  	var anoHoy = hoy.getYear();
  	}
   	else {
		diasol = explode("-",document.formBusqueda.fsalida.value);
		var diaHoy = diasol[0];
		var mesHoy = diasol[1];
		var anoHoy = diasol[2];
    }
    
	if (anoHoy < 1900) anoHoy += 1900;
	
  	var dias=losDias[mes-1];
  	var i,j;
  	diaUno=calcularDia(1,mes,ano);
	var calendarioMes="";
       calendarioMes=calendarioMes+"<table border='0' cellpadding='0' cellspaccing='0' width=\"180px\" style=\"border:1px solid #000000;text-align:center;\"><tr style='height:10px;'>";
       var mesAnt = anteriorMes(mes,ano);
       mesAnt = explode("-",mesAnt);
       var mesSig = siguienteMes(mes,ano);
       mesSig = explode("-",mesSig);
       if ((mes==mesHoy) && (ano==anoHoy)) mesAnt="";
       else mesAnt = "onClick=\"mostrarCalendario('',"+mesAnt[0]+","+mesAnt[1]+",'','','"+dirimagenes+"')\"";
       // imagen mes antes.
       calendarioMes += "<td style=\"cursor: pointer;\" "+mesAnt+"><img src='"+dirimagenes+"izquierda.jpg' alt='<<' style=\"cursor:default;width:12px;height:12px;\"/></td>";
       if (idioma=="es")
  			calendarioMes= calendarioMes + "<td colspan='4' class=\"tfecha\" style=\"cursor:default;\" nowrap>"+losMeses[mes-1]+" "+ano+"</td>";
	   else
			calendarioMes= calendarioMes + "<td colspan='4' class=\"tfecha\" style=\"cursor:default;\" nowrap>"+losMesesEn[mes-1]+" "+ano+"</td>";
       calendarioMes+="<td width=\"12px\" height=\"12px\"><img src='"+dirimagenes+"/derecha.jpg' alt='Mes Siguiente' style=\"cursor:pointer;width:12px;height:12px;\" onClick=\"mostrarCalendario('',"+mesSig[0]+","+mesSig[1]+",'','','"+dirimagenes+"')\"/></td>";
    	calendarioMes+="<td><img src=\""+dirimagenes+"/cerrar2.jpg\" border=\"0\" style=\"cursor:pointer;width:12px;height:12px;\" onclick=\"cerrar('calendario');\" title=\"Cerrar calendario\"></td></tr>";
	//rellenamos la segunda fila con las primeras letras de cada dia L M X J V S D
	calendarioMes+="<tr style=\"background-image:url("+dirimagenes+"amarillo.gif);font-weight:bold;font-family: Verdana, Arial, Helvetica; font-size: 9px; height:10px;'\">";
	for (i=0;i<7;i++)
		if (idioma=="es")
			calendarioMes=calendarioMes+ "<td class='semana'  width=\"12px\" height=\"12px\" style=\"cursor:default;\">"+diasSemana[i]+"</td>";
		else
			calendarioMes=calendarioMes+ "<td class='semana'  width=\"12px\" height=\"12px\" style=\"cursor:default;\">"+diasSemanaEn[i]+"</td>";
	calendarioMes=calendarioMes+"</tr>";
  	calendarioMes+="<tr style='height:10px;'>";
  	//rellenamos hasta el primer dia de Mes a guiones
  	for (i=0;diasSemana[i]!=diaUno;i++)
  			calendarioMes=calendarioMes+"<td style=\"background-color:#aaaaaa;color:#666666;\"  width=\"12px\" height=\"12px\" style=\"cursor:default;\">-</td>";
  	dias_del_mes = losDias[mes-1];
  	if ((mes==2) && (ano % 4==0)) dias_del_mes++;  //es bisiesto
  	for (j=i,i=1;i<=dias_del_mes;){
		for (;j<7 && i<=dias_del_mes;j++,i++)
		if (j==6){
			calendarioMes+=colorear(i,mes,ano,1,tratando);
		}else
			calendarioMes+=colorear(i,mes,ano,0,tratando);
		if (j==7){
			calendarioMes+=("</tr><tr style='height:10px;'>");
			j=0;
		}//if (j==7)
	}//1º for
	if (j>0)
  	for (;j<7;j++)
  		calendarioMes+="<td style=\"background-color:#aaaaaa;color:#666666;\" width=\"12px\" height=\"12px\" style=\"cursor:default;\">-</td>";
  	calendarioMes+= "</tr></table>"
  	return calendarioMes;
}//dameCalendario


/**
 * calcularDia
 */
function calcularDia(dia,mes,ano){
	var dias=365*(ano-1);
	var i;
	var deSemana;
       for (i=0;i<(mes-1);i++)
		dias+=losDias[i];
  	dias+=dia-1;
  	dias+=(Math.floor((ano-1)/4));
  	if ((mes>2) && (((ano%4)==0)))
  		 dias++;
  	deSemana=dias % 7;
    if (idioma=="es"){
	  	if (deSemana==0) deSemana=6;
	  	else deSemana--;
  	}
   	return diasSemana[deSemana];
}//calcularDia

/**
 * explode
 */
function explode(elSeparador,laCadena){
	var elArray = new Array();
	var cadenita = "";
	for (var a=0,indice=0;a<laCadena.length;a++){
	    if (laCadena.charAt(a)==elSeparador){
	        elArray[indice] = cadenita;
	        indice++;
	        cadenita = "";
	    }else{
	        cadenita+=laCadena.charAt(a);
	    }
	}//for a
	elArray[indice] = cadenita;
	return elArray;
}//explode

/**
 * implode
 */
function implode(elSeparador,elArray){
	var cadena = elArray[0];
	for (var a=1;a<elArray.length;a++){
		cadena = cadena + elSeparador + elArray[a];
	}//for a
	return cadena;
}//implode

/**
 * abrirCalendario
 */
function abrirCalendario(laCapa){
	eval(laCapa+".style.visibility='visible'");
}//abrirCapa

/**
 * marcar la fecha del calendario
 */
function marcar(dia,mes,ano){
//	alert(dia+"-"+mes+"-"+ano);
	if ((elDia<10) && (elDia.toString().length)>1){
	    elDia = elDia.toString().substr(1,1);
	}

	elDia = dia;
	elMes = mes;
	elAno = ano;

	devolverFecha(dia,mes,ano);
}//marcar

/**
 * devolver fecha
 */
function devolverFecha(elDia,elMes,elAno){
	if (elDia<10){
		elDiaDespues = parseInt(elDia)+1;
		elDiaDespues = "0"+elDiaDespues;
		elMesDespues = elMes;
		elAnoDespues = elAno;
		elDia = "0"+elDia;
	}else{
		DiasMes = DevolverDiasMes(elMes);
		elDiaDespues = parseInt(elDia)+1;
		if(elDiaDespues > DiasMes){
			elDiaDespues = "01";
			elMesDespues = parseInt(elMes)+1;
			if(elMes == 12){
				elAnoDespues = parseInt(elAno)+1;
			}else{
				elAnoDespues = elAno;
			}
		}else{
			elMesDespues = elMes;
			elAnoDespues = elAno;
		}
	}

	//alert(elDiaDespues+' - '+elMesDespues+' - '+elAnoDespues);

	if (elMesDespues<10) elMesDespues = "0"+elMesDespues;
	if (elMes<10) elMes = "0"+elMes;
	if (tratando=='salida'){
	   
		document.formBusqueda.fsalida.value=elDia+"-"+elMes+"-"+elAno;
	      
		if (null != document.getElementById('fregreso'))
		{
			diasal = explode("-",document.formBusqueda.fsalida.value);
			diareg = explode("-",document.formBusqueda.fregreso.value);

			var diaHoy = diasal[0];
			var mesHoy = diasal[1];
			var anoHoy = diasal[2];
			var concsal = diasal[2]+diasal[1]+diasal[0];
			var diavue = diareg[0];
			var mesvue = diareg[1];
			var anovue = diareg[2];
			var concvue = diareg[2]+diareg[1]+diareg[0];
	      
			if (concsal >= concvue) {
				//document.formBusqueda.fregreso.value=elDia+"-"+elMes+"-"+elAno;
				document.formBusqueda.fregreso.value=elDiaDespues+"-"+elMesDespues+"-"+elAno;
			}
		}            
	}else{
		document.formBusqueda.fregreso.value = elDia+"-"+elMes+"-"+elAno
		//document.formBusqueda.fregreso.value = elDiaDespues+"-"+elMes+"-"+elAno
	}
	cerrarCapa('calendario');
}

function DevolverDiasMes(mes){

	if(mes == 1){
		dias = 31;
	}
	if(mes == 2){
		dias = 28;
	}
	if(mes == 3){
		dias = 31;
	}
	if(mes == 4){
		dias = 30;
	}
	if(mes == 5){
		dias = 31;
	}
	if(mes == 6){
		dias = 30;
	}
	if(mes == 7){
		dias = 31;
	}
	if(mes == 8){
		dias = 31;
	}
	if(mes == 9){
		dias = 30;
	}
	if(mes == 10){
		dias = 31;
	}
	if(mes == 11){
		dias = 30;
	}
	if(mes == 12){
		dias = 31;
	}
	return dias;
}

/**
 *  Cerrar la capa
 */
function cerrarCapa(laCapa){
	
	calendario.innerHTML = "";
	eval(laCapa+".style.visibility='hidden'");
}
/**
 * cerrar calendario
 */
function cerrar(laCapa){
    cerrarCapa('calendario');
}
