(function($){
		$.fn.slide2 = function(options){
		var defaults = {
			slideWidth: 81,
			duration: 500
		};
		var options = $.extend(defaults, options);
		return this.each(function(){
		  	var slideshow = $(this);
			var o = options;
			var currentPosition = 0;
			var slides = $('.slide');
			var numberOfSlides = slides.length;


			  
			// Remove scrollbar in JS
			$('#slidesContainer').css('overflow', 'hidden');

			// Wrap all .slides with #slideInner div
			slides.wrapAll('<div id="slideInner"></div>')
			
			// Float left to display horizontally, readjust .slides width
			.css({
				 'float' : 'left',
				 'width' : o.slideWidth
			});
			
			// Insert a clone of first slide 
			$('.slide:first').clone().appendTo('#slideInner');
			  
			// Set #slideInner width equal to total width of all slides
			$('#slideInner').css('width', o.slideWidth * (numberOfSlides+1));

			// Insert controls in the DOM	
			$(".controls")
//			slideshow
			.prepend('<span class="control" id="leftControl"><img src="/images/arrow_left.jpg" width="81" height="81"></span>')
			.append('<span class="control" id="rightControl"><img src="/images/arrow_right.jpg" width="81" height="81"></span>');

			var int = null;
			$('#rightControl').hover(function() {
			  int = setInterval(function(){ next()}, 300);
			}, function() {

			  clearInterval(int);

			}); 

			$('#leftControl').hover(function() {
			  int = setInterval(function(){ prev()}, 350);
			}, function() {

			  clearInterval(int);

			}); 
		  
			// Start
			init();
			
			//Init function
			function init()
			{
				manageControls(currentPosition);
				if(o.autoplay==true) setNextTimeOut(o.duration);
			}
			
			// Next
			
			function next()
			{
				currentPosition++;
				if(currentPosition >= (numberOfSlides-10) ) {/*alert(currentPosition);*/$('#slidesContainer').stop(); currentPosition=numberOfSlides; manageControls(currentPosition);}
				else slideTo(currentPosition);
			}
		  
			// Previous
			function prev()
			{

				if(currentPosition >= (numberOfSlides-10) ) {currentPosition=(numberOfSlides-11);}
				else currentPosition--;
				//alert(currentPosition);
				if(currentPosition <0) {$('#slidesContainer').stop(); currentPosition=0;}
				else {slideTo(currentPosition);}
			}
			
			// Go to a slide 
			function goto(position)
			{
				currentPosition=position;
				slideTo(currentPosition);
			}
			
			// Set time out for next slide
			function setNextTimeOut(time)
			{
				$('#slidesContainer').stop();
				// Just a crap animation to get timer, I got problem with setTimeout
				$('#slidesContainer').animate({optical: 1}, time, '', function(){next();});
			}
		  
			// Slide
			function slideTo(position)
			{
				$('#slideInner').stop();
				// usual cases
					$('#slideInner').animate({'marginLeft' : o.slideWidth*(-position)},'', '', 
						function(){ 
							manageControls(position);
						}, 2000, 'easing'
					)
			}
			
			// manageControls: Hides and Shows controls depending on currentPosition
			function manageControls(position)
			{

				// Hide left arrow if position is first slide
				if(position<=0){ $('#leftControl').hide() } else{ $('#leftControl').show() };
				// Hide right arrow if position is last slide
				if(position>=(numberOfSlides-11)){ /*alert(position);*/ $('#rightControl').hide() } else{ $('#rightControl').show() };

			}
		});
		};
	})(jQuery);

	$().ready(function() {
		$('#slideshow').slide2({duration:500});
	});
