/* =================================================
 * ItemSlide v 0.0.1
 * John Norton - http://www.amplifystudios.com
   ================================================= */
(function($){
	$.fn.ItemSlider = function(options) {
		var settings = jQuery.extend({
				prevBtn:		'#signPrev',
				nextBtn:		'#signNext',
				speed:			800,
				itemWidth:		0,
				margin:			0,
				count:          0,
				ignoreLimits:   false,
				//--- dont touch! ---
				doneSlide:		true,
				obj:			null
		},options||{});
		
		$(this).each(function() {
			settings.obj = $(this);
			if(settings.count == 0) {
				settings.count = settings.obj.children().size() - 1;
			}
			settings.obj.parent().css('overflow', 'hidden');
			settings.obj.css('margin-left', settings.margin+'px');
			if(!settings.ignoreLimits) {
				$(settings.prevBtn).css('display', 'none');
			}
			settings.obj.width(settings.obj.children().size()*settings.itemWidth);
			$(settings.prevBtn).bind('click', function(e){
				slide('prev');
			});
			$(settings.nextBtn).bind('click', function(e){
				slide('next');
			});
			
			slide = function(d) {
				if(settings.doneSlide)
				{
					d = d == 'next' ? '-' : '';
					l = settings.obj.css('margin-left');
					m = parseInt(l.substr(0, l.length-2));
					if((!(m >= settings.margin && d == '') && !(-m > settings.count*settings.itemWidth/2 && d == '-')) || settings.ignoreLimits ) {
						if( d == '-' ) {
							m = m - settings.itemWidth;
							$(settings.prevBtn).fadeIn(settings.speed);
							if (-m > settings.count * settings.itemWidth / 2 && !settings.ignoreLimits)
								$(settings.nextBtn).fadeOut(settings.speed);
						}
						else {
							m = m + settings.itemWidth;
							$(settings.nextBtn).fadeIn(settings.speed);
							if (m >= settings.margin && !settings.ignoreLimits)
								$(settings.prevBtn).fadeOut(settings.speed);
						}
						settings.doneSlide = false;
						settings.obj.animate({marginLeft: (m+'px')}, settings.speed, doneslide);
					}
				}
			};
			
			doneslide = function() {
				settings.doneSlide = true;
			};
					
		});
			
	};
})(jQuery);
