/**************************************************************
*
* CLASSE JAVASCRIPT BUSCA INICIAL
*
* CRIADO POR: JONATAN BRANDI
* DATA: 13/07/2010
* OBS:
* EDITADO POR: JONATAN BRANDI
* DATA: 13/07/2010
* OBS:
*
*************************************************************/

function rawurldecode(str) {
    var n, strCode, strDecode = "";

    for (n = 0; n < str.length; n++) {
        if (str.charAt(n) == "%") {
            strCode = str.charAt(n + 1) + str.charAt(n + 2);
            strDecode += String.fromCharCode(parseInt(strCode, 16));
            n += 2;
        } else {
            strDecode += str.charAt(n);
        }
    }
    return strDecode;
}

function set(posicao, campo, value){ 
	eval("this."+campo+"["+posicao+"] = '"+value+"';");
} 

function get(posicao, campo){ 
	eval("var var_return =  this."+campo+"["+posicao+"];");
	return var_return;
}

function replaceAll(str, de, para) {
    var pos = str.indexOf(de);
    while (pos > -1) {
        str = str.replace(de, para);
        pos = str.indexOf(de);
    }
    return (str);
}

function clickPesquisar(busca) {
    var fkempresa = busca.fkempresa;

    $("#btnPesquisar").click(function () {
        var vWhere = " fkempresa = '" + fkempresa + "' ";
        $(".chaveCombo").each(function () {
            if ($.trim($(this).val()).toLowerCase() != 'indiferente' && $.trim($(this).val()).toLowerCase() != 'selecione' && $.trim($(this).val()).toLowerCase() != 'selecione...' && $.trim($(this).val()).toLowerCase() != '') {
                switch ($(this).attr("campo").toLowerCase()) {
                    case 'inf_finalidade':
                        v_desejo = $(this).val();
                        break;
                    case 'inf_valvenda_minimo':
                        inf_valvenda_minimo = $(this).val();
                        break;
                    case 'inf_valvenda_maximo':
                        inf_valvenda_maximo = $(this).val();
                        break;
                    case 'inf_vallocacao_minimo':
                        inf_vallocacao_minimo = $(this).val();
                        break;
                    case 'inf_vallocacao_maximo':
                        inf_vallocacao_maximo = $(this).val();
                        break;
                    case 'inf_subtipo':
                        v_finalidade = $(this).val();
                        break;
                    case 'inf_tipo':
                        v_tipo = $(this).val();
                        break;
                    case 'inf_cidade':
                        v_cidade = $(this).val();
                        break;
                    case 'det_dormitorios':
                        v_dormitorios = $(this).val();
                        break;
                    case 'det_garagens':
                        v_garagens = $(this).val();
                        break;
                    case 'inf_condominio':
                        v_condominio = $(this).val();
                        break;
                    case 'inf_bairro':
                        v_bairro = "";
                        var v_todos = 0;
                        var v_valores = '';
                        $(".comboChk").each(function () {
                            if ($(this).attr("checked")) {
                                if ($.trim($(this).val()).toLowerCase() == "todos" || $.trim($(this).val()).toLowerCase() == "selecione..." || $.trim($(this).val()).toLowerCase() == "Todos os Bairros") {
                                    v_todos = 1;
                                }
                                if (v_todos == 0) {
                                    if (v_valores == '') {
                                        v_valores = rawurldecode($(this).val());
                                    }
                                    else {
                                        v_valores = rawurldecode(v_valores) + "," + rawurldecode($(this).val());
                                    }
                                }
                            }
                        });
                        if (v_valores != '')
                            v_bairro = v_valores;
                        break;
                }
            }
            else {
                switch ($(this).attr("campo").toLowerCase()) {
                    case 'inf_finalidade':
                        v_desejo = '';
                        break;
                    case 'inf_subtipo':
                        v_finalidade = '';
                        break;
                    case 'inf_valvenda_minimo':
                        inf_valvenda_minimo = '';
                        break;
                    case 'inf_valvenda_maximo':
                        inf_valvenda_maximo = '';
                        break;
                    case 'inf_vallocacao_minimo':
                        inf_vallocacao_minimo = '';
                        break;
                    case 'inf_vallocacao_maximo':
                        inf_vallocacao_maximo = '';
                        break;
                    case 'inf_tipo':
                        v_tipo = '';
                        break;
                    case 'inf_cidade':
                        v_cidade = '';
                        break;
                    case 'det_dormitorios':
                        v_dormitorios = '';
                        break;
                    case 'det_garagens':
                        v_garagens = '';
                        break;
                    case 'inf_condominio':
                        v_condominio = '';
                        break;
                    case 'inf_bairro':
                        v_bairro = '';
                        break;
                }
            }
        });
        if (v_desejo == 'COMPRAR') {
            v_minimo = inf_valvenda_minimo;
            v_maximo = inf_valvenda_maximo;
        }
        else {
            v_minimo = inf_vallocacao_minimo;
            v_maximo = inf_vallocacao_maximo;
        }
        abrirLinkParametro('http://www.francopenteadoimoveis.com.br/Resultado.aspx?desejo=' + v_desejo + '&finalidade=' + v_finalidade + '&tipo=' + v_tipo + '&cidade=' + v_cidade + '&bairro=' + v_bairro + '&dormitorios=' + v_dormitorios + '&garagens=' + v_garagens + '&condominio=' + v_condominio + '&minimo=' + v_minimo + '&maximo=' + v_maximo);
    });
}

function mudaSubtipo(subtipo) {
    switch (this.v_cultura) {
        case 'pt-BR':
            if (subtipo == "COMERCIAL") {
                $("#lblDormitorios").html("Salas");
            }
            else if (subtipo == "INDIFERENTE") {
                $("#lblDormitorios").html("Dormitórios");
            }
            else {
                $("#lblDormitorios").html("Dormitórios");
            }
            break;
        case 'en-US':
            if (subtipo == "COMERCIAL") {
                $("#lblDormitorios").html("Room");
            }
            else {
                $("#lblDormitorios").html("Bedrooms");
            }
            break;
        case 'es-ES':
            if (subtipo == "COMERCIAL") {
                $("#lblDormitorios").html("Salas");
            }
            else {
                $("#lblDormitorios").html("Dormitórios");
            }
            break;
        default:
            if (subtipo == "COMERCIAL") {
                $("#lblDormitorios").html("Salas");
            }
            else {
                $("#lblDormitorios").html("Dormitórios");
            }
            break;
    }
}

function atualizaCampos(atualizar) {    
    var v_eval = '';
    var i = 0;

    var acoes = atualizar.split(",");
    var total = acoes.length;


    switch (this.v_cultura) {
        case "pt-BR":
            var v_carregando = 'CARREGANDO...'
            break;
        case "en-US":
            var v_carregando = 'LOADING...'
            break;
        case "es-ES":
            var v_carregando = 'CARGANDO...'
            break;
    }

    for (var x = 0; x < total; x++) {          
        switch (acoes[x]) {            
            case 'inf_tipo':
                if (typeof ($("#inf_tipo").val()) != 'undefined') {
                    $("#inf_tipo").val(v_carregando);
                    $("#hdn_inf_tipo").val("");
                    $("#cont_inf_tipo").html("");
                    v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "',  v_default: '', action: 'carregaTipo', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', subtipo: $('#hdn_inf_subtipo').val(), cidade: $('#hdn_inf_cidade').val() }, function (resposta) { eval(resposta); ";
                    i++;
                }                
                break;
            /*case 'inf_subtipo':
                if (typeof ($("#inf_subtipo").val()) != 'undefined') {
                    $("#inf_subtipo").val(v_carregando);
                    $("#hdn_inf_subtipo").val("");
                    $("#cont_inf_subtipo").html("");
                    v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "',  v_default: '', action: 'carregaSubTipo', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', tipo: $('#hdn_inf_tipo').val(), cidade: $('#hdn_inf_cidade').val() }, function (resposta) { eval(resposta); ";
                    i++
                }
                break;*/
            case 'inf_cidade':                
                if (typeof ($("#inf_cidade").val()) != 'undefined') {
                    $("#inf_cidade").val(v_carregando);
                    $("#hdn_inf_cidade").val("");
                    $("#cont_inf_cidade").html("");
                    v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "',  v_default: '', action: 'carregaCidade', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', subtipo: $('#hdn_inf_subtipo').val(), tipo: $('#hdn_inf_tipo').val() }, function (resposta) { eval(resposta); ";
                    i++
                }
            break;
            case 'inf_bairro':
                if (typeof ($("#inf_bairro").val()) != 'undefined') {
                    $("#inf_bairro").val(v_carregando);
                    $("#hdn_inf_bairro").val("");
                    $("#cont_inf_bairro").html("");
                    v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "',  v_default: '', bairros: '', action: 'carregaBairro', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', subtipo: $('#hdn_inf_subtipo').val(), tipo: $('#hdn_inf_tipo').val(), cidade: $('#hdn_inf_cidade').val() }, function (resposta) { eval(resposta); ";
                    i++
                }
            break;
        }
    }   
    for (x = 1; x <= i; x++)
        v_eval = v_eval + "});"

    eval(v_eval);
} 


function imovelClick(randimo) {
    var evtClick = randimo.evtClick;
    var fkempresa = randimo.fkempresa;
    $(".box_randimo").click(function () {
        eval(evtClick.replace(/\[pkimovel\]/g, $(this).attr('pkimovel')).replace(/\[fkempresa\]/g, fkempresa));
    });
}

function print(busca)
{
    var fkempresa = busca.fkempresa;
    var v_eval = '';
    var i = 0;

    $(this.destino).append(this.layout);
    
    if (typeof ($("#hdn_inf_subtipo").val()) != 'undefined') {
        v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "', v_default: '" + this.v_finalidade + "', v_default_original: '" + this.v_finalidade_original + "', action: 'carregaSubTipo', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', tipo: $('#hdn_inf_tipo').val(), cidade: $('#hdn_inf_cidade').val() }, function (resposta) {  eval(resposta); ";
        i++
    }

    
    if (typeof ($("#hdn_inf_tipo").val()) != 'undefined') {
        v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "', v_default: '" + this.v_tipo + "', action: 'carregaTipo', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', subtipo: $('#hdn_inf_subtipo').val(), cidade: $('#hdn_inf_cidade').val() }, function (resposta) { eval(resposta); ";
        i++;
    }

    if (typeof ($("#hdn_inf_cidade").val()) != 'undefined') {
        v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "', v_default: '" + this.v_cidade + "', action: 'carregaCidade', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', subtipo: $('#hdn_inf_subtipo').val(), tipo: $('#hdn_inf_tipo').val() }, function (resposta) { eval(resposta); ";
        i++
    }
    
    if (typeof ($("#inf_bairro").val()) != 'undefined') {
        v_eval = v_eval + "$.post('../../../Components/buscasHome/horizontal/horizontalBasico/Ajax/processar1.aspx', {cultura: '" + this.v_cultura + "', v_default: '" + this.v_bairro + "', bairros: '" + busca.v_bairro + "', action: 'carregaBairro', fkempresa: '" + fkempresa + "', finalidade: '" + $.trim($("#hdn_inf_finalidade").val()).toLowerCase() + "', subtipo: $('#hdn_inf_subtipo').val(), tipo: $('#hdn_inf_tipo').val(), cidade: $('#hdn_inf_cidade').val() }, function (resposta) { eval(resposta); if ($('#inf_subtipo').val() == 'Comercial') { $('#inf_subtipo').val('Comercial/Corporativo');}";
        i++
    }

    
    for (x = 1; x <= i; x++)
        v_eval = v_eval + "});"

    eval(v_eval);
   
    
    $('#minimo_inf_valvenda').val(this.v_minimo);
    $('#maximo_inf_valvenda').val(this.v_maximo);

    $('#minimo_inf_vallocacao').val(this.v_minimo);
    $('#maximo_inf_vallocacao').val(this.v_maximo);


    switch (this.v_cultura) {
        case 'en-US':
            if (this.v_desejo != '') {
                if (this.v_desejo == 'COMPRAR') {
                    $('#inf_finalidade').val('BUY');
                    $('#hdn_inf_finalidade').val(this.v_desejo);
                }
                else {
                    $('#inf_finalidade').val('RENT');
                    $('#hdn_inf_finalidade').val(this.v_desejo);                
                }
            }
            break;
        case 'es-ES':
            if (this.v_desejo != '') {
                if (this.v_desejo == 'COMPRAR') {
                    $('#inf_finalidade').val(this.v_desejo);
                    $('#hdn_inf_finalidade').val(this.v_desejo);
                }
                else {
                    $('#inf_finalidade').val(this.v_desejo);
                    $('#hdn_inf_finalidade').val(this.v_desejo);
                }
            }
            break;
        default:
            if (this.v_desejo != '') {
                if (this.v_desejo == 'COMPRAR') {
                    $('#inf_finalidade').val(this.v_desejo);
                    $('#hdn_inf_finalidade').val(this.v_desejo);
                }
                else {
                    $('#inf_finalidade').val(this.v_desejo);
                    $('#hdn_inf_finalidade').val(this.v_desejo);
                }
            }
            break;
    } 

    

    if (this.v_dormitorios != '') {
        $('#det_dormitorios').val(this.v_dormitorios);
        $('#hdn_det_dormitorios').val(this.v_dormitorios);
    }

    if (this.v_garagens != '') {
        $('#det_garagens').val(this.v_garagens);
        $('#hdn_det_garagens').val(this.v_garagens);
    }

    if (this.v_condominio) {
        $('#inf_condominio').val(this.v_condominio);
        $('#hdn_inf_condominio').val(this.v_condominio);
    }

    clickPesquisar(busca);
    
    switch (this.v_cultura) {
        case 'pt-BR':
            if (this.v_finalidade == "Comercial") {
                $("#lblDormitorios").html("Salas");
            }
            else {
                $("#lblDormitorios").html("Dormitórios");
            }
            break;
        case 'en-US':            
            if (this.v_finalidade == "Comercial") {
                $("#lblDormitorios").html("Room");
            }
            else {
                $("#lblDormitorios").html("Bedrooms");
            }
            break;
        case 'es-ES':
            if (this.v_finalidade == "Comercial") {
                $("#lblDormitorios").html("Salas");
            }
            else {
                $("#lblDormitorios").html("Dormitórios");
            }
            break;
        default:
            if (this.v_finalidade == "Comercial") {
                $("#lblDormitorios").html("Salas");
            }
            else {
                $("#lblDormitorios").html("Dormitórios");
            }
            break;        
    }            
}

function Busca(parametros) {
    //Código da empresa
    this.fkempresa = parametros.fkempresa;
    // Div de destino da consulta
    this.destino = parametros.destino;
	//Id opcional antes dos nomes dos campos
	this.id = '';
    // Layout da consulta
	this.layout = parametros.layout;

	this.v_desejo = parametros.v_desejo;    
	this.v_finalidade = parametros.v_finalidade;
	this.v_finalidade_original = parametros.v_finalidade_original;
    this.v_tipo = parametros.v_tipo;
    this.v_cidade = parametros.v_cidade;
    this.v_bairro = parametros.v_bairro;
    this.v_dormitorios = parametros.v_dormitorios;
    this.v_garagens = parametros.v_garagens;
    this.v_condominio = parametros.v_condominio;
    this.v_minimo = parametros.v_minimo;
    this.v_maximo = parametros.v_maximo;

    this.v_cultura = 'pt-BR';
    if (typeof (parametros.v_cultura) != "undefined") {
        this.v_cultura = parametros.v_cultura;
    }
	/*
		Métodos impressão do Randimo
	*/
	this.print = print;
	this.clickPesquisar = clickPesquisar;
	
	/*
		Métodos GET e SET da classe
	*/
	this.set = set; 
	this.get = get;
	
	/*
		Campos da tabela
	*/
	this.pkimovel = new Array();
	this.inf_referencia = new Array();
	this.inf_tipo = new Array();
	this.inf_bairro =  new Array();
	this.det_dormitorios = new Array();
	this.det_suite = new Array();
    this.inf_valvenda =  new Array();
	this.foto =  new Array();
	
}

