(function($,global){
    var doc_ready = false;
	
global.FeaturedCreatorWidgetHandler = function() {
        var publicAPI = null,
            numItems = 0,
            curIdx = 0,
            scrolling = false
            ;
        
         function init() {
            $(".featuredcreators.js .controls .next").click(nextCreator);
            $(".featuredcreators.js .controls .prev").click(prevCreator);

            numItems = $(".featuredcreators.js .slide-entry").get().length;
            
            updateControls();
            
            initCreator();
        }
        
        function initCreator() {
            var artLink = $(".bio .articleLink",$(".featuredcreators.js .slide-entry").get(curIdx));
            
            $(".featuredcreators.js .controls .articleLink").stop().children("a")
            .attr("href",$(artLink).attr("href"))
            .text($(artLink).text())
            .removeClass()
            .addClass($(artLink).attr("class").replace(/hidden|articleLink/ig,""))
            .end()
            .show();
            scrolling = false;
        }
        
        function nextCreator(evt) {
            if (!scrolling) {
                if (curIdx < (numItems-1)) {
                    scrolling = true;
                    curIdx++;
                    $(".featuredcreators.js .controls .articleLink").hide(250);
                    $(".featuredcreators.js .cs-slide-master").animate({left:"-=499"},300,null,initCreator);
                }
                updateControls();
            }
            evt.preventDefault();
            return false;
        }
        
        function prevCreator(evt) {
            if (!scrolling) {
                if (curIdx > 0) {
                    scrolling = true;
                    curIdx--;
                    $(".featuredcreators.js .controls .articleLink").hide(250);
                    $(".featuredcreators.js .cs-slide-master").animate({left:"+=499"},300,null,initCreator);
                }
                updateControls();
            }
            evt.preventDefault();
            return false;
        }
        
        function updateControls() {
            if (curIdx == 0) $(".featuredcreators.js .controls .prev").addClass("disabled");
            else $(".featuredcreators.js .controls .prev").removeClass("disabled");
            if (curIdx >= (numItems-1)) $(".featuredcreators.js .controls .next").addClass("disabled");
            else $(".featuredcreators.js .controls .next").removeClass("disabled");
        } 
        
        publicAPI = {
            init:init
        };
        return publicAPI;


    }();
    
    
    
    $(document).ready(function(){

        doc_ready = true;

        global.FeaturedCreatorWidgetHandler.init();

    });
})(jQuery,window);