$(function() {

    $(".contentslider").accessNews({
        sliderSpeed: 300, // 1 sec = 1000
		numberOfSlidesToMove: 1
    });

	/*
    sliderSpeed: "normal"          (String/Integer)  |  "slow","normal","fast", or an integer, with 1 being the fastest animation.
    */

});

jQuery.fn.accessNews = function(settings) {
    settings = jQuery.extend({
        sliderSpeed: "normal",
		numberOfSlidesToMove: 1
    }, settings);
    return this.each(function(i) {
		var testItem = jQuery(".slide:eq(" + i + ")",".contentslider");
        var itemInnerWidthPx = testItem.css("width");
		var itemInnerWidth = (!itemInnerWidthPx || itemInnerWidthPx == '')? 0 : ((isNaN (parseInt (itemInnerWidthPx)))? 0 : parseInt (itemInnerWidthPx));
		var itemMarginLeftPx = testItem.css("margin-left");
		var itemMarginLeft = (!itemMarginLeftPx || itemMarginLeftPx == '')? 0 : ((isNaN (parseInt (itemMarginLeftPx)))? 0 : parseInt (itemMarginLeftPx));
		var itemMarginRightPx = testItem.css("margin-right");
		var itemMarginRight = (!itemMarginRightPx || itemMarginRightPx == '')? 0 : ((isNaN (parseInt (itemMarginRightPx)))? 0 : parseInt (itemMarginRightPx));
		aNewsSlider.itemWidth = itemInnerWidth + itemMarginLeft + itemMarginRight;

		$(document).ready(function(){  
			aNewsSlider.init(settings,this);
			jQuery(".viewall > a", this).click(function() {
				aNewsSlider.vAll(settings,this);
				return false;
			});
		});
    });
};
var aNewsSlider = {
    itemWidth: 0,
	trackedNextNode: null,
	trackedPrevNode: null,
    init: function(s,p) {
        jQuery(".disabledmsg",p).css("display","none");
		items = jQuery(".slide",p);
        itemLength = items.length;
		if (s.numberOfSlidesToMove > itemLength)
		{
			s.numberOfSlidesToMove = itemLength;
		}
		jQuery(".slidetotal",p).get () [0].innerHTML = itemLength;
        newsContainerWidth = itemLength * aNewsSlider.itemWidth;
		slidesContainer = jQuery(".slidescont",p);
        slidesContainer.css("width",newsContainerWidth + "px");
		containerEl = slidesContainer.get () [0];
		tii_dom_removeWhitespaceTextNodes (containerEl);
        jQuery(".nextslidelink",p).css("display","block");
        jQuery(".prevslidelink",p).css("display","block");
		next = jQuery(".nextslidelink",p).get () [0];
		prev = jQuery(".prevslidelink",p).get () [0];
		s.stopClick = false;
        tii_addEventHandler (next, 'click', function(event)
		{
			tii_stopDefaultAction (event);
			aNewsSlider.moveSlider (s, p, true, -1);
        }, false);
        tii_addEventHandler (prev, 'click', function(event)
		{
			tii_stopDefaultAction (event);
			aNewsSlider.moveSlider (s, p, false, 1);
        });
    },
	moveSlider: function (s, p, moveToNext, directionMultiplier)
	{
			if (s.stopClick)
			{
				return;
			}
			else
			{
				s.stopClick = true;
			}
			var newLeft = aNewsSlider.copyNodes (s, p, moveToNext);
			s.animateLeft = newLeft + (aNewsSlider.itemWidth * s.numberOfSlidesToMove * directionMultiplier);
			slidesContainer.animate({left: s.animateLeft}, s.sliderSpeed, function ()
			{
				aNewsSlider.removeNodes (s, p, moveToNext);
				s.stopClick = false;
			});
	},
	copyNodes: function (s,p, moveToNext)
	{
		aNewsSlider.trackedNextNode = null;
		aNewsSlider.trackedPrevNode = null;
		var newItems = jQuery(".slide",p);
		var tempWidth = parseInt(slidesContainer.css("width"));
		var tempLeft = parseInt(slidesContainer.css("left"));
		for (var i = 0; i < s.numberOfSlidesToMove; i++)
		{
	        slidesContainer.css("width", (tempWidth += aNewsSlider.itemWidth) + "px");
			if (moveToNext)
			{
				if (!aNewsSlider.trackedNextNode)
				{
					aNewsSlider.trackedNextNode = newItems.get (i);
				}
				else
				{
					aNewsSlider.trackedNextNode = aNewsSlider.trackedNextNode.nextSibling;
				}
				slidesContainer.append (aNewsSlider.trackedNextNode.cloneNode (true));
			}
			else
			{
				if (!aNewsSlider.trackedPrevNode)
				{
					aNewsSlider.trackedPrevNode = newItems.get (newItems.length - 1);
				}
				else
				{
					aNewsSlider.trackedPrevNode = aNewsSlider.trackedPrevNode.previousSibling;
				}
				slidesContainer.prepend (aNewsSlider.trackedPrevNode.cloneNode (true));
				slidesContainer.css("left", (tempLeft -= aNewsSlider.itemWidth) + "px");
			}
		}
		return tempLeft;
	},
	removeNodes: function (s,p, moveToNext)
	{
		var newItems = jQuery(".slide",p);
		var tempWidth = parseInt(slidesContainer.css("width"));
		var tempLeft = parseInt(slidesContainer.css("left"));
		for (var i = 0; i < s.numberOfSlidesToMove; i++)
		{
			if (moveToNext)
			{
				containerEl.removeChild (containerEl.firstChild);
				slidesContainer.css("left", (tempLeft += aNewsSlider.itemWidth) + "px");
			}
			else
			{
				containerEl.removeChild (containerEl.lastChild);
			}
	        slidesContainer.css("width", (tempWidth -= aNewsSlider.itemWidth) + "px");
		}
	},
    vAll: function(s,p) {
        var o = p;
        while (p) {
            p = p.parentNode;
            if (jQuery(p).attr("class") != undefined && jQuery(p).attr("class").indexOf("contentslider") != -1) {
                break;
            }
        }
        if (jQuery(o).text().indexOf("View All") != -1) {
            jQuery(".nextslidelink",p).css("display","none");
            jQuery(".prevslidelink",p).css("display","none");
            jQuery(o).text("View Less");
            jQuery(".slidescont",p).css("left","0px").css("width", "auto");
        } else {
            jQuery(o).text("View All");
            aNewsSlider.init(s,p);
        }
    }
};