var valorA;
var valorB;
var m2A;
var m2B;
var tipo;
var pagina_sel='1';
var ordem='';
var tipo_ordem='';
var vNumeroImoveisPaginacao=99;


$(document).ready(function() {
	if (readCookie('modo_visual')!='m') {
		createCookie('modo_visual','l',7);
		$('#modo_listagem').html('<a href="javascript:void(0);" onclick="mudarVisualizacao(\'m\')"><img src="images/lista/modo_mini.gif" alt="Mudar para o modo de exibição de Miniaturas"/></a>');
	} else {
		$('#modo_listagem').html('<a href="javascript:void(0);" onclick="mudarVisualizacao(\'l\')"><img src="images/lista/modo_lista.gif" alt="Mudar para o modo de exibição em lista"/></a>');
	}
	
	$('#frmBusca select').change( function() {
		montaBuscaInterativa($(this).attr('name'));
	});
	
	$('.check_garagem').click( function() {
		montaBuscaInterativa2('iGaragem');
	});
	
	$('.check_dorm').click( function() {
		montaBuscaInterativa2('iDorm');
	});
	
	$('#frmBusca select').change( function() {
		buscarImoveis();
	});
	
	if (bairro!='' || dorm!='' || garagem!='' || cid!='') {
		getImoveis(pg,cid,bairro,dorm,garagem,valorA,valorB,m2A,m2B,tipo,'',ordem,tipo_ordem)
	} else {
		montaBuscaInterativa('iTipo');
	}
	
	//$('#frmBusca input:checkbox').click( function() {
	//	buscarImoveis();
	//});
});

function montaBuscaInterativa(escolha) {
	dorm='';
	garagem=''
	if (escolha=='iTipo') {
		bairro='';
		cid='';
		montaCidade();
	} else if (escolha=='iCidade') {
		bairro='';
		$('#iCidade option:selected').each(function() {
			cid = $(this).val();
		});
		montaBairro();
	} else if (escolha=='iBairro') {
		$('#iBairro option:selected').each(function() {
			bairro = $(this).val();
		});
		montaDormitorio();
	}
}

function montaBuscaInterativa2(escolha) {
	if (escolha=='iDorm') {
		dorm='';
		separador='';
		$('.check_dorm:checked').each( function() {
			dorm=dorm+separador+($(this).val());
			separador=';';
		});
		montaGaragem();
	} else if (escolha=='iGaragem') {
		garagem='';
		separador='';
		$('.check_garagem:checked').each( function() {
			garagem=garagem+separador+($(this).val());
			separador=';';
		});
		montaValor();
	}
}

function montaTipo() {
	$('#iTipo').load('inc/xml/buscainterativa.asp?pg='+pg+'&pag=tipo&rede=1');
	montaCidade();
}

function montaBairro() {
	if (cid!='') {
		$('#iCidade option:selected').each(function() {
			cid = $(this).val();
		});
	}
	$('#iTipo option:selected').each(function() {
		tipo = $(this).val();
	});
	$('#iBairro').load('inc/xml/buscainterativa.asp?pg='+pg+'&cid='+URLEncode(cid)+'&t='+tipo+'&pag=bairro&rede=1');
	montaDormitorio();
}

function montaCidade() {
	$('#iTipo option:selected').each(function() {
		tipo = $(this).val();
	});
	$('#iCidade').load('inc/xml/buscainterativa.asp?pg='+pg+'&t='+tipo+'&pag=cidade&rede=1');
	
	montaBairro();
}

function montaDormitorio() {
	$('#iTipo option:selected').each(function() {
		tipo = $(this).val();
	});
	if (cid!='') {
		$('#iCidade option:selected').each(function() {
			cid = $(this).val();
		});
	}
	$('#dormitorios').load('inc/xml/buscainterativa.asp?pg='+pg+'&cid='+URLEncode(cid)+'&b='+URLEncode(bairro)+'&t='+tipo+'&pag=dorm&rede=1');
	
	montaGaragem();
}

function montaGaragem() {
	if (cid!='') {
		$('#iCidade option:selected').each(function() {
			cid = $(this).val();
		});
	}
	$('#iTipo option:selected').each(function() {
		tipo = $(this).val();
	});
	
	$('#garagens').load('inc/xml/buscainterativa.asp?pg='+pg+'&cid='+URLEncode(cid)+'&b='+URLEncode(bairro)+'&d='+dorm+'&t='+tipo+'&pag=garagem&rede=1');
	
	montaValor();
}

function montaValor() {
	$('#valorA').val('');
	$('#valorB').val('');
	$('#metragemA').val('');
	$('#metragemB').val('');
	buscarImoveis();
}

function buscarImoveis() {
	if (cid!='') {
		$('#iCidade option:selected').each(function() {
			cid = $(this).val();
		});
	}
	$('#iTipo option:selected').each(function() {
		tipo = $(this).val();
	});	
	dorm='';
	separador='';
	$('.check_dorm:checked').each( function() {
		dorm=dorm+separador+($(this).val());
		separador=';';
	});
	garagem='';
	separador='';
	$('.check_garagem:checked').each( function() {
		garagem=garagem+separador+($(this).val());
		separador=';';
	});
	getImoveis(pg,URLEncode(cid),URLEncode(bairro),dorm,garagem,valorA,valorB,m2A,m2B,tipo,0,ordem,tipo_ordem);
}


// ==============================================================================
// ==============================================================================
// ==============================================================================
// ==============================================================================
// ==============================================================================

var modo_listagem='l';

function getImoveis(pg,cid,bairro,dorm,garagem,valorA,valorB,m2A,m2B,tipo,estatico,ordem,tipo_ordem) {
	var mapa=0;
	modo_listagem=readCookie('modo_visual');
	
	valorA = $('#valorA').val();
	valorB = $('#valorB').val();
	m2A = $('#metragemA').val();
	m2B = $('#metragemB').val();
	
	$('#lista_imoveis').html('<center><p id="msg_carregando">Aguarde Carregando</p><img id="carregando" src="images/loader.gif" alt="Carregando"/></center>');
	
	if (estatico==1 && pg=='v') {
		endereco_buscar='inc/xml/vendas.xml';
	} else if (estatico==1 & pg=='l') {
		endereco_buscar='inc/xml/locacao.xml';
	} else {
		endereco_buscar='inc/xml/imoveis.asp';
	}
	endereco_buscar='inc/xml/imoveis.asp';
	
	valorA = valorA.replace("R$ ", "");
	valorA = valorA.replace(",00", "");
	valorA = valorA.replace(".", "");
	valorA = valorA.replace(".", "");
	valorB = valorB.replace("R$ ", "");
	valorB = valorB.replace(",00", "");
	valorB = valorB.replace(".", "");
	valorB = valorB.replace(".", "");
	
	valor_ref = $('#iRef').val();
	
	$.get(endereco_buscar, {pg:pg, t:tipo, b:bairro, cid:cid, d:dorm, g:garagem, vini:valorA, vfim: valorB, m2ini: m2A, m2fim: m2B, ret: pagina_sel, a:aleatorio(), co:ordem, to:tipo_ordem, ref:valor_ref, rede:'1' },function(xml){
		var result='';
		var infs_pesquisa='';
		
		$('inf_tipo', xml).each(function() {
			if ($(this).text()!='') {
				infs_pesquisa='Você está vendo: <span id="inf_tipo">'+$(this).text()+'</span>';
			}
		});
		
		$('inf_cidade', xml).each(function() {
			if ($(this).text()!='') {
				if (infs_pesquisa=='') {
					infs_pesquisa='Você está vendo: <span id="inf_cidade">'+$(this).text()+'</span>'
				} else {
					infs_pesquisa+=' em <span id="inf_cidade">'+$(this).text()+'</span>'
				}
			}
		});
		infs_pesquisa='';
		
		$('#infs_pesquisa').html(infs_pesquisa);
		
		if (modo_listagem=='l') {
			result='<table class="tbImoveis"><thead>';
			result+='<tr><th class="tb_ref"><a href="javascript:void(0)" onclick="mudarOrdem(\'ref\')">Ref.</a></th>';
			result+='<th class="tb_endereco"><a href="javascript:void(0)" onclick="mudarOrdem(\'end\')">Endereço</a></th>';
			result+='<th class="tb_bairro"><a href="javascript:void(0)" onclick="mudarOrdem(\'bai\')">Bairro</a></th>';
			result+='<th class="tb_area" style="text-align:center;"><a href="javascript:void(0)" onclick="mudarOrdem(\'area_total\')">M²</a></th>';
			result+='<th class="tb_dorm" style="text-align:center;"><a href="javascript:void(0)" onclick="mudarOrdem(\'dormitorios\')">Dorm.</a></th>';
			result+='<th class="tb_gar" style="text-align:center;"><a href="javascript:void(0)" onclick="mudarOrdem(\'vagas_garagem\')">Gar.</a></th>';			
			result+='<th class="tb_valor" style="text-align:center;"><a href="javascript:void(0)" onclick="mudarOrdem(\'valor\')">Valor</a></th>';
			result+='<th class="tb_video">Vídeo</th>';
			result+='<th class="tb_foto">Foto</th>';				
			result+='<th class="tb_mapa">Mapa</th>';
			result+='<th class="tb_fav">Fav.</th></tr><tbody>';
		} else {
			result='<table id="tb_mini_imoveis"><tr>';
		}
		
		tratarErro(xml);
		x=0;
		$('imovel', xml).each(function() {
			imob=$(this).find('imob').text();
			ref=$(this).find('referencia').text();
			refnaimob=$(this).find('refnaimob').text();
			bairro1=$(this).find('bairro').text();
			area=$(this).find('area').text();
			dorm1=$(this).find('dorm').text();
			valor=$(this).find('valor').text();
			coordx=$(this).find('coordx').text();
			coordy=$(this).find('coordy').text();
			favorito=$(this).find('favorito').text();
			endereco=$(this).find('endereco').text();
			garagem1=$(this).find('garagem').text();
			video=$(this).find('video').text();
			foto=$(this).find('foto').text();
			td_reservado=$(this).find('reservado').text();
			
			if (td_reservado=='-1') {
				td_reservado='reservado';
				td_reservado_mini='reservado_mini';
			} else {
				td_reservado='';
				td_reservado_mini='';
			}
			
			if (pg=='v') {
				link='<a href="detalhes_ven.asp?imob='+imob+'&ref='+ref+'&gclid='+gclid+'" target="_blank">';
			} else {
				link='<a href="detalhes_loc.asp?imob='+imob+'&ref='+ref+'" target="_blank">';
			}
			
			favorito_sim='<a href="javascript:void(0)" onclick="setFavorito(\''+imob+'\',\''+ref+'\',\''+pg+'\',\'del\',this)"><img id="fav'+imob+ref+'" src="images/lista/ico_favorito.gif" /></a>';
			favorito_nao='<a href="javascript:void(0)" onclick="setFavorito(\''+imob+'\',\''+ref+'\',\''+pg+'\',\'add\',this)"><img id="fav'+imob+ref+'" src="images/lista/ico_favorito_disabled.gif" /></a>';
			
			if (favorito=='s') {
				favorito=favorito_sim;
			} else {
				favorito=favorito_nao;
			}
			
			if (modo_listagem=='l') {
				result+='<tr><td class="tb_ref '+td_reservado+'">'+link+refnaimob+'</a></td>';
				result+='<td class="tb_endereco '+td_reservado+'">'+link+endereco+'</a></td>';
				result+='<td class="tb_bairro '+td_reservado+'">'+link+bairro1+'</a></td>';
				result+='<td class="tb_area '+td_reservado+'">'+link+area+'</a></td>';
				result+='<td class="tb_dorm '+td_reservado+'">'+link+dorm1+'</a></td>';
				result+='<td class="tb_gar '+td_reservado+'">'+link+garagem1+'</a></td>';
				result+='<td class="tb_valor '+td_reservado+'">'+link+valor+'</a></td>';
				if (video=='s') {
					result+='<td class="tb_video '+td_reservado+'" style="text-align:center;"><a href="videos/getvideo.asp?ref='+ref+'&imob='+imob+'&t='+pg+'" target="_blank"><img src="images/lista/ico_video.gif"/></a></td>';
				} else {
					result+='<td class="tb_video '+td_reservado+'" style="text-align:center;">'+link+'<img src="images/lista/ico_video_disabled.gif"/></a></td>';
				}				
				if (foto.search("indisponivel")=='-1') {
					result+='<td class="tb_foto '+td_reservado+'">'+link+'<img src="images/lista/ico_foto.gif"/></a></td>';
				} else {
					result+='<td class="tb_foto '+td_reservado+'">'+link+'<img src="images/lista/ico_foto_disabled.gif"/></a></td>';
				}
				
				if (coordx!='' && coordy!='' && coordx!='0' && coordy!='0') {
					result+='<td class="tb_mapa '+td_reservado+'"><a href="javascript:void(0);" onclick="window.open(\'ver_mapa.asp?x='+coordx+'&y='+coordy+'&ref='+refnaimob+'&pg='+pg+'\', \'Mapa\', \'height=578, width=825,resizable=yes,menubar=no,location=yes,status=yes,scrollbars=yes\');"><img src="images/lista/icone_mapa_lista.png"/></a></td>';
					mapa=1;
				} else {
					result+='<td class="tb_mapa '+td_reservado+'"><img src="images/lista/icone_naomapa_lista.png"/></td>';
				}
				result+='<td class="tb_fav '+td_reservado+'" style="text-align:center;">'+favorito+'</td></tr>';
				
			} else {
				if (x % 3==0) {
					result+='</tr><tr>'
				}
				result+='<td>'
				if (coordx!='' && coordy!='') {
					mapa=1;
				}
				result+='<div class="mini_imovel '+td_reservado_mini+'">';

				result+='<div class="botoes_mini">';
				if (video=='s') {
					result+='<a href="videos/getvideo.asp?ref='+ref+'&imob='+imob+'&t='+pg+'" target="_blank"><img src="images/lista/ico_video.gif"/></a>';
				} else {
					result+='<img src="images/lista/ico_video_disabled.gif"/>';
				}	
				if (coordx!='' && coordy!='' && coordx!='0' && coordy!='0') {
					result+='<a href="javascript:void(0);" onclick="window.open(\'ver_mapa.asp?x='+coordx+'&y='+coordy+'&ref='+refnaimob+'&pg='+pg+'\', \'Mapa\', \'height=578, width=825,resizable=yes,menubar=no,location=yes,status=yes,scrollbars=yes\');"><img src="images/lista/icone_mapa_lista.png"/></a>';
					mapa=1;
				} else {
					result+='<img src="images/lista/icone_naomapa_lista.png"/>';
				}
				result+=favorito;
				result+='</div>';
				
				result+='<h4>'+link+bairro1+'</a></h4>';
				result+=link+'<img class="img_mini" src="'+foto+'"/></a>';
				result+='<p>Ref:'+link+refnaimob+'</a></p>';
				result+='<p>'+link+area+'</a></p>';
				result+='<p>'+link+dorm1+' dorms</a></p>';
				result+='<p>'+link+valor+'</a></p>';
				result+='</div></td>';
			}
			x=x+1;
		});			
		
		if (modo_listagem=='l') {
			result+='</tbody></table>';
		} else {
			result+='</tr></table>';
		}
		
		$('#lista_imoveis').html(result);
		
		if (mapa==1) {		
			$('#iCidade option:selected').each(function() {
				cid = $(this).val();
			});
			$('#iBairro option:selected').each(function() {
				bairro = $(this).val();
			});
			
			linkTodosMapa='ver_mapa.asp?pg='+pg+'&t='+tipo+'&b='+bairro+'&cid='+cid+'&d='+dorm+'&imob=&g='+garagem;
			
			$('#todosnomapa').html('<a <a href="javascript:void(0);" onclick="window.open(\''+linkTodosMapa+'\', \'Mapa\', \'height=470, width=786\');" class="txt_sem_format"><img src="images/lista/ico_todosnomapa.gif" alt="ver imóveis no mapa"/></a>');
		}
		else {
			$('#todosnomapa').html('');
		}
		
		$('root', xml).each(function() {
			total_imoveis=$(this).find('total_imoveis').text();
			pagina=$(this).find('pagina').text();
			
			paginacao(pagina,total_imoveis);
		});
	});
}

function tratarErro(xml) {
	$('erro', xml).each(function() {
		if ($(this).text()=='True') {
			$('#mensagens').html('Nenhum imóvel encontrado!');
			window.setTimeout(function() {$('#mensagens').html('');}, 5000);
		}
	});
	return false;
}

function paginacao(pg_atual,total) {
	var ret='';
	t=parseInt(total)/vNumeroImoveisPaginacao;
	if (parseInt(t)>0) {
		for (i=1;i<parseInt(t)+2;i++) {
			if (i==pg_atual) {
				ret=ret+'<li class="pagina_sel">'+i+'</li>';
			} else {
				ret=ret+'<li><a href="javascript:void(0);" onclick="mudarPaginacao(\''+i+'\')">'+i+'</a></li>';
			}
		}
		if (ret!='') {
			ret='<ul>'+ret+'</ul>'
		} else {
			ret='<ul><li class="pagina_sel">1</li></ul>'
		}
	} else {
		ret='';
	}
	$('#paginacao').html(ret);
}

function mudarOrdem(o) {
	if (o==ordem) {
		if (tipo_ordem=='asc') {
			tipo_ordem='desc';
		} else {
			tipo_ordem='asc';
		}
	} else {
		tipo_ordem='asc';
	}
	ordem=o;
	getImoveis(pg,URLEncode(cid),URLEncode(bairro),dorm,garagem,valorA,valorB,m2A,m2B,tipo,0,ordem,tipo_ordem);
}

function mudarPaginacao(pag) {	
	pagina_sel=pag;
	getImoveis(pg,cid,bairro,dorm,garagem,valorA,valorB,m2A,m2B,tipo,0,ordem,tipo_ordem);
}

function mudarVisualizacao(visual) {	
	if (visual=='l') {
		createCookie('modo_visual','l',7);
		$('#modo_listagem').html('<a href="javascript:void(0);" onclick="mudarVisualizacao(\'m\')"><img src="images/lista/modo_mini.gif" alt="Mudar para o modo de exibição de Miniaturas"/></a>');
	} else {
		createCookie('modo_visual','m',7);
		$('#modo_listagem').html('<a href="javascript:void(0);" onclick="mudarVisualizacao(\'l\')"><img src="images/lista/modo_lista.gif" alt="Mudar para o modo de exibição em lista"/></a>');
	}
	//getImoveis();
	getImoveis(pg,URLEncode(cid),URLEncode(bairro),dorm,garagem,valorA,valorB,m2A,m2B,tipo,0,ordem,tipo_ordem);
}

function setFavorito(imob,ref,pg,opt,obj) {
	$.post('inc/xml/favoritos.asp', {pg:pg, imob:imob, ref:ref, opt:opt},function(f){
		fav_src_tmp = $('#fav'+imob+ref).attr("src")
		if (fav_src_tmp.search("disabled")!='-1') {
			fav_src="images/lista/ico_favorito.gif";
		} else {
			fav_src = "images/lista/ico_favorito_disabled.gif";
		}
      $('#fav'+imob+ref).attr("src", fav_src);
		//getImoveis(pg,URLEncode(cid),URLEncode(bairro),dorm,garagem,valorA,valorB,m2A,m2B,tipo,0,ordem,tipo_ordem);
	});
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
