﻿/*
* Scripts.js
* Este arquivo de Script contém todas as funções js do site.
*
* *** OBSERVAÇÕES:
* ****** SEGUIR O PADRÃO ADOTADO!
* ****** A maioria das funções são GLOBAIS, tenha muito cuidado ao realizar alterações nas mesmas.
* ****** Este arquivo deve ser compactado com o seguinte padrão: minified-scripts-<YYYY-MM-DD-HH.js>
* ****** Após ser gerado uma versão compactada deve ser alterada a chamada do arquivo compactado nas Masterpages e na Default.aspx
*
* Considerações:
* A fuunção everyExecute() contém chamdas de funções sempre verificando se uma 
* determinada classe existe garantindo que a função não gere um erro no jQuery
* 
*/

//Método a ser disparado sempre que é chamado métodos ajax
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function (sender, args) {
    everyExecute();
});

//Método a ser disparado sempre que a pagina é carregada
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function (sender, args) {
    everyExecute();
});
function everyExecute() {
    $(document).ready(function () {
        //Plugin para customização dos inputs
        $("body").jInput();

        //Plugin para customização dos textarea
        $("body").jTextarea();

        //Carrega o jQueryUI para Select
        if ($("select").html() != undefined) { multiSelect(); }

        //Customização (focus e blur) de campos texto
        if ($("input[type=text]") != undefined) { valuesInput(); }

        //Mantém o menu com estilo ativo de acordo com a sessão atual
        if ($(".menu").html() != undefined) { menuActive(); }

        //Mantém o menu com estilo ativo de acordo com a sessão atual
        if ($(".boxInternalMenu").html() != undefined) { menuInternalActive(); }

        //Customização de fontes (OBS: O Cufon deve ser carregado após as funções: menuActive() e menuInternalActive() devido a estilização CSS)
        fontReplaceCofun();

        //Topo da home
        if ($(".contentHome, .header, .pageLogin").html() != undefined) { inputPassword(); }

        //Accordion
        if ($(".accordion").html() != undefined) { accordion(); }

        //Página Detalhes do Imóvel
        if ($(".pagePropertyDetails").html() != undefined) { pagePropertyDetails(); }

        //Modal de bairros
        if ($(".TextDistrict") != undefined) { modalDistrict(); }

        //Customização do select de UF com bandeiras
        if ($(".ddlState") != undefined) { selectState(); }

        //Customização de select para exibição de itens em 2 colunas
        if ($(".multiTipos") != undefined) { selectItemsCol2(); }

        //Validação de formularios
        if ($(".validate").html() != undefined) { validateForm(); }

        //Página Rede de Agências - Agência
        if ($(".pageAgency").html() != undefined) { pageAgency(); }

        //Busca Interna
        if ($(".boxInternalSearch").html() != undefined) { boxInternalSearch(); }

        //Topo do site
        if ($(".header").html() != undefined) { header(); }

        //Força o preenchimento somente por números no campo de código do imóvel das buscas
        $(".boxInternalSearch .code input, .boxSearchHome .code input, .searchSales .code input, .searchRentals .code input").keypress(function (e) {
            var tecla = (window.event) ? event.keyCode : e.which;
            if ((tecla > 47 && tecla < 58) || (tecla == 8 || tecla == 32 || tecla == 0))
                return true;
            else
                return false;
        })

        //Mapa da Agencia em Corretores
        $(".modalMapsDealers").click(function () {
            modal(".mapsModal", 560, "auto", false, false);
        })

        //Mantém habilitado ENTER somente em Textarea
//        $("textarea").focus(function () {
//            $("textarea").removeClass("focusAction")
//            $(this).addClass("focusAction");
//        })

//        $(window).keypress(function (e) {
//            var tecla = (window.event) ? event.keyCode : e.which;
//            if (tecla == 13) {
//                if($(".focusAction") == undefined){
//                    return false;
//                }
//            }
//        })

        
    });
}


function header() {
    //Tabs do box de Login de Portal do Cliente e Favoritos e Avise-me do Topo do Site
    var boxesLogin = $(".header .boxRight .portalCustomer .boxes");
    $(".header .boxRight .portalCustomer .tabs div").click(function () {
        var tab = $(this);

        tab.parent().find("*").removeClass("active");
        tab.addClass("active");
        if (tab.hasClass("btnClient")) {
            boxesLogin.find(".client").show();
            boxesLogin.find(".favoriteAndNotifyme").hide();
        } else {
            boxesLogin.find(".client").hide();
            boxesLogin.find(".favoriteAndNotifyme").show();
        }
    })

    //Submit do Portal do Cliente no Topo do Site
    $(".portalCustomer .client .ok").click(function (event) {
        event.stopPropagation(); //Para a propagação

        var a = $(this).parent();
        var error = $(this).parent().find(".erro");

        if ((a.find("input.login").val().length >= 1) && (a.find("input.senha").val().length >= 1)) {
            var form = $("form");

            form.attr("action", "http://novo.auxiliadorapredial.com.br/extranet/valida.asp");
            form.attr("method", "post");
            form.attr("target", "_self");

            var VIEWSTATE = form.find("#__VIEWSTATE").val();
            form.find("#__VIEWSTATE").val("");

            form.submit();

            form.find("#__VIEWSTATE").val(VIEWSTATE);
        } else {
            error.html("Os campos login e Senha devem ser preenchidos!").show();
            return false;
        }
        return true;
    })

    //Abre o Modal de Esqueci senha do Portal do Cliente
    $(".portalCustomer .client .esqueci").click(function () {
        modal(".modalClient1", 400, 200, false, false);

        //Submit de Esqueci Senha do Portal do Cliente
        $(".modalClient1 .esqueciSenha .ok").bind('click', function (event) {
            event.stopPropagation(); //Para a propagação
            var regExMail = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
            var input = $(this).parent().find("#cpf");
            var error = $(this).parent().parent().find(".error");
            var cpf = validarCPF(input.val());

            if (regExMail.exec(input.val()) || cpf == "valido") {

                var form = $("form");

                form.attr("action", "http://novo.auxiliadorapredial.com.br/extranet/EmailValida.asp");
                form.attr("method", "post");
                form.attr("target", "_self");
                form.attr("name", "login");
                form.attr("onSubmit", "return ValidaFormCPF(this)");

                var VIEWSTATE = form.find("#__VIEWSTATE").val();
                form.find("#__VIEWSTATE").val("");

                form.submit();

                form.find("#__VIEWSTATE").val(VIEWSTATE);

            } else {
                error.html("O campo de login não foi preenchido corretamente!").show();
                return false;
            }
        })

    })

    //Abre o Modal de Trocar a senha no Portal do Cliente
    $(".portalCustomer .client .trocar").click(function () {
        modal(".modalClient2", 450, 200, false, false);

        //Submit de Trocar Senha do Portal do Cliente
        $(".modalClient2 .trocarSenha .enviar").click(function (event) {
            var form = $("form");

            form.attr("action", "http://novo.auxiliadorapredial.com.br/extranet/TrocaSenha.asp");
            form.attr("method", "post");
            form.attr("target", "_self");
            form.attr("name", "trocasenha");
            form.attr("onSubmit", "return ValidaFormLogin(this)");

            var VIEWSTATE = form.find("#__VIEWSTATE").val();
            form.find("#__VIEWSTATE").val("");

            form.submit();

            form.find("#__VIEWSTATE").val(VIEWSTATE);
        })
    })

    //Abre o Modal de Esqueci senha de Favoritos e Avise-me
    $(".pageLogin .myPass, .portalCustomer .favoriteAndNotifyme .esqueci").click(function () {
        modal(".modalFavoriteNotify1", 400, 200, false, false);

        //Valida o Esqueci Senha do Favorito e Avise-me
        $(".modalFavoriteNotify1 .esqueciSenha .ok").bind('click', function (event) {
            event.stopPropagation(); //Para a propagação
            var regExMail = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
            var input = $(this).parent().find("input[type=text]");
            var error = $(this).parent().parent().find(".error");
            if (!regExMail.exec(input.val())) {
                error.html("O campo de login não foi preenchido corretamente!").show();
                return false;
            }
            return true;
        })
    })
}

//Função que valida CPF
function validarCPF(CPF) {
    var cpf = CPF;
    var filtro = /^\d{3}\d{3}\d{3}\d{2}$/i;
    if (!filtro.test(cpf)) {
        return "CPF inválido. Tente novamente.";
    }

    cpf = remove(cpf, ".");
    cpf = remove(cpf, "-");

    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
	  cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
	  cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
	  cpf == "88888888888" || cpf == "99999999999") {
        return "CPF inválido. Tente novamente.";        
    }

    soma = 0;
    for (i = 0; i < 9; i++)
        soma += parseInt(cpf.charAt(i)) * (10 - i);
    resto = 11 - (soma % 11);
    if (resto == 10 || resto == 11)
        resto = 0;
    if (resto != parseInt(cpf.charAt(9))) {
        return "CPF inválido. Tente novamente.";
    }
    soma = 0;
    for (i = 0; i < 10; i++)
        soma += parseInt(cpf.charAt(i)) * (11 - i);
    resto = 11 - (soma % 11);
    if (resto == 10 || resto == 11)
        resto = 0;
    if (resto != parseInt(cpf.charAt(10))) {
         return"CPF inválido. Tente novamente.";       
    }
    return "valido";
}

//Remove caracteres
function remove(str, sub) {
    i = str.indexOf(sub);
    r = "";
    if (i == -1) return str;
    r += str.substring(0, i) + remove(str.substring(i + sub.length), sub);
    return r;
}


function boxInternalSearch() {
    GetSelected();

    //Botão de remover valores na Busca interna
    $(".boxInternalSearch .line .remove").click(function () {
        $(this).parent().css("display", "none");
        $(this).parent().parent().find(".ui-multiselect").css("display", "block");
        $(this).parent().parent().find(".jInput").css("display", "block");
    })
}


function pageAgency() {
    $(".pageAgency .agency .btnDealers").click(function () {
        $('html, body').animate({
            scrollTop: $("#corretores").offset().top
        }, 800);
    })
}


function validateForm() {
    /*
    * Usar a classe "require" nos campos que devem ser validados
    * Usar a classe "requireMail" nos campos de e-mail
    * Usar a classe "requireNumber" nos campos que devem ter somente números
    * Usar a classe "boxError" para exbir a lista de erros encontrados
    * Use a classe "boxValidate" no box que contém os campos que deverão ser validados pelo botão "validate"
    * Usar o atributo "title" nos campos que serão validados por que o title será exibido na mensagem de erro
    */

    function validateExtendsSelects(item) {
        var s = item.find("option:selected").val();
        var t = item.find("option:selected").text();
        if (s == "Tipo" || s == "UF" || s == "Cidade" || s == "Cidades" || s == "Sem Dormitórios" || s == "Dia" || s == "Mês" || s == "Ano") {
            return true;
        }
        if (t == "Tipo" || t == "UF" || t == "Cidade" || t == "Cidades" || t == "Sem Dormitórios" || t == "Dia" || t == "Mês" || t == "Ano") {
            return true;
        }
    }

    $(".validate").live('click', function (evt) {
        evt.stopPropagation(); //Para a propagação

        var viewFields = $(this).closest(".boxValidate");
        var boxError = viewFields.find(".boxError");
        var regExMail = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
        var listError = new Array();
        var isValid = true;
        var noValid = viewFields.find(".noValidateRequire").val(); //Campo que quando preenchido não é necessário que seja realizada a validação do Form

        if ((noValid != undefined) && (noValid.length != 0)) {
            return true;
        }

        $(viewFields).find(".require").each(function () {
            var title = $(this).attr("title");
            if ($(this).get(0).tagName == "SELECT") {
                if ($(this).attr("multiple") == "multiple") {
                    if (!$(this).find("option").is(":selected")) {
                        listError.push(title);
                    }
                }
                if ($(this).find("option:selected").text() == "Selecione" || $(this).find("option:selected").val() == "Selecione") {
                    listError.push(title);
                }
                if (validateExtendsSelects($(this))) { //Extension validates especific selects
                    listError.push(title);
                }
            } else {
                if ($(this).hasClass("requireCheckbox")) { //Checkbox
                    if (!$(this).find("input[type=checkbox]").is(':checked'))
                        listError.push(title);
                } else if ($(this).hasClass("requireMail")) { //E-mail
                    if (!regExMail.exec($(this).val()))
                        listError.push(title);
                } else if ($(this).hasClass("requireNumber")) { // Números
                    if (isNaN(parseInt($(this).val())))
                        listError.push(title + " (somente números)");
                } else if ($(this).val() == "") { //Preenchido
                    listError.push(title);
                } else if ($(this).first().val() == "escolha o(s) bairro(s)" || $(this).first().val() == "Bairros Selecionados: 0" || $(this).first().val() == "Nome" || $(this).first().val() == "E-mail") {
                    listError.push(title);
                } else if ($(this).hasClass("requireMinValue")) { //Validação de MinValue e MaxValue
                    var min = $(this);
                    var max = $(this).closest(".boxValidate").find(".requireMaxValue");
                    if (max != undefined) {
                        if (!isNaN(max.val()) && !isNaN(min.val())) {
                            max = parseFloat(max.val());
                            min = parseFloat(min.val());
                            if (max < min) {
                                listError.push(title);
                            }
                        }
                    }
                }
            }
        })

        if (listError.length > 0) {
            var items = "";
            var tipAnimation;
            var messageError = "<span>Os campos não foram preenchidos corretamente.</span>";
            var inputMsgError = $(".messageError"); //Input utilizado para customizar a mensagem de erro 
            var scrollError = true;

            //Insere o valor do input de mensagem customizada
            if (inputMsgError.val() != undefined) {
                messageError = "<span>" + inputMsgError.val() + "</span>";
            }

            $.each(listError, function (i) {
                items += "<li>" + listError[i] + "</li>";
            });

            //Tipos de Animação e Manipulação do box de Erro
            if (viewFields.hasClass("boxValidateAnimateBlock")) {
                tipAnimation = "block";
            } else {
                tipAnimation = "show";
            }

            if (tipAnimation == "show") {
                boxError.html(messageError + "<ul>" + items + "</ul>").show("slow");
            }

            if (tipAnimation == "block") {
                boxError.html(messageError + "<ul>" + items + "</ul>").css("display", "block");
            }
            //Tipos de Animação e Manipulação do box de Erro - Fim

            // Se tiver esta classe não deve executar a Animação do Scroll
            if (viewFields.hasClass("boxValidateNoScrollError")) {
                scrollError = false;
            }

            //Animação de Scroll
            if (scrollError) {
                $('html, body').animate({ scrollTop: boxError.offset().top }, 700);
            }

            return false;

        } else {
            boxError.html("");
            return true;
        }
    });
}





function modalDistrict() {
    var district = $(".districtModal");
    var districtParent = district.parent();

    $(".TextDistrict").click(function () {
        $(".modalBoxClose").addClass("closeDistrict");
        $(".modalBox").css({ border: '1px solid #F9A01B' });
        $(".modalBoxContent").css({ background: '#ffffff' });

        modal(".districtModal", 940, 350, true, false);

        var strDistricts = $(".ddlDistricts input").val();
        GetAllSelectData(strDistricts);

        //Botão de close do modal
        district.parent().find(".modalBoxClose").click(function () { GetSelected(); })

        district.find(".items td").hover(function () {
            $(this).css("background", "#F9A01C");
        }, function () {
            $(this).css("background", "none");
        })

        $(".districtModal .imgSelectDistrict").click(function () {
            GetSelected();
            district.addClass("contentModal");
            districtParent.append(district);
            $(".modalBoxContent").html("");
            $(".modalBoxClose").removeClass("closeDistrict");
            $(".modalBox, .modalBoxContent").removeAttr("style");
            $('.mask, .modalBox').fadeOut(600);

            if ($(".boxInternalSearch").html() != undefined) {
                var ddlDistrict = $(".ddlDistrict");
                ddlDistrict.find(".jInput").css("display", "none");
                ddlDistrict.find(".district").css("display", "block");
            }

            $(".modalBox").removeClass("borderRadius6");
            $(".modalBoxContent").removeClass("borderRadius6");
            $(".modalBoxClose").removeClass("borderRadius6");
        })

        $(".modalBoxClose").click(function () {
            $(".modalBoxClose").removeClass("closeDistrict");
            $(".modalBox, .modalBoxContent").removeAttr("style");
            $(".districtModal").addClass("contentModal");
        })
    })
}


function modal(modalType, modalBoxW, modalBoxH, borderRaduis, borderCloseRaduis) {
    /*
    * Modal
    * O modal é utilizado da seguinte forma:
    * 1 - Criar um evento de click para abrir o modal
    * 2 - Chamar a função que monta o modal
    *
    * EX:
    *   $(".pagePropertyDetails .maps .thumb").click(function () {
    *       modal1(".pagePropertyDetails", 300, "auto", contentMap, false);
    *   })
    */

    function main(modalType, modalBoxW, modalBoxH, borderRaduis, borderCloseRaduis) {
        // PARAMETROS 
        // modalType:           Classe especifica do modal
        // modalBoxW:           A largura do Box do Modal como um inteiro ou com a propriedade 'auto'
        // modalBoxH:           A altura do Box do Modal como um inteiro ou com a propriedade 'auto'
        // borderRaduis:        Borda arredondada True/False
        // borderCloseRaduis:   Borda arredondada no botão de Close True/False
        // PARAMETROS

        // PROPRIEDADES
        var pageContentModal = $("body form");
        var modalType = $(modalType);
        var modalTypeParent = modalType.parent();
        var mask = $(".mask");                                                      // Mascara de fundo do modal
        var modalBox = $(".modalBox");                                              // Box do Modal
        var modalBoxContent = $(".modalBoxContent");                                // Box interno do Modal
        var modalBoxClose = $(".modalBoxClose");                                    // Botão de fechar do Modal
        var maskHeight = parseInt($(document).height());                            // Altura da Mascara
        var maskWidth = parseInt($(window).width());                                // Largura da Mascara
        var winHeight = parseInt($(window).height());                               // Altura da Janela
        var winWidth = parseInt($(document).width());                               // Largura da Janela
        var modalBoxHeight = 0;                                                     // Altura do box do Modal (auxiliar)
        var heightDefaultContent = 0;                                               // Altura Default do Content do Modal
        var heightContent = replaceParse(modalBoxContent.css("height"));            // Altura do Content
        var paddingTopContent = replaceParse(modalType.css("paddingTop"));          // PaddingTop do Content
        var paddingBottomContent = replaceParse(modalType.css("paddingBottom"));    // PaddingBottom do Content
        var minHeightContent = replaceParse(modalType.css("minHeight"));            // Altura minima do Content
        // PROPRIEDADES

        //Adiciona ao modal o conteúdo
        modalBoxContent.html(modalType);

        function replaceParse(val) {return parseInt(val.replace("px", ""));}        // Função utilizada para dar Replace e converter para inteiro


        if (modalBoxH == "auto") { //Se for "auto" a altura do box do modal
            if (heightContent == 0) //Se a altura for zero coloca margem 100px do topo
                modalBoxHeight = 100;
            else {
                modalBoxHeight = heightContent + paddingTopContent + paddingBottomContent;
                modalBoxHeight = ((winHeight / 2) - (modalBoxHeight / 2)) - 160;
                if (modalBoxHeight <= 0) { modalBoxHeight = 10; }
            }
        } else {
            modalBoxHeight = (winHeight / 2) - (modalBoxH / 2);
            if (modalBoxHeight <= 0) { modalBoxHeight = 10; }
        }
        
        var modalBoxWidth = 0;
        modalBoxWidth = (maskWidth / 2) - (modalBoxW / 2);
        if (modalBoxWidth <= 0) { modalBoxWidth = 10; }


        mask.css({ height: maskHeight });
        if (maskWidth < 990)
            mask.css({ width: 990 });
        else
            mask.css({ width: maskWidth });


        modalBox.css({
            width: modalBoxW + 'px',
            minHeight: modalBoxH + 'px',
            marginTop: parseInt(modalBoxHeight) + 'px',
            marginLeft: parseInt(modalBoxWidth) + 'px'
        });

        modalType.removeClass("contentModal");

        //Adiciona a borda arredondada no box do Modal
        if (borderRaduis){
            modalBox.addClass("borderRadius6");
            modalBoxContent.addClass("borderRadius6");
        }

        //Adiciona a borda arredondada no botão de fechar
        if (borderCloseRaduis)
            modalBoxClose.addClass("borderRadius6");


        //Abrir o modal
        mask.fadeIn(600);
        modalBox.fadeIn(600);

        //Fechar o modal
        modalBoxClose.click(function () {
            modalType.addClass("contentModal");
            modalTypeParent.append(modalType);
            modalBox.fadeOut(600);
            mask.fadeOut(600);
            if (modalType.find(".boxError") != undefined)
                $(".boxError, .error").html("").hide();
            if (modalType.find(".boxSuccess") != undefined)
                $(".boxSuccess").html("").hide();

            modalBox.removeClass("borderRadius6");
            modalBoxContent.removeClass("borderRadius6");
            modalBoxClose.removeClass("borderRadius6");
            modalBoxContent.html("");
        })
    }

    $(window).resize(function () {
        if (mask.css("display") == "block") {
            main(modalType, modalBoxW, modalBoxH, borderRaduis, borderCloseRaduis);
        }
    });

    main(modalType, modalBoxW, modalBoxH, borderRaduis, borderCloseRaduis);
}


function pagePropertyDetails() {
    var boxItemsMaxH = 0;
    $(".boxItems").each(function () {
        if ($(this).height() > boxItemsMaxH) {
            boxItemsMaxH = $(this).height();
        }
    })
    $(".boxItems").css({
        height: boxItemsMaxH + "px",
        display: "block"
    });

    //Mapa do Imóvel
    $(".pagePropertyDetails .maps *").click(function () {
        modal(".mapsModal", 560, 336, false, false);
    })

    //Video do Imóvel
    $(".pagePropertyDetails .video *").click(function () {
        modal(".videoModal", 560, 336, false, false);
    })

    //Entre em contato com o Corretor
    $(".contactDealer").click(function () {
        $(".boxSuccess").html("").hide();
        modal(".contactDealerModal", 760, "auto", false, false);
    })

    $(".contactRental").click(function () {
        $('html, body').animate({ scrollTop: $('.share').offset().top }, 700);
    })

    //Indique um amigo
    $(".indicate").click(function () {
        modal(".indicateModal", 500, "auto", false, false);
    })
}


function accordion() {
    $(".accordionTop .ico").attr("class", "ico no-active");
    $('.accordionTop').click(function () {
        if ($(this).find(".ico").attr("class") == "ico active") {
            $(this).find(".ico").attr("class", "ico no-active");
        } else {
            $(this).find(".ico").attr("class", "ico active");
        }
        $(this).next('.accordionBox').slideToggle("slow");
    });
}


function fontReplaceCofun() {
    //Ao adicionar itens no Cufon abaixo também acrescentar no CSS na linha /* Replace Cufon */
    var itens = ".boxInternalMenu .titulo, " +
                    ".boxInternalSearch .title, " +
                    ".boxInternalMenu a," +
                    ".menu a," +
                    ".favorites," +
                    ".notify," +
                    ".portalCustomer .portal span," +
                    ".contentHome .boxSearchHome .searchFor span," +
                    ".content2 .colRight h1," +
                    ".pageSellingProperty .title strong," +
                    ".pageContact .phones strong," +
                    ".pageContact .mail strong," +
                    ".boxNewsletter .title," +
                    ".accordion .accordionTop span," +
                    ".pageAgencyDealers .agencies li .data .title," +
                    ".pageAgencyDealers .agency .title," +
                    ".pagePropertyDetails .daeler .data strong, " +
                    ".pageRentals .searchRentals .searchFor span, " +
                    ".pageSales .searchRentals .searchFor span, " +
                    ".pageRentals .featured .title, " +
                    ".pageSales .featured .title, " +
                    ".subTitle," +
                    ".pageRentYourProperty .title strong";
    Cufon.replace(itens, { hover: true });
    $(itens).css("visibility", "visible");
}


function menuActive() {
    var segmento = window.location.toString().split('/')[3]
    var segmentoItemMenu = $(".menu");
    switch (segmento) {
        case "compra-e-venda":
            segmentoItemMenu.find(".compra-e-venda").addClass("active");
            break;
        case "alugueis":
            segmentoItemMenu.find(".alugueis").addClass("active");
            break;
        case "quem-somos":
            segmentoItemMenu.find(".quem-somos").addClass("active");
            break;
        case "condominios":
            segmentoItemMenu.find(".condominios").addClass("active");
            break;
        case "franquias":
            segmentoItemMenu.find(".franquias").addClass("active");
            break;
        case "rede-de-agencias":
            segmentoItemMenu.find(".rede-de-agencias").addClass("active");
            break;
        case "empresa":
            segmentoItemMenu.find(".empresa").addClass("active");
            break;
        case "contato":
            segmentoItemMenu.find(".contato").addClass("active");
            break;
    }
}


function menuInternalActive() {
    var segmento = window.location.toString().split('/')[4];
    var segmentoItemMenu = $(".boxInternalMenu");
    switch (segmento) {
        case "avise-me":
            segmentoItemMenu.find(".avise-me").addClass("active");
            break;
        case "editar-cadastro":
            segmentoItemMenu.find(".editar-cadastro").addClass("active");
            break;
        case "venda-seu-imovel":
            segmentoItemMenu.find(".venda-seu-imovel").addClass("active");
            break;
        case "credito-imobiliario":
            segmentoItemMenu.find(".credito-imobiliario").addClass("active");
            break;
        case "corretores":
            segmentoItemMenu.find(".corretores").addClass("active");
            break;
        case "diferenciais-de-compra-e-venda":
            segmentoItemMenu.find(".diferenciais-de-compra-e-venda").addClass("active");
            break;
        case "alugue-seu-imovel":
            segmentoItemMenu.find(".alugue-seu-imovel").addClass("active");
            break;
        case "aluguel-corporate":
            segmentoItemMenu.find(".aluguel-corporate").addClass("active");
            break;
        case "aluguel-preference":
            segmentoItemMenu.find(".aluguel-preference").addClass("active");
            break;
        case "diferenciais-de-alugueis":
            segmentoItemMenu.find(".diferenciais-de-alugueis").addClass("active");
            break;
        case "quem-somos":
            segmentoItemMenu.find(".quem-somos").addClass("active");
            break;
        case "auxiliadora-news":
            segmentoItemMenu.find(".auxiliadora-news").addClass("active");
            break;
        case "video-institucional":
            segmentoItemMenu.find(".video-institucional").addClass("active");
            break;
        case "trabalhe-conosco":
            segmentoItemMenu.find(".trabalhe-conosco").addClass("active");
            break;
        case "diferenciais-de-condominios":
            segmentoItemMenu.find(".diferenciais-de-condominios").addClass("active");
            break;
        case "solicite-proposta":
            segmentoItemMenu.find(".solicite-proposta").addClass("active");
            break;
        case "portaria-e-limpeza":
            segmentoItemMenu.find(".portaria-e-limpeza").addClass("active");
            break;
        case "telecompras":
            segmentoItemMenu.find(".telecompras").addClass("active");
            break;
        case "revista-sindico":
            segmentoItemMenu.find(".revista-sindico").addClass("active");
            break;
        case "construtoras-e-incorporadoras":
            segmentoItemMenu.find(".construtoras-e-incorporadoras").addClass("active");
            break;
        case "quem-e-auxiliadora-predial":
            segmentoItemMenu.find(".quem-e-auxiliadora-predial").addClass("active");
            break;
        case "modelo-de-franquia":
            segmentoItemMenu.find(".modelo-de-franquia").addClass("active");
            break;
        case "principais-beneficios":
            segmentoItemMenu.find(".principais-beneficios").addClass("active");
            break;
        case "depoimentos":
            segmentoItemMenu.find(".depoimentos").addClass("active");
            break;
        case "seja-um-franqueado":
            segmentoItemMenu.find(".seja-um-franqueado").addClass("active");
            break;
    }
}


function inputPassword() {
    $(".txtPassword").parent().parent().addClass("dNone");
}


function valuesInput() {
    $("input[type=text]").each(function () {
        var field = $(this);

        if (!field.hasClass("noFocus")) {

            var value = field.val();
            $(field).focus(function () {
               
                if ($(this).val() == value) {

                    if (field.hasClass("inputCPF")) //CPF
                        $(this).val("").setMask({ mask: '999.999.999-99' });

                    if (field.hasClass("inputCEP")) //CEP
                        $(this).val("").setMask({ mask: '99999-999' });

                    if (field.hasClass("inputRG")) //RG
                        $(this).val("").setMask({ mask: '99999999-99' });

                    if (field.hasClass("inputCNPJ")) //CNPJ
                        $(this).val("").setMask({ mask: '99.999.999/9999-99' });

                    if (field.hasClass("inputFone")) //Telefone
                        $(this).val("").setMask({ mask: '(99) 9999.9999' });

                    if (field.hasClass("txtOf")) //Campos de dinheiro R$ na busca
                        $(this).val("").setMask().css("textAlign", "left");

                    if (field.hasClass("txtTo")) //Campos de dinheiro R$ na busca
                        $(this).val("").setMask().css("textAlign", "left");

                    if (field.hasClass("txtPasswordVisible")) {//Campo Senha
                        var jInput = $(this).parent().parent().addClass("dNone");
                        var jInputPass = jInput.parent().find(".txtPassword");
                        jInputPass.parent().parent().removeClass("dNone");
                        jInputPass.focus();
                    }
                    else {
                        field.val("");
                    }
                }
            })
            $(field).blur(function () {
                if ($(this).val() == "") {
                    $(this).val(value);
                }
            })

            //Campo Senha
            $(".txtPassword").blur(function () {
                if ($(this).val() == "") {
                    var jInput = $(this).parent().parent().addClass("dNone");
                    jInput.parent().find(".txtPasswordVisible").parent().parent().removeClass("dNone");
                }
            })
        }

    })
}

function selectState() {
    if (!$(".ddlState").hasClass("no-imgState")) {

        if ($(".ddlState .ui-multiselect-checkboxes li label").find("img").attr("alt") != "estado") { //Garante que vai adicionar as imagens somente uma vez
            $(".ddlState .ui-multiselect-checkboxes li").each(function () { //Percorre os itens da lista
                var txt = $(this).find("label").text().trim();

                if (txt == "RS") {
                    $(this).find("label").prepend("<img alt='estado' src='/Images/States/rs.jpg'>");
                } else if (txt == "SP") {
                    $(this).find("label").prepend("<img alt='estado' src='/Images/States/sp.jpg'>");
                } else if (txt == "SC") {
                    $(this).find("label").prepend("<img alt='estado' src='/Images/States/sc.jpg'>");
                } else if (txt == "PR") {
                    $(this).find("label").prepend("<img alt='estado' src='/Images/States/pr.jpg'>");
                }

                if (txt != "UF") {
                    var imgWidth = $(this).find("img").css("width").replace("px", "");
                    var minWidth = $(this).find("label").css("minWidth").replace("px", "");
                    $(this).find("label").css("minWidth", minWidth - imgWidth);
                    $(this).css("minWidth", minWidth + imgWidth + 10);
                }
            });
        }

        if ($.browser.msie && $.browser.version == "7.0") {
            $(".ddlState .ui-multiselect-checkboxes").css({ overflow: "hidden", width: "70" });
        }
    }
}

function selectItemsCol2() {
    if ($.browser.msie) {
        $(".ui-multiselect-menu, .ui-widget-header").css({ width: "320px" });
    }

    $(".multiTipos .ui-multiselect-checkboxes, .multiTipos .ui-multiselect-menu").css({ width: "320px" });
    $(".multiTipos .ui-multiselect-checkboxes li").each(function () {
        $(this).css({ 'float': 'left', 'clear': 'none', 'width': '150px' });
    });
}

function multiSelect() {
    $(".single select").multiselect({
        multiple: false,
        header: false,
        selectedList: 1
    });

    $(".multi select").multiselect({
        multiple: true,
        checkAllText: 'marcar todos',
        uncheckAllText: 'desmarcar',
        noneSelectedText: 'selecione',
        selectedText: 'Selecionados #'
    });

    $(".multiTipos select").multiselect({
        multiple: true,
        checkAllText: 'marcar todos',
        uncheckAllText: 'desmarcar',
        noneSelectedText: 'Tipos',
        selectedText: '# Tipos de Imóveis'
    });

    //Remove o item selecione de itens do select (DropDownList)
    $('select').each(function () {
        var obj = $(this).next().next().first().find('input').next().first();
        if (obj.text() == 'Selecione' || obj.text() == 'UF' || obj.text() == 'Dia' || obj.text() == 'Mes' || obj.text() == 'Mês'
    || obj.text() == 'Ano' || obj.text() == 'Gar.' || obj.text() == 'Dorm.' || obj.text() == 'Tipo') {
            $(this).next().next().find('.ui-multiselect-checkboxes').find('li').first().css('display', 'none');
        }
    })

    //Custom Multiselect jQuery para APL
    if ($.browser.mozilla || $.browser.msie) {
        $(".ui-multiselect").click(function () {
            var isMultiTipos = $(this).parent().hasClass("multiTipos");
            a($(this), isMultiTipos);
        });
    } else {
        $(".ui-multiselect span").click(function () {
            var isMultiTipos = $(this).parent().parent().hasClass("multiTipos");
            a($(this).parent(), isMultiTipos);
        });
    }

    function a(select, isMultiTipos) {
        var selectItems = select.next(".ui-multiselect-menu");
        
        //Define a largura do select (Se a lista for menor que o button ela recebe o tamanho dela no minimo)
//        if (select.width() <= selectItems.width()) {
          //  selectItems.find("li").width(select.width() - 25);
//        }
        //Dimenciona o box de itens do Combo se for diferente do combo Multitipos
        if (!isMultiTipos) {
            var w = selectItems.prev(".ui-multiselect").width() + 15;
            selectItems.width(w);
            selectItems.find(".ui-multiselect-checkboxes").width(w);
        }

        //Colocar Scroll somente se a altura for maior definida no layout
        selectItems.find(".ui-multiselect-checkboxes").each(function () {
            if ($(this).height() > 150) {
                $(this).parent().addClass("selectScroll");
            }
        })
    }


    //Adiciona o checked no option referente ao item selecionado pelo usuario
    //OBS: isso deve ser feito por que está sendo usado plugin javascript pra estilizar os combos.
    $(".ui-multiselect-checkboxes li").click(function () {
        var select = $(this).parent().parent().parent().find("select");
        var classMulti = $(this).parent().parent().parent();

        if (classMulti.hasClass("multi") || classMulti.hasClass("multiTipos")) { //Multi select
            var valor = $(this).find("input").val();
            var isChecked = $(this).find("input").attr("checked");

            $(select).find("option").each(function () {
                if ($(this).val() == valor) {
                    if (isChecked == "checked") {
                        $(this).attr("checked", "checked");
                    }
                    else
                        $(this).removeAttr("checked");
                }
            })
        }
        else { //Select simples
            $(this).parent().find("input").removeAttr("selected");
            $(this).find("input").attr("selected", "selected");
            var checado = $(this).find("input").val();

            $(select).find("option").each(function () {
                if ($(this).val() == checado) {
                    select.find("option").removeAttr("selected");
                    $(this).attr("selected", "selected");
                    $(this).change();
                }
            })
        }
    })
}
