jQuery.fn.accessNews = function(settings) {
    settings = jQuery.extend({
        sliderSpeed: "normal",
		numberOfSlidesToMove: 1,
		currentNumberOfSlidesToMove : 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));
		var itemPaddingLeftPx = testItem.css("padding-left");
		var itemPaddingLeft = (!itemPaddingLeftPx || itemPaddingLeftPx == '')? 0 : ((isNaN (parseInt (itemPaddingLeftPx)))? 0 : parseInt (itemPaddingLeftPx));
		var itemPaddingRightPx = testItem.css("padding-right");
		var itemPaddingRight = (!itemPaddingRightPx || itemPaddingRightPx == '')? 0 : ((isNaN (parseInt (itemPaddingRightPx)))? 0 : parseInt (itemPaddingRightPx));
		var itemBorderLeftPx = testItem.css("border-left-width");
		var itemBorderLeft = (!itemBorderLeftPx || itemBorderLeftPx == '')? 0 : ((isNaN (parseInt (itemBorderLeftPx)))? 0 : parseInt (itemBorderLeftPx));
		var itemBorderRightPx = testItem.css("border-right-width");
		var itemBorderRight = (!itemBorderRightPx || itemBorderRightPx == '')? 0 : ((isNaN (parseInt (itemBorderRightPx)))? 0 : parseInt (itemBorderRightPx));
		aNewsSlider.itemWidth = itemInnerWidth + itemMarginLeft + itemMarginRight + itemPaddingLeft + itemPaddingRight + itemBorderLeft + itemBorderRight;

		$(document).ready(function(){  
			aNewsSlider.init(settings,this);
			jQuery(".viewall > a", this).click(function() {
				aNewsSlider.vAll(settings,this);
				return false;
			});
		});
    });
};
var aNewsSlider = {
	self: this,
    itemWidth: 0,
	trackedNextNode: null,
	trackedPrevNode: null,
    init: function(s,p) {
        jQuery(".disabledmsg",p).css("display","none");
		var agent = navigator.userAgent;
		s.isMacFirefox = /Macintosh/i.test (agent) && /Firefox/i.test (agent);
		s.removeNodesDelay = isNaN (s.sliderSpeed) ? 250 : s.sliderSpeed;
		items = jQuery(".slide",p);
        itemLength = items.length;
		s.currentNumberOfSlidesToMove = s.numberOfSlidesToMove;
		if (s.currentNumberOfSlidesToMove > itemLength)
		{
			s.currentNumberOfSlidesToMove = 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);
        nextJQ = jQuery(".nextslidelink",p);
		if (nextJQ.get ().length == 0) { nextJQ = jQuery(".nextlink",p); }
        prevJQ = jQuery(".prevslidelink",p);
		if (prevJQ.get ().length == 0) { prevJQ = jQuery(".prevlink",p); }
        nextJQ.css("display","block");
        prevJQ.css("display","block");
		next = nextJQ.get () [0];
		prev = prevJQ.get () [0];
		if (navigator.vendor == 'Apple Computer, Inc.')
		{
			next.href = prev.href = 'javascript:{}';
		}
		self.next = next;
		self.prev = prev;
		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);
        });
		if (typeof tii_selectedSlideClass != 'undefined' && tii_selectedSlideClass && tii_selectedSlideClass != '')
		{
			var selectedSlideArray = jQuery ('.' + tii_selectedSlideClass).get ();
			if (selectedSlideArray.length > 0)
			{
				var select0edSlide = selectedSlideArray [0];
				var selectedSlideIndex = 0;
				var itemsArray = items.get ();
				for (var i = 0; i < itemLength; i++)
				{
					if (itemsArray [i].className.indexOf (tii_selectedSlideClass) > -1) { break; } else { selectedSlideIndex++; }
				}
				if (selectedSlideIndex > 0) { aNewsSlider.moveSlider (s, p, true, -1, selectedSlideIndex); }
			}
		}
    },
	moveSlider: function (s, p, moveToNext, directionMultiplier, alternateNumberToMove)
	{
			if (alternateNumberToMove > 0) { s.currentNumberOfSlidesToMove = alternateNumberToMove; } else { s.currentNumberOfSlidesToMove = s.numberOfSlidesToMove; }
			if (s.stopClick)
			{
				return;
			}
			else
			{
				s.stopClick = true;
			}
			var newLeft = aNewsSlider.copyNodes (s, p, moveToNext);
			s.animateLeft = newLeft + (aNewsSlider.itemWidth * s.currentNumberOfSlidesToMove * directionMultiplier);
			slidesContainer.animate({left: s.animateLeft}, s.sliderSpeed, function ()
			{
				if (s.isMacFirefox)
				{
					var removeNodesDelay = setTimeout (function ()
					{
						aNewsSlider.removeNodes (s, p, moveToNext);
						s.stopClick = false;
					}, s.removeNodesDelay);
				}
				else
				{ 
					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.currentNumberOfSlidesToMove; 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.currentNumberOfSlidesToMove; i++)
		{
			if (moveToNext)
			{
				var firstChildEl = containerEl.firstChild;
				slidesContainer.css("left", (tempLeft += aNewsSlider.itemWidth) + "px");
				firstChildEl.style.display = 'none';
				containerEl.removeChild (firstChildEl);
			}
			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(".nextlink",p).css("display","none");
            jQuery(".prevlink",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);
        }
    }
};

tii_callFunctionOnWindowLoad (function ()
{
    $(".contentslider").accessNews({
        sliderSpeed: 250, // 1 sec = 1000
		numberOfSlidesToMove: 1
    });


	/*
    sliderSpeed: "normal"          (String/Integer)  |  "slow","normal","fast", or an integer, with 1 being the fastest animation.
    */
});