(function($) {
 $.fn.ContentSlider = function(options)
 {
 var defaults = {
 leftBtn : 'images/cs_leftImg.jpg',
 rightBtn : 'images/cs_rightImg.jpg',
 width : '900px',
 height : '400px',
 numSlides : 1,
 speed : 400,
 easing : 'easeOutQuad',
 textResize : false,
 IE_h2 : '26px',
 IE_p : '11px'
 }
 var defaultWidth = defaults.width;
 var o = $.extend(defaults, options);
 var w = parseInt(o.width);
 var slideWidth = Math.floor((parseInt(o.width) - 90)/o.numSlides);
 var n = this.children('.cs_wrapper').children('.cs_slider').children('.cs_article').length;
 var x = -1 * ((n - o.numSlides) * slideWidth); // Minimum left value
 var p = parseInt(o.width)/parseInt(defaultWidth);
 var thisInstance = this.attr('id');
 var inuse = false; // Prevents colliding animations
 var autoD, autoT, autoB; //will be used for automatic scrolling

 //var autoT = setTimeout('moveSlider(' + autoD + ', )', 10000);
 
 function moveSlider(d, b)
 {
 clearTimeout(autoT);
 var l = parseInt(b.siblings('.cs_wrapper').children('.cs_slider').css('left'));
 if(isNaN(l)) {
 var l = 0;
 }
 var m = (d=='left') ? l-(slideWidth * o.numSlides) : l+(slideWidth * o.numSlides);
 
 if(m<=0&&m>=x) {
 b
 .siblings('.cs_wrapper')
 .children('.cs_slider')
 .animate({ 'left':m+'px' }, o.speed, o.easing, function() {
 inuse=false;
 });

 if(b.attr('class')=='cs_leftBtn') {
 var thisBtn = $('#'+thisInstance+' .cs_leftBtn');
 var thisHolder = $('#'+thisInstance+' .cs_leftHolder');
 var otherBtn = $('#'+thisInstance+' .cs_rightBtn');
 var otherHolder = $('#'+thisInstance+' .cs_rightHolder');
 } else {
 var thisBtn = $('#'+thisInstance+' .cs_rightBtn');
 var thisHolder = $('#'+thisInstance+' .cs_rightHolder');
 var otherBtn = $('#'+thisInstance+' .cs_leftBtn');
 var otherHolder = $('#'+thisInstance+' .cs_leftHolder');
 }
 if(m==0||m==x) {
 	thisBtn.animate({ 'opacity':'0' }, o.speed, o.easing, function() { thisBtn.hide(); });
 	thisHolder.show().animate({ 'opacity':'1' }, { duration:o.speed, easing:o.easing });
 	
 	autoB = otherBtn;
 	if(d=='left')
 		autoD ='right';	
 	else
 		autoD = 'left';
 }
 if(otherBtn.css('opacity')=='0') {
 otherHolder.animate({ 'opacity':'0' }, o.speed, o.easing, function() { otherHolder.hide(); });
 otherBtn.show().animate({ 'opacity':'1' }, { duration:o.speed, easing:o.easing });
 }
 }
 autoT = setTimeout(function() { moveSlider(autoD, autoB);}, 10000);
}
 function vCenterBtns(b)
 {
 // Safari and IE don't seem to like the CSS used to vertically center
 // the buttons, so we'll force it with this function
 var mid = parseInt(o.height)/2;
 b
 .find('.cs_leftBtn img').css({ 'padding':0 }).end()
 .find('.cs_rightBtn img').css({ 'padding':0 });
 }

 return this.each(function() {
 $(this)
 // Set the width and height of the div to the defined size
 .css({
 width:o.width,
 height:o.height
 })
 // Add the buttons to move left and right
 //temporary solution for this particular demo
 //.prepend('<a href="#" class="cs_leftBtn"> </a><div class="cs_leftHolder"></div>')
 //.append('<div class="cs_rightHolder"></div><a href="#" class="cs_rightBtn"> </a>')
 .prepend('<a href="#" class="cs_leftBtn"><img src="'+o.leftBtn+'" /></a>')
 .append('<a href="#" class="cs_rightBtn"><img src="'+o.rightBtn+'" /></a>')
 // Dig down to the article div elements
 .find('.cs_article')
 // Set the width and height of the div to the defined size
 .css({
 width:slideWidth,
 height:o.height
 })
 .end()
 // Animate the entrance of the buttons
 .find('.cs_leftBtn')
 .css('opacity','0')
 .hide()
 .end()
 .find('.cs_rightBtn')
 .hide()
 .animate({ 'width':'show' });

 // Resize the font to match the bounding box
 if(o.textResize===true) {
 var h2FontSize = $(this).find('h2').css('font-size');
 var pFontSize = $(this).find('p').css('font-size');
 $.each(jQuery.browser, function(i) {
 if($.browser.msie) {
 h2FontSize = o.IE_h2;
 pFontSize = o.IE_p;
 }
 });
 $(this).find('h2').css({ 'font-size' : parseFloat(h2FontSize)*p+'px', 'margin-left' : '37%' });
 $(this).find('p').css({ 'font-size' : parseFloat(pFontSize)*p+'px', 'margin-left' : '37%' });
 $(this).find('.readmore').css({ 'font-size' : parseFloat(pFontSize)*p+'px', 'margin-left' : '37%' });
 }

 // Store a copy of the button in a variable to pass to moveSlider()
 var leftBtn = $(this).children('.cs_leftBtn');
 leftBtn.bind('click', function() {
 if(inuse===false) {
 inuse = true;
 moveSlider('right', leftBtn);
 }
 return false; // Keep the link from firing
 });

 // Store a copy of the button in a variable to pass to moveSlider()
 var rightBtn = $(this).children('.cs_rightBtn');
 rightBtn.bind('click', function() {
 if(inuse===false) {
 inuse=true;
 moveSlider('left', rightBtn);
 }
 return false; // Keep the link from firing
 });

 vCenterBtns($(this)); // This is a CSS fix function.
 
 	autoD = 'left'; //starts as if right button was clicked
 	autoB = rightBtn;
 	autoT = setTimeout(function() { moveSlider(autoD, autoB);}, 5000);
 });
 }
})(jQuery);