function moeda2br(valor) {
	valor = valor.toString().replace(',', '');
	valor = valor.replace(',', '');
	valor = valor.replace(',', '');
	valor = valor.replace(',', '');
	return valor.replace('.', ',');
}
function moeda2us(valor) {
	valor = valor.toString().replace('.', '');
	valor = valor.replace('.', '');
	valor = valor.replace('.', '');
	valor = valor.replace('.', '');
	valor = valor.replace(',', '.');
	return valor;
}
function array_search(needle, haystack, argStrict) {
	var key = '';
	for (key in haystack) {
		if ((argStrict && haystack[key] === needle) || (!argStrict && haystack[key] == needle)) {
			return key;
		}
	}
	return false;
}
var Busca = {
	//parâmetros da URL objeto
	categorias: [],
	tipos: [],
	bairros: [],
	categoria: null,
	cidade: null,
	tipo: null,
	bairro: null,
	dormitorios: null,
	valores: null,
	areaUtil: null,
	referencia: null,
	filtro: null,
	porPag: null,
	pagina: null,
	sessao: null,
	enviar: null,
	btFiltro: null,
	ba: null,
	apiba: null,
	condominio: null,
		
	start: function (dados) {
		if (dados != '') {
			var ObjetoUrl = $.parseJSON(dados);
			Busca.categoria = ObjetoUrl.categoria;
			Busca.tipo = ObjetoUrl.tipo;
			Busca.bairro = ObjetoUrl.bairro;
			Busca.dormitorios = ObjetoUrl.dormitorio;
			Busca.valores = ObjetoUrl.valor;
			Busca.areaUtil = ObjetoUrl.area_util;
			Busca.referencia = ObjetoUrl.referencia;
			Busca.porPag = ObjetoUrl.por_pagina;
			Busca.pagina = ObjetoUrl.pagina;
			Busca.filtro = ObjetoUrl.filtro;
			Busca.condominio = ObjetoUrl.condominio;
			
			$('#ba').hide();
			// seta os checks de categoria
			Busca.categorias = Busca.categoria.split(',');
			for (var i in Busca.categorias) {
				$('#cat_' + Busca.categorias[i]).attr('checked', true);
			}
			//seta checks tipo
			Busca.tipos = Busca.tipo.split(',');
			for (var h in Busca.tipos) {
				$("#tipo_" + Busca.tipos[h]).attr('checked', true);
			}
			// inicializa o slider de dormitorios
			var minDorm = 0, maxDorm = 10;
			if (Busca.dormitorios && Busca.dormitorios != '-') {
				var dorm = Busca.dormitorios.split('-');
				var tam = dorm.length;
				if (tam == 2) {
					if (dorm[0] == 'de') {
						maxDorm = 10;
						minDorm = dorm[1];
					} else if (dorm[0] == 'a') {
						minDorm = 0;
						maxDorm = dorm[1];
					}
				} else {
					minDorm = dorm[1];
					maxDorm = dorm[3];
				}
				
			} else {
				minDorm = 0;
				maxDorm = 10;
			}
			
			$('#slider_dorm').slider({
				range: true,
				min: 0,
				max: 10,
				values: [ minDorm, maxDorm ],
				change: function (event, ui) { Busca.dormitorios = 'de-' + ui.values[0] + '-a-' + ui.values[1]; Busca.url();},
				slide: function (event, ui) { $('#infoDorm').html('de <strong>' + ui.values[0] + '</strong> até <strong>' + ui.values[1] + '</strong> dormitório(s)'); }
			});
			$('#infoDorm').html('de <strong>' + minDorm + '</strong> até <strong>' + maxDorm + '</strong> dormitório(s)');
			
			// inicializa o slider de área útil
			var minArea = 0, maxArea = 1000;
			if (Busca.areaUtil && Busca.areaUtil != '-') {
				var area = Busca.areaUtil.split('-');
				minArea = area[1];
				maxArea = area[3];
			}
			$('#slider_area').slider({
				range: true,
				min: 0,
				max: 1000,
				values: [ minArea, maxArea ],
				change: function (event, ui) { Busca.areaUtil = 'de-' + ui.values[0] + '-a-' + ui.values[1]; Busca.url(); },
				slide: function (event, ui) { $('#infoArea').html('de <strong>' + ui.values[0] + '</strong> m²(s) até <strong>' + ui.values[1] + '</strong> m²(s)'); }
			});
			$('#infoArea').html('de <strong>' + minArea + '</strong> m²(s) até <strong>' + maxArea + '</strong> m²(s)');
			
			
			// inicializa o slider de Valores
			var minValor, maxValor, x;
			if (Busca.valores && Busca.valores != '-') {
				var valor = Busca.valores.split('-');
				var tamanho = valor.length;
				// se 2 veio apenas de ou ate
				if (tamanho == 2) {
					if (valor[0] == 'de') {
						minValor = moeda2us(valor[1]);
						maxValor = 3000000;
					} else if (valor[0] == 'a') {
						minValor = 10000;
						maxValor = moeda2us(valor[1]);
					}
				} else {
					minValor = moeda2us(valor[1]);
					maxValor = moeda2us(valor[3]);
				}
			} else {
				minValor = 10000, maxValor = 3000000;
			}
			$('#slider_valor').slider({
				range: true,
				min: 10000,
				max: 3000000,
				step: 10000,
				values: [ minValor, maxValor ],
				change: function (event, ui) { Busca.valores = 'de-' + moeda2br(ui.values[0]) + ',00-a-' + moeda2br(ui.values[1]) + ',00'; Busca.url(); },
				slide: function (event, ui) { $('#infoValor').html('de R$ <strong>' + moeda2br(ui.values[0]) + ',00</strong> até R$ <strong>' + moeda2br(ui.values[1]) + ',00</strong> ');/* Busca.filtros(toString(ObjetoUrl), '');*/}
			});
			$('#infoValor').html('de R$ <strong>' + moeda2br(minValor) + '</strong> até R$ <strong>' + moeda2br(maxValor) + '</strong> ');
			
			Busca.ba = $('#ba').jScrollPane();
			Busca.apiba = Busca.ba.data('jsp');
		}
		this.enviarA = $('#BenviarA')
		this.enviar = $('#Benviar');
		this.btFiltro = $('a.filtros');
		this.enviar.bind('click', Busca.buscaRapida);
		this.enviarA.bind('click', Busca.buscaAvancada);
		// amarra o evento quando seleciona/deseleciona uma categoria no refinamento
		$('input.check_categoria').bind('change', Busca.checkCategoria);
		$('input.check_tipo').bind('change', Busca.checkTipo);
		$("select.cid2").bind('change', Busca.buscaBairros).trigger('change');
		
		$('.buscaRefinamento').bind('click', Busca.url);
		$('#Btlivre').bind('click', Busca.buscaLivre);
		
		//Mecanismos botões exibir formulários busca rápida e avançada (menuzinho)
		$('#btRapida').bind('click', function () {
			$('#tamanho_busca');
			$('#busAvancada').hide();
			$('#busRapida').show();
			$('#btAvancada').removeClass('rapida').addClass('avancada');
			$('#btRapida').removeClass('avancada').addClass('rapida');
			return false;
		});
		$('#btAvancada').bind('click', function () {
			$('#busAvancada').show();
			$('#busRapida').hide();
			$('#tamanho_busca');
			$('#btRapida').removeClass('rapida').addClass('avancada');
			$('#btAvancada').removeClass('avancada').addClass('rapida');
			return false;
		});
		//formatação campos valor min e max
		$('input.valor').priceFormat({ prefix: '', centsSeparator: ',', thousandsSeparator: '.' });	
		//chamada para bairros
		/*
		$("select.cid").bind('change',function() {
			var tipo = $('#Bcategoria option:selected').val();
			var finalidade = $('#Btipo option:selected').val();
			alert(tipo);
			alert(finalidade);
			cidades = this.value;
			$.post('ajax/',{cidade:cidades, tipo:tipo, finalidade:finalidade, active:'bairro'}, function(result){
				$('select.bairros').html(result).jSelect();
				$('select.bairros').html(result);
			});
		});
		*/
	},
	
	checkCategoria: function () {
		if (this.checked) {
			// adiciona no vetor
			Busca.categorias.push(this.value);
		} else {
			// remove do vetor
			Busca.categorias.splice(array_search(this.value, Busca.categorias), 1);
		}
		// atribui a lógica do vetor na string principal
		Busca.categoria = Busca.categorias.join(',');
		for (var i = 0; i < 5; i++) {
			Busca.categoria = Busca.categoria.replace('_', ' ');
		}
		// se existir - na primeira posição do array e for incluída mais uma cidade, eu removo o - e saio do for
		for (var l = 0; Busca.categorias[l]; l++) {
			if(l >= 0) {
				if (Busca.categorias[0] == '-') {
					Busca.categorias.splice(array_search('-', Busca.categorias), 1);
					break;
				}
			}
		}
	},
	
	checkTipo: function () {
		if (this.checked) {
			// adiciona no vetor
			Busca.tipos.push(this.value);
		} else {
			// remove do vetor
			Busca.tipos.splice(array_search(this.value, Busca.tipos), 1);
		}
		// atribui a lógica do vetor na string principal
		Busca.tipo = Busca.tipos.join(',');
		// se existir - na primeira posição do array e for incluída mais uma cidade, eu removo o - e saio do for
		for (var l = 0; Busca.tipos[l]; l++) {
			if(l > 0) {
				if (Busca.tipos[0] == '-') {
					Busca.tipos.splice(array_search('-', Busca.tipos), 1);
					break;
				}
			}
		}
	},
	checkBairro: function () {
		//$('#ba').show();
		if (this.checked) {
			// adiciona no vetor
			Busca.bairros.push(this.value);
		} else {
			// remove do vetor
			Busca.bairros.splice(array_search(this.value, Busca.bairros), 1);
		}
		// atribui a lógica do vetor na string principal
		Busca.bairro = Busca.bairros.join(',');
		for (var i = 0; i < 10; i++) {
			Busca.bairro = Busca.bairro.replace('_', ' ');
		}
		// se existir - na primeira posição do array e for incluída mais uma cidade, eu removo o - e saio do for
		for (var l = 0; Busca.bairros[l]; l++) {
			if(l > 0) {
				if (Busca.bairros[0] == '-') {
					Busca.bairros.splice(array_search('-', Busca.bairros), 1);
					break;
				}
			}
		}
	},
	
	buscaLivre: function (ObjetoUrl) {
		ObjetoUrl = $.parseJSON(ObjetoUrl);
		Busca.categoria = ObjetoUrl.categoria;
		Busca.cidade = ObjetoUrl.cidade;
		Busca.tipo = ObjetoUrl.tipo;
		Busca.bairro = ObjetoUrl.bairro;
		Busca.dormitorios = ObjetoUrl.dormitorio;
		Busca.valores = ObjetoUrl.valor;
		Busca.areaUtil = ObjetoUrl.area_util;
		Busca.referencia = ObjetoUrl.referencia;
		Busca.pagina = ObjetoUrl.pagina;
		Busca.condominio = ObjetoUrl.condominio;
		Busca.porPag = ObjetoUrl.por_pagina;
		Busca.filtro = ObjetoUrl.filtro;
		Busca.url();
		return false;
	},
	
	buscaAvancada: function () {
		//setando os valores dos objetos
		Busca.categoria = document.getElementById('Bcategoria2').value,        
		Busca.cidade = document.getElementById('Bcidades2').value,
		Busca.referencia = document.getElementById('Breferencia2').value,
		Busca.tipo = document.getElementById('Btipo2').value,
		Busca.bairro = document.getElementById('Bbairros2').value,
		Busca.sessao = "avancada";
		Busca.valores = null,
		Busca.areaUtil = null,
		Busca.filtro = null,
		Busca.porPag = 'imoveis-' + 12,
		Busca.pagina = null;		
		
		var	valorMin = document.getElementById('Bvalor_min2').value,
			valorMax = document.getElementById('Bvalor_max2').value,
			dormsMin = document.getElementById('Bdorm_min').value,
			dormsMax = document.getElementById('Bdorm_max').value;
		//montanndo variável url VALOR
		if (valorMin && valorMax) {
			Busca.valores = "de-" + valorMin + "-a-" + valorMax;
			 minValor = valorMin, maxValor = valorMax;
			 
		} else {
			if (valorMin) {
				Busca.valores = "de-" + valorMin;
			} else if (valorMax) {
				Busca.valores = "a-" + valorMax;
			} else {
				Busca.valores = '-';
			}
		}
		// Montando variável ulr Dormitórios
		if (dormsMin && dormsMax) {
			Busca.dormitorios = "de-" + dormsMin + "-a-" + dormsMax;
			 minDorm = dormsMin, maxDorm = dormsMax;
			 
		} else {
			if (dormsMin) {
				Busca.dormitorios = "de-" + dormsMin;
			} else if (dormsMax) {
				Busca.dormitorios = "a-" + dormsMax;
			} else {
				Busca.dormitorios = '-';
			}
		}
		Busca.url();
		return false;
	},
	
	buscaRapida: function () {
		//setando os valores dos objetos
		Busca.categoria = document.getElementById('Bcategoria').value,
		Busca.cidade = document.getElementById('Bcidades').value,
		Busca.referencia = document.getElementById('Breferencia').value,
		Busca.tipo = document.getElementById('Btipo').value,
		Busca.bairro = document.getElementById('Bbairros').value,
		Busca.sessao = "rapida";
		Busca.dormitorios = null,
		Busca.valores = null,
		Busca.areaUtil = null,
		Busca.filtro = null,
		Busca.porPag = 'imoveis-' + 12,
		Busca.pagina = null;		
		
		var	valorMin = document.getElementById('Bvalor_min').value,
			valorMax = document.getElementById('Bvalor_max').value;
		if (valorMin && valorMax) {
			Busca.valores = "de-" + valorMin + "-a-" + valorMax;
			 minValor = valorMin, maxValor = valorMax;
			 
		} else {
			if (valorMin) {
				Busca.valores = "de-" + valorMin;
			} else if (valorMax) {
				Busca.valores = "a-" + valorMax;
			} else {
				Busca.valores = '-';
			}
		}
		
		Busca.url();
		return false;
	},
	
	filtros: function (ObjetoUrl, obj) {
		var ObjetoUrl = $.parseJSON(ObjetoUrl);
		if (obj) {
			filtro = obj.name.split("-");
		}
		Busca.categoria = ObjetoUrl.categoria;
		Busca.cidade = ObjetoUrl.cidade;
		Busca.tipo = ObjetoUrl.tipo;
		Busca.bairro = ObjetoUrl.bairro;
		Busca.dormitorios = ObjetoUrl.dormitorio;
		Busca.valores = ObjetoUrl.valor;
		Busca.areaUtil = ObjetoUrl.area_util;
		Busca.referencia = ObjetoUrl.referencia;
		Busca.pagina = ObjetoUrl.pagina;
		Busca.condominio = ObjetoUrl.condominio;
		//teste para verificar se o filtro vai ser ASC ou DESC
		if (ObjetoUrl.filtro == obj.name) {
			Busca.filtro = filtro[0] + '-desc';
			Busca.porPag = ObjetoUrl.por_pagina;
		}else if (obj == '') {
			Busca.filtro = ObjetoUrl.filtro;
			Busca.porPag = "imoveis-" + document.getElementById("mostrar").value;
		} else {
			Busca.filtro = filtro[0] + '-asc';
			Busca.porPag = ObjetoUrl.por_pagina;
		}
		Busca.url();	
		return false;
	},
	
	porPagina: function () {
	
	},
	
	url: function () {
		//URL para as duas buscas
		//busca/categoria/cidade/tipo/bairro/"de"-dormmin- "a"-dormmax/"de"-valormin- "a"-valormax/"areautil-de"-valormin- "a"-valormax/referencia/"filtro-"/"por-pagina"/"pagina-"/
		//busca/-/-/-/-//-//-//imoveis-10/4/-/
		if (!Busca.condominio) {Busca.condominio = '-';}
		if (!Busca.categoria) {Busca.categoria = '-' ;}
		if (!Busca.cidade) {Busca.cidade  = '-' ;}
		if (!Busca.tipo) {Busca.tipo  = '-' ;}
		if (!Busca.bairro) {Busca.bairro  = '-' ;}
		if (!Busca.dormitorios) {Busca.dormitorios  = '-' ;}
		if (!Busca.valores) {Busca.valores  = '-' ;}
		if (!Busca.areaUtil) {Busca.areaUtil = '-' ;}
		if (!Busca.referencia) {Busca.referencia = '-' ;}
		if (!Busca.filtro) {Busca.filtro = '-' ;}
		if (!Busca.pagina) {Busca.pagina = '-' ;}
		if (!Busca.sessao) {Busca.sessao = '-' ;}
		var
		//url = 'http://servidor/triarte/novo-2011/web/site/busca/' + Busca.categoria + '/' + Busca.cidade + '/' + Busca.tipo + '/' + Busca.bairro + '/' + Busca.dormitorios + '/' + Busca.valores + '/' + Busca.areaUtil + '/' + Busca.referencia + '/' + Busca.filtro + '/' + Busca.porPag + '/' + Busca.pagina + '/' + Busca.sessao + '/' + Busca.condominio +  '/';
		url = 'http://www.triarteimoveis.com.br/busca/' + Busca.categoria + '/' + Busca.cidade + '/' + Busca.tipo + '/' + Busca.bairro + '/' + Busca.dormitorios + '/' + Busca.valores + '/' + Busca.areaUtil + '/' + Busca.referencia + '/' + Busca.filtro + '/' + Busca.porPag + '/' + Busca.pagina + '/' + Busca.sessao + '/' + Busca.condominio +  '/';
		$(window.document.location).attr('href',url);
	},

	buscaBairros: function () {
		//faço uma condição para ver se tem algum conteúdo no select
		if ($("#cid_jquery").val() != null) {
			if (Busca.cidade != $("#cid_jquery").val()) {
				Busca.bairro = '-';
			} 
			Busca.cidade = $("#cid_jquery").val();
		}
		
			
		var cidade = this.value;
		if (cidade) {
			$('#ba').show();
		}
		
		$.post('ajax/', { cidade: cidade, active: 'bairro2' }, function (response) {
			//plugin pane
			Busca.apiba.getContentPane().html(response);
			Busca.apiba.reinitialise();
			Busca.apiba.getContentPane().html(response);
			Busca.apiba.reinitialise();
			
			//plugin select
			$('input.check_bairro').jCheckbox();
			
			//amarração para atualizar o vetor			
			$('input.check_bairro').bind('change',Busca.checkBairro);
			
			//checando os imóveis que estavam na url
			Busca.bairros = Busca.bairro.split(',');
			for(var m = 0; Busca.bairros[m]; m++) {
				//se existir o objeto no documento, ai eu checo ele
				var obj = $('#ba_' + Busca.bairros[m].replace(/ /g,'_'));
				if (obj.prev()) {
					obj.attr('checked','checked');
					obj.prev().addClass("checked");
				}
			}
		});
	}
};
