// lightbox para a ficha do imóvel para impressão
var lbFichaImovelImpressao = new LightBox('ficha_imovel_impressao','lbFichaImovelImpressao');
lbFichaImovelImpressao.setOverFlow(true,true,'850px','600px');

var lbCarregando = new LightBox('lbCarregando'); // lighbox de 'carregando...'
lbCarregando.setOverFlow(true,true);

var lbComparacaoImoveis = new LightBox('comparacao_imoveis');
lbComparacaoImoveis.setOverFlow(true,true,'670px','600px');
lbComparacaoImoveis.setBorderDiv('8px solid #FCE5A4');

var lbComparacaoImoveisEmail = new LightBox('comparacao_imoveis_email');
lbComparacaoImoveisEmail.setOverFlow(true,true,'470px');
lbComparacaoImoveisEmail.setBorderDiv('8px solid #FCE5A4');

var lbComparacaoImoveisEmailConfirmacao = new LightBox('comparacao_imoveis_email_confirmacao');
lbComparacaoImoveisEmailConfirmacao.setOverFlow(true,true);
lbComparacaoImoveisEmailConfirmacao.setBorderDiv('8px solid #FCE5A4');

var lbSalvarFavoritos = new LightBox('box_salvar_imoveis', 'lbSalvarFavoritos'); // lighbox da comparação de imóveis
lbSalvarFavoritos.setOverFlow(true,true);
lbSalvarFavoritos.setBorderDiv('8px solid #FCE5A4');

var lbSalvarCriterios = new LightBox('box_salvar_criterios', 'lbSalvarCriterios'); // lighbox da comparação de imóveis
lbSalvarCriterios.setOverFlow(true,true);
lbSalvarCriterios.setBorderDiv('8px solid #FCE5A4');

var lbLoadingImoveis = new LightBox("lbLoadingImoveis");
lbLoadingImoveis.setOverFlow(true,true);
lbLoadingImoveis.setBorderDiv("2px solid #d3d3d3");

var lbSaibaMais = new LightBox('lbSaibaMais');
lbSaibaMais.setOverFlow(true,true,'370px');
lbSaibaMais.setBorderDiv('8px solid #FCE5A4');

function troca_aba_lista(aba) {
	document.getElementById('abaLista1').className = 'aba centro';
	document.getElementById('abaLista2').className = 'aba centro';
	document.getElementById('detalhesAbaLista1').className = 'detalhes';
	document.getElementById('detalhesAbaLista2').className = 'detalhes';
	document.getElementById('abaLista' + aba).className = 'aba centro selecionado';
	document.getElementById('detalhesAbaLista' + aba).className = 'detalhes selecionado';
	
	var checkbox = document.getElementsByName('imovelbusca');
	for (i=0;i<checkbox.length;i++) {
		if (checkbox[i].checked) 
			checkbox[i].checked = false;
	}
	
	if(aba == 1) {
		mudarPaginaGoogle('');
	}
	else {
		mudarPaginaGoogle('lista-com-foto');
	}
}

function selecionarNumeroExibicao(num) {
	var ajax = new Ajax();
	var params = "cmd=numExibicoes";
	params += "&num=" + num;
    ajax.load("POST",SITE+"busca/geralResultado.php",params, "numExibicoes",SITE+"imagens/loading.gif");
    document.getElementById('numRegistros').value = num;
    pegarImoveis(1);
    pegarImoveisSem(1);
}

function strrpos (haystack, needle, offset) {
    var i = -1;
    if (offset) {
        i = (haystack+'').slice(offset).lastIndexOf(needle); // strrpos' offset indicates starting point of range till end,        // while lastIndexOf's optional 2nd argument indicates ending point of range from the beginning
        if (i !== -1) {
            i += offset;
        }
    }    else {
        i = (haystack+'').lastIndexOf(needle);
    }
    return i >= 0 ? i : false;
}

function pegarImoveis(pag) {

	controleLoadinImoveis();
	
	var ajax  = new Ajax();
	var ajax1 = new Ajax();
	var ajax2 = new Ajax();
	
  	var num 						 = document.getElementById('numRegistros').value;
  	var idBusca 			  		 = document.getElementById('idBusca').value;
  	var numImoveisEncontrados 		 = document.getElementById('numImoveis').value;
  	var numImoveisComFotoEncontrados = document.getElementById('numImoveisComFoto').value;
  	var params 						 = "&pag=" + pag;
  	var url 						 = document.location.toString().substring(SITE.length-1);

	params += "&numRegistros=" + num;
	params += "&idBusca=" + idBusca;
	
  	var textoDigitadoBusca = document.getElementById('textoDigitadoBusca');
  	if(textoDigitadoBusca != null) {
  		params += "&texto=" + textoDigitadoBusca.value;
  	}
  	else {
  		params += "&texto=";;
  	}
  	var tipoBusca = document.getElementById('tipoBusca');
  	if(tipoBusca != null) {
  		params += "&tipoBusca=" + tipoBusca.value;
  	}
  	else {
  		params += "&tipoBusca=";
  	}
  	ajax.load("POST",SITE+"busca/geralResultado.php","cmd=listaImoveis" + params + '&numImoveis=' + numImoveisEncontrados, "listaImoveis");
  	ajax1.load("POST",SITE+"busca/geralResultado.php","cmd=listaImoveisComFoto" + params + '&numImoveis=' + numImoveisComFotoEncontrados, "listaImoveisComFoto");
  	
  	nPag = mudarNumeroPagina(pag);
  	
  	ajax2.load("POST",SITE+"busca/geralResultado.php","cmd=listaImoveisGA"+"&pag="+nPag, "pagina_ga",SITE+"imagens/loading.gif");
  	registro_ga( urlAnalytics(url)+'/?pag=' + pag); // registro no google - 'pag=X' - Valmir - 01/09/2009
}


function controleLoadinImoveis(div){
	
	if( div==null || div==undefined )
		var obj = document.getElementById("loaded");
	else
		var obj = document.getElementById("loaded-sem");
	
	if( obj!=null ){
		obj.value = "false";
	
		lbLoadingImoveis.show();
		_controleLoadingImoveis(div);
	}
	
}

function _controleLoadingImoveis(div){
	
	if( div==null || div==undefined )
		var obj = document.getElementById("loaded");
	else
		var obj = document.getElementById("loaded-sem");
	
	if( (obj==null) || (obj==undefined) || (obj.value=="false") ) {
		reload("_controleLoadingImoveis()", 1);
	} else{		
		lbLoadingImoveis.close();
		scrollTo("resultado");
		/* se for a ultima página, entao chama (mostra) o buscamos para voce */
		verificarUltimaPagina();
	}
}

function verificarUltimaPagina(){
	var obj = document.getElementById("ultimaPagina");
	if( (obj!=null && obj!=undefined) && (obj.value=="true") )
		document.getElementById("buscamos_para_voce").style.display = "";
	else {
		document.getElementById("buscamos_para_voce").style.display = "none";
	}
}

function urlAnalytics(url) {
  	var _url = "";
  	
  	url = url.split("/");

  	if (url.length > 0)  		
	  	for (var i=0;i<(url.length-1);i++) {
	  		if (strrpos(url[i],"quarto") == false && 
	  			strrpos(url[i],"vaga") == false && 
	  			strrpos(url[i],"-a-") == false && 
	  			strrpos(url[i],"ao-importa") == false &&
	  			strrpos(url[i],"omFoto") == false)
	  			_url+= url[i]+"/";
	  	}
	
	return _url.substring(0,(_url.length-1));
}

function pegarImoveisSem(pag) {

	var ajax = new Ajax();
	var ajax1 = new Ajax();
	var ajax2 = new Ajax();
	
    var num = document.getElementById('numRegistros').value;
    var idBusca = document.getElementById('idBusca').value;
  	var numImoveisSemelhantesEncontrados = document.getElementById('numImoveisSem').value;
  	var numImoveisSemelhantesComFotoEncontrados = document.getElementById('numImoveisSemComFoto').value;
	var params = "&pag=" + pag;
	var url    = document.location.toString().substring(SITE.length-1);
	
	params += "&numRegistros=" + num;
	params += "&idBusca=" + idBusca;
	
    var num = document.getElementById('numRegistros').value;
  	ajax.load("POST",SITE+"busca/geralResultado.php","cmd=listaImoveisSem" + params + '&numImoveisSem=' + numImoveisSemelhantesEncontrados, "listaImoveisSem");
  	ajax1.load("POST",SITE+"busca/geralResultado.php","cmd=listaImoveisSemComFoto" + params + '&numImoveisSem=' + numImoveisSemelhantesComFotoEncontrados, "listaImoveisSemComFoto");
  	
    nPag = mudarNumeroPagina(pag);
    
    ajax2.load("POST",SITE+"busca/geralResultado.php","cmd=listaImoveisSemGA"+"&pag="+nPag, "pagina_ga",SITE+"imagens/loading.gif");
  	registro_ga(urlAnalytics(url)+'/?pag=' + pag); // registro no google - 'pag=X' - Valmir - 01/09/2009
}

function marcarDesmarcarImoveis(tipo) {
	var chk = document.getElementsByName('imovel' + tipo);
	var botao = document.getElementById('marcar' + tipo);
	for(var i = 0; i < chk.length; i++) {
	   if(botao.name == 'marcar')
	      chk[i].checked = true;
	   else
	      chk[i].checked = false;
	}
	if(botao.name == 'marcar')
	   botao.name = 'desmarcar';
	else
	   botao.name = 'marcar';
}

/*
* Metodo: showBoxOptions
* Descrição: Mostra 'box' com a opção desejada.
* @param box
* @param field
* @param id_destaque
*/
function showBoxOptions(box) {

	var nPag = '';
	switch (box) {
		case 'box_enviar_email':
			nPag = 'mais-informacoes-enviar-ficha';
			break;
		case 'box_salvar_imoveis2':
			nPag = 'mais-informacoes-salvar-ficha';
			break;
	}
	if(nPag != '') {
 	   registro_ga(pegarPaginaGoogle() + nPag + '/'); // registro no google
	}
	
	var box  = document.getElementById(box);
	box.style.display = 'block';
}

/*
* Metodo: hideBoxOptions
* Descrição: Esconde 'box' com a opção desejada.
* @param box
*/
function hideBoxOptions(box,id_resposta) {
	var box = document.getElementById(box);
	var div = document.getElementById(id_resposta);
	box.style.display = 'none';
	div.innerHTML = '';
	div.style.display = 'none';
}

/*
* Metodo: salvaCriteriosBusca
* Descrição: Salva os criterios de busca
* @param id_busca
*/
function criteriosBusca(id_busca,box) {
	var resposta = document.getElementById("criteriosContent");
	var params   = "";

	var ajax = new Ajax();
	params 	 = 'id=' + id_busca;
	ajax.load('POST',SITE+'busca/criterios-busca.php',params,'criteriosContent',null,'lbCarregando.close();lbSalvarCriterios.show();');
	lbCarregando.show();
}

/*
* Metodo: salvarCriteriosBusca
* Descrição: Salva os criterios de busca
* @param id_busca
*/
function salvarCriteriosBusca(id_busca) {

	var resposta = document.getElementById("box_salvar_criterios");
	var nome 	 = document.getElementById('nome_criterio');
	var params   = "";
	
	if (nome.value == "") {
		nome.style.border = '1px solid red';
		alert("Preencha o nome do critério de busca!");
		nome.focus();
	} else {
		nome.style.border = '';
		var ajax = new Ajax();
		params 	 = 'id=' 	+ id_busca;
		params 	+= '&nome=' + nome.value;
		ajax.load('POST',SITE+'busca/salva-criterios-busca.php',params,'criteriosContent',null,'lbCarregando.close();lbSalvarCriterios.show();');
		lbCarregando.show();
	}
}

function compararImoveis() {
	var objs1   = document.getElementsByName("imovelbusca");
	var objs2   = document.getElementsByName("imovelsemelhante");	
	var objs3   = document.getElementsByName("imovelbusca_comFoto");
	var objs4   = document.getElementsByName("imovelsemelhante_comFoto");
	var imoveis = new Array();
	var lista  	= new Array(); // de qual lista é o imóvel
	var j 		= 0;
	
	for(var i = 0; i < objs1.length; i++) {
	   if(objs1.item(i).checked) {
	      imoveis[j] = objs1.item(i).value;
	      lista[j] = '1';
	      j++;
	      objs1.item(i).checked = false;
	   }
	}
	
	for(var i = 0; i < objs2.length; i++) {
	   if(objs2.item(i).checked) {
	      imoveis[j] = objs2.item(i).value;
	      lista[j] = '2';
	      j++;
	      objs2.item(i).checked = false;
	   }
	}
	
	for(var i = 0; i < objs3.length; i++) {
	   if(objs3.item(i).checked) {
	      imoveis[j] = objs3.item(i).value;
	      lista[j] = '1';
	      j++;
	      objs3.item(i).checked = false;
	   }
	}
	for(var i = 0; i < objs4.length; i++) {
	   if(objs4.item(i).checked) {
	      imoveis[j] = objs4.item(i).value;
	      lista[j] = '2';
	      j++;
	      objs4.item(i).checked = false;
	   }
	}
	
	if(imoveis.length == 0) 
	   alert("Você não selecionou imóveis. É necessário pelo menos 2 imóveis para a comparação");
	else if(imoveis.length < 2) 
	   alert("Você selecionou apenas 1 imóvel. É necessário pelo menos 2 imóveis para a comparação");
	else if(imoveis.length > 4) 
	   alert("Você selecionou " + imoveis.length + " imóveis. Só é permitido comparar até 4");
	else {
		var ajax  = new Ajax();
		var params = "cmd=compararImoveis";
		params += "&idImoveis=" + imoveis;
		params += "&lista=" 	+ lista;
		ajax.load("POST",SITE+"busca/geralResultado.php", params, "comparacao_imoveis");
		lbCarregando.show();
		controleAjaxComparacaoImoveis(); // para só mostrar  a ficha quando estiver completamente carregada
	}
}

function imprimirComparacao(){
	popUp(SITE+"busca/geralResultado.php?cmd=compararImoveis", "Comparação de Imóveis", 680, 600, "_blank", "yes");
}

function excluir_imovel_comparacao(idImovel) {
	
	var pergunta = "Deseja realmente excluir este imóvel de sua lista de comparação?";	
	var imovel0  = document.getElementById('imovel0').value;
	var imovel1  = document.getElementById('imovel1').value;
	var imovel2  = document.getElementById('imovel2').value;
	var imovel3  = document.getElementById('imovel3').value;
	var imoveis  = new Array();
	var params	 = "";
	var j = 0;
	
	if(confirm(pergunta)) {	
		if(imovel0 > 0 && imovel0 != idImovel)
	     imoveis[j++] = imovel0;
		if(imovel1 > 0 && imovel1 != idImovel)
	     imoveis[j++] = imovel1;
		if(imovel2 > 0 && imovel2 != idImovel)
	     imoveis[j++] = imovel2;
		if(imovel3 > 0 && imovel3 != idImovel)
	     imoveis[j++] = imovel3;
	  if(j == 0) 
	     alert('Você não pode excluir o último imóvel');
	  else {
		   var ajax = new Ajax();
		   params += "cmd=compararImoveis";
		   params += "&idImoveis=" + imoveis;
	     lbComparacaoImoveis.close();
		   ajax.load("POST",SITE+"busca/geralResultado.php",params, "comparacao_imoveis");
		   lbCarregando.show();
		   controleAjaxComparacaoImoveis(); // para só mostrar  a ficha quando estiver completamente carregada
	  }
	} else {
		return false;
	}
	
}

function controleAjaxComparacaoImoveis() {
	var obj = document.getElementById('comparacoes');
	if(obj == undefined || obj == null) 
		reload('controleAjaxComparacaoImoveis()',1);
	else {
		lbCarregando.close();
		lbComparacaoImoveis.show();
		var ajax = new Ajax();
		ajax.load("POST",SITE+"busca/geralResultado.php", "cmd=compararImoveisEmail", "comparacao_imoveis_email");
	}
}

function fechar_tela_comparacao_imoveis() {
	lbComparacaoImoveis.close();
}

function quadroEnviarComparacaoParaEmail(comando) {
	var obj = document.getElementById("formulario_enviar_email_comp");
	if(comando == "abrir")
	   obj.style.display = 'block';
	else
	   obj.style.display = 'none';
}

function enviarComparacaoImoveisParaEmail() {
	var nome   			= document.getElementById('comp_nome');
	var email   		= document.getElementById('comp_email');
	var nome_amigo  = document.getElementById('comp_nome_amigo');
	var email_amigo = document.getElementById('comp_email_amigo');
	var imovel0 		= document.getElementById("imovel0");
	var imovel1 		= document.getElementById("imovel1");
	var imovel2 		= document.getElementById("imovel2");
	var imovel3 		= document.getElementById("imovel3");
	var erros   		= false;
	var params  		= "";
	
	if (tirarEspacos(nome.value) == "") {
		nome.style.border = '1px solid red';
		alert("Preencha seu nome!");
		nome.focus();
	} else {
		nome.style.border = '';
		if (!is_mail((email.value) || tirarEspacos(email.value) == "")) {
			email.style.border = '1px solid red';
			alert("Preencha seu email corretamente!");
			email.focus();
		} else {
			email.style.border = '';
			if (tirarEspacos(nome_amigo.value) == "") {
				nome_amigo.style.border = '1px solid red';
				alert("Preencha o nome do amigo!");
				nome_amigo.focus();
			} else {
				nome_amigo.style.border = '';
				if (!is_mail((email_amigo.value) || tirarEspacos(email_amigo.value) == "")) {
					email_amigo.style.border = '1px solid red';
					alert("Preencha o email do amigo corretamente!");
					email_amigo.focus();
				} else {
					email_amigo.style.border = '';
					var ajax = new Ajax();
					params += "cmd=enviarComparacaoImoveisParaEmail";
					params += "&nome=" 				+ nome.value;
					params += "&email=" 			+ email.value;
					params += "&nome_amigo=" 	+ nome_amigo.value;
					params += "&email_amigo=" + email_amigo.value;
					params += "&imoveis=" 		+ imovel0.value+';'+imovel1.value+';'+imovel2.value+';'+imovel3.value;
					ajax.load("POST",SITE+"busca/geralResultado.php",params, "comparacao_imoveis_email_confirmacao_msg");
					lbComparacaoImoveisEmail.close();
					lbCarregando.show();
					enviarComparacaoImoveisParaEmailControle();
				}
			}
		}
	}
}

function enviarComparacaoImoveisParaEmailControle() {
	var retorno = document.getElementById("comparacao_imoveis_email_confirmacao_msg");
	if (retorno.innerHTML == "") {
		reload("enviarComparacaoImoveisParaEmailControle()",1);
	} else {
		lbCarregando.close();
		lbComparacaoImoveisEmailConfirmacao.show();
	}
}

function mostrarCriteriosBusca() {
	document.getElementById("criterios").className = "";
	document.getElementById("ver_criterios").className = "none";
	document.getElementById("fechar_criterios").className = "";
}

function fecharCriteriosBusca() {
	document.getElementById("criterios").className = "none";
	document.getElementById("ver_criterios").className = "";
	document.getElementById("fechar_criterios").className = "none";
}

function mudarPaginaGoogle(str) {
	var nPag = pegarPaginaGoogle();
	var arr = nPag.split('/');  		
	nPag = '';
	var i = 0;
	while(i < arr.length) {
     nPag  += arr[i] + '/';
     if(arr[i].substr(0,15) == 'resultado-busca')
  	   	break;
  	 i++;
	}
	nPag = '<h1>' + nPag;
	if(str != '') {
		nPag += str;
	}
	nPag += '</h1>';
  document.getElementById('pagina_ga').innerHTML = nPag;
}

function mudarNumeroPagina(pag) {
 	var nPag = pegarPaginaGoogle();
	var arr = nPag.split('/');  		
	nPag = '';
	for(var i = 0; i < arr.length; i++) {
		 if(arr[i].length > 1) {
	     if(arr[i].substr(0,15) == 'resultado-busca') {
            nPag += "resultado-busca-" + pag;
	     }
	     else {
	        nPag  += arr[i];
	     }
	     nPag += '/';
		 }
	}
	return nPag;
}

function voltarBusca(pagina) {
	refinarBusca(pagina);
}

function refinarBusca(pagina) {
	var ajax = new Ajax();
	var params = "cmd=refinarBusca";
	ajax.load("POST",SITE+"busca/geralResultado.php", params, "refinar_busca");
    controleAjaxRefinarBusca(pagina); // para aguardar a execução do Ajax
}

function controleAjaxRefinarBusca(pagina) {
	var obj = document.getElementById('refinar_busca');
	if(obj.innerHTML != "1") {
		reload('controleAjaxRefinarBusca("' + pagina + '")',1);
	}
	else {
		// desviar para a página de busca
    	window.location=pagina; 
	}
}

function enviaLoginCriterios(id_busca) {
	
	var email  = document.getElementById("email_login");
	var senha  = document.getElementById("senha_login");
	var params = "";
	
	if (id_imovel == undefined){
		var id_imovel = null;
	}
	
	if (email.value == '') {
		alert("Preencha seu email!");
		email.style.border = "1px solid #ff0000";
		email.focus();
		return false;
	} else {
		if (!checkMail(email.value)) {
			alert('Preencha seu email corretamente!');
			email.style.border = "1px solid #ff0000";
			email.focus();
			return false;
		} else {
			email.style.border = "1px solid #EBAC00";
			if (senha.value == '') {
				alert('Preencha sua senha!');
				senha.style.border = "1px solid #ff0000";
				senha.focus();
				return false;
			} else {
				senha.style.border = "1px solid #EBAC00";
				 
				params += "email="  + email.value;
				params += "&senha=" + senha.value;
				
				var ajax = new Ajax();
				ajax.load('GET',SITE+'favoritos/login.php',params,'resLogFavoritos',SITE+'imagens/loading.gif');
				showDivLogin('resLogFavoritos');
				redirectCriterios(id_busca);
			}
		}
	}
}

function redirectCriterios(id_busca) {
	var retorno = document.getElementById("formRetorno");
	if (retorno != null) {
		if (retorno.value == 1) {			
			criteriosBusca(id_busca,0);
		}
	} else {
		reload('redirectCriterios('+id_busca+')',1);
	}
}

function showDivLogin(divId) {
	
	var divs = new Array('formLogFavoritos','resLogFavoritos');

	for (i=0;i<2;i++) {
		if (divs[i] == divId) {
			document.getElementById(divs[i]).style.display = 'block'
		} else {
			document.getElementById(divs[i]).style.display = 'none'
		}
		//alert(document.getElementById(divs[i]).style.display);
	}
}
