$(document).ready(function(){

    //entries
    $('#entries ul').wrap('<div class="mask"></div>');
    $('#entries').prepend('<div class="control"><span class="prev">&lt;</span><span class="next">&gt;</span></div>');
    var entries_total = 0;
    var entriesLength = $('#entries li').length;
    $('#entries li').each(function(e){
        if (e != entriesLength - 1){
            $(this).append(',');
        }
        entries_total += $(this).outerWidth();
    }).parent().css({
            'left'      : '0px',
            'position'  : 'relative',
            'width'     : entries_total
        });

    endPos = entries_total - $('#entries .mask').outerWidth();

    //auto
    var entriesTimer = 0;
    entriesTimer = setInterval('entries()', 3000);

    //next
    $('#entries .control .prev').addClass('prev-disabled');
    $('#entries .control .next').bind('click', function(){
        $('#entries .control .prev').removeClass('prev-disabled');
        if (!$(this).hasClass('next-disabled') && currentPos < endPos){
            currentItem++;
            nextPos = currentPos + $('#entries li:nth-child(' + currentItem + ')').outerWidth();
            $('#entries ul').animate({'left': -nextPos}, 1000);
            currentPos = nextPos;
            if (currentPos >= endPos){
                $(this).addClass('next-disabled');
            }
        }
    }).hover(
        function(){
            $(this).addClass('next-over');
            if (!$(this).hasClass('next-disabled')){
                clearInterval(entriesTimer);
                auto = 1;
            }
        },
        function(){
            $(this).removeClass('next-over');
            if (auto == 1){
                entriesTimer = setInterval('entries()', 3000);
            }
        }
    );

    //prev
    $('#entries .control .prev').bind('click', function(){
        if ($('#entries .control .next').hasClass('next-disabled')){
            $('#entries .control .next').removeClass('next-disabled');
        }
        if (!$(this).hasClass('prev-disabled') && currentPos != startPos){
            nextPos = currentPos - $('#entries li:nth-child(' + currentItem + ')').outerWidth();
            $('#entries ul').animate({'left': -nextPos}, 1000);
            currentItem--;
            currentPos = nextPos;
            if (currentPos == startPos){
                $(this).addClass('prev-disabled');
            }
        }
    }).hover(
        function(){
            $(this).addClass('prev-over');
            if (!$(this).hasClass('prev-disabled')){
                clearInterval(entriesTimer);
                auto = 1;
            }
        },
        function(){
            $(this).removeClass('prev-over');
            if (auto == 1){
                entriesTimer = setInterval('entries()', 3000);
            }
        }
    );

    //category
    $('#extras .category .item-container').hide();
    $('#extras .category h3').each(function(){
        if ( $(this).hasClass('expanded')){
            $(this).siblings().slideDown();
        }
        $(this).bind('click', function(){
            if ($(this).siblings().css('display') == 'none'){
                $(this).addClass('expanded').siblings().slideDown();
            }
            else {
                $(this).removeClass('expanded').siblings().slideUp();
            }
        }).hover(
            function(){ $(this).addClass('over'); },
            function(){ $(this).removeClass('over'); }
        );
    })

    //content
    var max_height_item = 0;
    $('#content .item').each(function(){
        if ($(this).height() > max_height_item){
            max_height_item = $(this).height();
        }
    }).each(function(){
        $(this).css('height', max_height_item);
    });

});

var startPos = 0;
var endPos = 0;
var currentPos = 0;
var nextPos = 0;
var currentItem = 0;
var auto = 0;

function entries(){
    if (currentPos < endPos){
        $('#entries .control .prev').removeClass('prev-disabled');
        currentItem++;
        nextPos = currentPos + $('#entries li:nth-child(' + currentItem + ')').outerWidth();
        $('#entries ul').animate({'left': -nextPos}, 1000);
        currentPos = nextPos;
        if (currentPos >= endPos){
            $('#entries .control .next').addClass('next-disabled');
        }
    }
    else {
        $('#entries ul').animate({'left': startPos}, 1000);
        currentItem = 0;
        currentPos = startPos;
        $('#entries .control .prev').addClass('prev-disabled');
        $('#entries .control .next').removeClass('next-disabled');
    }
}

$(window).load(function(){

    //slider
    $('#slider').nivoSlider({
        directionNav    : false,
        keyboardNav     : false,
        captionOpacity  : .5
    });

    //logo
    var max_height_logo = 0;
    var total_width_logo = 0;
    //$('#extras .logo li img').wrap('<span></span>');
    $('#extras .logo li').each(function(){
        if ($(this).outerHeight() > max_height_logo){
            max_height_logo = $(this).outerHeight();
        }
        total_width_logo += $(this).outerWidth();
    }).each(function(){
        $(this).css({
            'padding-top': Math.floor((max_height_logo - $(this).outerHeight()) / 2),
            'height'     : max_height_logo
        });
    }).parent().css('height', max_height_logo);
    /*$('#extras .logo li span').each(function(){
        var logo = $(this).find('img').attr('src');
        var bg = logo.replace('-bw', '');
        $(this).css({
            'background': 'url(' + bg + ') no-repeat',
            'display'   : 'block'
        }).find('img').stop().hover(
            function(){ $(this).animate({'opacity': 0}, 500); },
            function(){ $(this).animate({'opacity': 1}, 500); }
        );
    });
    */
    if (total_width_logo > $('#extras .logo').width() - 40){
        $('#extras .logo').simplyScroll({
            autoMode: 'loop'
        });
    }
    else {
        $('#extras .logo').css({
            'margin'    : '0 auto',
            'padding'   : '15px 0',
            'width'     : total_width_logo
        }).wrap('<div class="logo-container"></div>').parent().css('border', '#ebebeb solid 1px');
    }

});
