// JavaScript Document

// detecta evento mas nao deu certo ...
//function eventdetection(e){
//	if(!e) var e = window.event;
//	return e;
//}


// funcao para filtrar letras e aplicar mascara de telefone
formata_telefone = function(e){
	
	var campo, novoval; // inicia variaveis

	
	if(!e) var e = window.event; // captura o evento
	
	// verifica se existe alvo para firefox
	if (e.target) { 
		campo = e.target;
	}
	// senao verifica alvo para IE
	else if (e.srcElement) {
		campo = e.srcElement;
	}
	
	// caso seja safari entao usa o fix abaixo
	if (campo.nodeType == 3) { // defeat Safari bug
		campo = campo.parentNode;
	}
	
	
	var unicode=e.charCode? e.charCode : e.keyCode // recupera o codigo unicode da tecla pressionada
	

	var tecla =String.fromCharCode(unicode); 	//traduz o valor da tecla pressionada
	
	// se necessario apagar conteudo do campo(pressionadas as teclas del ou backspace
    if( (unicode == 8) || (unicode == 46)) {
		campo.value = ''; // limpa o campo
	} 	
	
	// se pressionada a tecla tab
	if( unicode == 9 ) {
		return true;
	}
	
	
	// verifica se valor unicode dentro da faixa dos números (numpad tambem)
	if( ( ( (unicode >= 48) && (unicode <= 57) ) || ( (unicode >= 96) && (unicode <= 105) ) ) ){ // se numero
		
		// se campo vazio 
		if(campo.value.length == 0){ 
			campo.value = '(';
		} 
		
		// mede tamanho da string dentro do campo removendo caracteres nao numericos
		if( !(campo.value.replace(/\D/g,'').length < 10) ) { 
			//campo.value = e.returnValue;
			return false; //nao aceita mais digitacao de numeros
		}
		
		// se (xx entao (xx)
		if ( campo.value.length == 3 ){
			campo.value += ')';
		}
		
		//se (xx)xxxx entao (xx)xxxx-
		if ( campo.value.length == 8 ){
			campo.value += '-';
		}
	} 
	// nao aceita outras teclas 
	else 
	return false;
}


formata_data = function (e){
		var campo, novoval; // inicia variaveis

	
	if(!e) var e = window.event; // captura o evento
	
	// verifica se existe alvo para firefox
	if (e.target) { 
		campo = e.target;
	}
	// senao verifica alvo para IE
	else if (e.srcElement) {
		campo = e.srcElement;
	}
	
	// caso seja safari entao usa o fix abaixo
	if (campo.nodeType == 3) { // defeat Safari bug
		campo = campo.parentNode;
	}
	
	
	var unicode=e.charCode? e.charCode : e.keyCode // recupera o codigo unicode da tecla pressionada
	

	var tecla =String.fromCharCode(unicode); 	//traduz o valor da tecla pressionada
	
	// se necessario apagar conteudo do campo(pressionadas as teclas del ou backspace
    if( (unicode == 8) || (unicode == 46)) {
		campo.value = ''; // limpa o campo
	} 	
	
	// se pressionada a tecla tab
	if( unicode == 9 ) {
		return true;
	}
	
	
	// verifica se valor unicode dentro da faixa dos números (numpad tambem)
	if( ( ( (unicode >= 48) && (unicode <= 57) ) || ( (unicode >= 96) && (unicode <= 105) ) ) ){ // se numero
			
		// mede tamanho da string dentro do campo removendo caracteres nao numericos
		if( !(campo.value.replace(/\D/g,'').length < 8) ) { 
			//campo.value = e.returnValue;
			return false; //nao aceita mais digitacao de numeros
		}
		
		// se (xx entao (xx)
		if ( campo.value.replace(/\D/g,'').length == 2 ){
			campo.value += '/';
		}
		
		//se (xx)xxxx entao (xx)xxxx-
		if ( campo.value.replace(/\D/g,'').length == 4 ){
			campo.value += '/';
		}
	} 
	// nao aceita outras teclas 
	else 
	return false;
}



//------------------------------------------------------------------------------------------------------------------------
// verifica formulário ####################################################
/*
function verifica_form(formobj) {
	
	var passed = false; // inicializa var definindo q nao deve submeter formulario
	
	// percorre campos do formulario
	for (var f=0; f<formobj.length -3; f++) {		
		
		// se campo do formulario não for do tipo oculto
		if( formobj.elements[f].id != "outros" ){
		
			// verifica se campo vazio
			if(formobj.elements[f].value == ""){
						
				alert("Preencha todos os campos requeridos."); // exibe mensagem
				formobj.elements[f].focus(); // seleciona o campo
				passed = false; // define q não deve submeter o  form
				break;
			
			}  // senao se o campo for email mas for invalido 
			else  if (  formobj.elements[f].id=="email"  && formobj.elements[f].value.match(/(\w+)@(.+)\.(\w+)$/)==null ) {
				
					alert('Endereço de email inválido.');  // exibe mensagem
					formobj.elements[f].focus(); // seleciona o campo
					passed = false; // define q não deve submeter o  form
					break;
			
			}  // senao se tudo ok ///
			
			else {
				abre_janela(250, 325, 'contato', 'no');
 				passed = true;	// define que deve submeter o formulario
			}
			
		} // fim se nao oculto
		
	} // fim FOR 

	return passed; // retorna para o escopo da pagina

}
//*/

// funcao para abrir uma janela popup no meio da tela
function abre_janela(width, height, nome, scrollbar) {
		
		var top; var left;
		top = ( (screen.height/2) - (height/2) )
		left = ( (screen.width/2) - (width/2) )
		window.open('',nome,'width='+width+',height='+height+',scrollbars='+scrollbar+',toolbar=no,location=no,status=no,menubar=no,resizable=no,left='+left+',top='+top);
	
}


function verifica_form_reservas(form, tipo) {
	
	var passed = false;
	
	var data_entrada = document.getElementById('data_entrada');
	var data_saida = document.getElementById('data_saida');
	
	data_entrada = data_entrada.value.split("/");
	data_saida = data_saida.value.split("/");
	
	if (form.nome.value==""){
	  form.nome.focus();
	  alert('Informe seu nome');
	}
	else if (form.email.value==""){
	  form.email.focus();
	  alert('Informe seu email');
	}
	else if (form.email.value.match(/(\w+)@(.+)\.(\w+)$/) == null){
	  alert('Endereço de email inválido');
	  form.email.select();
	}
	else if (form.telefone.value==""){
	  form.telefone.focus();
	  alert('Informe o telefone');
	}
	else if (form.hotel_tipo_apto.value==""){
	  form.hotel_tipo_apto.focus();
	  alert('Informe o Hotel / Apto');
	}

	else if (data_entrada[0]>31|| data_entrada[1]>12 || form.data_saida.value==""){ // verifica data de entrada
	  form.data_entrada.focus();
	  alert('Data de entrada inválida');
	  
	}
	else if ( (form.data_saida.value=="") || ( (data_saida[0]>31) || (data_saida[1]>12) || ( (data_saida[0]<=data_entrada[0]) && (data_saida[1]<=data_entrada[1]) && (data_saida[2]==data_entrada[2]) ) ) ){ // verifica data de entrada
	  form.data_saida.focus();
	  alert('Data de saída inválida');	  
	}
	else if (form.hora_chegada.value==""){
	  form.hora_chegada.focus();
	  alert('Informe a hora de chegada');
	}
	else if (form.comentarios_adicionais.value==""){
	  form.comentarios_adicionais.focus();
	  alert('Deixe um comentário adicional');
	}
	else if (form.retorno.selectedIndex < 0){
	  form.retorno.focus();
	  alert('Deixe sua forma predileta de retorno');
	}
	else{
	  abre_janela(250, 300, 'reservas', 'no');
	  passed = true;
	}
	return passed;
}
