// JavaScript Document
function preCarga()
{
	imagenes=new Array();
	for(i=0; i<arguments.length; i++)
	{
		imagenes[i]=document.createElement("img");
		imagenes[i].src=arguments[i];
	}
}

function nuevoAjax()
{ 
	var xmlhttp=false; 
	try 
	{ 
		// No IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 
	return xmlhttp; 
}

function limpiaForm()
{
	var form=document.getElementById("formulario");
	var	claseNormal="input";
	for(i=0; i<=4; i++)
	{
		form.elements[i].className=claseNormal;
	}
	document.getElementById("inputComentario").className=claseNormal;
}

function campoError(campo)
{
	var claseError="inputError";
	campo.className=claseError;
	error=1;
}

function ocultaMensaje()
{
	var divTransparente=document.getElementById("transparencia");
	divTransparente.style.display="none";
}

function muestraMensaje(mensaje)
{	var divTransparente=document.getElementById("transparencia");
	var divMensaje=document.getElementById("transparenciaMensaje");
	divMensaje.innerHTML=mensaje;
	divTransparente.style.display="block";
}

function eliminaEspacios(cadena)
{
	// Funcion para eliminar espacios delante y detras de cada cadena
	while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
	while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
	return cadena;
}

function validaLongitud(valor, permiteVacio, minimo, maximo)
{
	var cantCar=valor.length;
	if(valor=="")
	{
		if(permiteVacio) return true;
		else return false;
	}
	else
	{
		if(cantCar>=minimo && cantCar<=maximo) return true;
		else return false;
	}
}
function validaFecha(llegada){
	var Fecha  = new String(llegada)
    var RealFecha= new Date()   // Para sacar la fecha de hoy   
    // Cadena Año   
    var Ano= new String(Fecha.substring(Fecha.lastIndexOf("-")+1,Fecha.length))   
    // Cadena Mes   
    var Mes= new String(Fecha.substring(Fecha.indexOf("-")+1,Fecha.lastIndexOf("-")))   
    // Cadena Día   
    var Dia= new String(Fecha.substring(0,Fecha.indexOf("-")))
	var anoreal= RealFecha.getFullYear()
	var mesreal= RealFecha.getMonth()
  	// Valido el Dia   
    if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){    
        return false   
    }
	
    
	if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<parseFloat(anoreal)){
		return false
	}

		if(parseFloat(Ano)==parseFloat(anoreal)&&parseFloat(Mes)<parseFloat(mesreal)){
			return false	
			}
			
		if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){     
        return false   
    		}
	
    if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {   
        if (Mes==2 && Dia > 28 || Dia>30) {   
               
            return false   
        }   
    }        
	
return true	
}

function validaCorreo(valor)
{
	var reg = /^(.+\@.+\..+)$/
	if(reg.test(valor)) return true;
	else return false;
}

function validaForm()
{	
	var form=document.getElementById("formulario");
	limpiaForm();
	error=0;
	
	var nombre=eliminaEspacios(form.inputNombre.value);
	var procedencia=eliminaEspacios(form.inputProcedencia.value);
	var telefono=eliminaEspacios(form.inputTelefono.value);
	var habitacion=eliminaEspacios(form.inputHabitacion.value);
	var ninos=eliminaEspacios(form.inputNinos.value);
	var llegada=eliminaEspacios(form.inputLlegada.value);
	var correo=eliminaEspacios(form.inputCorreo.value);
	var comentario=eliminaEspacios(form.inputComentario.value);
	
	if(!validaLongitud(nombre, 0, 4, 50)) campoError(form.inputNombre);
	if(!validaLongitud(procedencia, 0, 1, 50)) campoError(form.inputProcedencia);
	if(!validaLongitud(telefono, 1, 6, 50)) campoError(form.inputTelefono);
	if(!validaLongitud(habitacion, 0, 4, 50)) campoError(form.inputHabitacion);
	if(!validaLongitud(ninos, 1, 1, 2)) campoError(form.inputNinos);
	if(!validaFecha(llegada)) campoError(form.inputLlegada);
	if(!validaCorreo(correo)) campoError(form.inputCorreo);
	if(!validaLongitud(comentario, 1, 5, 500)) campoError(form.inputComentario);
	
	if(error==1)
	{
		var texto="<img src='error.gif' alt='Error'><br><br>Error: revise los campos resaltados pueden tener errores.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}
	else
	{
		formReserva.action = "enviarReserva.php";
		formReserva.submit();
	}
}

// Mensajes de ayuda

if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;

function colocaAyuda(event)
{
	var cAyuda=document.getElementById("mensajesAyuda");
	if(navegador==0)
	{
		var corX=window.event.clientX+document.documentElement.scrollLeft;
		var corY=window.event.clientY+document.documentElement.scrollTop;
	}
	else
	{
		var corX=event.clientX+window.scrollX;
		var corY=event.clientY+window.scrollY;
	}
	cAyuda.style.top=corY+"px";
	cAyuda.style.left=corX+-360+"px";
}

function ocultaAyuda()
{	
	var cAyuda=document.getElementById("mensajesAyuda");
	cAyuda.style.display="none";
	if(navegador==0) 
	{
		document.detachEvent("onmousemove", colocaAyuda);
		document.detachEvent("onmouseout", ocultaAyuda);
	}
	else 
	{
		document.removeEventListener("mousemove", colocaAyuda, true);
		document.removeEventListener("mouseout", ocultaAyuda, true);
	}
}

function muestraAyuda(event, campo)
{
	ayuda=new Array();
	ayuda["Nombre"]="Ingresa tus nombres y apellidos hasta a 50 caracteres. OBLIGATORIO";
	ayuda["Procedencia"]="Ingresa tu país de origen. De ser Peruano ingresa la ciudad.";
	ayuda["Telefono"]="Ingresa un teléfono de contacto.";
	ayuda["Habitacion"]="Elige el tipo de habitación que desea reservar.";
	ayuda["Ninos"]="Ingresa el número de niños que se alojarán.";
	ayuda["Llegada"]="Ingresa la fecha en que llegaras con este formato dd-mm-aaaa. ";
	ayuda["Correo"]="Ingresa un e-mail válido, por ejemplo reservas@hostalhuankarute.com. OBLIGATORIO";
	ayuda["Comentario"]="Ingresa tus comentarios. De 5 a 500 caracteres.";
	colocaAyuda(event);
	var cAyuda=document.getElementById("mensajesAyuda");
	var cNombre=document.getElementById("ayudaTitulo");
	var	cTex=document.getElementById("ayudaTexto");
	if(navegador==0) 
	{ 
		document.attachEvent("onmousemove", colocaAyuda); 
		document.attachEvent("onmouseout", ocultaAyuda); 
	}
	else 
	{
		document.addEventListener("mousemove", colocaAyuda, true);
		document.addEventListener("mouseout", ocultaAyuda, true);
	}
	
	cNombre.innerHTML=campo;
	cTex.innerHTML=ayuda[campo];
	cAyuda.style.display="block";
}