/*
*Funções que são executadas quando a página é totalmente carregada 
*
*/
window.onload = function() {
	
$(document).ready(function() {
						   
//alert('teste');
/*
*Desabilita todos os selects da pesquisa por padrão
*/
$("#FormPesquisa select").attr('disabled','disabled');
/*
*Apos um tipo de negocio ser marcado apena o select de Tipos de imóvel é liberado
*/
$("input[name='negocio']").click(function(){
$("#FormPesquisa select#PesquisaTipoImovel").removeAttr('disabled');
													
});
  
/*
Função de execução de condominios, ao clicar verifica se a bairros marcados se tiver prossegue, 
pega os valores dos campos e processa função ajax para retorno e impressão de dados   
*/
$("#PesquisaCondominios").click(function(){
//verifica se a bairros marcados
var i = 0;
$(".checkbox_bairros:checked").each(function(){
i++;
});
									
//se não tiver emite alerta, posiciona o ponteiro no select bairros e retorna.
if(i==0){
alert('Selecione pelo menos um bairro!');
$('#PesquisaBairros').focus();
return false;
}else{
	
						 /*Filtragem de Condominios para seguir usabilidade proposta pelo Ferando*/
						var negocio = $("input:radio[name='negocio']:checked").val();
						var tipos = checkBox('.checkbox_tipos','value');
						var subtipos = checkBox('.checkbox_subtipos','value');
						var bairros = checkBox('.checkbox_bairros','value');
						var div = "#PesquisaCondominios_window .w_content";
						var cod_cidade = $('#PesquisaCidade').val();
						var valor = $('#PesquisaValor').val();
						var valor2 = $('#PesquisaValor2').val();
						var vagas = $('#PesquisaVagas').val();
						var dormitorios = $('#PesquisaDormitorios').val();
					 	FiltraCondominios(negocio,div,tipos,subtipos,cod_cidade,valor,valor2,vagas,dormitorios,bairros)

$('.window').hide('fast'); //fecha modal se estiver alguma aberta
$("#PesquisaCondominios_window").show('slow');	
}
});


/**
Lista de valores para compra e aluguel
*/
team = new Array(
new Array(
new Array("Indiferente", 0),
new Array("300.000,00", "400000.00"),
new Array("600.000,00", "600000.00"),
new Array("800.000,00", "800000.00"),
new Array("1.000.000,00", "1000000.00"),
new Array("1.200.000,00", "1200000.00"),
new Array("1.500.000,00", "1500000.00"),
new Array("2.000.000,00", "2000000.00"),
new Array("2.500.000,00", "2500000.00"),
new Array("3.000.000,00", "3000000.00"),
new Array("3.500.000,00", "3500000.00"),
new Array("4.000.000,00", "4000000.00"),
new Array("4.500.000,00", "4500000.00"),
new Array("5.000.000,00", "5000000.00"),
new Array("10.000.000,00", "10000000.00")
),
new Array(
new Array("Indiferente", 0),
new Array("1.500,00", "1500.00"),
new Array("2.000,00", "2000.00"),
new Array("2.500,00", "2500.00"),
new Array("3.000,00", "3000.00"),
new Array("4.000,00", "4000.00"),
new Array("5.000,00", "5000.00"),
new Array("6.000,00", "6000.00"),
new Array("7.000,00", "7000.00"),
new Array("8.000,00", "8000.00"),
new Array("10.000,00", "10000.00"),
new Array("12.000,00", "12000.00"),
new Array("14.000,00", "14000.00"),
new Array("16.000,00", "16000.00"),
new Array("18.000,00", "18000.00"),
new Array("20.000,00", "20000.00")
),
new Array(
new Array("Indiferente", 0),
new Array("300.000,00", "400000.00"),
new Array("600.000,00", "600000.00"),
new Array("800.000,00", "800000.00"),
new Array("1.000.000,00", "1000000.00"),
new Array("1.200.000,00", "1200000.00"),
new Array("1.500.000,00", "1500000.00"),
new Array("2.000.000,00", "2000000.00"),
new Array("2.500.000,00", "2500000.00"),
new Array("3.000.000,00", "3000000.00"),
new Array("3.500.000,00", "3500000.00"),
new Array("4.000.000,00", "4000000.00"),
new Array("4.500.000,00", "4500000.00"),
new Array("5.000.000,00", "5000000.00"),
new Array("10.000.000,00", "10000000.00"),
new Array("Acima de R$ 10.000.000,00", "10000000.01")
),
new Array(
new Array("Indiferente", 0),
new Array("1.500,00", "1500.00"),
new Array("2.000,00", "2000.00"),
new Array("2.500,00", "2500.00"),
new Array("3.000,00", "3000.00"),
new Array("4.000,00", "4000.00"),
new Array("5.000,00", "5000.00"),
new Array("6.000,00", "6000.00"),
new Array("7.000,00", "7000.00"),
new Array("8.000,00", "8000.00"),
new Array("10.000,00", "10000.00"),
new Array("12.000,00", "12000.00"),
new Array("14.000,00", "14000.00"),
new Array("16.000,00", "16000.00"),
new Array("18.000,00", "18000.00"),
new Array("20.000,00", "20000.00"),
new Array("Acima de R$ 20.000,00", "20000.01")
)
);		   

/*
Carrega automaticamente valores no select VALOR de acordo com o tipo de negocio marcado,
Utiliza o array team[]
*/
$("input[name='negocio']").click(function(){
		valor = $(this).val();
		//Zero valor
	   	$('#PesquisaValor').children().remove();
		$('#PesquisaValor2').children().remove();
		
		if(valor=="VENDA"){
		var index = 0;
		var index2 = 2;
		}else
		if(valor=="LOCAR"){
		var index = 1;
		var index2 = 3;
		}
		
		var total = team[index].length;
		var total2 = team[index2].length;
		
		for(i=0;i<total;i++){
			AddOpt('PesquisaValor',team[index][i][1],team[index][i][0]);
		}
		for(i=0;i<total2;i++){
			AddOpt('PesquisaValor2',team[index2][i][1],team[index2][i][0]);
		}
})


/*
Processa formulário de pesquisa para a pagina server-side indicada na URL,
OBS: faz uma pequena validação antes de enviar
*/
$('#submit_search').click(function(){
								  
		var negocio = $("input:radio[name='negocio']:checked").val();	
		var tipos = checkBox('.checkbox_tipos','value');
		var subtipos = checkBox('.checkbox_subtipos','value');
		var bairros = checkBox('.checkbox_bairros','value');
		var bairros_c = $("input:hidden[name='bairros_cond']").val();
		var div = "#PesquisaCondominios_window .w_content";
		var cod_cidade = $('#PesquisaCidade').val();
		var valor = $('#PesquisaValor').val();
		var valor2 = $('#PesquisaValor2').val();
		var vagas = $('#PesquisaVagas').val();
		var dormitorios = $('#PesquisaDormitorios').val();
		var condominios = checkBox('.checkbox_condominios','value');
		
		/*
		Pequena validação antes de enviar para a pagina server-side
		Negocio, tipos de imoveis e bairros não poderão estar vazios.
		*/
		if(negocio=="undefined" || negocio==null || negocio==""){
			alert("Você gostaria de comprar ou alugar um imóvel?");	
			return false;
		}
		
		if((tipos=="undefined" || tipos==null || tipos=="") && (subtipos=="undefined" || subtipos==null || subtipos=="")){
			alert('Selecione pelo menos um tipo de imóvel!');
			return false;
		}
		if(bairros=="undefined" || bairros==null || bairros==""){
			alert('Selecione pelo menos um bairro!');
			return false;
		}
		
		//URL a ser processada
		var url = "index.php?p=imoveisp&ac=pesq&negocio="+negocio+"&qts="+dormitorios+"&vgs="+vagas+"&pvalor="+valor+"&pvalor2="+valor2+"&tipos="+tipos+"&subtipos="+subtipos+"&bairros="+bairros+"&locais="+condominios+"&bairrosc="+bairros_c;
		
		//alert("URL "+url);
		//reload da página
		document.location=url; 
		return false;
});



/*
*Fecha modal de seleção de tipos de imovel, bairros e condominios
*/
 $('.close_window').click(function(){
 			
			//pego o id de qual modal está sendo fechada
			var id = $(this).attr('href');

			//fechando modal Tipo de imóveis
			if(id=="#PesquisaTipoImovel"){	
			
			var name_tipos = checkBox('.checkbox_tipos','id');
			var name_subtipos = checkBox('.checkbox_subtipos','id');
			var v_tipos = checkBox('.checkbox_tipos','value')
			var v_subtipos = checkBox('.checkbox_subtipos','value');
			var negocio = $("input:radio[name='negocio']:checked").val();
			var texto = "";
			
					/*
					*Verifico se há tipos selecionados e aplico na tooltipo
					*/
					if(name_tipos.length!==0 || name_subtipos.length!==0){
					
					var texto = 'Selecionados: '+name_tipos+name_subtipos; //texto da tooltip
					var nomes_tipos = name_tipos+name_subtipos;
					
					$('#tipos_sel').val(texto); //aplico texto na tooltip
				
					$("#FormPesquisa select").removeAttr('disabled'); //habilito todos os selects
						
					//Escrevo no input os tipos selecionados e limito a exibição no input em 20 caracteres
					writeOptTxt('PesquisaTipoImovel',nomes_tipos,20);
					// atualiza a lista de cidades
					FiltraCidades(negocio,'lista_cidades',v_tipos,v_subtipos);
		
					
					}else{
					//Desabilito novamente todos os selects menos o de tipo de imoveis	
					$("#FormPesquisa select:not(#PesquisaTipoImovel)").attr('disabled','disabled');
					
					var texto = 'Nenhum tipo de imóvel selecionado!';
					$('#tipos_sel').val(texto); //aplico texto na tooltip
					
					//Escrevo no input os tipos selecionados e limito a exibição no input em 20 caracteres
					writeOptTxt('PesquisaTipoImovel','Selecione',20);

					}
			}else 
			//fechando Modal de Bairros
			if(id=="#PesquisaBairros"){
				
					var name_bairros = checkBox('.checkbox_bairros','id');
					var texto = "";
					
					/*
					*Verifico se há bairros selecionados e aplico na tooltipo
					*/
					if(name_bairros.length!==0){
					
					var texto = 'Selecionados: '+name_bairros; 
					$('#bairros_sel').val(texto); //aplico texto na tooltip
					
					//Escreve dentro dos inputs
					writeOptTxt('PesquisaBairros',name_bairros,15);
					 
					 /*Filtragem de Condominios para seguir usabilidade proposta pelo Ferando*/
						var negocio = $("input:radio[name='negocio']:checked").val();
						var tipos = checkBox('.checkbox_tipos','value');	
						var subtipos = checkBox('.checkbox_subtipos','value');	
						var bairros = checkBox('.checkbox_bairros','value');
						var div = "#PesquisaCondominios_window .w_content";
						var cod_cidade = $('#PesquisaCidade').val();
						var valor = $('#PesquisaValor').val();
						var valor2 = $('#PesquisaValor2').val();
						var vagas = $('#PesquisaVagas').val();
						var dormitorios = $('#PesquisaDormitorios').val();
					 	FiltraCondominios(negocio,div,tipos,subtipos,cod_cidade,valor,valor2,vagas,dormitorios,bairros);
						
					}else{
					var texto = 'Nenhum bairro selecionado!';
					$('#bairros_sel').val(texto); //aplico texto na tooltip
					//Escreve dentro dos inputs
					writeOptTxt('PesquisaBairros','Selecione',15);
					$('#PesquisaCondominios').attr('disabled','disabled');
					}
				
			}
			else
			if(id=="#PesquisaCondominios"){
					var name_condominios = checkBox('.checkbox_condominios','id');
					var texto = "";
					if(name_condominios.length!==0){
					var texto = 'Selecionados: '+name_condominios; 
					
					//Escreve dentro dos inputs
					writeOptTxt('PesquisaCondominios',name_condominios,15);
					 $('#condominios_sel').val(texto); //aplico texto na tooltip
					
					}else{
					writeOptTxt('PesquisaCondominios','Indiferente',90);
					var texto = 'Nenhum condomínio selecionado!';
					}
			}
					
			
			$(id+'_window').hide('slow');		
			return false;
 });
 
/*
Filtra os tipos de imóvel
*/
$('#PesquisaTipoImovel').click(function(){
			/*
			Abre modal para seleção de tipos de imóvel
			*/
			var id = $(this).attr('id');
			var positions = $(this).offset();
			var left = positions.left;
			var id_window = '#'+id+'_window';
		    $(id_window).css('left','155px'); //posiciona modal
		    $(id_window).css('top','10px'); // idem cima
			$('.window').hide('fast'); //fecha modal se estiver alguma aberta
			$(id_window).show('slow'); //abre modal com efeito de fadding
			
			//Pego dados para efetuar filtragem e imprimir na tela
			var negocio =$("input:radio[name='negocio']:checked").val();
			var div = "#PesquisaTipoImovel_window .w_content";
			var cod_cidade = $('#PesquisaCidade').val();
			
			FiltraTipos(negocio,div,cod_cidade);
 });
 
 
 
 /*
 Carrega bairros apartir de : negocio, tipos,valor, vagas, dormitorios
 */
$('#PesquisaBairros').click(function(){
		var name_tipos = checkBox('.checkbox_tipos','id');
		var name_subtipos = checkBox('.checkbox_subtipos','id');
		/*
		*Valida para verificar se  há algum tipo de imóvel selecionado, caso não emite um alerta e para a execução
		*/
		if(name_tipos=="" && name_subtipos==''){
			alert("Selecione pelo menos um tipo de imóvel!");
			return false;
		}
		
		var id = $(this).attr('id');
		var positions = $(this).offset();
		var left = positions.left;
		var id_window = '#'+id+'_window';
		$(id_window).css('left','56px'); //posição modal
		$(id_window).css('top','58px'); //posição modal
		$('.window').hide('fast'); //fecha modal se estiver alguma aberta
		$(id_window).show('slow'); //abre modal com efeito de fadding
		//var pos = $(id_window).offset();
		//alert('Top:'+pos.top+' Left:'+pos.left);
		
		//pego dados para efetuar filtragem e impressão na tela
		var negocio = $("input:radio[name='negocio']:checked").val();
		var tipos = checkBox('.checkbox_tipos','value');
		var subtipos = checkBox('.checkbox_subtipos','value');
		var div = "#PesquisaBairros_window .w_content";
		var cod_cidade = $('#PesquisaCidade').val();
		var valor = $('#PesquisaValor').val();
		var valor2 = $('#PesquisaValor2').val();
		var vagas = $('#PesquisaVagas').val();
		var dormitorios = $('#PesquisaDormitorios').val();
		
		//Pequeno debug de dados
		//alert('Negocio: '+negocio+' div: '+div+' Cidade: '+cod_cidade+' valor: '+valor+'vagas: '+vagas+' dormitorios:'+dormitorios);
 		//alert('subtipos: '+subtipos);
		FiltraBairros(negocio,div,tipos,subtipos,cod_cidade,valor,valor2,vagas,dormitorios);
});

});
   
/**
Adiciona um option em um select
@id = id do select
@val = valor do campo
@class = classe a ser usado no option
@texto = texto a aparecer no option
*/ 
function AddOpt(id,val,tex){
$("#"+id).append("<option value=' "+val+" ' >"+tex+"</option>");
}

   
/*
Funcao que filtra os bairros 
*/
function FiltraBairros(negocio,div,tipos,subtipos,cod_cidade,valor,valor2,vagas,dormitorios){
			//alert("valor até: "+valor2+" // valor: "+valor);
		$.ajax({
		   url: "_pages/p_inc_ajax_filtra_bairros.php",
		   data:{'neg':negocio,'div':div,'tipos':tipos,'subtipos':subtipos,'cid':cod_cidade,'pvalor':valor,'pvalor2':valor2,'vgs':vagas,'qts':dormitorios},
		   cache:false,
		   success: function(data){
		   
			$(div).html(data);
 			$(div+' .loading_pesq').hide();
			//var negocio =$("input:checkbox[name='negocio']:checked").val();
	
			//$('#tipos_sel').html('Selecionado');
		   },
		   error:function(){ alert('Erro na requisiçao');
		   }
 		});

}

/*
Funcao que filtra os bairros 
*/
function FiltraCondominios(negocio,div,tipos,subtipos,cod_cidade,valor,valor2,vagas,dormitorios,bairros){
		$.ajax({
		   url: "_pages/p_inc_ajax_filtra_condominios.php",
		   data:{'neg':negocio,'div':div,'tipos':tipos,'subtipos':subtipos,'cid':cod_cidade,'pvalor':valor,'pvalor2':valor2,'vgs':vagas,'qts':dormitorios,'bairros':bairros},
		   cache:false,
		   success: function(data){
		   		
				if(data=="error"){
				//alert("Não existem condomínios no(s) bairro(s) selecionados! \nContinue sua pesquisa.");
				$("#PesquisaCondominios").attr('disabled','disabled');
				return false;
				}else{
				$("#PesquisaCondominios").removeAttr('disabled');
			 	$(div).html(data);
				}
			//var negocio =$("input:checkbox[name='negocio']:checked").val();
	
			 //$('#tipos_sel').html('Selecionado');
		   },
		   error:function(){ alert('Erro na requisiçao');
		   }
 		});
}


/*
Funcao que filtra as cidades que contenham imoveis com os tipos informados 
*/
function FiltraCidades(negocio,div,tipos,subtipos){
		$.ajax({
		   url: "_pages/p_inc_ajax_filtra_cidades.php",
		   data:{'neg':negocio,'div':div,'tipos':tipos,'subtipos':subtipos},
		   cache:false,
		   success: function(data){
			   //alert("Atualiza cidades."+tipos+div+negocio);
		   		//$(div).html(data);
				$('#'+div).html(data);
				/*if(data=="error"){
				
				//alert("Não existem condomínios no(s) bairro(s) selecionados! \nContinue sua pesquisa.");
				$("#PesquisaCondominios").attr('disabled','disabled');
				return false;
				}else{
				$("#PesquisaCondominios").removeAttr('disabled');
			 	
				}*/
			//var negocio =$("input:checkbox[name='negocio']:checked").val();
	
			 //$('#tipos_sel').html('Selecionado');
		   },
		   error:function(){ alert('Erro na requisiçao');
		   }
 		});
}

/**
Escreve dentro do option
@id = id do select
@txt = texto a ser colocado
@n = numero de caracteres a ser cortados
*/
function writeOptTxt(id,txt,n){
		var txt = txt.substr(0,n);
			$('#'+id).find('option').remove().end().append("<option value='0'>"+txt+"</option>");
}

/*
Retorna listagem de checkboxes marcados separados por ','
*/

function checkBox(classe,returned) {
var boxs = '';
// Procura em todos os elementos com a classe class na página.
var i = 1;
$(classe+":checked").each(function(){

// Adiciona valor do checkbox
//if(i==1){
//boxs = $(this).attr(returned);
//}else{
boxs += $(this).attr(returned) + ',';
//}
i++;

});
return boxs;
}  

   
/*
Funçao que filtra os bairros e retorna-os em checkboxes e joga dentro da div
negocio (LOCAR) OU (VENDER)
div: div onde devera ser listada os tipos
codigo da cidade
*/
function FiltraTipos(negocio,divs,cod_cidade){

	$.ajax({
		   url: "_pages/p_inc_ajax_tipos_imoveis.php",
		   data:{'div':divs,'neg':negocio,'cod':cod_cidade},
		   cache:false,
		   success: function(data){
			$(divs).html(data);
		   },
		   error:function(){ alert('Erro na requisiçao');
		   }
 		});
}
//funcao para fechar
}

