/**
 * We use the initCallback callback
 * to assign functionality to the controls
 */
function mycarousel_initCallback(carousel) {
    $('.jcarousel-control a').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
        $('.jcarousel-control a').removeClass('active');
        $(this).addClass("active");
        return false;
    });

    $('.jcarousel-scroll').bind('change', function() {
        carousel.options.scroll = jQuery.jcarousel.intval(this.options[this.selectedIndex].value);
        return false;
    });
};

function itemLoadCallbackFunction(carousel, state)
{
    $(".jcarousel-control a").removeClass("active");
    
    for (var i = carousel.first; i <= carousel.last; i++) {
        cont = i - 1;
        $(".jcarousel-control a:eq(" + cont + ")").addClass("active");
    }
};


$(document).ready(function(){
    $('.popup').click(function(){
        janela = window.open($(this).attr('href'),'Pagamento','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=800,height=600');
        janela.focus();
        return false;
    })

    /**
     * formulário submete os dados para o controller e retorna os campos inválidos via json.
     * Quando os campos estiverem válidos redireciona o usuário com a mensagem de sucesso.
     **/
    $('#register_box form').submit(function(){
        var query = $(this).serialize();
        //posta os dados para a action definida no form
        $.post($(this).attr('action'),query, function(data) {
            if(!data.success){
                //remove erros anteriores
                $(".error-message").remove();
                var msg = '';
                $.each(data.error,function(i,v){
                    //adiciona erro para cada campo inválido
                    msg +=  v + '\r\n';
                })
                alert(msg);

                $('#NewsletterNome').addDefaultText();
                $('#NewsletterEmail').addDefaultText();
            }else{
                //redireciona o usuario
                window.location = data.success;
            }
        },'json');
        return false;
    })

    $(".useDefault").addDefaultText();
    
    $("#showcase").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        itemLoadCallback: itemLoadCallbackFunction,
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null,
        auto: 20
    });

    $('a[rel=external]').attr('target','_blank');
      
});
