(function($)
{   
	$.fn.extend
	(
		{    
			ElectricSlide: function(options) 
			{  
				var defaults = 
				{  
					itemsSelector: "li",
					slideWidth: 350,
					previousToggleSelector: ".previous",
					nextToggleSelector: ".next",
					slideSpeedMilliseconds: 1000
				}; 
			
				var options =  $.extend(defaults, options);  

				return this.each
				(
					function() 
					{  
						var electric_slide = jQuery(this);
						electric_slide.css("position", "relative");
						
						var o = options;  
	
						var aryItems = electric_slide.children(o.itemsSelector);
						
						for(var i = 0; i < aryItems.length; i++)
						{
							var item = jQuery(aryItems.get(i));
							item.css("float", "left");
							item.css("position", "absolute");
							item.css("left", i * o.slideWidth);
						}
						
						var prev = jQuery(o.previousToggleSelector);
						
						prev.click
						(
							function()
							{
								var iFirstLeft = parseInt(jQuery(aryItems.get(0)).css("left").replace("px", ""));
								var iLastLeft = parseInt(jQuery(aryItems.get(aryItems.length - 1)).css("left").replace("px", ""));
								
								if(iFirstLeft >= 0)
									aryItems.animate({left : '-=' + iLastLeft}, o.slideSpeedMilliseconds);
								else
									aryItems.animate({left : '+=' + o.slideWidth}, o.slideSpeedMilliseconds);
							}
						);
						
						var next = jQuery(o.nextToggleSelector);
						
						next.click
						(
							function()
							{
								var iFirstLeft = parseInt(jQuery(aryItems.get(0)).css("left").replace("px", ""));
								var iLastLeft = parseInt(jQuery(aryItems.get(aryItems.length - 1)).css("left").replace("px", ""));
								
								if(iLastLeft < 1)
									aryItems.animate({left : '+=' + (-1 * iFirstLeft)}, o.slideSpeedMilliseconds);
								else
									aryItems.animate({left : '-=' + o.slideWidth}, o.slideSpeedMilliseconds);
							}
						);
					}
				);  
			}  
		}
	);  	      
}
)(jQuery);  
