jQuery.fn.codaSlider = function(settings) {
	settings = jQuery.extend({
		easeFunc: "easeInOutExpo",
		easeTime: 500,
		toolTip: false
	}, settings);
	return this.each(function() {
		var container = jQuery(this);
		var panelWidth = container.find("li.panel").width();
		var panelCount = container.find("li.panel").size();
		var viewPortWidth = panelWidth * 12;
		var stripViewerWidth = panelWidth * panelCount;
		container.find("div.panelWrapper").css("width", viewPortWidth);
		container.find("ul.panelContainer").css("width", stripViewerWidth);
		container.hide();

		var cnt = 0;

		container.each(function(i) {
			if (viewPortWidth >= stripViewerWidth) {
				container.find("div.panelNavR").find("img").css("visibility", "hidden");
				container.find("div.panelNavL").find("img").css("visibility", "hidden");
			} else {
				container.find("div.panelNavR").click(function(){
					/* if (cnt - viewPortWidth + stripViewerWidth <= 0 ) {
						cnt = 0;
					} else */
					if (cnt - viewPortWidth + stripViewerWidth < viewPortWidth) {
						cnt = viewPortWidth - stripViewerWidth;
					} else {
						cnt -= viewPortWidth;
					};
					jQuery(this).parent().find("ul.panelContainer").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
					//jQuery("div#debug").html( " panelWidth:" + panelWidth + " panelCount:" + panelCount + " stripViewerWidth:" + stripViewerWidth + " viewPortWidth:" + viewPortWidth + " cnt:" + cnt );
					return false;
				});
				container.find("div.panelNavL").click(function(){
					if (cnt + viewPortWidth >= 0 ) {
						cnt = 0;
					} else {
						cnt += viewPortWidth;
					};
					jQuery(this).parent().find("ul.panelContainer").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
					//jQuery("div#debug").html( " panelWidth:" + panelWidth + " panelCount:" + panelCount + " stripViewerWidth:" + stripViewerWidth + " viewPortWidth:" + viewPortWidth + " cnt:" + cnt );
					return false;
				});
			}
		});
	});
};