jQuery.fn.accessNews = function(settings) {
    settings = jQuery.extend({
        newsHeadline: "Top Stories",
        newsSpeed: "normal",
		scrollCount: 4
    }, settings);
    return this.each(function(i) {
        aNewsSlider.itemWidth = parseInt($(".item:eq(" + i + ")",".news_slider").css("width")) + parseInt($(".item:eq(" + i + ")",".news_slider").css("margin-right"));
        aNewsSlider.init(settings,this);
        $(".view_all > a", this).click(function() {
            aNewsSlider.vAll(settings,this);
            return false;
        });
    });
};
var aNewsSlider = {
    itemWidth: 0,
    init: function(s,p) {
        $(".messaging",p).css("display","none");
        itemLength = $(".item",p).length;
		slideWidth = aNewsSlider.itemWidth * s.scrollCount;
        if ($(".view_all",p).width() == null) {
            $(".news_items",p).prepend("<p class='view_all'>" + s.newsHeadline + " [ " + itemLength + " total ] &nbsp;-&nbsp; <a href='#'>View All</a></p>");
        }
        newsContainerWidth = itemLength * aNewsSlider.itemWidth;
        $(".container",p).css("width",newsContainerWidth + "px");
        $(".next",p).css("display","block");
        animating = false;
        $(".next",p).click(function() {
            if (animating == false) {
                animating = true;
                animateLeft = parseInt($(".container",p).css("left")) - slideWidth;
                if (animateLeft + parseInt($(".container",p).css("width")) > 0) {
                    $(".prev",p).css("display","block");
                    $(".container",p).animate({left: animateLeft}, s.newsSpeed, function() {
                        $(this).css("left",animateLeft);
                        if (parseInt($(".container",p).css("left")) + parseInt($(".container",p).css("width")) <= slideWidth) {
                            $(".next",p).css("display","none");
                        }
                        animating = false;
                    });
                } else {
                    animating = false;
                }
            }
            return false;
        });
        $(".prev",p).click(function() {
            if (animating == false) {
                animating = true;
                animateLeft = parseInt($(".container",p).css("left")) + slideWidth;
                if ((animateLeft + parseInt($(".container",p).css("width"))) <= parseInt($(".container",p).css("width"))) {
                    $(".next",p).css("display","block");
                    $(".container",p).animate({left: animateLeft}, s.newsSpeed, function() {
                        $(this).css("left",animateLeft);
                        if (parseInt($(".container",p).css("left")) == 0) {
                            $(".prev",p).css("display","none");
                        }
                        animating = false;
                    });
                } else {
                    animating = false;
                }
            }
            return false;
        });
    },
    vAll: function(s,p) {
        var o = p;
        while (p) {
            p = p.parentNode;
            if ($(p).attr("class") != undefined && $(p).attr("class").indexOf("news_slider") != -1) {
                break;
            }
        }
        if ($(o).text().indexOf("View All") != -1) {
            $(".next",p).css("display","none");
            $(".prev",p).css("display","none");
            $(o).text("View Less");
            $(".container",p).css("left","0px").css("width", slideWidth + "px");
        } else {
            $(o).text("View All");
            aNewsSlider.init(s,p);
        }
    }
};
