//Valida fecha dd/MM/yyyy
function validaFecha( strValue ) {
  var objRegExp = /^\d{2}\/\d{2}\/\d{4}$/
  if(!objRegExp.test(strValue))
    return false;
  else {
    var arrayDate = strValue.split('/');
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
    var intDay = parseInt(arrayDate[0],10);
    if(arrayLookup[arrayDate[1]] != null) {
      if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
        return true;
    }
    var intMonth = parseInt(arrayDate[1],10);
    if (intMonth == 2) { 
       var intYear = parseInt(arrayDate[2],10);
		if( ((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
          return true;
       }
  }
  return false;
}
function refrescarFechaEntrada(){
   document.getElementById("PASO1_FECHADESDE").value=document.getElementById("diaEntrada").value + "/" + document.getElementById("mesEntrada").value + "/" + document.getElementById("anoEntrada").value;
   //document.getElementById("PASO1_FECHASALIDA").value=addDiasAFecha(document.getElementById("PASO1_FECHADESDE").value,1)
   }
   
function irAReservar(nombreForm){
	if(document.forms[nombreForm])
		document.forms[nombreForm].submit();
}

function irAReservarMotor(licIdentificador, codHotel, codCanal) {
    var fechaInicio = document.getElementById("PASO1_FECHADESDE").value;
    var numNoches = document.getElementById("PASO1_NOCHES").value;
    var urlMotor = "https://reservas.siron.es/admin/reservarPasos/reservarpaso1.aspx";
    if (codCanal != 0) {
        window.open(urlMotor + "?" + "COD=" + licIdentificador + "&PASO1_IDHOTEL=" + codHotel + "&PASO1_FECHADESDE=" + fechaInicio + "&PASO1_NOCHES=" + numNoches + "&CODIGOCANAL=" + codCanal, "_blank", "fullscreen=yes");
    } else {
        window.open(urlMotor + "?" + "COD=" + licIdentificador + "&PASO1_IDHOTEL=" + codHotel + "&PASO1_FECHADESDE=" + fechaInicio + "&PASO1_NOCHES=" + numNoches, "_blank", "fullscreen=yes");
    }    
}

//=======================================================================
//Función para formatear los números en javascript
//=======================================================================
//Objeto oNumero
function oNumero(numero){
  //Propiedades 
  this.valor = numero || 0
  this.dec = -1;
  this.separadorMiles='.';
  this.separadorDecimales=',';
  //Métodos 
  this.formato = numFormat;
  this.ponValor = ponValor;
  //Definición de los métodos 

  function ponValor(cad){
    if (cad =='-' || cad=='+') return
    if (cad.length ==0) return
    if (cad.indexOf('.') >=0)
        this.valor = parseFloat(cad);
    else 
        this.valor = parseInt(cad);
  } 

  function numFormat(dec, miles){
    var num = this.valor, signo=3, expr;
    var cad = ""+this.valor;
    var ceros = "", pos, pdec, i;
    for (i=0; i < dec; i++)
    ceros += '0';
    pos = cad.indexOf('.')
    if (pos < 0)
      cad = cad+"."+ceros;
    else{
      pdec = cad.length - pos -1;
      if (pdec <= dec){
        for (i=0; i< (dec-pdec); i++)
          cad += '0';
      }else{
        num = num*Math.pow(10, dec);
        num = Math.round(num);
        num = num/Math.pow(10, dec);
        cad = new String(num);
      }
    }
    pos = cad.indexOf('.')
    if (pos < 0) pos = cad.lentgh
    if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') 
           signo = 4;
    if (miles && (pos > signo))
        do{
          expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
          cad.match(expr)
          cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
        }while (cad.indexOf(',') > signo)
    
    if (dec<0) cad = cad.replace(/\./,'')	
	cad=reemplazaTodo(cad,",","m");
	cad=reemplazaTodo(cad,".",",");
	cad=reemplazaTodo(cad,"m",".");
    return cad;
  }
}//Fin del objeto oNumero:
//=======================================================================

//==========================================================================================
// Reemplaza un texto dentro de otra cadena. Mejora le funcion replace de JavaScript
//==========================================================================================
function reemplazaTodo(cadena, original, cambio) {
    var strFinal, i, caracter;
    strFinal = cadena;
    while (String(strFinal).indexOf(original) > -1) {
        strFinal = strFinal.replace(original, cambio);
    }
    return strFinal;
}

function suscribirBoletin() {
    if (document.forms["frmNewsLetter"])
        document.forms["frmNewsLetter"].submit();
}
function abrirCerrarCapa(numeroCapa) {

    if (document.getElementById("desplegable" + numeroCapa).style.display == "") {
        document.getElementById("desplegable" + numeroCapa).style.display = "none"
        document.getElementById("indicador" + numeroCapa).innerHTML = "+"
    } else {
        var i;
        for (i = 1; i <= 3; i++) {
            document.getElementById("desplegable" + i).style.display = "none";
            document.getElementById("indicador" + i).innerHTML = "+"
        }
        document.getElementById("desplegable" + numeroCapa).style.display = "";
        document.getElementById("indicador" + numeroCapa).innerHTML = "-"
    }

}

function login() {
    var nombreForm = "";
    var destino = "reservarPaso1.aspx";
    if (arguments[0]) nombreForm = arguments[0];
    if (arguments[1]) destino = arguments[1];
    if (nombreForm == "") nombreForm = "elFormCabeceraReserva";
    if (document.forms[nombreForm] && document.getElementById("USUARIONOMBRE_AV")) {
        document.getElementById("USUARIONOMBRE_AV").value = document.getElementById("USUARIONOMBRE").value;
        document.getElementById("USUARIOPASSWORD_AV").value = document.getElementById("USUARIOPASSWORD").value;
    } else {
        nombreForm = "elForm";
    }
    if (document.forms[nombreForm]) {
        if (destino.indexOf("?") >= 0) {
            document.forms[nombreForm].action = destino + "&ACCION=LOGIN";
        } else {
            document.forms[nombreForm].action = destino + "?ACCION=LOGIN";
        }
        document.forms[nombreForm].submit();
    }
}

function logout() {
    var nombreForm = "";
    var destino = "reservarPaso1.aspx";
    if (arguments[0]) nombreForm = arguments[0];
    if (arguments[1]) destino = arguments[1];
    if (nombreForm == "") nombreForm = "elFormCabeceraReserva";
    if (document.forms[nombreForm] && document.getElementById("USUARIONOMBRE_AV")) {
        document.getElementById("USUARIONOMBRE_AV").value = "";
        document.getElementById("USUARIOPASSWORD_AV").value = "";
    } else {
        nombreForm = "elForm";
    }
    if (document.forms[nombreForm]) {
        if (destino.indexOf("?") >= 0) {
            document.forms[nombreForm].action = destino + "&ACCION=LOGOUT";
        } else {
            document.forms[nombreForm].action = destino + "?ACCION=LOGOUT";
        }
        document.forms[nombreForm].submit();
    }
}

function borrar(nombreForm) {
    if (nombreForm == "") nombreForm = "elForm";
    if (document.forms[nombreForm])
        document.forms["elForm"].reset();
}


/*Funcion para comprobar si es un email valido*/
function mailCorrecto(Cadena) {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
    return emailPattern.test(Cadena);   
}
/*Fin Funcion de comprobar el email*/

/*Funcion quitar vacios (trim) */
function trim(dato) {
    return dato.replace(/^\s+|\s+$/g, '');
}
/*Fin Funcion quitar vacios (trim) */


/*Funcion para comprobar las extensiones de un archivo */
function comprobarExtensionArchivo(valor, tipoPermitido) {
    var mensaje = "";    
    var extension = "";
    var correcto = false;
    if (!valor) return mensaje = "No hay ningun archivo";
    extension = valor.slice(valor.indexOf(".")).toLowerCase();
    var valores = String(tipoPermitido).split(",")
    for (var i = 0; i < valores.length; i++) {
        if (valores[i] == extension) {
            correcto = true;
            break;
        }
    }
    if (correcto) {
        return mensaje;      
    } else {
        valor.value = "";
        return mensaje = "- Usted solo puede subir archivos con extensiones " + tipoPermitido + "\nPor favor seleccione un nuevo archivo \n";
    }
}
/*Fin Funcion para comprobar las extensiones de un archivo */

function localizadorCorrecto(localizador) {
    var localizadorPattern = /^([0-9]{6,6})+-([0-9]{4,4})+-([0-9]{3,3})$/
    return localizadorPattern.test(localizador);
}

function consultarReservaRestaurante(){
    var localizador = trim(document.getElementById("num_localizador").value);
    if (localizadorCorrecto(localizador)) {
        window.open('reservarRestauranteDetalle.aspx?LOCALIZADOR=' + localizador, '', 'width=800,height=600,scrollbars=yes');
    } else {
        alert("<TRADUCIR>No ha introducido correctamente el localizador</TRADUCIR>")
    }
}

