function abrirJanela(width, height, nome,barra) {
		var top; var left; 
		if (barra == "") {
			barra = 0;
		}
		top = ( (screen.height/2) - (height/2) )
		left = ( (screen.width/2) - (width/2) )
		window.open(nome, "","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0,scrollbars=1,width="+width+",height="+height+",left="+left+",top="+top);
	}


google.load("jqueryui", "1.8.13");
//$("#finalidade").next("button").css('width', '120px');
var width_finalidade = '170px';
var width_tipos = '170px';
var width_estado = '120px';
var width_cidade = '230px';
var width_bairros = '266px';
var width_quartos = '110px';
var width_vagas = '110px';
var width_filtro_bairro = '290px';
selectMaxTipos = 5;
selectMaxBairros = 10;
showEstado = false;
function onBlur(el,df){
     if(el.value == ''){
         el.value = df;
     }
 }
 function onFocus(el,df){
     if(el.value == df){
         el.value = '';
     }
 }

function onLoad(){
	$('a.chatOnline').click(function(){
		abrirJanela(800,580,$(this).attr('href'));
		return false;				   
	});

	if($("#preco_min").val() == "")
		$("#preco_min").attr('value', 'valor min');
	if($("#preco_max").val() == "")
		$("#preco_max").attr('value', 'valor max');
	$("#finalidade").multiselect({
								multiple: false,
								header: "Finalidade:",
								noneSelectedText: "Finalidade",
								selectedList: 1,
								click: function(){
								  tipos();
								  $("#tipos").multiselect('disable');
								  $("#estado").multiselect('disable');
								  $("#cidade").multiselect('disable');
								  $("#bairros").multiselect('disable');
							   }
								 }).next("button").css('width', width_finalidade);
	$("#quartos").multiselect({
							  header: "Qtde. de Quartos",
							  selectedList: 2,
							  selectedText:"# op&ccedil;&otilde;es",
  							noneSelectedText: "Quartos"}).next("button").css('width', width_quartos);
	$("#vagas").multiselect({
							  header: "Qtde. de Vagas",
							  selectedList: 2,
							  selectedText:"# op&ccedil;&otilde;es",
  							noneSelectedText: "Vagas"}).next("button").css('width', width_vagas);

	}

google.setOnLoadCallback(onLoad);

$(function() {


    $("#finalidade").val(marcado_finalidade);
    $("#quartos").val(marcado_quartos);
    $("#vagas").val(marcado_vagas);

    $("#preco_min").maskMoney({showSymbol:true, symbol:"R$ ", decimal:",", thousands:"."});
    $("#preco_max").maskMoney({showSymbol:true, symbol:"R$ ", decimal:",", thousands:"."});

    $("#btn_pesquisar").click(function() {
		var cod = $("#pesq_codigo_referencia").val();
		if(cod != "Código ..." && cod != ""){
				busca_codigo();
				return false;
			}
		else{
        	$("#frm_pesquisa").submit();
		}
    });

    $("#finalidade").change(function () {
        marcado_finalidade = $(this).val();
        tipos();
    });

    $("#tipos").change(function () {
        marcado_tipos = $(this).val();
        estados();
    });

    $("#estado").change(function () {
        marcado_estado = $(this).val();
        cidades();
    });

    $("#cidade").change(function () {
        marcado_cidade = $(this).val();
        bairros();
    });

    $("#bairros").change(function () {
        marcado_bairros = $(this).val();
    });

    $("#pesqCodSubmit").click(function() {
        busca_codigo();
    });

    tipos();
});

var multi_tipo  = false;
var multi_estado  = false;
var multi_cidade  = false;
var multi_bairro  = false;

function tipos()
{
	var array_finalidade = $("#finalidade").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

    var data = 'finalidade=' + array_finalidade;

    $.ajax({
        type: "POST",
        url: "/ajax/tipos",
        data: data,
        dataType: "html",
        beforeSend: function()
        {
            $("#tipos").html('<option value="">aguarde...</option>');
        },
        success: function(html)
        {
            $("#tipos").html(html);
            $("#tipos").val(marcado_tipos);
            marcado_tipos = $("#tipos").val();
			$("#tipos").multiselect({
									header: "Tipos de im&oacute;vel:",
									create: function(){
										multi_tipo = true;
										},
										selectedText: function(numChecked, numTotal, checkedItems){
										      return numChecked + ' tipo' + (numChecked>1? 's' : '');
										},
									click: function(e){
									   if( $(this).multiselect("widget").find("input:checked").length > selectMaxTipos ){
										   alert("Desculpe, selecione no maximo " + selectMaxTipos + " tipos de imovel.");
										   return false;
									   }
									},
									close: function(){
										estados();
										$("#estado").multiselect('disable');
										$("#cidade").multiselect('disable');
										$("#bairros").multiselect('disable');
										},
									noneSelectedText:"Tipo(s)"
									}).multiselect('enable').next("button").css('width', width_tipos);
			if(multi_tipo)
				$("#tipos").multiselect('refresh').multiselect('enable').next("button").css('width', width_tipos);


			estados();

        }
    });
}

function estados()
{
	var array_finalidade = $("#finalidade").multiselect("getChecked").map(function(){
   return this.value;
	}).get();
    var data = 'finalidade=' + array_finalidade;

	var array_tipos = $("#tipos").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

    for (i in array_tipos)
    {
        data += '&tipos[]=' + array_tipos[i];
    }

    $.ajax({
        type: "POST",
        url: "/ajax/estados",
        data: data,
        dataType: "html",
        beforeSend: function()
        {
            $("#estado").html('<option value="">aguarde...</option>');
        },
        success: function(html)
        {
            $("#estado").html(html);
            $("#estado").val(marcado_estado);
            marcado_estado = $("#estado").val();
			if(showEstado)
			$("#estado").multiselect({
									 header: "Estado:",
									create: function(){
										multi_estado= true;
										},
									multiple: false,
									selectedList: 1,
									click: function(){
										cidades();
										$("#cidade").multiselect('disable');
										$("#bairros").multiselect('disable');
										}
									}).multiselect('enable').next("button").css('width', width_estado);
			if(multi_estado)
				$("#estado").multiselect('refresh').multiselect('enable').next("button").css('width', width_estado);
            cidades();
        }
    });
}

function cidades()
{
    var data = 'finalidade=' + $("#finalidade").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

	var array_tipos = $("#tipos").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

    for (i in array_tipos)
    {
        data += '&tipos[]=' + array_tipos[i];
    }

	if(showEstado){
    data += '&estado=' + $("#estado").multiselect("getChecked").map(function(){
   return this.value;
	}).get();
	}
	else
	data += '&estado=' + $("#estado").val();

    $.ajax({
        type: "POST",
        url: "/ajax/cidades",
        data: data,
        dataType: "html",
        beforeSend: function()
        {
            $("#cidade").html('<option value="">aguarde...</option>');
        },
        success: function(html)
        {
            $("#cidade").html(html);
            $("#cidade").val(marcado_cidade);
            marcado_cidade = $("#cidade").val();

			$("#cidade").multiselect({
									 header: "Cidade:",
									create: function(){
										multi_cidade= true;
										},
									multiple: false,
									selectedList: 1,
									click: function(){
										bairros();
										$("#bairros").multiselect('disable');
										}
									}).multiselect('enable').next("button").css('width', width_cidade);
			if(multi_cidade)
				$("#cidade").multiselect('refresh').multiselect('enable').next("button").css('width', width_cidade);
			bairros();
        }
    });
}

function bairros()
{
    var data = 'finalidade=' + $("#finalidade").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

	var array_tipos = $("#tipos").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

    for (i in array_tipos)
    {
        data += '&tipos[]=' + array_tipos[i];
    }

    data += '&estado=' + $("#estado").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

    data += '&cidade=' + $("#cidade").multiselect("getChecked").map(function(){
   return this.value;
	}).get();

    $.ajax({
        type: "POST",
        url: "/ajax/bairros",
        data: data,
        dataType: "html",
        beforeSend: function()
        {
            $("#bairros").html('<option value="">aguarde...</option>');
        },
        success: function(html)
        {
            $("#bairros").html(html);
            $("#bairros").val(marcado_bairros);
            marcado_bairros = $("#bairros").val();
			$("#bairros").multiselect({
									  selectedText: function(numChecked, numTotal, checkedItems){
										      return numChecked + ' bairro' + (numChecked>1? 's' : '');
										},
										click: function(e){
									   if( $(this).multiselect("widget").find("input:checked").length > selectMaxBairros ){
										   alert("Desculpe, selecione no maximo " + selectMaxBairros + " bairros.");
										   return false;
									   }
									},
									create: function(){
										multi_bairro = true;
										},
									selectedList: 1,
									noneSelectedText:"Bairros",
									position: {
									  my: 'left bottom',
									  at: 'left top'
								   }
									}).multiselect('enable').multiselectfilter().next("button").css('width', width_bairros).next(".ui-multiselect-menu").css('width', width_filtro_bairro);
			if(multi_bairro)
				$("#bairros").multiselect('refresh').multiselectfilter().multiselect('enable').next("button").css('width', width_bairros).next(".ui-multiselect-menu").css('width', width_filtro_bairro);

			$(".ui-multiselect-all").parent("li").remove();
        }
    });
}

function busca_codigo()
{
	if($("#pesq_codigo_referencia").val() == "")
	return false;
	
    var data = 'imovel=' + $("#pesq_codigo_referencia").val();

    $.ajax({
        type: "POST",
        url: "/ajax/pesquisa-codigo",
        data: data,
        dataType: "text json",
        beforeSend: function()
        {
            //
        },
        success: function(json)
        {
            if (json.existe == 1 && json.url)
            {
					window.location = json.url;
            }
            else
            {
				$("#pesq_codigo_referencia").attr('value', '');
                alert('Imóvel não encontrado');
            }
        }
    });
}

