(function($){

 var SlidingContent = function(element, options)
 {
     var elem   = $(element);
     var obj    = this;
     var settings = $.extend({}, options || {});

    // METHODS
    this.initSlider = function()
    {
        // hide / show nav buttons
        if (this.navPos == 0)                         $("#newsSliderLeft").hide(); else $("#newsSliderLeft").show();
        if (this.navPos >= this.itemDivs.length-1)    $("#newsSliderRight").hide();  else $("#newsSliderRight").show();

        // slide the content
        var leftIndent = (this.navPos*$('.news_item').first().width())*-1;
        var key = this.navPos + 1;

        $('.items_wrap', elem).animate({left:leftIndent}, 400, function(){

            var newHeight = $('ul li:nth-child('+key+')', elem).height();

            // set height of window to height of teaser copy
            $('#latest_news_carousel_window').css({
                'height' :  newHeight+'px'
            });
        });
    };
 };

 $.fn.slidingContent = function(options) {

    return this.each(function() {

        var obj = $(this);
        if (obj.data('slidingcontent')) return;
        
        var sc = new SlidingContent(this, options);
        obj.data('slidingcontent', sc);

        sc.navPos  = 0;
        sc.itemDivs = $(".article", obj);

        // Add buttons
        $(obj.parent()).prepend(
            '<span class="fr"><a id="newsSliderLeft" class="newsSliderNav left" href="#"><img class="left" src="images/scanLeft.gif" alt="Scan left" /></a>&nbsp;&nbsp;&nbsp;<a id="newsSliderRight" class="newsSliderNav right" href="#"><img class="right" src="images/scanRight.gif" alt="Scan right" /></a></span>'
        );
        sc.initSlider();

        // Click behaviour
        $(".newsSliderNav").click(function(e){
            e.preventDefault();

            sc.navPos += ($(e.target).hasClass('right')) ? 1 : -1;
            sc.initSlider();

        });
    });
 };
})(jQuery);
