(function($) {
 
 $.fn.workBocx = function() {
 
   this.each(function() {
    var currentPosition = 0;
    var slideWidth = 625;
    var slideHeight = 350;
    var slides = $('.panel');
    var numberOfSlides = slides.length;
    
    // Remove scrollbar in JS
    $('#about_panels').css('overflow', 'hidden');
    
    // Wrap all .slides with #slideInner div
    slides.wrapAll('<div id="slideInner"></div>')    // Float left to display horizontally, readjust .slides width
    .css({
        'float': 'left',
        'width': slideWidth
    });
    
    // Set #slideInner width equal to total width of all slides
    $('#slideInner').css('width', slideWidth * numberOfSlides);
    
    // Insert left and right arrow controls in the DOM
    $('#about_panels').append('<ul id="panel_controls"><li class="panels_control" id="previous_panel"><a><span></span>Previous</a></li><li class="panels_control" id="next_panel"><a><span></span>Next</a></li></ul>');
    
    // Hide left arrow control on first load
    manageControls(currentPosition);

    $('#about_panels').height($('#about_panels').height());

    // Create event listeners for .controls clicks
    $('.panels_control').bind('click', function(){
        // Determine new position
        currentPosition = ($(this).attr('id') == 'next_panel') ? currentPosition + 1 : currentPosition - 1;
        // Hide / show controls
        manageControls(currentPosition);
        // Move slideInner using margin-left
        $('#slideInner').animate({
            'marginLeft': slideWidth * (-currentPosition)
        });
    });
    
    // manageControls: Hides and shows controls depending on currentPosition
    function manageControls(position){
        // Hide left arrow if position is first slide
        if (position == 0) {
            $('#previous_panel').hide()
        }
        else {
            $('#previous_panel').show()
        }
        // Hide right arrow if position is last slide
        if (position == numberOfSlides - 1) {
            $('#next_panel').hide()
        }
        else {
            $('#next_panel').show()
        }
    }
   });
 
   return this;
 
 };
 
})(jQuery);