var validoPasso4;

function onlyNumbers(myfield, e, dec) {
	var key;
	var keychar;

	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;

	keychar = String.fromCharCode(key);

	// control keys
	if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13)
			|| (key == 27)) {
		return true;
	}

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1)) {
		return true;
	}

	return false;
}

function onlyFloatNumbers(myfield, e) {

	var number = onlyNumbers(myfield, e, true);

	if (number) {
		return true;
	} else {

		var key;
		var keychar;

		if (window.event)
			key = window.event.keyCode;
		else if (e)
			key = e.which;

		keychar = String.fromCharCode(key);

		if (keychar == ",") {
			return true;
		}

	}

	return false;
}

function mascaraData(campoData) {
	var data = campoData.value;
	if (data.length == 2) {
		data = data + '/';
		campoData.value = data;
		return true;
	}
	if (data.length == 5) {
		data = data + '/';
		campoData.value = data;
		return true;
	}

	return false;
}

function floatToMoeda(num) {

	x = 0;

	if (num < 0) {
		num = Math.abs(num);
		x = 1;
	}

	if (isNaN(num)) {
		num = "0";
	}
	cents = Math.floor((num * 100 + 0.5) % 100);

	num = Math.floor((num * 100 + 0.5) / 100).toString();

	if (cents < 10) {
		cents = "0" + cents;
	}
	for ( var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) {
		num = num.substring(0, num.length - (4 * i + 3)) + '.'
				+ num.substring(num.length - (4 * i + 3));
	}

	ret = num + ',' + cents;

	if (x == 1) {
		ret = ' - ' + ret;
	}

	return ret;

}

function formataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
	
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;    
    // 13=enter, 8=backspace as demais retornam 0(zero)
    // whichCode==0 faz com que seja possivel usar todas as teclas como delete, setas, etc    
    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
    	return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
 
 
    if (strCheck.indexOf(key) == -1) 
    	return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) 
        	break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) 
        	aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) 
    	objTextBox.value = '';
    if (len == 1) 
    	objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) 
    	objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        	objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}

/*
function validateCliente(){

	var valido = true;
	
	valido &= validateEmpty('nome');
	valido &= validateEmpty('sobrenome');
	valido &= validateEmpty('logradouro');
	valido &= validateEmpty('cidade');
	valido &= validateEmpty('cep');
	valido &= validateEmpty('telefoneResidencial');
	valido &= validateEmpty('numero');
	valido &= validateEmpty('bairro');
	valido &= validateEmpty('estado');
	valido &= validateEmpty('pais');
	valido &= validateCPF('cpf');
	valido &= validateEmpty('senha');
	valido &= validateEmpty('confirmeSenha');
	valido &= validateDate('dataNascimento');
	valido &= validateMail('email');
	
	var senha = $("#senha").val();
	var confirm = $("#confirmeSenha").val();
	
	if(senha != confirm){
		$("#senha").addClass('warning');
		$("#confirmeSenha").addClass('warning');
	}
	
	if(valido){
	
		$("#clienteForm").submit();
	}
	
}
*/

function validateCliente(formName){

	var valido = true;
	
	valido &= validateEmpty('nome');
	valido &= validateEmpty('logradouro');
	valido &= validateEmpty('cidade');
	valido &= validateEmpty('cep');
	valido &= validateEmpty('telefoneResidencial');
	valido &= validateEmpty('numero');
	valido &= validateEmpty('bairro');
	valido &= validateEmpty('estado');
	valido &= validateEmpty('pais');
	valido &= validateCPF('cpf');
	valido &= validateEmpty('senha');
	valido &= validateEmpty('confirmeSenha');
	valido &= validateDate('dataNascimento');
	valido &= validateMail('email');
	
	var senha = $("#senha").val();
	var confirm = $("#confirmeSenha").val();
	
	if(senha != confirm){
		$("#senha").addClass('warning');
		$("#confirmeSenha").addClass('warning');
		valido = false;
	}
	
	if(valido){
		$("#"+formName).submit();
	} else {
		$("#myAccountLoader").hide();
		$("#myAccountSuccess").hide();
		$("#myAccountError").show();
	}
	
}

function validateDate(value){
	
	var id = "#" + value;
	
	var data = $(id).val();
	
	var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	             
	if(reDate5.test(data)){
		$(id).removeClass('warning');
		return true;
	} else {
		$(id).addClass('warning');
		return false;
	}
}

function validateMail(value) {

	var id = "#" + value;

	var mail = $(id).val();

	var reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

	if (reEmail1.test(mail)) {
		$(id).removeClass('warning');
		return true;
	} else {
		$(id).addClass('warning');
		return false;
	}
}

function validateEmpty(value){
	
	var id = "#" + value;
	
	var text = $(id).val();
	
	if(text != ""){
		$(id).removeClass('warning');
		return true;
	} else {
		$(id).addClass('warning');
		return false;
	}
}

function validateCPF(value) {

	var id = "#" + value;

	var CPF = $(id).val();

	// Verifica se o campo é nulo
	if (CPF == '') {
		$(id).addClass('warning');
		return false;
	}

	// Aqui começa a checagem do CPF
	var POSICAO, I, SOMA, DV, DV_INFORMADO;
	var DIGITO = new Array(10);
	DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

	// Desemembra o número do CPF na array DIGITO
	for (I = 0; I <= 8; I++) {
		DIGITO[I] = CPF.substr(I, 1);
	}

	// Calcula o valor do 10º dígito da verificação
	POSICAO = 10;
	SOMA = 0;
	for (I = 0; I <= 8; I++) {
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO - 1;
	}
	DIGITO[9] = SOMA % 11;
	if (DIGITO[9] < 2) {
		DIGITO[9] = 0;
	} else {
		DIGITO[9] = 11 - DIGITO[9];
	}

	// Calcula o valor do 11º dígito da verificação
	POSICAO = 11;
	SOMA = 0;
	for (I = 0; I <= 9; I++) {
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO - 1;
	}
	DIGITO[10] = SOMA % 11;
	if (DIGITO[10] < 2) {
		DIGITO[10] = 0;
	} else {
		DIGITO[10] = 11 - DIGITO[10];
	}

	// Verifica se os valores dos dígitos verificadores conferem
	DV = DIGITO[9] * 10 + DIGITO[10];
	if (DV != DV_INFORMADO) {
		$(id).addClass('warning');
		return false;
	}
	
	$(id).removeClass('warning');
	return true;
}

function validatePasso3(hotsite, view){

	$("#aviso").hide();
	
	var valido = true;
	
	var quantidadeQuartos = $("#quantidadeQuartos").val();
	
	if(quantidadeQuartos <=0){
		$("#aviso").show();
		valido = false;
	}
	
	for( var i = 1; i <= quantidadeQuartos; i++){
	
		var quantidadeAdultos = parseInt($("#quantidadeAdultos" + i).val());
		var quantidadeCriancas = parseInt($("#quantidadeCriancas" + i).val());
		
		if((quantidadeAdultos + quantidadeCriancas) > 4){
			$("#aviso").show();
			valido = false;
		}
		
		if(quantidadeAdultos <= 0){
			$("#aviso").show();
			valido = false;
		}
		
		for( var j = 1; j <= quantidadeCriancas; j++){
		
			var idadeCrianca = $("#select_crianca_" + j + "_" + i).val();
			
			if(idadeCrianca <= 0){
				$("#aviso").show();
				alert("idade crianca invalida");
				valido = false;
			}
		}
	}
	
	if(valido){
		window.location="passo4/" + view;
	}
}

function validatePasso4(quartos){
	
	$("#aviso").hide();
	
	var terms = $("#terms").attr("checked");
	
	if(terms){
	
	if (validateObrigatorios()) {
			$("#formPasso4").submit();
		} else {
			$("#aviso").show();
		}
		
	} else {
		$("#avisoTerms").show()();
	}
	
}

function mascaraData(campoData) {
	var data = campoData.value;
	if (data.length == 2) {
		data = data + '/';
		campoData.value = data;
		return true;
	}
	if (data.length == 5) {
		data = data + '/';
		campoData.value = data;
		return true;
	}
}

function validateObrigatorios(){

	var valido = true;
	
	$(".obrigatorio").each(function(){
		
		value = $(this).attr("value");
		
		if(value == ""){
			valido = false;
			$(this).addClass('warning');
		}
		
	});
	
	return valido;
}
