var forma = document.frmreservacion;
/*
campos
radiohabopaq - radio buton paquete o habitacion
date1							input - fecha llegada
date2							input - fecha sal
nombre							input - nombre completo
telefono							input - telefono con clave lada
email							input - email
habitaciontipo				select - tipo de habitación
habitacionarea -			select - area
habitacionadicionales		input - personas adicionales
paquetenumero				select - paquete elegido
paquetepersonas			input - numero de paquetes

*/

function verificarCampos()
{
	
var forma = document.frmreservacion;
//alert(forma.radiohabopaq[1].checked);
if(forma.date1.value.replace(/ /g, '') == '') {
		alert("Introduzca un valor por favor");
		forma.date1.focus();	
		forma.date1.select();
		return false;
	}
if(forma.date2.value.replace(/ /g, '') == '') {
		alert("Introduzca un valor por favor");
		forma.date2.focus();	
		forma.date2.select();
		return false;
	}
if(forma.nombre.value.replace(/ /g, '') == '') {
		alert("Introduzca un valor por favor");
		forma.nombre.focus();	
		forma.nombre.select();
		return false;
	}
if(forma.telefono.value.replace(/ /g, '') == '') {
		alert("Introduzca un valor por favor");
		forma.telefono.focus();	
		forma.telefono.select();
		return false;
	}
if(forma.email.value.replace(/ /g, '') == '') {
		alert("Introduzca un valor por favor");
		forma.email.focus();	
		forma.email.select();
		return false;
	}
if (validaEmail(forma.email.value)==false)
{
	alert("La dirección de email es inválida");
			forma.email.focus();
			forma.email.select();
			return false;
	}

if (forma.radiohabopaq[0].checked==true)	
{
		if(forma.habitaciontipo.options[forma.habitaciontipo.selectedIndex].value == 0) {
			alert("Seleccione un tipo de habitación por favor");
			forma.habitaciontipo.focus();
			return false;
		}
		if((forma.habitaciontipo.options[forma.habitaciontipo.selectedIndex].value > 0)&&(forma.habitaciontipo.options[forma.habitaciontipo.selectedIndex].value < 4)){
			if(forma.habitacionarea.options[forma.habitacionarea.selectedIndex].value == 0) {
			alert("Seleccione un area por favor");
			forma.habitacionarea.focus();
			return false;
			}
		}
		
		if(forma.habitacionadicionales.value.replace(/ /g, '') != '') {
		if(validarEntero(forma.habitacionadicionales.value)==false) {
			alert("Introduzca un valor válido por favor");	
			forma.habitacionadicionales.focus();	
			forma.habitacionadicionales.select();
			return false;
			}
		}
}
else
{
	if(forma.paquetenumero.options[forma.paquetenumero.selectedIndex].value == 0) {
			alert("Seleccione un paquete por favor");
			forma.paquetenumero.focus();
			return false;
		}
		if(forma.paquetepersonas.value.replace(/ /g, '') == '') {
			alert("Introduzca un valor por favor");	
			forma.paquetepersonas.focus();	
			forma.paquetepersonas.select();
			return false;
			}
		if((forma.paquetepersonas.value==0) || (validarEntero(forma.paquetepersonas.value)==false)) {
			alert("Introduzca un valor válido por favor");	
			forma.paquetepersonas.focus();	
			forma.paquetepersonas.select();
			return false;
			}
		
			
}
	return valFechas();
	return true;
}
function validarEntero(valor){
      //intento convertir a entero.
     //si era un entero no le afecta, si no lo era lo intenta convertir
     valor = parseInt(valor)
      //Compruebo si es un valor numérico
      if (isNaN(valor)) {
            //entonces (no es numero) devuelvo el valor cadena vacia
            return false;
      }else{
            //En caso contrario (Si era un número) devuelvo el valor
            return true;
      }
}
function validaEmail(email)
{
var re  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!re.test(email)) {
   /* alert ("Dirección de email inválida");*/
    return false;
}
return true;
}

function habilitaHabitaciones(){
	var forma = document.frmreservacion;
    forma.habitacionarea.disabled = false;
    forma.habitacionadicionales.disabled = false;
    forma.habitaciontipo.disabled = false;
    document.getElementById('labelhabitacionarea').disabled = false;
    document.getElementById('labelhabitacionadicionales').disabled = false;
    document.getElementById('labelhabitaciontipo').disabled = false;
   }

function deshabilitaHabitaciones(){
	var forma = document.frmreservacion;
    forma.habitacionarea.disabled = true;
    forma.habitacionadicionales.disabled = true;
    forma.habitaciontipo.disabled = true;
    document.getElementById('labelhabitacionarea').disabled = true;
    document.getElementById('labelhabitacionadicionales').disabled = true;
    document.getElementById('labelhabitaciontipo').disabled = true;
   }
function habilitaPaquete(){
	var forma = document.frmreservacion;
    forma.paquetenumero.disabled = false;
    forma.paquetepersonas.disabled = false;
    document.getElementById('labelpaquetenumero').disabled = false;
    document.getElementById('labelpaquetepersonas').disabled = false;
   }

function deshabilitaPaquete(){
	var forma = document.frmreservacion;
    forma.paquetenumero.disabled = true;
    forma.paquetepersonas.disabled = true;
    document.getElementById('labelpaquetenumero').disabled = true;
    document.getElementById('labelpaquetepersonas').disabled = true;
   }  
function deshabilitaArea(){
	var forma = document.frmreservacion;
	/*forma.habitacionarea.options[1].selected = true;*/
	forma.habitacionarea.disabled = true;
	document.getElementById('labelhabitacionarea').disabled = true;
	alert("algo");
}  
function habilitaArea(){
	var forma = document.frmreservacion;
	/*forma.habitacionarea.options[0].selected = true;*/
	forma.habitacionarea.disabled = false;
	document.getElementById('labelhabitacionarea').disabled = false;
}
function revisartipohab() {
	var forma = document.frmreservacion;
	var seleccionado = forma.habitaciontipo.options[forma.habitaciontipo.selectedIndex].value;
	if ((seleccionado == 4) || (seleccionado == 5))
	{
		forma.habitacionarea.options[1].selected = true;
		forma.habitacionarea.disabled = true;
		document.getElementById('labelhabitacionarea').disabled = true;
		}
	else{
		forma.habitacionarea.options[0].selected = true;
		forma.habitacionarea.disabled = false;
		document.getElementById('labelhabitacionarea').disabled = false;
		}
}
function esDigito(sChr){
    var sCod = sChr.charCodeAt(0);
    return ((sCod > 47) && (sCod < 58));
   }

   function valSep(oTxt){
    var bOk = false;
    bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
    bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
    return bOk;
   }

   function finMes(oTxt){
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    var nAno = parseInt(oTxt.value.substr(6), 10);
    var nRes = 0;
    switch (nMes){
     case 1: nRes = 31; break;
     case 2: nRes = 28; break;
     case 3: nRes = 31; break;
     case 4: nRes = 30; break;
     case 5: nRes = 31; break;
     case 6: nRes = 30; break;
     case 7: nRes = 31; break;
     case 8: nRes = 31; break;
     case 9: nRes = 30; break;
     case 10: nRes = 31; break;
     case 11: nRes = 30; break;
     case 12: nRes = 31; break;
    }
    return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
   }

   function valDia(oTxt){
    var bOk = false;
    var nDia = parseInt(oTxt.value.substr(0, 2), 10);
    bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
    return bOk;
   }

   function valMes(oTxt){
    var bOk = false;
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    bOk = bOk || ((nMes >= 1) && (nMes <= 12));
    return bOk;
   }

   function valAno(oTxt){
    var bOk = true;
    var nAno = oTxt.value.substr(6);
    bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
    if (bOk){
     for (var i = 0; i < nAno.length; i++){
      bOk = bOk && esDigito(nAno.charAt(i));
     }
    }
    return bOk;
   }

   function valFecha(oTxt){
    var bOk = true;
    if (oTxt.value != ""){
     bOk = bOk && (valAno(oTxt));
     bOk = bOk && (valMes(oTxt));
     bOk = bOk && (valDia(oTxt));
     bOk = bOk && (valSep(oTxt));
     return bOk;
    }
   }

   function fechaMayorOIgualQue(date1, date2){
    var bRes = false;
    var sDia0 = date1.value.substr(0, 2);
    var sMes0 = date1.value.substr(3, 2);
    var sAno0 = date1.value.substr(6, 4);
    var sDia1 = date2.value.substr(0, 2);
    var sMes1 = date2.value.substr(3, 2);
    var sAno1 = date2.value.substr(6, 4);
    if (sAno0 > sAno1) bRes = true;
    else {
     if (sAno0 == sAno1){
      if (sMes0 > sMes1) bRes = true;
      else {
       if (sMes0 == sMes1)
        if (sDia0 >= sDia1) bRes = true;
      }
     }
    }
    return bRes;
   }

   function valFechas(){
	   var forma = document.frmreservacion;
    var bOk = false;
    if (valFecha(forma.date1)){
     if (valFecha(forma.date2)){
      if (fechaMayorOIgualQue(forma.date2, forma.date1)){
       bOk = true;
       return bOk;
       //alert("Ok");
      } else {
       alert("Rango de fechas inválido");
       forma.date2.focus();
       forma.date2.select();
       return bOk;
      }
     } else {
      alert("Fecha inválida");
      forma.date2.focus();
      forma.date2.select();
      return bOk;
     }
    } else {
     alert("Fecha inválida");
     forma.date1.focus();
     forma.date1.select();
     return bOk;
    }
   }
  