var ROOT_SITE = '/site/content/sambaclub';

$(function(){

    var activeUrl = document.location + '';
    // initTabs();
    topSlider();
    initFilter();
    initToggle();
    initLogin();
    initCart();
    initCadastro();
    Comentario.init();
    MinhaConta.init();
    
    if (activeUrl.indexOf('suasamba')) {
        Suasamba.init();
    }

    jQuery('a[rel=galeria]').fancybox({
        'transitionIn'		: 'none',
        'transitionOut'		: 'none',
        'titlePosition' 	: 'over',
        'overlayOpacity'        : 0.75,
        'overlayColor' : '#000',
        'titleFormat'       : function(title, currentArray, currentIndex, currentOpts) {
            return '';
        }
    });

    jQuery(".popup-fancy").fancybox({
        'width'             : 500,
        'height'            : "95%",
        'autoScale'         : false,
        'transitionIn'      : 'none',
        'transitionOut'     : 'none',
        'overlayOpacity'    : 0.75,
        'overlayColor'      : '#000',
        'type'              : 'iframe'
    });

    jQuery(".popup-fancy2").fancybox({
        'width'             : 400,
        'height'            : 190,
        'autoScale'         : false,
        'transitionIn'      : 'none',
        'transitionOut'     : 'none',
        'scrolling'         : 'no',
        'overlayOpacity'    : 0.75,
        'overlayColor'      : '#000',
        'type'              : 'iframe'
    });
    
    jQuery('.autoselect').click(function () {
        jQuery(this).select();
    })


    jQuery('div.carousel').vvGalleryScroll({
        btnPrev: 'a.prev',
        btnNext: 'a.next',
        holderList: 'div.carousel-holder',
        scrollElParent: 'ul',
        scrollEl: 'li',
        duration : 700,
        step: true,
        circleSlide: false,
        disableClass: 'first'
    });
    jQuery('div.f-gall').fadeGallery({
        listSelector: 'div.f-hold > ul > li',
        navHolder:		'div.switcher',
        navCreate:		true,
        thumbsSelector: 'li',
        prev:			false,
        next:			false,
        delay:			900,
        swichTime:9000
    });
    selectBoxes();

    $('a').each(function() {
        if ($(this).attr('rel') == 'external') {
            $(this).attr('target', '_blank');
        }
    });
    
    Accordion.init('accordion');

    $("#news-email").keyup(function() {
        $("#news-email").val($("#news-email").val().replace(/[^0-9A-Za-z@_.+-]/g, '').toLowerCase());
    });

    $("#email").keyup(function() {
        $("#email").val($("#email").val().replace(/[^0-9A-Za-z@_.+-]/g, '').toLowerCase());
    });

    $("#repetir-email").keyup(function() {
        $("#repetir-email").val($("#repetir-email").val().replace(/[^0-9A-Za-z@_.+-]/g, '').toLowerCase());
    });


    $("#form-news").submit(function() {
        var url = '/ajax.php?uexec=newsletter'
        if($("#news-email").val().indexOf('@') == -1 || $("#news-email").val().indexOf('.') == -1) {
            //$("#news-ini").addClass('none');
            $("#news-fim").removeClass('none');
            $("#news-msg").removeClass('text-ok').addClass('text-erro').html('E-mail inválido!');
            $("#news-email").select();
        }
        else {
            $.ajax({
                url: url,
                data: 'email='+$('#news-email').val(),
                type: "POST",
                success: function(msg){
                    $("#news-fim").removeClass('none');
                    $("#news-email").val('');

                    // Sucesso
                    if (msg == 1849) {
                        $("#news-msg").removeClass('text-erro').addClass('text-ok').html('E-mail cadastrado com sucesso!');
                    }
                    else {
                        $("#news-msg").removeClass('text-ok').addClass('text-erro').html('Ocorreu um erro ao cadastrar e-mail.');
                    }
                },
                error: function(){
                    Ajax.Log.add_error('Ocorreu um erro ao cadastrar o email <'+$('#news-email').val()+'> no ');
                }
            })
        }

        return false;
    });

    $("#news-voltar").click(function(){
        $("#news-ini").removeClass('none');
        $("#news-fim").addClass('none');
        $("#news-msg").html('');
    });

    $("#form-recsenha").submit(function() {
        if($("#senha").val() !== $("#rsenha").val()) {
            $("#erro-senha").html('Os valores de Senha e Repetir senha devem ser idênticos!');
            return false;
        }
        return true;
    });

});

var Accordion = {
    active : -1,
    active_id : -1,
	
    init: function (id) {
        Accordion.active = -1;
		
        var accordion = $('#'+id);
		
        accordion.find('h3 a').each(function(index) {
            $(this).click(function() {
                Accordion.active_id = $(this).attr('id').replace('topic-', '');
                Accordion.toggle(index);
            });
        });
		
        accordion.find('div a').each(function(index) {
            if ($(this).attr('class') == 'closebuttom')
                $(this).click(function() {
                    Accordion.toggle(index);
                });
        });
	
        Accordion.closeAll();
    },
	
    closeAll : function () {
        $('#accordion').find('div').each(function() {
            $(this).hide();
        });
        $('#accordion').find('h3').each(function() {
            $(this).attr('class', '');
        });
    },
	
    toggle : function (index) {
        Accordion.closeAll();

        if (index != Accordion.active)
            Accordion.open(index);
        else
            Accordion.active = -1;
    },
	
    open : function (index) {
        $('#accordion div').get(index).style.display = 'block';
        $('#accordion h3').get(index).className = 'accordion-selected';
        Accordion.updateCount(Accordion.active_id);
        Accordion.active = index;
    },

    updateCount : function (id) {
        var url = '/ajax.php?uexec=ajuda'
        $.ajax({
            url: url,
            data: 'a=incrementCount&id='+id,
            type: "POST",
            success: function(msg){
            },
            error: function(){
            //alert('AJAX não encontrado!');
            }
        })
    }
}

function initToggle() {
    // shopping cart drop
    var _shopActiveClass = 'shop-active';
    $('div.shop-box').each(function(){
        var _holder = $(this);
        var _opener = _holder.find('.arrow');
        var _drop = _holder.find('.drop1').removeClass('none');
        _opener.click(function(){
            if(_holder.hasClass(_shopActiveClass)) {
                _holder.removeClass(_shopActiveClass);
                _drop.hide();
            }else {
                _holder.addClass(_shopActiveClass);
                _drop.show();
            }
            return false;
        });
        if(_holder.hasClass(_shopActiveClass)) _drop.show(); else _drop.hide();
    });

    $('div.shop-box-2').each(function(){
        var _holder = $(this);
        var _opener = _holder.find('.arrow');
        var _drop = _holder.find('.drop1').removeClass('none');
        _opener.click(function(){
            if(_holder.hasClass(_shopActiveClass)) {
                _holder.removeClass(_shopActiveClass);
                _drop.hide();
            } else {
                _holder.addClass(_shopActiveClass);
                _drop.show();
            }
            return false;
        });
        if(_holder.hasClass(_shopActiveClass)) _drop.show(); else _drop.hide();
    });

    // search drop
    $('form.search').each(function(){
        var _holder = $(this);
        var _opener = _holder.find('input.submit');
        _opener.click(function(){
            if($("#busca-estampa").val() == '' || $("#busca-estampa").val() == 'Buscar estampas')
                return false;

            return true;
        });
    });
    
}

function initFilter() {
    $('div.area-fixed').each(function(){
        var _box = $(this);
        var _window = $(window);
        var _ie6 = ($.browser.msie && $.browser.version < 7)
        var _originalOffset = -1;
        var _originalTop = _box.css('top');

        // offset calculator
        var heighter = _box.parent().find('.slide-box').bind('heightchange',function(){
            if(_box.offset().top > 0) _originalOffset = _box.offset().top;
        });
        setInterval(function(){
            if(_originalOffset < 0) _originalOffset = _box.offset().top;
        },100)

        // positioning
        function fixPosition() {
            if(_originalOffset > 0) {
                if(_window.scrollTop() > _originalOffset) {
                    if(_ie6) {
                        _box.css({
                            position:'absolute',
                            top:_window.scrollTop()-_originalOffset+heighter.outerHeight(true)
                        });
                    }
                    else {
                        _box.css({
                            position:'fixed',
                            top:0
                        });
                    }
                } else {
                    _box.css({
                        position:'relative',
                        top:0
                    });
                }
            }
        }

        setInterval(fixPosition, 100);
        _window.scroll(fixPosition)
    });

    $("#busca-estampa").attr('autocomplete', 'off');


    $("#busca-estampa").blur(function() {
        if($(this).val() == '') {
            $("#resultado-busca").addClass('none').hide().html('');
        }
    });
    
    $("#busca-estampa").keyup(function() {
        $.ajax({
            url: '/ajax.php?uexec=busca',
            data: 'reques=&palavra_chave='+$("#busca-estampa").val(),
            type: "POST",
            success: function(msg){
                //msg is the answer of request;
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case 0 :
                        $("#resultado-busca").addClass('none').hide().html('');
                        break;
                    case 1 :
                        var res = '<ul>';
                        if(listagemProdutos !== undefined) {
                            var max = (content.resultado.length > 4)?4:content.resultado.length;
                            if(max < 1 || $("#busca-estampa").val() == '') {
                                $("#resultado-busca").addClass('none').hide().html('');
                            } else {
                                for(i=0; i<max; i++) {
                                    for(x=0; x<listagemProdutos.length;x++) {
                                        if(content.resultado[i] == listagemProdutos[x].id) {
                                            res += '<li><a href="/vitrine/camiseta/' + listagemProdutos[x].slug + '.html"><img class="alignleft" src="/img/produto/camiseta-' + listagemProdutos[x].slug + '-ilustracao-sacola.jpg" width="46" height="48" alt="Camiseta ' + listagemProdutos[x].nome + '" /></a><a class="name3" href="/vitrine/camiseta/' + listagemProdutos[x].slug + '.html">' + listagemProdutos[x].nome.toUpperCase() + '</a></li>';
                                        }
                                    }
                                }
                                res += '<li><strong><a href="javascript:$(\'#form-busca-camiseta\').submit();">' + content.resultado.length + ' camisetas encontradas</a></strong><span>Mostrando os 4 principais resultados</span></li>';
                            }
                        }

                        res += '</ul>';
                        $("#resultado-busca").removeClass('none').show();
                        $("#resultado-busca").html(res);
                        $("#res-camisetas").val(content.resultado.join(','));
                        break;
                }

            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        })


    });


    var tm = setTimeout('$("#resultado-busca").addClass("none").hide()', 1);

    $("#resultado-busca").mouseover(function() {
        tm = clearTimeout(tm);
    });

    $("#resultado-busca").mouseout(function() {
        tm = setTimeout('$("#resultado-busca").addClass("none").hide()', 3000);
    });






    /*******************************************************************************************/
    // Inicio da busca por posts em Samba-ai

    $("#busca-posts").attr('autocomplete', 'off');


    $("#busca-posts").blur(function() {
        if($(this).val() == '') {
            $("#busca-posts").addClass('none').hide().html('');
        }
    });

    $("#busca-posts").keyup(function() {
        $.ajax({
            url: '/busca-posts.php',
            data: 'reques=&palavra_chave='+$("#busca-posts").val(),
            type: "POST",
            success: function(msg){
                //msg is the answer of request;
                var content = eval('(' + msg + ')');
                //alert(content.palavra);
                switch(content.status) {
                    case 0 :
                        $("#resultado-busca").addClass('none').hide().html('');
                        break;
                    case 1 :
                        var res = '<ul>';
            
                        var max = (content.resultado.length > 4)?4:content.resultado.length;
                        if(max < 1 || $("#busca-posts").val() == '') {
                            $("#resultado-busca").addClass('none').hide().html('');
                        } else {
                            for(var i=0; i<max; i++) {
                                alert(content.resultado[i].nome);
                                res += '<li><a href="/vitrine/camiseta/' + content.resultado[i].nome + '.html">'+ content.resultado[i].nome +'</a></li>';
                            }
                            res += '<li><strong><a href="javascript:$(\'#form-busca-posts\').submit();">' + content.resultado.length + ' camisetas encontradas</a></strong><span>Mostrando os 4 principais resultados</span></li>';
                        }

                        res += '</ul>';
                        $("#resultado-busca").removeClass('none').show();
                        $("#resultado-busca").html(res);
                        $("#res-posts").val(content.resultado.join(','));
                        break;
                }

            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });


    });


/*******************************************************************************************/
// Fim da busca por posts em Samba-ai

}

//******************************************************************* select boxes in header


//*******************************************************************boxTamanhos
function initCart() {
    var handlerURL = '/ajax.php?uexec=vitrineReedicao';
    var cartURL = '/ajax.php?uexec=cart';

    // links para a vitrine, cesta de compras e reedicao
    $('.pre-cart').each(function () {
        $(this).find('a').each(function () {
            $(this).click(function (){
                preCart($(this).attr('rel'));
            });
        });

        var _eform = $(".email-form2", this);

        $(".submit", _eform).click( function () {
            _submit();
        });

        $(".reedicao-enter", _eform).keyup( function (event) {
            if(event.keyCode == '13'){
                _submit();
            }
        });


    });

    function _submit () {
        var _t = $("#v-tamanho").html();
        var _m = $("#v-modelo").html();
        var _tip = $("#v-tipo").html();
        var _i = $("#v-id").html();
        var _e = $("#r-email").val();
        $.ajax({
            url: handlerURL,
            data: 'reques=&t='+_t+'&m='+_m+'&i='+_i+'&e='+_e+'&tipo='+_tip,
            type: "POST",
            success: function(msg){
                //msg is the answer of request;
                var content = eval('(' + msg + ')');
                switch(content.msgid) {
                    case 0 :
                        preCart('err', content);
                        break;
                    case 1 :
                        preCart('fim', content);
                        break;
                }

            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        })
    }


    function atualizaListaSacola() {
        var a_remover = new Array();
        $(".item-cart").each(function() {
            var _chave = $(this).attr('id');
            var _campo = $(this).find('input.quantidade');
            var _subtt = $(this).find('strong.subtotal');
            var _txter = $(this).find('strong.text-error');
            var _tdqtd = $(this).find('span.quant');
            var _delct = $(this).find('a.remover');

            var _preco = $(this).find('span.preco');
            var _multi = $(this).find('span.multi');
            var _equly = $(this).find('span.equally');
            var _zeroe = $(this).find('strong.zeroestoque');

            var _icart = $(this);
            var _quant = _campo.val();

            $.ajax({
                url: cartURL,
                data: 'reques=&a=upd&chave=' + _chave + '&quantitem=' + _quant,
                type: "POST",
                success: function(msg){
                    var content = eval('(' + msg + ')');
                    if(content.quantidade > 0) {
                        _campo.val(content.quantidade);
                        _subtt.html(content.subtotal);
                        _preco.attr('class', 'preco');
                        _multi.attr('class', 'multi');
                        _equly.attr('class', 'equally');
                        _zeroe.attr('class', 'none');
                        _tdqtd.attr('class', 'text quant');
                        _subtt.attr('class', 'subtotal');
                        if(content.overcart > 0) {
                            _txter.attr('class', 'text-error');
                            _tdqtd.attr('class', 'text quant error');
                        }
                        else {
                            _txter.attr('class', 'text-error none');
                            _tdqtd.attr('class', 'text quant');
                        }
                    }
                    else {
                        _preco.attr('class', 'preco none');
                        _multi.attr('class', 'multi none');
                        _equly.attr('class', 'equally none');
                        _tdqtd.attr('class', 'text quant none');
                        _subtt.attr('class', 'subtotal none');
                        _zeroe.attr('class', '');
                        a_remover[a_remover.length] = _chave;
                    }
                    refreshCart();
                    if(a_remover.length > 0) {
                        for(i=0; i<a_remover.length; i++) {
                            $.ajax({
                                url: cartURL,
                                data: 'reques=&a=del&chave=' + a_remover[i],
                                type: "POST",
                                success: function(msg){
                                },
                                error: function(){
                                    alert('AJAX não encontrado!');
                                }
                            });

                        }
                    }

                },
                error: function() {
                    alert('AJAX não encontrado!');
                }
            });


            _delct.click(function() {
                $.ajax({
                    url: cartURL,
                    data: 'reques=&a=del&chave=' + _chave,
                    type: "POST",
                    success: function(msg){
                        if(msg == 1) {
                            _icart.remove();
                            refreshCart();
                        }
                    },
                    error: function(){
                        alert('AJAX não encontrado!');
                    }
                });
            });
        });
    }
    atualizaListaSacola();
    $("#atualizar-sacola").click(function() {
        atualizaListaSacola();
    });

    $("#v-cep").keyup(function() {
        $("#v-cep").val($("#v-cep").val().replace(/[^0-9]/g, ''));
        if($(this).val().length > 5) {
            $("#radios-cart").removeClass('none');
            atualizaFretePeloCEP();
        } else {
            $("#radios-cart").addClass('none');
            $("#radios-cart").find('input:checked').removeAttr('checked');
            limpaFrete();
        }
        
    });

    $("#radios-cart").find('input').each(function() {
        var _frete = $(this).val();
        $(this).click(function() {
            addFrete($("#v-cep").val(), _frete);
        });
    });

    $("#d-cep").change(function() {
        var _frete = $(this).val();
        if(parseFloat(_frete) >= 1000000) {
            $.ajax({
                url: cartURL,
                data: 'reques=&a=addfrete&tp=' + _frete + '&cp=' + $("#v-cep").val(),
                type: "POST",
                success: function(msg) {
                    refreshCart();
                // nao retorna nada
                },
                error: function(){
                    alert('AJAX não encontrado!');
                }
            });
        }

    });

    $("#btn-finaliza").click(function() {
        window.location = 'https://www.sambaclub.com.br/cart/identificacao.html';
    });

    $("#continuar-cadastro").find('input.continuar-2').each(function () {
        $(this).click(function() {
            var email = $("#uemail").val();
            _email(email);
        });

    });

    $('#uemail').keyup(function(event) {
        if (event.keyCode == '13') {
            var email = $("#uemail").val();
            _email(email);
        }
    });

    function _email(email) {
        $.ajax({
            url: '/ajax.php?uexec=login',
            data: 'reques=&e=' + email,
            type: "POST",
            success: function(msg){
                $("#uemail").val("");
                var content = eval ('(' + msg + ')');
                switch(content.status) {
                    case '0' :
                        $("#erro-email").html('ERRO: E-mail inválido!');
                        break;
                    case '1' :
                        window.location = 'https://www.sambaclub.com.br/cart/dados-compra.html&email=' + email;
                        break;
                    case '2' :
                        $("#erro-email").html('ERRO: Este e-mail já está cadastrado!');
                        break;
                }

            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
        
    }

    $("#continuar-login").find('input.continuar-1').click(function() {
        var login = MD5($("#ulogin").val());
        var senha = MD5($("#usenha").val());
        _login(login,senha);
    });

    function _login(usuario, senha) {
        
        var _l = usuario;
        var _p = senha;
        $.ajax({
            url: '/ajax.php?uexec=login',
            data: 'reques=&l='+_l+'&p='+_p,
            type: "POST",
            success: function(msg){
                $("#ulogin").val("");
                $("#usenha").val("");
                if(msg == '0') {
                    $("#erro-login").html('ERRO: Login ou senha incorretos!');
                }
                else if (msg == '-1') {
                    $("#erro-login").html('ERRO: Usuário bloqueado.');
                }
                else {
                    window.location = 'https://www.sambaclub.com.br/cart/dados-compra.html';
                }
            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
    }

    $("#valida-cupom").click(function() {
        if($("#codcupom").val().replace(' ','') !== '') {
            $.ajax({
                url: '/ajax.php?uexec=cart',
                data: 'reques=&a=addcupom&cupom=' + $("#codcupom").val(),
                type: "POST",
                success: function(msg){
                    var content = eval('(' + msg + ')');

                    switch(content.situacao) {
                        case 0 :
                            $("#codcupom").val('');
                            $("#info-cupom").html(content.mensagem[0].descricao).addClass('error').removeClass('none');

                            $("#cupom-form").removeClass('none');
                            $("#cupom-desc").addClass('none');

                            break;
                        case 1 :
                            var detalhe = '';
                            for(i=0; i< content.mensagem.length; i++) {
                                detalhe += content.mensagem[i].descricao + '<br />';
                            }
                            
                            $("#info-cupom").html(detalhe);
                            $("#box-desconto").attr('class', 'item-area');
                            $("#valor-desconto").html(content.total);

                            $("#cupom-int-info").removeClass('none');
                            $("#cupom-int-form").addClass('none');
                            $("#cupom-info").html('<h3>' + $("#codcupom").val() + '</h3><a href="javascript:removeCupom();" id="remove-cupom">Remover</a>');

                            $("#cupom-form").addClass('none');
                            $("#cupom-desc").removeClass('none');

                            //$("#info-cupom-2").html(detalhe);
                            $("#cod-cupom").html(content.cupom);

                            if(content.gratis == 't') {
                                $("#gratis-box").attr('class', 'gratis-box');
                                $("#cartao-box").attr('class', 'cartao-box none');
                                $("#boleto-box").attr('class', 'boleto-box none');
                                $("#finaliza-gratis").show();
                                $("#finaliza-boleto").hide();
                                $("#finaliza-cartao").hide();
                                $("#finaliza-desabilitado").hide();
                                $("#finaliza-erro").hide();
                                $(".radio-list-alt").hide();
                            }

                            if(window.location.href.indexOf('sacola.html') > -1)
                                window.location = window.location.href;
                            else
                                atualizaBoxesFrete(content.cep, content.tipo);
                            
                            break;
                    }
                },
                error: function(){
                    alert('AJAX não encontrado!');
                }
            });
        }
    });

    $("#remove-cupom").click(function() {
        removeCupom();
    });

    function removeCupom() {
        $.ajax({
            url: '/ajax.php?uexec=cart',
            data: 'reques=&a=delcupom',
            type: "POST",
            success: function(msg){
                var content = eval('(' + msg + ')');
                $("#cupom-int-info").addClass('none');
                $("#cupom-int-form").removeClass('none');
                $("#codcupom").val('');
                $("#info-cupom").html('');
                $("#gratis-box").attr('class', 'gratis-box none');
                $(".radio-list-alt").each(function() {
                    $(this).show();
                });

                $("#cupom-form").removeClass('none');
                $("#cupom-desc").addClass('none');

                if(window.location.href.indexOf('sacola.html') > -1)
                    window.location = window.location.href;
                else
                    atualizaBoxesFrete(content.cep, content.tipo);
                
            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
    }

    function _resetCEPList() {
        $(".radio-cep").each(function() {
            var _radio = $(this);
            var _tipo = _radio.val();
            var _cep = $("#en_cep").val();

            if(_cep.replace(/[^0-9]/g, '') == '') {
                _cep = $("#cep").val();
            }
            _radio.change(function() {
                if(_cep.replace(/[^0-9]/g,'').length == 8 && _cep.replace(/[^0-9]/g,'') !== '00000000')
                    atualizaBoxesFrete(_cep, _tipo);
            })
        });
    }

    _resetCEPList();

    function atualizaBoxesFrete(cep, tipo) {
        if(cep.length == 8 && cep !== '00000000') {
            $.ajax({
                url: '/ajax.php?uexec=cadastro',
                data: 'reques=&a=boxes-frete&cep=' + cep + '&tipo=' + tipo,
                type: "POST",
                success: function(msg) {
                    if(msg.replace(/[^a-z0-9_{}-]/g, '').substring(0,1) == '{') {
                        var fretes = eval('(' + msg + ')');

                        $("#bf-preco-frete").html(fretes.valor_frete);
                        $("#bf-preco-desconto").html(fretes.valor_desconto);
                        $("#bf-total").html(fretes.valor_total);
                        $("#valor-boleto").html(fretes.valor_total);
                        $("#ljuros1").html(fretes.parcela1);
                        $("#ljuros2").html(fretes.parcela2);
                        $("#ljuros3").html(fretes.parcela3);
                        $("#ljuros4").html(fretes.parcela4);
                        $("#ljuros5").html(fretes.parcela5);
                        $("#ljuros6").html(fretes.parcela6);

                        // atualizando a lista de fretes
                        $("#lista-frete").find('li').remove();
                        var lis = '';
                        for(i=0; i < fretes.lista.length; i++) {
                            var check = '';
                            if(fretes.lista[i].check == 't') {
                                check = 'checked="checked"';
                            }
                            lis += '<li><input class="radio-cep" id="male1" type="radio" name="frete" ' + check + ' value="' + fretes.lista[i].tipo + '" />';
                            lis += '<div class="name-product">';
                            lis += '<label for="male1">' + fretes.lista[i].nome + '</label><p>' + fretes.lista[i].prazo + '</p>';
                            lis += '</div>';
                            lis += '<span>' + fretes.lista[i].preco + '</span>';
                            lis += '</li>';
                            if(fretes.lista[i].tipo == 4)
                                $("#selo-frete-gratis").removeClass('none');
                            else
                                $("#selo-frete-gratis").addClass('none');
                        }
                        $("#lista-frete").append(lis);

                        _resetCEPList();
                    
                    }

                },
                error: function(request, status){
                    Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                    alert('AJAX não encontrado!');
                }
            });

        }
    }

    function atualizarFreteSacola(val) {
        var cartURL = '/ajax.php?uexec=cart';
        var _frete = val;
        $.ajax({
            url: cartURL,
            data: 'reques=&a=addfrete&tp=' + _frete + '&cp=' + $("#v-cep").val(),
            type: "POST",
            success: function() {

            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });

    }

    function atualizaFretePeloCEP() {
        var cartURL = '/ajax.php?uexec=cart';
        if(parseFloat($("#v-cep").val()) >= 1000000) {
            $.ajax({
                url: cartURL,
                data: 'reques=&a=frete&cep=' + $("#v-cep").val(),
                type: "POST",
                success: function(msg) {
                    var content = eval('(' + msg + ')');
                    if($("#v-cep").val() !== '') {
                        for(i=0; i<content.fretes.length; i++) {
                            $("#fr" + content.fretes[i].tipo).html(content.fretes[i].descricao + '<br />');
                        }
                    }
                },
                error: function(){
                    alert('AJAX não encontrado!');
                }
            });
        }
    }

    function limpaFrete() {
        var cartURL = '/ajax.php?uexec=cart';
        $.ajax({
            url: cartURL,
            data: 'reques=&a=limpafrete',
            type: "POST",
            success: function() {
                $("#preco-frete").html('').addClass('none');
                $("#frete-eqly").addClass('none');
            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
    }

    $(".radio-frete").each(function() {
        var _radio = $(this);
        _radio.click(function() {
            $("#lista-frete").find('li').remove();
            if($("#v-cep").val().length == 8 && $("#v-cep").val() !== '00000000')
                addFrete($("#v-cep").val(), _radio.val());
        })
    })

    function addFrete(cep, tipo) {
        var cartURL = '/ajax.php?uexec=cart';
        $.ajax({
            url: cartURL,
            data: 'reques=&a=addfrete&tp=' + tipo + '&cp=' + cep,
            type: "POST",
            success: function() {
                refreshCart();
            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
    }

    function refreshCart() {
        $("#cart-top-list").each(function() {
            var cartURL = '/ajax.php?uexec=cart';
            $.ajax({
                url: cartURL,
                data: 'reques=&a=lst',
                type: "POST",
                success: function(msg){
                    var content = eval('(' + msg + ')');

                    if(content.numitens > 0) {
                        $("#cart-cheio").attr("class", "text");
                        $("#cart-vazio").attr("class", "none");
                        $("#shopbox").attr('class', 'shop-box-2');
                    } else {
                        $("#cart-cheio").attr("class", "text none");
                        $("#cart-vazio").attr("class", "");
                        $("#shopbox").attr('class', 'shop-box');
                        window.location = 'http://www.sambaclub.com.br/cart/sacola.html?vazia';
                    }

                    $("#cart-cheio-preco").text('R$ ' + content.total);
                    $("#cart-cheio-itens").text(content.itens);

                    var res = '<ul class="listing">';
                    for(i=0; i<content.lista.length; i++) {
                        res += '<li>';
                        res += '<strong>' + content.lista[i].nome + '</strong>';
                        res += '<div>';
                        res += '<em>R$ ' + content.lista[i].preco + '</em>';
                        res += '<span>' + content.lista[i].descricao + '</span>';
                        res += '</div>';
                        res += '</li>';
                    }
                    res += '<li>';
                    res += '<div>';
                    res += '<em>SUBTOTAL R$ ' + content.total + '</em>';
                    res += '<a href="/cart/sacola.html" class="link2"><img src="'+ROOT_SITE+'/images/btn_ver-meu-carrinho.gif" border="0" alt="Ver meu carrinho"/></a>';
                    res += '</div>';
                    res += '</li>';
                    res += '</ul>';

                    $("#cart-top-list").html(res);
                    $("#preco-total").html('R$ ' + content.total);
                    $("#preco-final").html('R$ ' + content.vfinal);
                    $("#box-frete").attr('class', 'item-area');
                    if(content.frete !== 'R$ 0,00') {
                        $("#preco-frete").html(content.frete).removeClass('none');
                        $("#frete-eqly").removeClass('none');
                    } else {
                        $("#preco-frete").html('').addClass('none');
                        $("#frete-eqly").addClass('none');
                    }

                    if(content.msgcupom.replace(' ','') !== '' ) {
                        $("#info-cupom").attr('class', '').html(content.msgcupom);
                        $("#box-desconto").attr('class', 'item-area');
                        $("#preco-desconto").html(' - R$ ' + content.cupom);
                    } else {
                        $("#info-cupom").attr('class', 'none');
                        $("#box-desconto").attr('class', 'item-area none');
                        $("#preco-desconto").html('');
                    }
                    if(content.msgregra.replace(' ','') !== '') {
                        $("#box-regra").attr('class', 'item-box');
                        $("#descricao-regra").html(content.msgregra);
                        $("#preco-regra").html(' - R$ ' + content.regra);
                    } else {
                        $("#box-regra").attr('class', 'item-box none');
                    }
                    atualizaFretePeloCEP();

                },
                error: function(){
                    alert('OE! AJAX não encontrado!');
                }
            });
        });

    }

    $(".cep").each(function() {
        $(this).blur(function(){
            verificaCEP($(this).val(), $(this).attr('id'));
        });
    });

    $(".cep-keyup").each(function() {
        $(this).keyup(function(){
            if ($(this).val().length >= 8) {
                verificaCEP($(this).val(), $(this).attr('id'));
            }
        });
    });

    $(".only-numbers").keyup(function() {
        $(this).val($(this).val().toLowerCase().replace(/[^0-9]/,''));
    });



    function verificaCEP(cep, local, quick) {
        $("#lista-frete").find('li').remove();
        if(cep.replace(/[^0-9]/g, '').length == 8) {
            $.ajax({
                url: '/ajax.php?uexec=cep',
                data: 'cep=' + cep,
                type: "POST",
                success: function(msg) {
                    var content = eval('(' + msg + ')');

                    switch(local) {
                        case 'cep' :
                            if (!quick) {
                                $("#logradouro").val(content.logradouro);
                                $("#bairro").val(content.bairro);
                                $("#cidade").val(content.cidade);
                                $("#uf").val(content.uf);
                            }
                            break;
                        case 'en_cep':
                            if (!quick) {
                                $("#en_logradouro").val(content.logradouro);
                                $("#en_bairro").val(content.bairro);
                                $("#en_cidade").val(content.cidade);
                                $("#en_uf").val(content.uf);
                            }
                            break;
                    }
                    atualizaBoxesFrete(content.codigo, content.tipo);
                },
                error: function(){
                    alert('AJAX não encontrado!');
                }
            });
        }
    }

    $("#cpf").keyup(function() {
        $(this).val($(this).val().toLowerCase().replace(/[^0-9]/,''));
    });

    $("#mesmo-endereco").click(function() {

        var numero = $("#numero").val();

        $("#en_nome").val($("#nome").val());
        $("#en_sobrenome").val($("#sobrenome").val());
        $("#en_cep").val($("#cep").val());
        verificaCEP($("#cep").val(), 'en_cep', true);
        $("#en_logradouro").val($("#logradouro").val());
        $("#en_numero").val(numero);
        $("#en_complemento").val($("#complemento").val());
        $("#en_bairro").val($("#bairro").val());
        $("#en_cidade").val($("#cidade").val());
        $("#en_estado").val($("#estado").val());

        if ($('.empty_numero[rel=1]').attr('checked')) {
            $('.empty_numero[rel=2]').attr('checked', 'true');
            $('.number[rel=2]').attr('readonly', 'readonly').addClass('focus').unbind('keyup');            
        }
    });



    function preCart(val, jsn) {
        var cartURL = '/ajax.php?uexec=cart';
        var _content = jsn;
        var _precrt = $("#box-pre-cart");
        var _cartcn = $("#box-cart-config");
        var _reedit = $("#box-reedicao-form");
        var _reedtc = $("#box-reedicao-fim");

        var _titulo = $("#box-reedicao-titulo");
        var _msgm = $("#box-reedicao-msg");
        var _link = $("#box-reedicao-link");

        var _attr = val.split('-');
        var _gen = '';

        if(jsn !== undefined) {
            _titulo.html(_content.titulo);
            _msgm.html(_content.msgdesc);
            _link.html(_content.msglink);
            _link.attr("rel", _content.rel);
        }


        var _tam = _attr[0].substring(1);

        // guardando informacoes do tamanho da camiseta
        switch(_attr[0].substring(0,1).toUpperCase()) {
            case 'M' :
                _gen = "M"
                break;
            case 'F' :
                _gen = "F"
                break;
            case 'B' :
                _gen = "B"
                break;
        }


        switch(val) {
            case 'cnf' :
                _precrt.attr("class","none");
                _cartcn.attr("class","drop4 none pre-cart");
                _reedit.attr("class","drop4 none pre-cart");
                _reedtc.attr("class","drop4 pre-cart");
                break;
            case 'ret' :
                _precrt.attr("class","");
                _cartcn.attr("class","drop4 none pre-cart");
                _reedit.attr("class","drop4 none pre-cart");
                _reedtc.attr("class","drop4 none pre-cart");
                break;
            case 'err' :
                _precrt.attr("class","none");
                _cartcn.attr("class","drop4 none pre-cart");
                _reedit.attr("class","drop4 none pre-cart");
                _reedtc.attr("class","drop4 pre-cart");
                _titulo.attr("class", "item2 text-error");
                break;
            case 'fim' :
                _precrt.attr("class","drop4 none pre-cart");
                _reedit.attr("class","drop4 none pre-cart");
                _reedtc.attr("class","drop4 pre-cart");
                _titulo.attr("class", "item2");
                break;
            default :
                switch(_attr[1]) {
                    case 'r' :
                        _precrt.attr("class","none");
                        _reedit.attr("class","drop4 pre-cart");
                        _reedtc.attr("class","drop4 none pre-cart");

                        $("#v-modelo").html(_gen.substring(0,1));
                        $("#v-tamanho").html(_attr[0].substring(1).toUpperCase());
                        $("#v-tipo").html(_attr[2]);
                        break;
                    case 'c' :

                        $.ajax({
                            url: cartURL,
                            data: 'reques=&a=add&g=' + _gen + '&t=' + _tam + '&tipo=' + _attr[2] + '&s=' + $("#c-id").html(),
                            type: "POST",
                            success: function(msg){
                                var content = eval ('(' + msg + ')');

                                _precrt.attr("class","none");
                                _cartcn.attr("class","drop4 pre-cart");
                                _reedit.attr("class","drop4 none pre-cart");
                                _reedtc.attr("class","drop4 none pre-cart");

                                $("#c-modelo").html(content.modelo);
                                $("#c-tamanho").html(content.tamanho);
                                $("#c-tipo").html(content.tipo);
                                $("#c-preco").html(content.preco);

                                refreshCart();


                            },
                            error: function(){
                                alert('AJAX não encontrado!');
                            }
                        });

                        break;
                }

                break;
        }

    }

}




function initLogin() {
    var handlerURL = '/ajax.php?uexec=login';

    $("#l-submit").click(function () {
        _submit();
    });

    $(".login-enter").keyup(function (event) {
        if(event.keyCode == '13'){
            _submit();
        }
    });

    $(".l-tentar").click(function(){
        $("#login-erro").attr("class", "none");
        $("#login-form").attr("class", "");
        $("#login-box").attr("class", "none");
        $("#l-name").val('Usuário');
        $("#l-passwd").val('Senha');
    });

    function _submit () {
        var _l = MD5($("#l-name").val());
        var _p = MD5($("#l-passwd").val());

        if(_l == '' || _p == '' || $("#l-name").val() == 'Usuário' || $("#l-passwd").val() == 'Senha') {
            $("#login-erro").attr("class", "");
            $("#login-form").attr("class", "none");
            $("#login-box").attr("class", "none");
            return false;
        }

        $.ajax({
            url: handlerURL,
            data: 'reques=&l='+_l+'&p='+_p,
            type: "POST",
            success: function(msg){
                try {
                    if (perfil);
                }
                catch (e) {
                    perfil = 0;
                }
                
                if (sambaai || perfil) document.location.reload(true);
                $("#l-name").val("");
                $("#l-passwd").val("");
                if(msg == '0' || msg == '-1') {
                    if (msg == '-1') {
                        $('#login-erro .error strong').html('Usuário bloqueado');
                    }
                    else {
                        $('#login-erro .error strong').html('Acesso inválido');
                    }
                    $("#login-erro").attr("class", "");
                    $("#login-form").attr("class", "none");
                    $("#login-box").attr("class", "none");
                    //alert("Login ou senha incorretos!");
                    return false;
                }
                $("#login-form").attr("class","none");
                $("#u-name").html(msg);
                $("#login-box").attr("class","");
            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
        return true;
    }

    $("#recuperar-senha").find("input.submit-ok").click(function() {
        _recover();
    });

    $("input.femail").keyup(function (event) {
        if(event.keyCode == '13'){
            _recover();
        }
    });

    
    
    function _recover() {
        var _email = $("#recuperar-senha").find("input.femail");
        var _erro = $("#recuperar-senha").find("span.text-erro");

        $.ajax({
            url: '/ajax.php?uexec=login',
            data: 'reques=&r=t&e='+_email.val(),
            type: "POST",
            success: function(msg){
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case '0' :
                        _erro.attr('class', 'text-erro');
                        _erro.html('ERRO: Por favor digite um e-mail válido');
                        break;
                    case '1' :
                        _erro.attr('class', 'text-erro');
                        _erro.html('ERRO: o e-mail informado não consta no cadastro.');
                        break;
                    case '2' :
                        $("#recuperar-senha").html(content.html);
                        break;
                }
            },
            error: function(){
                alert('AJAX não encontrado!');
            }
        });
    }



}

//*******************************************************************fadeGallery
jQuery.fn.fadeGallery = function(_options){
    var _options = jQuery.extend({
        listSelector: ' > li',
        navHolder:		false,
        navCreate:		false,
        thumbsSelector: 'li',
        prev:			'a.prev',
        next:			'a.next',
        swichTime:		false,
        delay:			900,
        fadeIEfix:		false,
        onChange:		null
    },_options);
    return this.each(function(){
        var _swichTime = _options.swichTime;
        var _d = (_options.fadeIEfix) ? ($.browser.msie ? 0 : _options.delay) : (_options.delay);
        var _this = $(this);
        var _list = $(_options.listSelector, _this);
        var _linksHold = $(_options.navHolder, _this);

        if(_options.navCreate){
            var _htmlNav ='<ul>';
            for(var i=0; i<_list.length; i++) {
                _htmlNav += '<li><a href="#">'+(i+1)+'</a></li>';
            }
            _htmlNav +='</ul>';
            _linksHold.html(_htmlNav);
        }
        if(_options.navHolder) var _links = jQuery(_options.thumbsSelector, _linksHold);
        else var _links = jQuery(_options.thumbsSelector, _this);
        var _btnPrev = $(_options.prev , _this);
        var _btnNext = $(_options.next , _this);
        var _a = _list.index(_list.filter('.active:eq(0)'));
        if(_a == -1) _a = 0;
        var _t;
        _list.removeClass('active').css({
            display: 'none',
            opacity: 0
        }).eq(_a).addClass('active').css({
            display: 'block',
            opacity: 1
        }).css('opacity', 'auto');
        _links.eq(_a).addClass('active');

        autoSwitch();
        function autoSwitch(){
            if (_swichTime){
                _t = setTimeout(function(){
                    if(_a < _list.length - 1) changeEl(_a + 1);
                    else changeEl(0);
                }, _swichTime);
            }
        }

        if (_btnPrev){
            _btnPrev.click(function(){
                var _prevItem = 0;
                if (_a > 0) _prevItem = _a-1;
                else _prevItem = _list.length-1;
                changeEl(_prevItem);
                return false;
            })
        }
        if (_btnNext){
            _btnNext.click(function(){
                var _nextItem = 0;
                if (_a < _list.length - 1) _nextItem = _a+1;
                else _nextItem = 0;
                changeEl(_nextItem);
                return false;
            })
        }

        if(_links){
            _links.click(function(){
                var _ind = _links.removeClass('active').index($(this).addClass('active'));
                changeEl(_ind);
                return false;
            })
        }
        function changeEl(_ind){
            if(_t) clearTimeout(_t);
            if(_list.is(':animated')) _list.stop(true, true);
            if(_ind != _a){
                _links.removeClass('active').eq(_ind).addClass('active');
                _list.eq(_a).removeClass('active').animate({
                    opacity: 0
                }, {
                    queue:false,
                    duration:_d,
                    complete: function(){
                        $(this).css({
                            display:'none'
                        })
                    }
                });
                _list.eq(_ind).addClass('active').css({
                    opacity: 0,
                    display:'block'
                }).animate({
                    opacity: 1
                }, {
                    queue:false,
                    duration:_d,
                    complete:function(){
                        $(this).css('opacity', 'auto');
                        _a = _ind;
                        autoSwitch();
                        if (jQuery.isFunction(_options.onChange)) {
                            _options.onChange.apply(_this);
                        };
                    }
                });
            }
        }
    });
};

function topSlider(){
    var _d = 500;
    $('.slide-box').each(function() {
        var _hold = $(this);
        var _slider = $('div:eq(0)', this);
        var _opener = $('a.button-open', this);
        var _max = 263;
        //var _max = _slider.height();
        var _min = 64;
        var _t = null;
        _slider.removeAttr('class').addClass('opened');
        _opener.click(function(){
            if(_t) clearTimeout(_t);
            if(_slider.height() > _min ){
                $(this).addClass('closed');
                $(".small").removeClass('none');
                _slider.animate({
                    height: _min
                },{
                    duration: _d,
                    complete:function(){
                        _hold.trigger('heightchange');
                        _slider.removeAttr('class').addClass('closed');
                        $(".big").addClass('none');
                    }
                });
            }else{
                $(".big").removeClass('none');
                $(this).removeClass('closed');
                _slider.removeAttr('class').addClass('opened');
                _slider.animate({
                    height: _max
                },{
                    duration: _d,
                    complete:function(){
                        _hold.trigger('heightchange');
                        $(".small").addClass('none');
                    }
                });
            };
            return false;
        });
        if(sliderStatus == 1) {
            $(".small").addClass('none');
            $(window).bind('load',function(){
                _t = setTimeout(function(){
                    if(!_opener.hasClass('closed')) _opener.trigger('click');
                },5000);
            });
            $(".big").removeClass('none');
        } else {
            $(".small").removeClass('none');
            $(".big").addClass('none');
            $(this).addClass('closed');
            _slider.height(_min);
            _slider.removeAttr('class').addClass('closed');
        }
    });
}

function initMenu(){
    if(document.getElementById("bar")) {
        var nodes = document.getElementById("bar").getElementsByTagName("li");
        for (var i=0; i<nodes.length; i++){
            nodes[i].onmouseover = function()
            {
                this.className += " hover";
            }
            nodes[i].onmouseout = function()
            {
                this.className = this.className.replace(" hover", "");
            }
        }
    }
}
if (document.all && !window.opera) attachEvent("onload", initMenu);

function initTabs() {
    $('ul.tabset, ul.main-tabset').each(function(){
        var _list = $(this);
        var _links = _list.find('a.tab');

        _links.each(function() {
            var _link = $(this);
            var _href = _link.attr('href');
            var _tab = $(_href);

            if(_link.hasClass('active')) _tab.css({
                position:'relative',
                left:'',
                top:''
            });
            else _tab.css({
                position:'absolute',
                left:'-9999px',
                top:'-9999px'
            });

            _link.click(function(){
                _links.filter('.active').each(function(){
                    $($(this).removeClass('active').attr('href')).css({
                        position:'absolute',
                        left:'-9999px',
                        top:'-9999px'
                    });
                });
                _link.addClass('active');
                _tab.css({
                    position:'relative',
                    left:'',
                    top:''
                })
                return false;
            });
        });
    });
}
jQuery.fn.vvGalleryScroll = function(_options){
    // defaults options
    var _options = jQuery.extend({
        btnPrev: 'a.link-prev',
        btnNext: 'a.link-next',
        holderList: 'div',
        scrollElParent: 'ul',
        scrollEl: 'li',
        thumbs: false,
        thumbsCreate: false,
        duration : 700,
        step: false,
        pause: false,
        event: 'click',
        circleSlide: true,
        disableClass: 'disable',
        autoSlide:false,
        onBeforeChange: null,
        onChange: null
    },_options);

    return this.each(function(){
        var _this = this;

        var _holderBlock = jQuery(_options.holderList,_this);
        var _moover = jQuery(_options.scrollElParent,_holderBlock).css('position','relative');
        var _liWidth = jQuery(_options.scrollEl,_moover).outerWidth(true);
        var _gWidth = _holderBlock.width();
        var _liSum = jQuery(_options.scrollEl,_moover).length * _liWidth;
        var _thumbs = _options.thumbs ? (jQuery(_options.thumbs,_this).length ? jQuery(_options.thumbs,_this): false) : false;
        var _step = 0, _t = null, _mM=0;
        var _pause =  _options.pause ? jQuery(_options.pause,_this) : false;
        var _play = _options.play ? jQuery(_options.play,_this) : false;
        var _a = 0;
        if(_options.thumbsCreate){
            var _html = '<ul>';
            for(var i=0; i<jQuery(_options.scrollEl,_moover).length; i++) {
                _html+='<li><a href="#">'+(i+1)+'</a></li>';
            };
            _html += '</ul>';
            _thumbs.html(_html);
            _thumbs = _thumbs.find('a');
        }
        if(_thumbs) _thumbs.removeClass('active').eq(_a).addClass('active');
        //step
        if(typeof(_options.step)=='number') _step = _options.step;
        else if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
        if(!_options.circleSlide){
            if(_mM == 0) jQuery(_options.btnPrev,_this).addClass(_options.disableClass);
            else if(_mM ==_liSum-_gWidth) jQuery(_options.btnNext,_this).addClass(_options.disableClass);
        };
        //prev btn
        if(jQuery(_options.btnPrev, _this)){
            jQuery(_options.btnPrev, _this).bind(_options.event, function(){
                if(!jQuery(this).hasClass(_options.disableClass)){
                    jQuery(_options.btnNext,_this).removeClass(_options.disableClass);
                    if(_mM - _step<0) (_mM!=0) ? _mM=0 : (_options.circleSlide ? _mM = _liSum - _gWidth : jQuery(_options.btnPrev,_this).addClass(_options.disableClass));
                    else _mM -= _step;
                    if(_a!= 0) _a--;
                    else _a =jQuery(_options.scrollEl,_moover).length-1;
                    _this.rotate(_mM);
                }
                return false;
            });
        };
        //next btn
        if(jQuery(_options.btnNext, _this)){
            jQuery(_options.btnNext, _this).bind(_options.event, function(){
                if(!jQuery(this).hasClass(_options.disableClass)){
                    jQuery(_options.btnPrev,_this).removeClass(_options.disableClass);
                    if(_mM + _step >_liSum - _gWidth) (_mM!= _liSum - _gWidth) ? (_mM = _liSum - _gWidth) : (_options.circleSlide ? _mM = 0 : jQuery(_options.btnNext,_this).addClass(_options.disableClass));
                    else _mM += _step;
                    if(_a!= jQuery(_options.scrollEl,_moover).length-1) _a++;
                    else _a =0;
                    _this.rotate(_mM);
                }
                return false;
            });
        };
        //animate
        _this.rotate = function(_mM){
            if(_t) clearTimeout(_t);
            if (jQuery.isFunction(_options.onBeforeChange)) {
                _options.onBeforeChange.apply(_this);
            }
            if(!_options.circleSlide){
                if(_mM == 0) jQuery(_options.btnPrev,_this).addClass(_options.disableClass);
                else if(_mM ==_liSum-_gWidth) jQuery(_options.btnNext,_this).addClass(_options.disableClass);
            };
            if(_thumbs) _thumbs.removeClass('active').eq(_a).addClass('active');
            _moover.animate({
                left: -_mM
            },{
                duration: _options.duration,
                queue: false,
                complete: function(){
                    if (jQuery.isFunction(_options.onChange)) {
                        _options.onChange.apply(_this);
                    }
                    _this.autoslide();
                }
            });
        };
        //autoslide
        _this.autoslide = function(){
            if(_options.autoSlide && _liSum >= _gWidth){
                if(_t) clearTimeout(_t);
                _t = setTimeout(function(){
                    jQuery(_options.btnPrev,_this).removeClass(_options.disableClass);
                    if(_mM + _step >_liSum - _gWidth) (_mM!= _liSum - _gWidth) ? (_mM = _liSum - _gWidth) : (_options.circleSlide ? _mM = 0 : jQuery(_options.btnNext,_this).addClass(_options.disableClass));
                    else _mM += _step;
                    if(_a!= jQuery(_options.scrollEl,_moover).length-1) _a++;
                    else _a =0;
                    _this.rotate(_mM);
                }, _options.autoSlide);
            };
        };
        _this.autoslide();
        //disable btns next/prev if need
        if (_liSum <= _gWidth) {
            jQuery(_options.btnPrev,_this).addClass(_options.disableClass).unbind(_options.event).click(function(){
                return false;
            });
            jQuery(_options.btnNext,_this).addClass(_options.disableClass).unbind(_options.event).click(function(){
                return false;
            });
        };
        //thumbs
        if(_thumbs){
            _thumbs.click(function(){
                var _ind = _thumbs.index(this);
                _a = _ind;
                _thumbs.removeClass('active').eq(_a).addClass('active');
                _mM = _step*_ind;
                _this.rotate(_mM);
                return false;
            });
        }
        //play|pause
        if(_pause && _pause.length){
            _pause.click(function(){
                _play.removeClass('active');
                jQuery(this).addClass('active');
                if(_t) clearTimeout(_t);
                return false;
            });
        };
        if(_play && _play.length){
            _play.click(function(){
                _pause.removeClass('active');
                jQuery(this).addClass('active');
                _this.autoslide();
                return false;
            });
        };
    });
};


function comoConheceu(valor) {
    switch(valor) {
        case 'blogs' :
        case 'outro' :
            $("#desc-como").attr('class', '');
            break;
        default :
            $("#desc-como").attr('class', 'none');
            break;
    }
}


function initCadastro() {

    $("#numero_cartao").attr('autocomplete', 'off');
    $("#nome_cartao").attr('autocomplete', 'off');

    $('.empty_numero').click(function() {
        var index = $(this).attr('rel');
        Cadastro.toggleNumber(index);
    })

    $("#nome_cartao").blur(function () {
        var valor_atual = document.getElementById('nome_cartao').value;
        var valor_novo = valor_atual.toUpperCase();
        $("#nome_cartao").val(valor_novo);
    });

    $("#nome_cartao").keyup(function () {
        var valor_atual = document.getElementById('nome_cartao').value;
        var valor_novo = valor_atual.toUpperCase().replace(/[^A-Za-z ]/g, '');
        $("#nome_cartao").val(valor_novo);
    });

    $("#codigo_identificador").attr('autocomplete', 'off');

    $("#formulario").submit(function () {
        return false;
    });

    function verificaCampo() {
        var lsc = $("#formulario").serializeArray();
        for(i=0; i<lsc.length; i++) {
            if(lsc[i].value.replace(' ','') !== '') {
                $("#" + lsc[i].name).removeClass('focus');
            }
        }
    }

    $("#cadastro-simples").click(function() {

        if (!checkMail($('#email').val())) {
            $("#erro-cadastro").html('O e-mail digitado é inválido! &nbsp; &nbsp; ');
            return false;
        }


        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=cadastro-simples&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                verificaCampo();
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case '0' :
                        $("#erro-cadastro").html(content.mensagem + ' &nbsp; &nbsp; ');
                        if(content.campos) {
                            for(i=0;i<content.campos.length;i++) {
                                $("#" + content.campos[i]).addClass('focus');
                            }
                        }
                        break;
                    case '1' :
                    case '2' :
                        window.location = '/cadastro-confirmacao.html';
                        break;
                }


            },
            error: function(request, status){
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                alert('AJAX não encontrado!');
            }
        });

    });

    $("#continuar-dados").click(function() {

        if($("#cep").val().length !== 8) {
            $("#erro-cadastro").html('CEP inválido!');
            return false;
        }
        /**
        if(!$("#aceito_politica").val()) {
            $("#erro-cadastro").html('Para efetuar seu cadastro, você deve concordar com a política de privacidade');
            return false;
        }**/
        
        $("#erro-cadastro").html('')
        $("#loading-dados").html('<img class="download" src="' + ROOT_SITE + '/images/download.gif" alt="Carregando" />');

        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=gravar-dados&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                verificaCampo();
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case '0' :
                        $("#erro-cadastro").html(content.mensagem);
                        if(content.campos) {
                            for(i=0;i<content.campos.length;i++) {
                                $("#" + content.campos[i]).addClass('focus');
                            }
                        }
                        break;
                    case '1' :
                    case '2' :
                        verificaCampo();
                        $("#erro-cadastro").html('');
                        $("#box-dados-usuario").addClass('none');
                        $("#box-dados-entrega").removeClass('none');
                        $("#box-dados-pagamento").addClass('none');
                        $("#edita-dados-usuario").removeClass('none');
                        $("#edita-dados-entrega").addClass('none');
                        break;
                }
                $("#loading-dados").html('');


            },
            error: function(request , status) {
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                alert('AJAX não encontrado!');
            }
        });

    });

    $("#edita-dados-usuario").click(function() {
        $("#box-dados-usuario").removeClass('none');
        $("#box-cad-simples").html('');
        $("#box-dados-entrega").addClass('none');
        $("#box-dados-pagamento").addClass('none');
        $("#edita-dados-usuario").addClass('none');
        $("#edita-dados-entrega").addClass('none');

        $("#en_nome").val('');
        $("#en_sobrenome").val('');
        $("#en_cep").val('');
        $("#en_logradouro").val('');
        $("#en_numero").val('');
        $("#en_complemento").val('');
        $("#en_bairro").val('');
        $("#en_cidade").val('');
        $("#en_estado").val('');
        $("#mesmo-endereco").removeAttr('checked');
        $(".number[rel=2]").removeAttr('readonly').removeClass('focus').keyup(function() {
            $(this).val($(this).val().toLowerCase().replace(/[^0-9]/,''));
        });
        $(".empty_numero[rel=2]").removeAttr('checked')

    });

    $("#edita-dados-entrega").click(function() {
        $("#box-dados-usuario").addClass('none');
        $("#box-dados-entrega").removeClass('none');
        $("#box-dados-pagamento").addClass('none');
        $("#edita-dados-usuario").removeClass('none');
        $("#edita-dados-entrega").addClass('none');
    });

    $("#continuar-entrega").click(function() {

        $("#erro-entrega").html('');
        $("#loading-entrega").html('<img class="download" src="' + ROOT_SITE + '/images/download.gif" alt="Carregando" />');
        
        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=gravar-entrega&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                verificaCampo();
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case '0' :
                        $("#erro-entrega").html(content.mensagem);
                        if(content.campos) {
                            for(i=0;i<content.campos.length;i++) {
                                $("#" + content.campos[i]).addClass('focus');
                            }
                        }
                        break;
                    case '1' :
                    case '2' :
                        verificaCampo();
                        $("#erro-entrega").html('');
                        $("#box-dados-usuario").addClass('none');
                        $("#box-dados-entrega").addClass('none');
                        $("#box-dados-pagamento").removeClass('none');
                        $("#edita-dados-usuario").removeClass('none');
                        $("#edita-dados-entrega").removeClass('none');
                        break;
                    case '3' :
                        verificaCampo();
                        $("#erro-entrega").html('');
                        $("#box-dados-usuario").addClass('none');
                        $("#box-dados-entrega").addClass('none');
                        $("#box-dados-pagamento").removeClass('none');
                        $("#edita-dados-usuario").removeClass('none');
                        $("#edita-dados-entrega").removeClass('none');
                        $("#finaliza-desabilitado").addClass('none');
                        $("#finaliza-gratis").show();
                        $("#gratis-box").attr('class', 'gratis-box');
                        $(".radio-list-alt").each(function() {
                            $(this).hide();
                        });
                        break;
                }
                $("#loading-entrega").html('');
            },
            error: function(request, status){
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                alert('AJAX não encontrado!');
            }
        });
    });

    $(".login").keyup(function() {
        $(this).val($(this).val().toLowerCase().replace(/[^a-z0-9_.-]/,''));
    });

    $(".login").blur(function() {
        var _login = $(this);
        if((_login.val().length < 3) && (_login.val().length > 0)) {
            $("#verifica-login").html('ERRO: Login muito pequeno!').attr('class', 'text-erro');
        } else {
            if(_login.val().replace(' ','') !== '') {
                $.ajax({
                    url: '/ajax.php?uexec=cadastro',
                    data: 'reques=&a=login&l=' + _login.val(),
                    type: "POST",
                    success: function(msg) {
                        var qtl = msg.replace(/[^0-9]/g, '');
                        if(qtl > 0) {
                            if(qtl == 10) {
                                _login.val('');
                                $("#verifica-login").html('ERRO: Login com caracteres inválidos.').attr('class', 'text-erro');
                            }
                            else {
                                _login.val('');
                                $("#verifica-login").html('ERRO: O login ' + _login.val() + ' já está cadastrado!').attr('class', 'text-erro');
                            }
                        } else {
                            $("#verifica-login").html('OK: Login aceito!').attr('class', 'text-ok');
                        }
                    },
                    error: function(request, status){
                        Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                        alert('AJAX não encontrado!');
                    }
                });
            }
        }

    });

    $(".email").each(function() {
        $(this).blur(function () {
            if($(this).val().indexOf('@') == -1 || $(this).val().indexOf('.')) {
                $(this).attr('class', 'error');
            } else {
                $(this).attr('class', '');
            }
        })
    });

    $(".email").blur(function() {
        var _email = $(this);

        var selector = "#verifica-email";

        if (_email.attr('id') == 'remail') {
            selector = "#verifica-remail";
        }

        if (!checkMail(_email.val())) {
            $(selector).html('ERRO: O e-mail digitado é inválido.');
            $(selector).attr('class', 'text-erro');
        }
        else {
            $(selector).attr('class', 'none');
        }
    });


    function verificaCampos() {
        var _err = 0;
        $(".req").each( function() {
            var _stat = $(this).attr("class");
            if($(this).val() == '') {
                alert($(this).attr('name'));
                $(this).attr('style', 'border 2px solid red;');
                $(this).attr('class', _stat + ' focus');
                _err++;
            } else {
                $(this).attr('class', _stat);
            }
        });
        alert(_err);
        if(_err > 0)
            return false;
        
        return true;
    }

    $(".radio-forma").each(function() {
        var _radio = $(this);
        _radio.click(function() {
            $("#boleto-box").attr('class', 'boleto-box none');
            $("#cartao-box").attr('class', 'cartao-box none');
            $("#gratis-box").attr('class', 'gratis-box none');
            $('#' + _radio.val() + '-box').attr('class',_radio.val() + '-box');
            $(".submit").each(function() {
                $(this).hide();
            });
            switch(_radio.val()) {
                case 'boleto' :
                    $("#tipo-pagto").val(1);
                    $("#finaliza-boleto").show();
                    break;
                case 'cartao' :
                    $("#finaliza-cartao").show()
                    break;
            }
        });
    });

    $("#numero_cartao").keyup(function() {
        if($(this).val().length <= 4) {
            var cardName = detectCardName($(this).val());
            $("#bandeira-visa").attr('class', 'card-off');
            $("#bandeira-mastercard").attr('class', 'card-off');
            $("#bandeira-dinersclub").attr('class', 'card-off');
            if(cardName) {
                $("#bandeira-visa").attr('class', 'card-off');
                $("#bandeira-mastercard").attr('class', 'card-off');
                $("#bandeira-dinersclub").attr('class', 'card-off');
                $("#bandeira-" + cardName.toLowerCase()).attr('class', 'card-on');
                switch(cardName) {
                    case 'visa' :
                        $("#tipo-pagto").val(2);
                        break;
                    case 'mastercard':
                        $("#tipo-pagto").val(3);
                        break;
                    case 'dinersclub':
                        $("#tipo-pagto").val(4);
                        break;
                }
            }
        }
    });

    $("#finaliza-cartao").click(function() {

        // Validando preenchimento
        var error = false;
        var inputs = $('#cartao-box input').each(function () {
            if ($(this).val() == '') {
                error = true;
                $(this).addClass('focus');
               
                $('#erro-cartao').attr('class', 'text-erro');
                $("#erro-cartao").html('Campos obrigatórios não preenchidos');
            }
        });

        if (error) return false;

        // Validando mes e ano de validade
        var mes = $('#cartao_validade_mes').val();
        var ano = $('#cartao_validade_ano').val();

        if (mes.length < 2 || mes > 12 || ano.length < 4) {
            $('#erro-cartao').attr('class', 'text-erro');
            $('#erro-cartao').html('Data de validade inválida.');

            return false;
        }

        Screen.Component.Overlay.show();
        $("#finaliza-cartao").hide();
        $('#erro-cartao').html('');
        $("#finaliza-processando").show();
        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=processa-cartao&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case 0 :
                        $("#finaliza-cartao").show();
                        $("#finaliza-processando").hide();
                        $("#erro-cartao").html(content.mensagem);
                        Screen.Component.Overlay.hide();
                        if(content.campos) {
                            for(i=0;i<content.campos.length;i++) {
                                $("#" + content.campos[i]).addClass('focus');
                            }
                        }
                        break;
                    case 1 :
                        window.location = 'http://www.sambaclub.com.br/cart/sucesso.html';
                        break;
                    case 3 :
                        alert(content.mensagem);
                        window.location = 'http://www.sambaclub.com.br/';
                }
            },
            error: function(request, status){
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                alert('AJAX não encontrado!');
            }
        });

    });

    $("#finaliza-boleto").click(function() {
        Screen.Component.Overlay.show();
        $("#finaliza-boleto").hide();
        $("#finaliza-processando").show();
        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=processa-boleto&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case 0 :
                        $("#finaliza-boleto").show();
                        $("#finaliza-processando").hide();
                        $("#erro-boleto").html(content.mensagem); //Esta div não está diagramada
                        Screen.Component.Overlay.hide();
                        alert(content.mensagem.replace('<br/>', '\n'));
                        break;
                    case 1 :
                        window.location = 'http://www.sambaclub.com.br/cart/sucesso.html';
                        break;
                }
            },
            error: function(request, status){
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                $("#finaliza-boleto").show();
                $("#finaliza-processando").hide();
                alert('AJAX não encontrado!');
            }
        });
    });

    $("#finaliza-gratis").click(function() {
        $("#finaliza-gratis").hide();
        $("#finaliza-processando").show();
        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=processa-gratis&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case 0 :
                        $("#finaliza-gratis").show();
                        $("#finaliza-processando").hide();
                        $("#erro-gratis").html(content.mensagem);
                        break;
                    case 1 :
                        var nurl = window.location.href.split('/');
                        window.location = 'http://' + nurl[2] + '/cart/sucesso.html';
                        break;
                }
            },
            error: function(request, status){
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                $("#finaliza-gratis").show();
                $("#finaliza-processando").hide();
                alert('AJAX não encontrado!');
            }
        });
    });

    function validaSubmit() {

    }


    $("#gravar-dados-pessoais").click(function() {

        if($("#cep").val().length !== 8) {
            $("#erro-cadastro").html('CEP inválido!');
            return false;
        }
        /**
        if(!$("#aceito_politica").val()) {
            $("#erro-cadastro").html('Para efetuar seu cadastro, você deve concordar com a política de privacidade');
            return false;
        }**/
        $(".text-ok").hide();
        $.ajax({
            url: '/ajax.php?uexec=cadastro',
            data: 'reques=&a=gravar-dados&' + $("#formulario").serialize(),
            type: "POST",
            success: function(msg) {
                verificaCampo();
                var content = eval('(' + msg + ')');
                switch(content.status) {
                    case '0' :
                        $("#erro-cadastro").html(content.mensagem);
                        if(content.campos) {
                            for(i=0;i<content.campos.length;i++) {
                                $("#" + content.campos[i]).addClass('focus');
                            }
                        }
                        break;
                    case '1' :
                    case '2' :
                        $(".text-ok").html('Dados gravados com sucesso!').show();
                        $("#erro-cadastro").html('');
                        break;
                    default :
                        alert('Dados gravados com sucesso!');
                }
            },
            error: function(request, status){
                Ajax.Log.add_error('Erro no cadastro do tipo: ' + status);
                alert('AJAX não encontrado!');
            }
        });

    });

    $(".counter").each(function() {
        var _ct = $(this);
        var _tx = $('#counter-' + _ct.attr('id'));
        var max =  _tx.attr('class').replace(/[^0-9]/g, '');
        _ct.keyup(function() {
            _tx.html( _ct.val().length + ' de ' + max + ' caracteres. ');
            if(_ct.val().length > max ) {
                _ct.val(_ct.val().substring(0,max));
            }
        });
        _tx.html( _ct.val().length + ' de ' + max + ' caracteres. ');
    });
    
}

function selectBoxes(){
    var handlerURL = '/ajax.php?uexec=vitrineFilter';
    var loaderIMG = '<img class="download" src="' + ROOT_SITE + '/images/download.gif" alt="Carregando" />';
    $('div.box-select').each(function(){
        var _value = $(this).find('span:eq(0) > em');
        var _opener = $('.btn-select', this);
        var _drop = $('.drop3', this);
        var _close = $('.close', _drop);
        var _checkboxes = $('input:checkbox', _drop);
        var _count = 0;
        var _textAll = $('strong.emtotal',this).hide();
        var _all = _drop.find('.todos');
        _checkboxes.click(function () {
            requesData();
            loader(true);
        });
        _opener.click(function(){
            if(_drop.is(':hidden')){
                _drop.removeClass('none');
                initContext(_drop);
            }
            else{
                // close
                closeDrop(_drop);
            }
            return false;
        });


        function initContext(drop) {
            $('.box-select').mouseleave(function() {
                closeDrop(drop);
            });
        }

        function closeDrop(drop) {
            if (!drop.hasClass('none')) {
                drop.addClass('none');
                requesData();
            }
        }

        function refreshLabel(){
            if(_textAll.length) {
                if(_checkboxes.filter(':checked').length == _checkboxes.length) {
                    _textAll.show();
                    _value.text('');
                } else if (_checkboxes.filter(':checked').length == 0) {
                    _textAll.show();
                } else {
                    _textAll.hide();
                }
            }
        }

        _all.click(function(){
            _checkboxes.each(function(){
                this.checked = false;
                _value.text('');
                _count = 0;
            });
            refreshLabel();
        });
        _checkboxes.each(function(){
            if($(this).is(':checked')){
                _count++;
            };
            $(this).click(function(){
                if($(this).is(':checked')) _count++;
                else _count--;

                if(_count != 0) _value.text('('+_count+')');
                else _value.text('');

                refreshLabel();
                loader(true);
            });
            if(_count != 0) _value.text('('+_count+')');
            else _value.text('');
            refreshLabel();
        });

        _close.click(function(){
            _drop.addClass('none');
            loader(true);
            requesData();
            return false;
        });

        function loader(show) {
            if(show) {
                $(".loading").html(loaderIMG);
                return false;
            }
            $(".loading").html('');
            return false;
        }

        function requesData(){
            loader(true);
            $.ajax({
                url: handlerURL,
                data: 'reques=&'+_drop.parents('form').serialize(),
                type: "POST",
                success: function(msg){
                    //msg is the answer of request;
                    var content = eval('(' + msg + ')');
                    $("#conta-camisa").html(content.total);

                    // montando lista com o resultado das camistas
                    // isto deverá ser melhorado no futuro
                    var ulResult = '<ul class="photo-list">';
                    for(i=0; i< content.camiseta.length; i++) {
                        ulResult += '<li><a href="/vitrine/camiseta/' + content.camiseta[i].slug + '.html"><img src="http://img.sambaclube.com.br/produto/camiseta-' + content.camiseta[i].slug + '-catalogo.jpg" width="230" height="240" alt="Camiseta Sambaclub - ' + content.camiseta[i].nome + '" /><strong style="text-transform: uppercase;">' + content.camiseta[i].nome + '</strong>';
                        switch(content.camiseta[i].situacao) {
                            case '0' :
                                ulResult += '<strong class="name2"><span class="esgotada">esgotada</span></strong>';
                                break;
                            case '2' :
                                ulResult += '<strong class="name2"><span class="lancamento">lancamento</span></strong>';
                                break;
                            case '3' :
                                ulResult += '<strong class="name2"><span class="relancamento">relancamento</span></strong>';
                                break;
                            case '5' :
                                ulResult += '<strong class="name2"><span class="oferta">oferta</span></strong>';
                                break;
                        }
                        ulResult += '</a></li>';
                    }
                    ulResult += '</ul>';

                    $("#lista-camisetas").html(ulResult);

                    loader(false);


                },
                error: function(){
                    alert('AJAX não encontrado!');
                }
            })
        };
        requesData();
        $('div.area').each(function(){
            var _form = $(this);
            var _btnReset = _form.find('.reset-filters');
            var _clearButtons = _form.find('input.todos');

            _btnReset.click(function(){
                _clearButtons.trigger('click')
                _drop.addClass('none');
                requesData();
                return false;
            });
        })
    })

}

// Upload

var Upload = {
    validate : function() {

        Upload.clearErrors();

        var file = $('#file');

        if (!file.val() != '') {
            Upload.sendError('Você deve selecionar uma imagem antes de enviar.');
            return false;
        }

        return true;
    },
        
    updatePath : function () {
        var file = $('#file');
        var path = $('#file_path')

        if (file.val())
            path.val(file.val());
    },

    sendError : function (message) {
        $('#e_upload').attr('class', 'text-erro');
        $('#e_upload').html(message);
    },

    clearErrors : function () {
        Upload.sendError('');
    }
}

// Dados Acesso

var MinhaConta = {
    init : function () {
        MinhaConta.DadosPessoais.init();
        MinhaConta.MeusPedidos.init();
    },
    DadosAcesso : {
        validate : function() {
            var senha_atual = $('#senha-atual');
            var nova_senha = $('#nova-senha');
            var repetir_nova_senha = $('#repetir-nova-senha');

            var email = $('#email');
            var repetir_email = $('#repetir-email');

            // Limpando erros
            MinhaConta.DadosAcesso.clearError('#e_senha-atual');
            MinhaConta.DadosAcesso.clearError('#e_nova-senha');
            MinhaConta.DadosAcesso.clearError('#e_repetir-nova-senha');
            MinhaConta.DadosAcesso.clearError('#e_email');
            MinhaConta.DadosAcesso.clearError('#e_repetir-email');

            var erro = false;

            // Campos vazios
            if ((senha_atual.val() != '') || (nova_senha.val() != '') || (repetir_nova_senha.val() != '')) {

                if (senha_atual.val() == '') {
                    MinhaConta.DadosAcesso.sendError('#e_senha-atual', 'Este campo deve ser preenchido.');
                    erro = true;
                }
                if (nova_senha.val() == '') {
                    MinhaConta.DadosAcesso.sendError('#e_nova-senha', 'Este campo deve ser preenchido.');
                    erro = true;
                }
                else {
                    if (nova_senha.val().length <= 3) {
                        MinhaConta.DadosAcesso.sendError('#e_nova-senha', 'A senha deve possuir mais de 3 caracteres.');
                        erro = true;
                    }
                }
                if (repetir_nova_senha.val() == '') {
                    MinhaConta.DadosAcesso.sendError('#e_repetir-nova-senha', 'Este campo deve ser preenchido.');
                    erro = true;
                }
                else {
                    if ((nova_senha.val() != '') && (repetir_nova_senha.val() != nova_senha.val())) {
                        MinhaConta.DadosAcesso.sendError('#e_repetir-nova-senha', 'Você deve repetir corretamente a nova senha.');
                        erro = true;
                    }
                    if (repetir_nova_senha.val().length <= 3) {
                        MinhaConta.DadosAcesso.sendError('#e_repetir-nova-senha', 'A senha deve possuir mais de 3 caracteres.');
                        erro = true;
                    }
                }
            }

            if ((email.val() != '') || (repetir_email.val() != '')) {

                if (email.val() == '') {
                    MinhaConta.DadosAcesso.sendError('#e_email', 'Este campo deve ser preenchido.');
                    erro = true;
                }
                else {
                    if (!checkMail(email.val())) {
                        MinhaConta.DadosAcesso.sendError('#e_email', 'E-mail inválido.');
                        erro = true;
                    }
                }
                if (repetir_email.val() == '') {
                    MinhaConta.DadosAcesso.sendError('#e_repetir-email', 'Este campo deve ser preenchido.');
                    erro = true;
                }
                else {
                    if ((email.val() != '') && (email.val() != repetir_email.val())) {
                        MinhaConta.DadosAcesso.sendError('#e_repetir-email', 'Você deve repetir corretamente o novo e-mail.');
                        erro = true;
                    }
                    if (!checkMail(repetir_email.val())) {
                        MinhaConta.DadosAcesso.sendError('#e_repetir-email', 'E-mail inválido.');
                        erro = true;
                    }
                }
            }

            if ((email.val() == '') && (senha_atual.val() == '')) {
                return false;
            }

            if (erro)
                return false;
                

            return true;
        },
        clearError : function (field) {
            $(field).html('');
        },
        sendError : function (field, message) {
            $(field).attr('class', 'text-erro');
            $(field).html(message);
        }
    },
    DadosPessoais : {
        init : function () {
            $('#dados-pessoais-descricao').keypress(function(event) {
                if (event.which == 13) {
                    return false;
                }
            });

            $('#dados-pessoais-descricao').keyup(function() {
                var value = $(this).val().replace("\n", ' ').replace('  ', ' ');
                $(this).val(value);
            });
        }
    },
    MeusPedidos : {
        active : false,
        init : function () {
            jQuery(".codigo-remessa").fancybox({
                'width'             : 540,
                'height'            : 440,
                'autoScale'         : false,
                'transitionIn'      : 'none',
                'transitionOut'     : 'none',
                'scrolling'         : 'auto',
                'overlayOpacity'    : 0.75,
                'overlayColor'      : '#000',
                'type'              : 'iframe',
                'onComplete'        : function() {
                    
                }
            });
            
            $('.meus-pedidos li').each(function() {
                var rel = $(this).attr('rel');
                
                $('.meus-pedidos li[rel='+rel+'] .visualizar').click(function () {
                    MinhaConta.MeusPedidos.open(rel);
                    MinhaConta.MeusPedidos.active = rel;
                });
                
                $('.meus-pedidos li[rel='+rel+'] .fechar').click(function () {
                    MinhaConta.MeusPedidos.close(rel);
                    MinhaConta.MeusPedidos.active = false;
                });
            });
        },
        open : function (rel) {
            if (MinhaConta.MeusPedidos.active)
                MinhaConta.MeusPedidos.close(MinhaConta.MeusPedidos.active);
            
            $('.meus-pedidos li[rel='+rel+'] .visualizar').addClass('hide');
            $('.meus-pedidos li[rel='+rel+'] .fechar').removeClass('hide');
            $('.meus-pedidos li[rel='+rel+'] .maximizado').removeClass('hide');
        },
        close : function (rel) {
            $('.meus-pedidos li[rel='+rel+'] .visualizar').removeClass('hide');
            $('.meus-pedidos li[rel='+rel+'] .fechar').addClass('hide');
            $('.meus-pedidos li[rel='+rel+'] .maximizado').addClass('hide');
        }
    }
}

var Ajax = {
    Log : {
        url : '/ajax.php?uexec=log',
        add_error : function (message) {
            $.ajax({
                url: Ajax.Log.url,
                data: 'action=add&type=ajax&email=1&message='+message,
                type: "POST",
                success: function(msg){
                    alert(msg);
                },
                error: function(){}
            })
        }
    }
}

var Cadastro = {
    toggleNumber : function(num) {
        if ($('.empty_numero[rel='+num+']').is(':checked')) {
            $('.number[rel='+num+']').val('S/N');
            $('.number[rel='+num+']').attr('readonly', 'readonly').addClass('focus').unbind('keyup');
        }
        else {
            $('.number[rel='+num+']').removeAttr('readonly').removeClass('focus').keyup(function() {
        $(this).val($(this).val().toLowerCase().replace(/[^0-9]/,''));
    });
            $('.number[rel='+num+']').val('');
        }
    }
}

var Relatorio = {
    validate : function () {
        var edia = $('#edia').val();
        var emes = $('#emes').val();
        var eano = $('#eano').val();

        var tdia = $('#tdia').val();
        var tmes = $('#tmes').val();
        var tano = $('#tano').val();

        if (!Relatorio.isDate(edia, emes, eano)) {
            alert('Data inicial inválida.');
            return false;
        }

        if (!Relatorio.isDate(tdia, tmes, tano)) {
            alert('Data de término inválida.');
            return false;
        }

        var data_inicial = new Date();
        data_inicial.setFullYear(eano, (emes-1), edia);

        var data_final = new Date();
        data_final.setFullYear(tano, (tmes-1), tdia);

        if (data_final < data_inicial) {
            alert('A Data inicial nao pode ser superior a Data de término.');
            return false;
        }

        return true;
    },
    isDate : function (dia, mes, ano) {
        x = 1;
        // verifica o dia valido para cada mes
        if (
            (dia < 1) || (dia < 1 || dia > 30) && (mes == 4 || mes == 6 || mes == 9 || mes == 11) || dia > 31) {
            x=0;
        }

        // verifica se o mes e valido
        if (mes < 1 || mes > 12 ) {
            x=0;
        }

        // verifica se e ano bissexto
        if (mes == 2 && ( dia < 1 || dia > 29 || ( dia > 28 && !(ano%4)))) {
            x=0;
        }
        if (ano.length < 4) x = 0;
        if(x==0) {
            return false;
        }
        return true;
    }
}

var Comentario = {
    total : 5,
    defaultMsg : 'Deixe a sua mensagem no meu scrapbook.',
    init : function () {
        var selector = $('#comment-limiter');
        var startHeight = selector.height();
        var style = 'overflow:hidden; height: ' + startHeight + 'px;';
        selector.attr('style', style);
    },
    submit : function (id) {
        Comentario.clearErrors();
        var mensagem = $('#comment-'+id+' textarea');
        var enviar = $('#comment-'+id+' a[name="enviar"]');
        var tid = $('.mensagens').attr('rel');

        var validated = Comentario.validate(id);

        if (!enviar.hasClass('blocked') && validated) {
            enviar.addClass('blocked');
            $.ajax({
                url: '/ajax.php?uexec=comentario',
                data: 'a=new&comment_id='+id+'&c='+tid+'&comment_message='+encodeURIComponent(mensagem.val()),
                type: "POST",
                success: function(msg) {
                    var content = eval('(' + msg + ')');

                    enviar.removeClass('blocked');
                    switch(parseInt(content.status)) {
                        case 1 :
                            Comentario.addError(id, content.message);
                            break;
                        case 2 :
                            mensagem.val('');
                            Comentario.total = Comentario.total + 1;
                            Comentario.load('all');
                        default :
                            break;
                    }
                },
                timeout : function () {
                    Comentario.submit(id);
                }
            });
        }

        return;
        
    },
    remover : function (id) {
        var tid = $('.mensagens').attr('rel');

        var remover = confirm('Você realmente deseja excluir o comentário?');

        if (!remover) return;
        
        // TODO proteger botao
        $.ajax({
            url: '/ajax.php?uexec=comentario',
            data: 'a=remove&comment_id='+id+'&c='+tid,
            type: "POST",
            success: function(msg) {
                //msg is the answer of request;
                var content = eval('(' + msg + ')');

                switch(parseInt(content.status)) {
                    case 1 :
                        Comentario.addError(id, content.message);
                        break;
                    case 2 :
                        Comentario.total = Comentario.total - 1;
                        $('#comment-'+id).hide('2000', function () {
                            Comentario.fixHeight(0, true)
                        });
                        $('#comment-'+id).html('');
                        $('div[rel=c'+id+']').hide('2000', function () {
                            Comentario.fixHeight(0, true)
                        });
                        $('div[rel=c'+id+']').html('');
                        Comentario.load('all');
                    default :
                        break;
                }

                    

            },
            timeout : function () {
                Comentario.submit(id);
            }
        });
        

    },
    toggle : function (id) {
        Comentario.clearErrors();
        var selector = $('#comment-'+id+' > fieldset');

        if (selector.hasClass('none'))
            Comentario.open(id);
        else
            Comentario.close(id);

        Comentario.fixHeight(0, true);
    },
    open : function (id) {
        Comentario.hideAll();

        var selector = $('#comment-'+id+' > fieldset');
        var responder = $('#comment-'+id+' > .b_responder');

        if (selector.hasClass('none'))
            selector.removeClass('none');

        if (!responder.hasClass('none'))
            responder.addClass('none');
    },
    close : function (id) {
        var selector = $('#comment-'+id+' > fieldset');
        var responder = $('#comment-'+id+' > .b_responder');

        if (!selector.hasClass('none'))
            selector.addClass('none');

        if (responder.hasClass('none'))
            responder.removeClass('none');
    },
    validate : function (id) {
        var mensagem = $('#comment-'+id+' textarea');

        var value = mensagem.val().replace(Comentario.defaultMsg, '');

        if (value == '') {
            Comentario.addError(id, 'A mensagem deve ser preenchida.');
            mensagem.select();
            return false;
        }

        return true;
    },
    clearErrors : function () {
        $('#msg-principal .text-erro, .mensagens .text-erro').html('');
    },
    addError : function (id, msg) {
        $('#comment-'+id+' .text-erro').html(msg);
    },
    hideAll : function () {
        $('.mensagens fieldset').each(function () {
            if (!$(this).hasClass('none'))
                $(this).addClass('none');
        });
    },
    load : function (mode, num) {
        var tid = $('.mensagens').attr('rel');

        switch(mode) {
            case 'all':
                //Comentario.clearMessages();
                break;
            case 'more':
                Comentario.total = Comentario.total + num;
            default :
                break;
        }

        var params = 'a=list&c='+tid+'&mode='+mode+'&num='+Comentario.total;

        $.ajax({
            url: '/ajax.php?uexec=comentario',
            data: params,
            type: "POST",
            success: function(msg) {

                switch(mode) {
                    case 'all':
                        $('.mensagens').html(msg);
                        Comentario.fixHeight(0, true);
                        break;
                    case 'more':
                        $('.mensagens').html(msg);
                        Comentario.fixHeight(num);
                        break;
                    default :
                        Comentario.load(mode, num);
                        break;
                }

                if (!Comentario.hasMoreComments()) {
                    //alert('sem mais');
                    $('#comments-more').addClass('none');
                }
                else {
                    if (!$('#comments-more').hasClass('none'))
                        $('#comments-more').removeClass('none');
                }

            //Comentario.total = total;

            },
            timeout : function () {
                Comentario.load(mode);
            }
        });
    },
    clearMessages : function () {
        $('.mensagens').html('');
    },
    fixHeight : function (num, instant) {

        var time = 700;

        if (instant) time = 0;

        var selector = $('#comment-limiter');
        var activeHeight = $('.mensagens').height();
        
        selector.animate({
            height: activeHeight
        }, time, function() {
            if (!instant)
                Comentario.scrollTo('comments-end', time, (num * 100));
        });

    },
    scrollTo : function (id, time, diference)
    {
        var offset = $('#' + id).offset();
        var top = offset.top - diference;

        $('html, body').animate({
            scrollTop:top
        }, time);
    },

    getTotal : function () {
        return $('.mensagens > div').size();
    },
    getStats : function () {
        var stats = $('#comment-stats').val();

        var arr = stats.split('@');

        return arr;
    },
    hasMoreComments : function () {
        var stats = Comentario.getStats();

        var total = parseInt(stats[0]);
        var num = parseInt(stats[1]);

        if (num >= total) {
            return false;
        }

        return true;
    }

}

var Perfil = {
    MinhasCamisetas : {
        showAll : function () {
            var selector = $('#minhas-camisetas');
            var totalHeight = selector.height();
            var time = 700;

            $('#btn-mais-camisetas').hide();

            $('#minhas-camisetas-limiter').animate({
                height: totalHeight
            }, time, function () {
                Utils.scrollTo('minhas-camisetas-end', time, 514)
            });

        }
    }
}

var Screen = {
    Component : {
        Overlay : {
            show : function() {
                var activeWidth = $('body').width();
                var activeHeight = $('body').height();

                var overlay = $('.view-overlay');
                overlay.css('width', '100%');
                overlay.css('height', '100%');
                overlay.show();
            },
            hide : function() {
                var overlay = $('.view-overlay');
                overlay.hide();
            }
        }
    }
}


Suasamba = {
    ajaxUrl : '/ajax.php?uexec=suasamba',
    init : function (mode) {
        if (mode == undefined)
            mode = 'all';
        
        if (mode == 'all' || mode == 'fancybox') {
            jQuery(".suasamba-detail").fancybox({
                'width'             : 620,
                'autoScale'         : false,
                'transitionIn'      : 'none',
                'transitionOut'     : 'none',
                'scrolling'         : 'no',
                'overlayOpacity'    : 0.75,
                'overlayColor'      : '#000',
                'type'              : 'iframe'
            });
            jQuery(".suasamba-report").fancybox({
                'width'             : 260,
                'height'            : 240,
                'autoScale'         : false,
                'transitionIn'      : 'none',
                'transitionOut'     : 'none',
                'scrolling'         : 'no',
                'overlayOpacity'    : 0.75,
                'overlayColor'      : '#000',
                'type'              : 'iframe',
                'onComplete'        : function() {
                
                }
            });
        }
        if (mode == 'all') {
            jQuery(".suasamba-regulamento").fancybox({
                'width'             : 620,
                'height'            : 400,
                'autoScale'         : false,
                'transitionIn'      : 'none',
                'transitionOut'     : 'none',
                'scrolling'         : 'no',
                'overlayOpacity'    : 0.75,
                'overlayColor'      : '#000',
                'type'              : 'iframe',
                'onComplete'        : function() {
                
                }
            });
            Suasamba.Like.init();
            Suasamba.Paginate.init();
            Suasamba.Report.init();
            Suasamba.Phrase.init();
        }
    },
    Report : {
        init : function () {
            $('#report-select').change(function () {
                $('.report-description').addClass('hide');
                if ($(this).val() == 'report') {
                    $('.report-description').removeClass('hide');
                }
                if (window.location != window.parent.location) {
                    var refHeight = $('.fancybox-container').height();
                    window.parent.Suasamba.Fancybox.fixHeight(refHeight);
                }
            });
            Utils.textCounter.init('.report-description', 200);
        },
        validate : function () {
            $('#report-error').html('');
            if (window.location != window.parent.location) {
                var refHeight = $('.fancybox-container').height();
                window.parent.Suasamba.Fancybox.fixHeight(refHeight);
            }
            var select = $('#report-select');
            if (select.val() == 'report') {
                var description = $('#report-description');
                if (description.val().length > 200) {
                    $('#report-error').html('<label>A descrição da denúncia deve possuir a quantidade máxima de 200 caracteres.</label>');
                    description.select();
                    if (window.location != window.parent.location) {
                        var refHeight = $('.fancybox-container').height();
                        window.parent.Suasamba.Fancybox.fixHeight(refHeight);
                    }
                    return false;
                }
            }
            return true;
        }
    },
    Like : {
        init : function (id) {
        /*$('.suasamba-vote').click(function () {
                var id = $(this).attr('rel');
                Suasamba.Like.toggle(id);
            });*/
        },
        toggle : function (id) {
            $.ajax({
                type: "POST",
                url: Suasamba.ajaxUrl,
                data: "action=toggleVote&id="+id,
                success: function(data){
                    var data = eval('('+data+')');
                    if (data.sucess == 1) {
                        Suasamba.Like.refreshButton(data.phraseId);
                    }
                }
            });
        },
        initButton : function(id) {
            $('.suasamba-votebox[rel='+id+'] > .suasamba-vote').click(function () {
                var id = $(this).attr('rel');
                Suasamba.Like.toggle(id);
            });
        },
        refreshButton : function (id) {
            $.ajax({
                type: "POST",
                url: Suasamba.ajaxUrl,
                data: "action=buttonHtml&id="+id,
                success: function(data){
                    $('.suasamba-votebox[rel='+id+']').html(data);
                    //Suasamba.Like.initButton(id);
                    if (window.location != window.parent.location) {
                        window.parent.Suasamba.Like.refreshButton(id);
                    }
                }
            });
        }
    },
    Paginate : {
        instances : new Object(),
        separator : '%ps%',
        init : function () {
            $('.scrollInfinite').each(function() {
                var relation = $(this).attr('rel');
                Suasamba.Paginate.instances[relation] = {
                    state : false
                };
            });
            $(window).scroll(function () {
                for (var i in Suasamba.Paginate.instances) {
                    var ref = i;
                    if (!Suasamba.Paginate.instances[ref].state) {
                        var wHeight = $(document).height();
                        var scrollTop = $(this).scrollTop();
                        var reference = (wHeight - scrollTop);
                        if (reference <= 1350) {
                            Suasamba.Paginate.instances[ref].state = true;
                            var ajaxData = 'action=paginate&target='+ activeTarget +'&reference=' + ref + '&ids=' + ids[ref].join(',');
                            if (activeTarget == 'frase') {
                                ajaxData += '&tags=' + phraseTags;
                            }
                            $.ajax({
                                url: '/ajax.php?uexec=suasamba',
                                data: ajaxData,
                                type: "POST",
                                success: function(data) {
                                    var tokens = data.split(Suasamba.Paginate.separator);
                                    var reference = parseInt(tokens[0]);
                                    var idString = tokens[1];
                                    var finalData = tokens[2];
                                    if (idString != '') {
                                        $('.scrollInfinite[rel='+reference+']').append(finalData);
                                        Suasamba.init('fancybox');
                                        Suasamba.Paginate.instances[reference].state = false;
                                    }
                                }
                            });
                        }
                    }
                }
            });
        }
    },
    Phrase : {
        init : function () {
            Utils.textCounter.init('.ideia-container', 200);
        },
        validate : function () {
            var phrase = $('#phrase');
            if (phrase.val().length < 5) {
                alert('Digite uma frase válida');
                $('#phrase').select();
                return false;
            }
            return true;
        },
        submitValidate : function () {
            $('#idea-error').html('');
            var idea = $('#idea');
            if (idea.val().length > 200) {
                $('#idea-error').html('A idéia da frase deve possuir a quantidade máxima de 200 caracteres.');
                idea.select();
                return false;
            }
            return true;
        },
        remove : function (id) {
            $.ajax({
                url: '/ajax.php?uexec=suasamba',
                data: 'action=remove&id='+ id,
                type: "POST",
                success: function(data) {
                    var result = eval('('+data+')');
                    if (result.sucess == 1) {
                        if (window.location != window.parent.location) {
                            window.parent.Suasamba.Phrase.Dialog.cancel(id);
                            window.parent.$('.lista > li[rel='+id+']').hide(500);
                        }
                        Suasamba.Phrase.Dialog.cancel(id);
                        $('.lista > li[rel='+id+']').hide(500);
                    }
                }
            });
        },
        Dialog : {
            attempt : function (id) {
                $('.excluir-layer[rel='+id+']').removeClass('hide');
            },
            cancel : function (id) {
                $('.excluir-layer[rel='+id+']').addClass('hide');
            }
        }
    },
    Fancybox : {
        fixHeight : function (height) {
            $('#fancybox-inner').height(height);
            var outerHeight = height+20;
            //if (version == 8.0)
            //outerHeight += 20;
            
            $('#fancybox-outer').height(outerHeight);
            $('#fancybox-wrap').height(height);
        }
    }
}

var Utils = {
    textCounter : {
        init : function (selector, limit) {
            var textarea = $(selector + ' > textarea');
            var counter = $(selector + ' > .counterbox > span');
            textarea.keydown(function (e) {
                var remain = (limit - $(this).val().length);
                counter.html(remain);
                var keycode =  e.keyCode ? e.keyCode : e.which;
                if (keycode == 8 || keycode == 46 || keycode == 37 || keycode == 38 || keycode == 39 || keycode == 40) return;
                else if ($(this).val().length >= limit)
                    e.preventDefault(); 
            });
            textarea.blur(function (e) {
                var remain = (limit - $(this).val().length);
                if (remain < 0) {
                    $(this).val($(this).val().substr(0, limit));
                }
                remain = (limit - $(this).val().length);
                counter.html(remain);
            });
            textarea.keyup(function (e) {
                var remain = (limit - $(this).val().length);
                if (remain < 0) {
                    $(this).val($(this).val().substr(0, limit));
                }
                remain = (limit - $(this).val().length);
                counter.html(remain);
            });
        }
    },
    scrollTo : function (id, time, diference) {
        var offset = $('#' + id).offset();
        var top = offset.top - diference;
        $('html, body').animate({
            scrollTop:top
        }, time);
    },
    getInternetExplorerVersion : function () {
        var rv = -1; // Return value assumes failure.
        if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null)
                rv = parseFloat(RegExp.$1);
        }
        return rv;
    }
}
