
;(function($) {
$.fn.lkSlideshow = function(options){

	var opts = $.extend({}, $.fn.lkSlideshow.defaults, options);

	return this.each(function() {
		var slideShow = this;
		$(slideShow).wrapInner('<div id="slide-container" />');
		var container = $('#slide-container', slideShow);
		var slides  = $('.slide', slideShow);
		var numberOfSlides = slides.length;
		var currentPosition = opts.start_id;
		
		
		
		
		container.css({
			'overflow': 'hidden',
			'margin': '0 auto',
			'width' : opts.width,
			'height': opts.height,
			'position': 'relative',
			'padding-bottom': '20px'
		});	
		  // Wrap all .slides with #slideInner div
		  slides
			.wrapAll('<div id="slideInner"></div>')
			// Float left to display horizontally, readjust .slides width
			.css({
			  'float' : 'left',
			  'width' : opts.width
			});
			
		// Set #slideInner width equal to total width of all slides
		
		$('#slideInner', container).css('width', opts.width * numberOfSlides);
		if(opts.slide)
                {
                    window.setInterval(function() {
                         currentPosition++;
                         if(currentPosition >= numberOfSlides) currentPosition = 0;

                         $('#slideInner', container).animate({
                          'marginLeft' : (-1)*opts.width*(currentPosition)
                         });            
                         
                         if(opts.point)
                         {
                            $('.point', container).removeClass('active');
                            $('.point:eq('+currentPosition+')', container).addClass('active');
                         }
                         if(opts.bullet)
                         {
                            $('.control span', slideShow).removeClass('none');
                            if(currentPosition == numberOfSlides - 1) $('#rightControl span').addClass('none');
                            if(currentPosition == 0) $('#leftControl span').addClass('none');
                         }
                    }, opts.timer);
                }
		
		if(opts.bullet)
		{   
			$(slideShow)
				.prepend('<div class="control" id="leftControl"><span>left</span></div>')
				.append('<div class="control" id="rightControl"><span>right</span></div>');
				
			if(currentPosition == numberOfSlides - 1) $('#rightControl span').addClass('none');
			if(currentPosition == 0) $('#leftControl span').addClass('none');

			$('.control', slideShow)
				.click( function(){
					// Determine new position
                                        var temppos = currentPosition;
					currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition + 1 : currentPosition - 1;

					$('.control span', slideShow).removeClass('none');
					if(opts.width*(currentPosition) >= 0 && (currentPosition) < numberOfSlides)
                                            $('#slideInner', container).animate({
                                              'marginLeft' : (-1)*opts.width*(currentPosition)
                                            });
                                        else
                                            currentPosition = temppos;

					if(currentPosition == numberOfSlides - 1) $('#rightControl span').addClass('none');
					if(currentPosition == 0) $('#leftControl span').addClass('none');
				});
			
		}

		
		if(opts.point)
		{
			container.prepend('<div id="points-slideshow"></div>');

			$('#points-slideshow', container).css({
												'position': 'absolute',
												'left': 0,
												'bottom': 0
											});

			for(var i= 0; i< numberOfSlides; i++){
				$('#points-slideshow', container).append('<div class="point" id="'+ i +'" ><span class="point-'+i+'">'+ i +'</span></div>');
			}
			$('.point:eq(0)',container).addClass('active');
			$('#points-slideshow .point', container).css({
												'float': 'left',
												'cursor': 'pointer',
												'margin-right': '10px',
												'display': 'block'
											});
											
			$('.point', container).click( function(){
				// reset all point
				$('.point', container).removeClass('active');
				$(this).addClass('active');
				currentPosition = $(this).attr('id');
				$('#slideInner', slideShow).animate({
				  'marginLeft' : (-1)* opts.width*(currentPosition)
				});				
			});
			
		}
		
	});
	


};
	$.fn.lkSlideshow.defaults = {
		width: 560,
		height: 400,
		start_id: 0,
		point: false,
		bullet: true,
                slide: true,
                timer: 3000
	};

	

})(jQuery);
