﻿// JScript File
function buscadorHoteles(name) {
  if (name){
    this.name=name;
  }else{
    this.name="buscHot";
  }
  this.fIni  = null;
  this.fFin  = null;
  //this.noches = null;
  this.CambiandoFecha = 0;
}
buscadorHoteles.prototype.CalcularDiasFecha = function (origen,inicial) 
{
    if ((this.CambiandoFecha == 0) && this.fFin) {
        this.CambiandoFecha = 1;
        if (origen == "fecha") {
	        var arrayFEnt = this.fIni.value.split("/");
	        var fEnt = new Date(arrayFEnt[2],arrayFEnt[1]-1,arrayFEnt[0]);
	        var arrayFSal = this.fFin.value.split("/");
	        var fSal = new Date(arrayFSal[2],arrayFSal[1]-1,arrayFSal[0]);
            if (inicial){
                //var dias = this.noches.options[this.noches.selectedIndex].value;
                fSal=fEnt;
                //for (i=0;i<dias;i++){
                    fSal=anadirDia(fSal);
                //}
                this.fFin.value = ((fSal.getDate() < 10) ? '0' + fSal.getDate() : fSal.getDate()) + "/" + (fSal.getMonth()+1) + "/" + fSal.getFullYear();
            }else{
                var dias = 0;
                while (dias<30 && fEnt<fSal){
                    dias++;
                    fSal=quitarDia(fSal);
                }
	            //this.noches.value = dias;
	            if (dias==30){
	                this.fIni.value = ((fSal.getDate() < 10) ? '0' + fSal.getDate() : fSal.getDate()) + "/" + (fSal.getMonth()+1) + "/" + fSal.getFullYear();
	            }
	        }
        } else if (origen == "dias") {
          //var dias = this.noches.selectedIndex;
	        var arrayFEnt = this.fIni.value.split("/");
	        var fEnt = new Date(arrayFEnt[2],arrayFEnt[1]-1,arrayFEnt[0]);
	        var fSal = new Date(fEnt.getTime() + (dias+1)*24*60*60*1000);
	        var d = fSal.getDate();
	        var year = fEnt.getYear();
	      
	        if (year < 1900) {
	            year += 1900;
	        }
	       if ((d >= 1) && (fSal.getMonth()==0) ){
	         if (!fEnt.getMonth()==0){
	    	   year += 1;
	        }
	        }
	        this.fFin.value = ((d < 10) ? '0' + d : d) + "/" + (fSal.getMonth()+1) + "/" + year;
        }
        this.CambiandoFecha = 0;
    }
}

function anadirDia(fecha){
    var dia = fecha.getDate();
    var mes = fecha.getMonth()+1;
    var ano = fecha.getFullYear();
    dia++;
    if (dia>diasMes(mes,ano)){
        dia=1;
        mes++;
        if (mes>12) {
            mes=1;
            ano++;
        }
    }
    return new Date(ano,mes-1,dia)
}

function diasMes(mes,ano){
    switch(mes){
        case 1:
            return 31;
            break;
        case 3:
            return 31;
            break;
        case 5:
            return 31;
            break;
        case 7:
            return 31;
            break;
        case 8:
            return 31;
            break;
        case 10:
            return 31;
            break;
        case 12:
            return 31;
            break;
        case 4:
            return 30
            break;
        case 6:
            return 30
            break;
        case 9:
            return 30
            break;
        case 11:
            return 30
            break;
        case 2:
            if (Math.floor(ano/4)==(ano/4)){
                return 29
            }else{
                return 28
            }
            break;
   }
}

function quitarDia(fecha){
    var dia = fecha.getDate();
    var mes = fecha.getMonth()+1;
    var ano = fecha.getFullYear();
    dia--;
    if (dia<1){
        mes--;
        if (mes<1) {
            mes=12;
            ano--;
        }
        dia=diasMes(mes,ano);
    }
    return new Date(ano,mes-1,dia)
}
