(function(jq){
    jq.fn.directors = function() {
        return this.each(function(){
            
            var list = jq(this).find('div.director');            
            var activ;
            if(list.length>1 && jq('#cms_toolbar_edit_button_on').length<1) {
                list.each(function(i) { 
                    if(!jq(this).find('img.portrait').length>0) {
                        jq(this).remove();
                        list.splice(i, 1)
                    }
                });
                var container = jq(this).addClass('directors_js');
                var menu = jq('<div class="director_menu" />');
                var thumbs = jq('<div class="director_thumbs">').prependTo(menu);
                var width = 0;
                var min = 752;
                var thumb = [];
                var lock = false;
                var show = function() {
                    if(active !== this.big) {
                        jq(thumb[active]).css({'opacity':0.7});
                        jq(list[active]).fadeOut(500);
                        active = this.big;
                        jq(list[active]).fadeIn(500);
                        jq(thumb[active]).css({'opacity':1});
                    }
                }
                
                var unlock = function() {
                    lock = false;
                }
                
                var move = function() {
                    if(lock===false) {
                        lock = true;
                        var now = thumbs.position().left;
                        if(jq(this).hasClass('left')) {
                            left = now<40 ? now+94 : 40;
                        } else {
                            left  = now > (min-width+40) ? now-94 : min - width + 40;
                            //left +=40
                        }
                        thumbs.animate({'left':left+'px'}, 200, unlock)
                    }
                }
                
                list.each(function(i) {
                    
                    jq(this).addClass('director_js');
                    var img = jq(this).find('img.portrait').clone().removeClass('portrait').addClass('pthumb').appendTo(thumbs);
                    img[0].big = i;
                    img.hover(
                        function() { 
                            jq(this).css({'opacity':1}); 
                        },
                        function() { 
                            if(this.big!=active) {
                                jq(this).css({'opacity':0.7}); 
                            }
                        }
                    ).click(show);
                    if(i>0) { 
                        jq(this).css({'display':'none'}); 
                        img.css({'opacity':0.7})
                    } else {
                        active = 0;
                    }
                    thumb[i] = img;
                    width += 94;
                });
                
                thumbs.css({'width': width + 'px'});
                if(width>min) { 
                    jq('<a class="move left" /><a class="move right" />').appendTo(menu).click(move)
                }
                
                container.prepend(menu)
                
            }
        });
    }
})(jQuery);
