/* @reference: http://michael.futreal.com/jquery/vjustify */
jQuery.fn.vjustify = function() { var a = 0; this.each(function() { if (this.offsetHeight > a) { a = this.offsetHeight } }); this.each(function() { $(this).height(a + "px"); if (this.offsetHeight > a) { $(this).height((a - (this.offsetHeight - a)) + "px") } }) };

/* jQuery rounded corner */
eval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('(q($){$.18.P=q(o){8 Q=$.C.H&&/1R 6.0/.y(1S.1T);q S(19,p){7 x($.r(19,p))||0};q I(s){8 s=x(s).1U(16);7(s.1V<2)?\'0\'+s:s};q 1a(z){U(;z&&z.1W.1b()!=\'1X\';z=z.J){8 v=$.r(z,\'1c\');k(v.1Y(\'D\')>=0){k($.C.1Z&&v==\'20(0, 0, 0, 0)\')21;8 D=v.E(/\\d+/g);7\'#\'+I(D[0])+I(D[1])+I(D[2])}k(v&&v!=\'1d\')7 v}7\'#22\'};q 1e(i){23(1f){a\'c\':7 5.c(4*(1-5.F(5.V(i/4))));a\'1g\':7 5.c(4*(1+5.F(5.V(i/4))));a\'1h\':7 5.c(4*(1-5.F(5.24(i/4))));a\'1i\':7 5.c(4*(5.F(5.V((4-i-1)/4))));a\'1j\':7 5.c(4*(5.1k(i,4/i)));a\'1l\':7 5.c(4*(5.1k(4,(4-i-1))));a\'1m\':7 5.c(4*(5.25(i)));a\'1n\':7 5.c(4*(5.F(i)));a\'1o\':7 5.c(4*(5.26(i)));a\'1p\':7 5.c(4*(5.27(i)));a\'1q\':7 5.c(4*(5.28((4-i-1),4)));a\'1r\':7(i&1)?(i+1):4;a\'1s\':7(i&2)?(i+1):4;a\'1t\':7(i&3)?(i+1):4;a\'1u\':7(i%2)*4;a\'1v\':7 4;a\'1w\':7 i+1}};o=(o||"").1b();8 W=/W/.y(o);8 X=((o.E(/X:(#[0-1x-f]+)/)||[])[1]);8 Y=((o.E(/Y:(#[0-1x-f]+)/)||[])[1]);8 4=x((o.E(/(\\d+)l/)||[])[1])||10;8 1y=/c|1w|1v|1i|1g|1h|1j|1l|1m|1n|1u|1o|1q|1p|1t|1s|1r/;8 1f=((o.E(1y)||[\'c\'])[0]);8 Z={T:0,B:1};8 h={K:/11|29/.y(o),M:/11|2a/.y(o),N:/12|2b/.y(o),O:/12|2c/.y(o)};k(!h.K&&!h.M&&!h.N&&!h.O)h={K:1,M:1,N:1,O:1};8 t=1z.1A(\'1B\');t.m.2d=\'2e\';t.m.1C=\'2f\';t.m.1c=Y||\'1d\';t.m.1D=\'13\';7 9.2g(q(2h){8 n={T:x($.r(9,\'2i\'))||0,R:x($.r(9,\'2j\'))||0,B:x($.r(9,\'2k\'))||0,L:x($.r(9,\'2l\'))||0};k($.C.H)9.m.2m=1;k(!W)9.m.2n=\'G\';t.m.2o=X||1a(9.J);8 1E=$.2p(9,\'1C\');U(8 j 2q Z){8 u=Z[j];k((u&&(h.N||h.O))||(!u&&(h.K||h.M))){t.m.1D=\'G \'+(h[j+\'R\']?\'13\':\'G\')+\' G \'+(h[j+\'L\']?\'13\':\'G\');8 d=1z.1A(\'1B\');$(d).2r(\'1F-P\');8 b=d.m;u?9.1G(d):9.1H(d,9.1I);k(u&&1E!=\'2s\'){k($.r(9,\'A\')==\'1J\')9.m.A=\'1K\';b.A=\'1L\';b.12=b.1M=b.1N=b.14=\'0\';k($.C.H)b.1O(\'4\',\'9.J.1P\');15 b.4=\'1Q%\'}15 k(!u&&$.C.H){k($.r(9,\'A\')==\'1J\')9.m.A=\'1K\';b.A=\'1L\';b.11=b.1M=b.2t=b.1N=b.14=\'0\';8 17=0;k(Q||!$.2u)17=S(9,\'2v\')+S(9,\'2w\');Q?b.1O(\'4\',\'9.J.1P - \'+17+\'+ "l"\'):b.4=\'1Q%\'}15{b.14=!u?\'-\'+n.T+\'l -\'+n.R+\'l \'+(n.T-4)+\'l -\'+n.L+\'l\':(n.B-4)+\'l -\'+n.R+\'l -\'+n.B+\'l -\'+n.L+\'l\'}U(8 i=0;i<4;i++){8 w=5.2x(0,1e(i));8 e=t.2y(2z);e.m.2A=\'0 \'+(h[j+\'R\']?w:0)+\'l 0 \'+(h[j+\'L\']?w:0)+\'l\';u?d.1G(e):d.1H(e,d.1I)}}}})};$.18.2B=q(o){7 $(\'.1F-P\',9).2C()}})(2D);', 62, 164, '||||width|Math||return|var|this|case|ds|round|||||opts|||if|px|style|pad|||function|css||strip|bot|||parseInt|test|node|position||browser|rgb|match|cos|none|msie|hex2|parentNode|TL||TR|BL|BR|corner|ie6||sz||for|asin|keep|cc|sc|edges||top|bottom|solid|margin|else||bw|fn|el|gpc|toLowerCase|backgroundColor|transparent|getW|fx|cool|sharp|bite|slide|atan2|jut|curl|tear|wicked|long|sculpt|dog|dog2|dog3|fray|notch|bevel|9a|re|document|createElement|div|height|borderStyle|cssHeight|jquery|appendChild|insertBefore|firstChild|static|relative|absolute|left|padding|setExpression|offsetWidth|100|MSIE|navigator|userAgent|toString|length|nodeName|html|indexOf|safari|rgba|continue|ffffff|switch|acos|atan|tan|sqrt|log|tl|tr|bl|br|overflow|hidden|1px|each|index|paddingTop|paddingRight|paddingBottom|paddingLeft|zoom|border|borderColor|curCSS|in|addClass|auto|right|boxModel|borderLeftWidth|borderRightWidth|max|cloneNode|false|borderWidth|uncorner|remove|jQuery'.split('|'), 0, {}));

(function($) {
    $.fn.debug = function() {
        return this.each(function() {
            window.console ? console.log(this) : null;
        });
    }
})(jQuery);

/*  plugin para destacar elementos
padr&atilde;o: firstEvent:focus | activeClass:onFocus | lastEvent:blur
uso:
$("input:text, input:password, textarea").highlight();
$("ul li").highlight({ firstEvent:'mouseover', activeClass:'hover', lastEvent:'mouseout' });
*/
(function($) {
    $.fn.highlight = function(settings) {
        settings = jQuery.extend({
            activeClass: 'onFocus',
            firstEvent: 'focus',
            lastEvent: 'blur'
        }, settings);

        $(this)
			.bind(settings.firstEvent, function() {
			    $(this).addClass(settings.activeClass)
			})
			.bind(settings.lastEvent, function() {
			    $(this).removeClass(settings.activeClass)
			})
    }
})(jQuery);

/* Plugin de abas para a P&aacute;gina de Cadastro de Usu&aacute;rio */
(function($) {
    $.fn.cadastroAbas = function() {
        //destaca o indicador da aba 1
        //$(this).eq(0).addClass("selected");

        //mostra a aba 1 e esconde as demais
        alvo = $(this).eq(0).val();

        //busco o alvo pela classe e escondo as tabelas semelhantes
        //$("."+alvo).show().siblings("table").hide();

        return this.each(function() {
            $(this).click(function() {
                //o valor do radio button vai identificar o alvo
                alvo = $(this).eq(0).val();

                //busco o alvo pela classe e escondo as tabelas semelhantes
                $("." + alvo).show().siblings("table").hide();
            });
        });
    }
})(jQuery);



/* Plugin para habilitar o tooltip na vitrine */
(function($) {
    $.fn.filterTip = function() {
        var startTip;
        var isTipOn = false;

        function alignTip(obj, left, top) {
            $(obj)
				.css("left", left + "px")
				.css("top", top + "px")
        }

        return this.each(function(i, e) {
            var self = $(this);
            var tipObj = $("<div id=\"filterTip\">Fa&ccedil;a sua sele&ccedil;&atilde;o, e clique no bot&atilde;o \"buscar\" abaixo.</div>").wrapInner("<em><b></b></em>").append("<span></span>");

            $(".corpoLimitador").prepend(tipObj);

            self
				.bind("mouseenter", function() {
				    $(".ofertas li").addClass("forceZIndex-1");
				    $.browser.msie ?
						$("#filterTip:hidden").show() :
						$("#filterTip:hidden").fadeIn(300);
				})
				.bind("mouseleave", function() {
				    $.browser.msie ?
						$("#filterTip:visible").hide() :
						$("#filterTip:visible").fadeOut(300);
				    $(".ofertas li").removeClass("forceZIndex-1");
				})
				.mousemove(function(e) {
				    x = 0; //posi&ccedil;&atilde;o no eixo X
				    if ($.browser.msie && $.browser.version.indexOf("6") == 0) //IE6?
				        x += 0;
				    else if ($.browser.safari)
				        x += 0;
				    else
				        x += 0;
				    x = 205;

				    //posi&ccedil;&atilde;o no eixo Y em rela&ccedil;&atilde;o a todo o body
				    y = e.pageY - ($(".topo").height() + $(".menuPrincipal").height() + 15);

				    alignTip(tipObj, x, y);
				});

        });
    }
})(jQuery);


/* Plugin para habilitar o submenu da navega&ccedil;ao de cada departamento */
(function($) {
    initMenu = function() {
    
        var isOn = false;

        showSubmenu = function(link) {
            
            var subMenuObj = $(link).siblings(".subnav");
            $(subMenuObj).fadeIn("fast");

            //fix to make it be above near regions
            if ($.browser.msie) {
                $(".colunaCentro, .colunaEsquerda .janelaPreto, .janelaTvflash, .destaques li, .abasHeader li a, .janelaBusca, .ofertas, .abasProduto, .abasHeader li, #ListaProdutos li, .filtragem, .corpoLimitador, .infoProduto").addClass("forceZIndex-1");
            }
        }

        hideOthers = function(link) {
            $(link).parent().siblings().children(".subnav").hide();
        }

        hideMenu = function() {
            $(".subnav").fadeOut("fast");

            //remove fix
            if ($.browser.msie) { $(".colunaCentro, .colunaEsquerda .janelaPreto, .janelaTvflash, .destaques li, .abasHeader li a, .janelaBusca, .ofertas, .abasProduto, .abasHeader li, #ListaProdutos li, .filtragem, .corpoLimitador, .infoProduto").removeClass("forceZIndex-1"); }
        }

        $(".navegacaoCategoria .itens > li > a").mouseover(function() {
            hideOthers(this);
            showSubmenu(this);
        });
        
        $(".subnav")
            .bind("mouseenter", function(){
                isOn = true;
            })
            .bind("mouseleave", function(){
                isOn = false;
            });
        
        $(".navegacaoCategoria").bind("mouseleave", function(){
            setTimeout(function(){
                if(!isOn) hideMenu();
            },50);
        });

    }
})(jQuery);

/* Plugin para habilitar o submenu da navega&ccedil;ao de cada departamento */
(function($) {
    $.fn.simpleTabs = function(settings) {
        settings = $.extend({
            triggerItem: ".tabsHeader a",
            activeClass: "active",
            contentItem: ".tabsContent"
        }, settings);

        return this.each(function() {

            //coloca os detalhes de curva
            $(settings.triggerItem, this).prepend("<b class=\"tl\"></b><b class=\"tr\"></b>");

            //mostra somente o conteudo da primeira aba ou a definida na url
            var target = window.location.href.split("#")[1];

            if (target != undefined && $("." + target).html() != null && target != "") {
                //destaca a aba clicada
                $(settings.triggerItem + "[href=#" + target + "]", this).parent().addClass(settings.activeClass);

                $("." + target).show();
            } else {
                //esconde as outras abas
                $(settings.triggerItem, this).eq(0).parent().addClass(settings.activeClass);
                //A&ccedil;&atilde;O PARA DISPARAR O 1O
                $(settings.contentItem, this).children().eq(0).show();
            }

            //acrescenta os detalhes de curva nos conteudos
            $(settings.contentItem).children().append("<b class=\"tr\"></b><b class=\"bl\"></b><b class=\"br\"></b>")

            $(settings.triggerItem, this).click(function() {

                //se aba j&aacute; est&aacute; aberta encerra a tarefa
                if ($(this).parent().is(".active")) return;

                //pega o atributo href que indicar&aacute; a aba que deve-se abrir
                var targetStr = $(this).attr("href").replace("#", ".");

                //abre o conteúdo da aba indicada e esconde o conteudo das outras abas
                $(targetStr).show().siblings().hide();

                //indica a aba como sendo a ativa
                $(this).parent().addClass("active").siblings().removeClass("active");

            });
        });

    }
})(jQuery);



(function($) {
    $.fn.swapCaixaOpiniao = function() {
        return this.each(function() {
            $(this).click(function() {
                //opinionForm = $(this).siblings("fieldset");
                opinionForm = $(".opinionForm");
                if (opinionForm.is(":visible"))
                    opinionForm.fadeOut()
                else
                    opinionForm.fadeIn()
            });
        });
    }
})(jQuery);

(function($) {
    $.fn.fnacAccordion = function() {
        return this.each(function() {
            headers = $("h3", this);
            headers.each(function() {
                $(this).click(function() {
                    if ($(this).next().is(":hidden")) {
                        contents = $(this).parent().parent().find("ol");
                        contents.filter(":visible").slideUp("fast");
                        $(this).next().slideDown("fast");
                    }
                });
            });
        });
    }
})(jQuery);

$(function() { //MAIN()

    /* destaques */
    $("ul.destaques dd.info").each(function() {
        if ($(this).children().length == 1)
            $(this).addClass("modo2");
    });

    var CONSTANTS = new Object;

    CONSTANTS.IS_IE6 = $.browser.msie && $.browser.version.indexOf("6") == 0;
    CONSTANTS.IS_IE7 = $.browser.msie && $.browser.version.indexOf("7") == 0;
    CONSTANTS.IS_FF2 = $.browser.mozilla && $.browser.version.indexOf("1.8") == 0;
    CONSTANTS.IS_FF3 = $.browser.mozilla && $.browser.version.indexOf("1.9") == 0;
    CONSTANTS.IS_OPERA = $.browser.opera;
    CONSTANTS.IS_SAFARI = $.browser.safari;

    /* #region LAYOUT FIXES */
    if (CONSTANTS.IS_SAFARI) {
        $(".colunaCentro .valorBusca").addClass("safariValorBusca");
        $(".accordionMultimidia, .accordionSelecao").addClass("safariAccordion");
        $(".colunaEsquerda .vejaMais").addClass("safariVejaMaisEsquerdo");
        $(".colunaCentro .destaques dl").addClass("safariDestaque");
        $(".colunaCentro .ofertas dl").addClass("safariOferta");
        $(".colunaDireita .vejaMais").addClass("safariVejaMaisDireito");
        $(".abasProduto").addClass("safariAbasProduto");
        $(".formularioEndereco .campoEndereco").after("<br />");
    }

    if (CONSTANTS.IS_IE6)
        $(".infoProduto .garantia").css("marginLeft", "0px");

    //Exibe mensagem de erro na busca
    if (top.location.href.indexOf('busca=false') > -1) {
        $('.valorBusca').css('border-color', 'red');
        alert('A pesquisa deve ter no minimo 2 caracteres.');

        return false;
    }

    if (top.location.href.indexOf('busca=erro') > -1) {
        $('.valorBusca').css('border-color', 'red');
        alert('Nao sao aceitos caracteres especiais na pesquisa.');

        return false;
    }

    //aplica o detalhe de curva nas caixas de conteúdo principal
    $(".caixa").append("<b class=\"bottomLeft\"></b><b class=\"bottomRight\"></b>");

    //habilitar abas na tela de cadastro
    $(".cadastroAba").cadastroAbas();

    /* Rounded Corners */
    $(".indisponivel").corner();
    $(".erroServico").corner();

    /* #end region LAYOUT FIXES */
    
    /* #begin BINDS */
    /* inicializa efeito sanfona: Multimidia */
    $("ul.accordionSelecao, ul.accordionMultimidia").fnacAccordion();

    /* destaca campos de entrada de dados (do tipo TEXT) */
    $(".input:not(.qtd), .meuCartaoForm :text, .checkoutForm :text:not(.qtd), .checkoutForm :password, .checkoutForm textarea, .loginForm :text, .loginForm :password").highlight();
    $(".form :text, .form textarea, .form select, .form :password").highlight();

    /* habilita toolTip */
    $(".navegacaoCategoria .filtroLista").filterTip();

    /* habilita submenus na navega&ccedil;&atilde;o das categorias */
    initMenu();

    /* mudar modo de visualiza&ccedil;&atilde;o dos resultados de um filtro */
    $("#changeViewMode").change(function() {
        op = $(this).val();
        switch (op) {
            case "detalhes":
                {
                    $(".filtragem").addClass("filtroModo1").removeClass("filtroModo2").removeClass("filtroModo3");
                } break;
            case "icones":
                {
                    $(".filtragem").addClass("filtroModo3").removeClass("filtroModo1").removeClass("filtroModo2");
                } break;
            case "lista":
                {
                    $(".filtragem").addClass("filtroModo2").removeClass("filtroModo1").removeClass("filtroModo3");
                } break;
        }
    });

    //abas em Detalhes de Produto
    $(".abasProduto").simpleTabs({
        triggerItem: ".abasHeader a",
        contentItem: ".abasConteudo"
    });

    //formul&aacute;rio de opni&atilde;o de produto
    $(".swapCaixaOpiniao").swapCaixaOpiniao();

    /* Inline Label */
    if ($("body").is("#home")) {
        $("#caixaBusca_busca")
            .focus(function() {
                if (this.value == $.trim("Procurar")) this.value = "";
            })
            .blur(function() {
                if ($.trim(this.value) == "") this.value = "Procurar";
            });
    } else $("#caixaBusca_busca").val("");

    $(".lojas a:last").addClass("last");

    /* #end BINDS */

});
