var mainMenuSLider = function(opt){

    // Initialize container opacity
    opt.outerContainer.css('opacity', opt.initialOpacity);

    // FadeIn container
    $(window).load(function(){
        opt.outerContainer.fadeTo(opt.initialFadeIntroSpeed, opt.containerFade);
    });

    var winWidth = $(window).width();
    var padding = opt.outerContainer.css("paddingRight").replace("px", "");
    var sliderWidth = winWidth - padding;

    // Set thumbScroller width
    opt.thumbScroller.css("width", sliderWidth);

    // Define total width
    var totalWidth = 0;
    opt.thumbScrollerContent.each(function () {
        var $this = $(this);
        totalWidth += $this.innerWidth();
        opt.thumbScrollerContainer.css("width", totalWidth);
        $this.find(".thumb").fadeTo(opt.fadeSpeed, opt.containerFade);
    });

    var sliderLeft = opt.thumbScrollerContainer.position().left;
    var sliderCenter = ((totalWidth - sliderWidth) / 2);

    var getStartPoint = function(){
        return - ((opt.startFrom == "center") ? sliderCenter : sliderLeft);
    };

    // Define scroller start point
    opt.thumbScrollerContainer.offset({left: getStartPoint()});


    // Scrolling
    opt.thumbScroller.mousemove(function(e){
        if(opt.thumbScrollerContainer.width() > sliderWidth){
            var mouseCoords = (e.pageX - this.offsetLeft);
            var mousePercentX = mouseCoords / sliderWidth;
            var destX = -(((totalWidth-(sliderWidth)) - sliderWidth) * (mousePercentX));
            var thePosA = mouseCoords-destX;
            var thePosB = destX-mouseCoords;

            if(mouseCoords > destX){
                opt.thumbScrollerContainer.stop().animate({left: - thePosA}, opt.animSpeed, opt.easeType);
            } else if(mouseCoords<destX){
                opt.thumbScrollerContainer.stop().animate({left: thePosB}, opt.animSpeed, opt.easeType);
            } else {
              opt.thumbScrollerContainer.stop();
            }
        }
    });

    // Fading of outer content
    opt.outerContainer.hover(
        // onMouseOver
        function(){
            var $this = $(this);
            $this.stop().fadeTo("slow", 1);
        },
        // onMouseOut
        function(){
            var $this = $(this);
            $this.stop().fadeTo("slow", opt.containerFade);
        }
    );

    // Fading of inner content
    opt.thumbScrollerThumb.hover(
        // onMouseOver
        function(){
            var $this = $(this);
            $this.stop().fadeTo(opt.fadeSpeed, 1);
        },
        // onMouseOut
        function(){
            var $this = $(this);
            $this.stop().fadeTo(opt.fadeSpeed, opt.contentFade);
        }
    );

    // On window resize scale image and reset thumbnail scroller
    $(window).resize(function() {
        sliderCenter = ((totalWidth - sliderWidth) / 2) + 800;
        sliderLeft = opt.thumbScrollerContainer.position().left;
        opt.thumbScrollerContainer.stop().animate({left : getStartPoint() }, opt.animSpeed, opt.easeType);
        var newWidth = $(window).width() - padding;
        opt.thumbScroller.css("width", newWidth);
        sliderWidth = newWidth;
    });

};
