function retiraAcento(palavra) {
	
	com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇàèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ ';
	sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUCaeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAO-';
	nova = '';
	
	for(i=0; i < palavra.length; i++) {
		if (com_acento.search(palavra.substr(i,1))>=0) {
			nova += sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
		} else {
			nova += palavra.substr(i,1);
		}
	}
	
	return nova;
	
}

function retiraAcentoPalavraChave(palavra) {
	
	com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇàèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ ';
	sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUCaeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAO+';
	nova = '';
	
	for(i=0; i < palavra.length; i++) {
		if (com_acento.search(palavra.substr(i,1))>=0) {
			nova += sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
		} else {
			nova += palavra.substr(i,1);
		}
	}
	
	return nova;
}

function redirecionar(url) {
	if(window.location.pathname.match(/^\/mobile/)){
		window.location = '/mobile' + (url.replace('-galeria', ''));
	} else {
		window.location = url;
	}
}

function enviaFormularioBusca(idInput){
	
	var inputPalavraChave = $('#' + idInput);
	
	var kw_palavras = retiraAcentoPalavraChave( inputPalavraChave.val() ).toLowerCase();
		
	if( kw_palavras.match(/(alugar|aluguel|locar|locacao)/) ){
		var kw_negocio = "locacao";
	} else {
		var kw_negocio = "venda";
	}
	
	if($('#chkbuscamapapalavra').attr('checked') == 'checked' ){
		var destino = 'imoveis-mapa';
	} else {
		var destino = 'imoveis';
	}

	if ( inputPalavraChave.val().length < 4 || inputPalavraChave.val() == inputPalavraChave.attr('rel') ){
		alert("Digite a palavra-chave desejada com pelo menos 4 letras!");
		inputPalavraChave.focus();
	} else if ( $.isNumeric( inputPalavraChave.val() ) ) {
		redirecionar("/imovel/"+inputPalavraChave.val());
	} else {
		redirecionar("/"+destino+"/"+kw_negocio+"/palavra-chave/"+kw_palavras);
	}
	
}
var buscarNoMapa = false;

$(document).ready(function() {
	
	var valorbus = window.valorbus;
	
	if(undefined == valorbus){ var valorbus = ''; }
	
	$.ajaxSetup({async:false});
	
	var inputHidenBuscaMapa = $('#hidenbuscamapa');
	
	$('#pesquisa_mapa').toggle(function(e){
		buscarNoMapa = true;
		$(this).addClass('marcado');
	}, function(e){
		$(this).removeClass('marcado');
		buscarNoMapa = false;
	});
	
	// Válida a busca por palavra-chave
	$("#topo_pesquisa").submit(function(e){
		e.preventDefault();
		enviaFormularioBusca('b_palavrachave');
		return false;
	});
	
	$("#faixa_compacta_form").submit(function(){
		enviaFormularioBusca('b_palavrachave2');
		return false;
	});
	
	// Funcoes para a lista de resultados
	$("#limite").change(function(){
		var url = window.location.pathname;
		var lim = $(this).val();
		
		if(url.search('limite-') > 0){			
			url = url.replace("limite-10", "limite-"+lim);
			url = url.replace("limite-15", "limite-"+lim);
			url = url.replace("limite-20", "limite-"+lim);
			url = url.replace("limite-25", "limite-"+lim);
			url = url.replace("limite-50", "limite-"+lim);
		}else{
			url += "/limite-"+lim;
		}
		
		redirecionar(url);
	});
	
	
	$("#ordem").change(function(){
		var url = window.location.pathname.replace('mobile/', '');
		var ord = $(this).val();
		
		if(url.search('ordem-') > 0){
			url = url.replace("ordem-bairros.nome", "ordem-"+ord);
			url = url.replace("ordem-dormsuite+desc", "ordem-"+ord);
			url = url.replace("ordem-imoveis.valor+desc", "ordem-"+ord);
			url = url.replace("ordem-imoveis.valor", "ordem-"+ord);
			url = url.replace("ordem-imoveis.areatotal+desc", "ordem-"+ord);
			url = url.replace("ordem-imoveis.areatotal", "ordem-"+ord);
			url = url.replace("+desc+desc", "+desc");
		}else{
			url += "/ordem-"+ord;
		}
		
		redirecionar(url);
	});
	
	// Ativa ou desativa o o formulário enquanto carrega os campos
	$("#pesquisa").ajaxComplete(function(){
		$("#pesquisa_botao").removeAttr("disabled");
	});
	
	$("#pesquisa").ajaxStart(function(){
		$("#pesquisa_botao").attr("disabled", true);
	});
	
	
	// Altera os valores dos campos Valores 
	function MudaValores(val, negocio, campo, minimo){
		
		if(negocio == ""){
			$("#b_valor_min").attr('disabled', 'disabled');
			$("#b_valor_max").attr('disabled', 'disabled');
			$("#b_valor_min").empty();
			$("#b_valor_max").empty();
			$("#b_valor_min").append("<option value=\'\'>Mín.</option>");
			$("#b_valor_max").append("<option value=\'\'>Máx.</option>");
			
		} else {
			
			$("#b_valor_min").removeAttr("disabled");
			$("#b_valor_max").removeAttr("disabled");
			
			$.post("/class/_imoveis/pesquisa.ajax.php", { funcao:'MudaValores', 'param[]':[val, negocio, campo, minimo] }, function(data){ return data; }, 'script');
		}
	}
	
	// Altera os valores dos campos Valores 
	function MudaAreas(tipo, campo, minimo){	
		$.post("/class/_imoveis/pesquisa.ajax.php", {funcao:'MudaAreas', 'param[]':[tipo, campo, minimo]}, function(data){ return data; }, 'script');
	}
	
	
	// Altera o Tipo (Apartamento, casa, sobrado...) conforme o negócio
	function MudaTipo(tipo, negocio){
		$("#b_tipo").attr('disabled', 'disabled');
		$("#b_tipo").empty();
		$("#b_tipo").append('<option>Carregando...</option>');
		
		if(negocio != ""){
			$.post("/class/_imoveis/pesquisa.ajax.php?Emp="+valorcod, { funcao:'MudaTipo', 'param[]':[tipo, negocio] }, function(data){ return data; }, 'script');
		}
	}
	
	// Busca as Cidade do estado
	function MudaCidade(cidade, estado){
		
		$("#b_cidade").attr('disabled', 'disabled');
		$("#b_cidade").empty();
		
		if($("#b_estado").val() != "" || estado != ""){
			$("#b_cidade").append('<option>Carregando...</option>');
			$.post("/class/_imoveis/pesquisa.ajax.php?Emp="+valorcod, { funcao:'MudaCidade', 'param[]':[cidade, estado] }, function(data){ return data; }, 'script');
			MudaBairro(valorbai, $("#b_cidade"));
		} else {
			$("#b_cidade").append('<option>Selecione</option>');
		}
		
	}
	
	// Busca as Cidade do estado
	function MudaEstado(estado){
		
		$("#b_estado").attr('disabled', 'disabled');
		$("#b_estado").empty();
		$("#b_estado").append('<option>Carregando...</option>');
		
		$.post("/class/_imoveis/pesquisa.ajax.php?Emp="+valorcod, { funcao:'MudaEstado', 'param[]':[estado] }, function(data){ return data; }, 'script');
	}
	
	// Busca os Bairros da cidade
	function MudaBairro(bairro, cidade){
		
		$("#b_bairro").attr('disabled', 'disabled');
		$("#b_bairro").empty();
		
		if(valorbai == "Array"){
			$("#b_bairro").append('<option>Múltiplos bairros selecionados</option>');
		} else {
			$("#b_bairro").append('<option>Carregando...</option>');
			$.post("/class/_imoveis/pesquisa.ajax.php?Emp="+valorcod, { funcao:'MudaBairro', 'param[]':[bairro, cidade, valorbus] }, function(data){ return data; }, 'script');
		}
	}
	
	
	// Mostra opções de temporada
	function MudaTemporada(negocio){
		
		if($('#pesquisa_campos_temporada').length){
			
			BloqueiaCampos($('#b_tipo_adv').val(), negocio);
			
			if(negocio == 'temporada'){
				$('#pesquisa_campos_temporada').show();
				$('#pesquisa_campos_temporada_oculta').hide();
				$('#b_vista').removeAttr('disabled');
				$('#b_distancia').removeAttr('disabled');
				$('#b_capacidade').removeAttr('disabled');
			}else{
				$('#pesquisa_campos_temporada').hide();
				$('#pesquisa_campos_temporada_oculta').show();
				$('#b_vista').attr('disabled', true);
				$('#b_distancia').attr('disabled', true);
				$('#b_capacidade').attr('disabled', true);
			}
		}
	}
	
	// Bloqueia campos dependendo do tipo
	function BloqueiaCampos(tipo, negocio){
		$.post("/class/_imoveis/pesquisa.ajax.php", { funcao:'BloqueiaCampos', 'param[]':[tipo, negocio]}, function(data){ return data; }, 'script');
	}
	
	$("#b_negocio").change(function(){
		
		novovalor = this.value;
		
		if($(this).attr('id') == 'b_negocio_adv') valorbus = '_adv';
		
		if($(this).val() == ""){
			
			$("#b_tipo" + ", #b_estado" + ", #b_cidade" + ", #b_bairro").attr('disabled', 'disabled').empty().append('<option value="">Selecione</option>');
			
			MudaValores(valormin, $(this).val(), 'min', '');
			MudaValores(valormax, $(this).val(), 'max', valormin);
			
		} else {
			
			MudaValores(valormin, novovalor, 'min', '');
			MudaValores(valormax, novovalor, 'max', valormin);
			MudaEstado(valorest);
			MudaCidade(valorcid, valorest);
			MudaBairro(valorbai, valorcid)
			MudaTemporada(novovalor);
			MudaTipo(valortip, novovalor);
			
		}
		
	});
	
	
	// Filtra MAX ao trocar o MIN
	$("#b_valor_min").change(function(){
		MudaValores(valormax, $("#b_negocio").val(), 'max', $("#b_valor_min").val());
	});
	
	// Filtra as cidade pelo estado
	$("#b_estado").change(function(){
		
		MudaCidade(valorcid, $(this).val(), valorbai);

		if($(this).val() == ""){
			$("#b_bairro").attr('disabled', 'disabled');
			$("#b_bairro").empty();
			$("#b_bairro").append("<option value=\'TODOS\'>Selecione uma cidade</option>");
		}
		
	});
	
	// Filtra os bairros pela cidade
	$("#b_cidade").change(function(){
		novovalor = $("#b_cidade").val();
		MudaBairro(valorbai, novovalor);
	});
	
	
	if(valorneg != ""){
		//alert(valormin + " Z " + valormax);
		MudaTipo(valortip, valorneg);
		MudaEstado(valorest);
		MudaCidade(valorcid, valorest);
		MudaBairro(valorbai, valorcid);
		MudaValores(valormin, valorneg, 'min', '');
		MudaValores(valormax, valorneg, 'max', valormin);
		MudaAreas(valortip, 'min', '');
		MudaAreas(valortip, 'max', '');
		if(typeof valormap != 'undefined' && valormap != '' && valormap != '0') $('#chkbuscamapa, #chkbuscamapapalavra').attr('checked', 'checked');
	}

	MudaTemporada(valorneg);	
	
	
	// Desativa ou ativa campos dependendo do que já está selecionado
	if($("#b_negocio").val() != ""){
		$("#b_valor_min").removeAttr("disabled");
		$("#b_valor_max").removeAttr("disabled");
		$("#b_tipo").removeAttr("disabled");
	}
	
	if($("#b_estado").val() != "" && valorneg != ""){
		$("#b_cidade").removeAttr("disabled");
	}
	
	function isNum(num) {
		if(num == "") return false;
		else return (num >=0 || num < 0);
	}
	
	function transformaValor(valor){
		getvalor = valor.replace('1000000', '1-milhao-ou-mais');
		getvalor = getvalor.replace("00000", '00-mil').replace("00000", '00-mil');
		getvalor = getvalor.replace("0000", '0-mil').replace("0000", '0-mil');
		getvalor = getvalor.replace("000", '-mil').replace("000", '-mil');
		
		return getvalor;
	}
	

	
	$("#FormPesquisa").submit(function(){
		
		if($('#b_negocio').val() == ""){
			alert("Você precisa selecionar um tipo de Negócio!");
			$('#b_negocio').addClass('formularios_verificar');
			$('#b_negocio').focus();
			return false;
		
		}else if($('#b_tipo').val() == ""){
			alert("Você precisa escolher o Tipo do imóvel!");
			$('#b_tipo').addClass('formularios_verificar');
			$('#b_tipo').focus();
			return false;
			
		} else {
			
			var url = '/imoveis/';
			
			// Troca a pagina de resultados
			var GetSearchMapa = '';
			if( ($('#chkbuscamapa').is(':checked')) || ($('#chkbuscamapapalavra').is(':checked')) ){
				var GetSearchMapa = 1;
				url = '/imoveis-mapa/';
			}
			
			// Condicoes para url amigavel
			var getvalormin = $('select#b_valor_min').val();
			var getvalormax = $('select#b_valor_max').val();
			
			if(!isNum(getvalormin) && !isNum(getvalormax)) {
				var getvalor = "";
			} else if(isNum(getvalormin) && !isNum(getvalormax)) {
				var getvalor = "/r$-"+getvalormin+"-ou-mais";
			} else if(!isNum(getvalormin) && isNum(getvalormax)) {
				var getvalor = "/ate-r$-"+getvalormax;
			} else if(isNum(getvalormin) && isNum(getvalormax)){
				var getvalor = "/de-r$-"+getvalormin+"-ate-"+getvalormax;
			}
			
			getvalor = transformaValor(getvalor);
			
			// Tipo
			var gettipo = $('#b_tipo').val();
			gettipo = gettipo.replace('---', '-');		
			
			if(gettipo == "TODOS") {
				var gettipo = "";
			} else {
				var gettipo = gettipo.replace(',', '');
				var gettipo = "/"+gettipo;
			}
			
			// Bairro
			var getbairro = $('#b_bairro').val();
			
			if(getbairro == "TODOS" || getbairro == "") {
				var getbairro = "";
			} else {
				var getbairro = "/"+getbairro+"-"+retiraAcento($("select#b_bairro" + " option:selected").text());
			}
			
			/// Suite
			var getsuites = $('#b_suites').val();
			
			if((getsuites == "TODOS") || (getsuites == undefined)) {
				var getsuites = "";
			} else {
				if(getsuites > 1){ plural = 's'; } else { plural = "" }
				var getsuites = "/"+getsuites+"-suite"+plural;
			}
			
			// Quartos
			var getquartos = $('#b_quartos').val();
			
			if((getquartos == "TODOS") || (getquartos == undefined)) {
				var getquartos = "";
			} else {
				if(getquartos > 1){ plural = 's'; } else { plural = "" }
				var getquartos = "/"+getquartos+"-quarto"+plural;
			}

            // Cidades
			if (($('#b_cidade').val() == 0 || $('#b_cidade').val() == "Selecione") && !$('#b_estado').val()) {
				var cidade_text = '';
            } else if(($('#b_cidade').val() == 0 || $('#b_cidade').val() == "Selecione") && $('#b_estado').val()) {
                var cidade_text = '0-todas-as-cidades';
			} else {
				var cidade_text = $('#b_cidade').val()+"-"+retiraAcento($("select#b_cidade" + " option:selected").text())
			}
			
			if (!$('#b_estado').val()) {
				var estado_text = '';
			} else {
				var estado_text = '-' + $('#b_estado').val();
			}
			
			
			// Gera primeira parte do resultado
			url += $('#b_negocio').val()+
			gettipo+
			"/"+cidade_text+
			estado_text+
			getbairro+
			getsuites+
			getquartos+
			getvalor;
			
			if($('#b_negocio').val() == 'Temporada'){
				
				// Vista para o mar
				var getvista = $('#b_vista').val();
				
				if(getvista == 0) {
					var getvista = "";
				} else {
					var getvista = "/vista-mar-"+getvista;
				}
				
				// Distancia do mar
				var getdistancia = $('#b_distancia').val();
				
				if(getdistancia == 0) {
					var getdistancia = "";
				} else {
					var getdistancia = "/distancia-"+getdistancia;
				}
				
				// Capacidade
				var getcapacidade = $('#b_capacidade').val();
				
				if(getcapacidade == 0) {
					var getcapacidade = "";
				} else {
					if(getcapacidade > 1){ plural = 's'; } else { plural = "" }
					var getcapacidade = "/"+getcapacidade+"-pessoa"+plural;
				}
				
				url += getvista+
				getdistancia+
				getcapacidade;
				
			}
			
			url = url.toLowerCase().replace('todos-todos', 'todos');
			
			// Grava em sessao os campos selecionados
			$.post("/class/_imoveis/pesquisa.ajax.php",
			{funcao:'SalvarBusca',
			'param[]':[GetSearchMapa, $('#b_negocio').val(), $('#b_tipo').val(), $('#b_estado').val(), $('#b_cidade').val(), $('#b_bairro').val(), $('#b_suites').val(), $('#b_quartos').val(), getvalormin, getvalormax]}, 'script')
			.done(function(data) {
				redirecionar(url);
			});
			
		}
		
		return false;
			
	});
	
	$('#b_palavrachave, #ref').focus(function(){
		if(this.value == $(this).attr('rel')) this.value = '';
	});
	$('#b_palavrachave, #ref').blur(function(){
		if(this.value == '') this.value = $(this).attr('rel');
	});
	
	// Válida a busca por código
	$("#form_pesquisa_codigo").submit(function(e){
		e.preventDefault();
		//alert('oi');
		if( $('#ref').val() == "" || $('#ref').val() == "Ex.: 9910017415" ){
			alert("Você precisa digitar o código do imóvel!");
			$('#ref').addClass('formularios_verificar');
			$('#ref').focus();
			return false;
		} else {
			window.location.href = "/imovel/"+$('#ref').val();
			return true;
		}
	});
	
	// Válida a busca por palavra-chave
	$("#form_pesquisa_palavrachave").submit(function(){
		
		if (($('#b_palavrachave').val().length < 5) || ($('#b_palavrachave').val() == "Ex.: apto 2 quartos locação")){
			alert("Digite a palavra-chave desejada com pelo menos 5 letras!");
			$('#b_palavrachave').addClass('formularios_verificar');
			$('#b_palavrachave').focus();
			return false;
		
		} else {
			
			return true;
		}
	});
});