Mainnav = {};

// Init
$(document).ready( function(){
    if( $('ul.mainnav').size() > 0 ) {
        Mainnav.init();
    }
});

Mainnav.init = function() {

    var active = $('ul.mainnav > li.active:first');
    if( active.size() > 0 ) {
        Mainnav.fixLeft(active);
    }

    var timeout;
    $('ul.mainnav > li').hover(function() {
        var self = this;
        timeout = setTimeout(function() {
            Mainnav.deactivate();
            $(self).toggleClass('active', 1);
            Mainnav.fixLeft($(self));
        }, 250)
    }, function() {
        clearTimeout(timeout);
    });
}

Mainnav.fixLeft = function(active) {
    var width = 0;
    active.find('li').each(function(i, el) {
        width += $(this).outerWidth();
    });
    var ul = active.find('ul');
    ul.width(width);

    var left = active.position().left;
    if( left + width > 980 ) {
        left = 980 - width;
    }
    ul.css('left', left + 'px');
}

Mainnav.deactivate = function() {
    $('ul.mainnav li.active').toggleClass('active', 0);
}

Mainnav.reset = function() {
    Mainnav.deactivate();
    $('ul.mainnav li.current').toggleClass('active', 1);
}
