(function($) {
	
	$.fn.siteSlider = function(options){	
				
		
		// Extend our default options with those provided.
		var opts = $.extend({}, $.fn.siteSlider.defaults, options);		
		
		$(this).data("opts", opts);
		$(this).data("current", 1);
		$(this).data("size_per_site", $(this).find(".slide:first").width() + parseInt($(this).find(".slide:first").css("marginRight")));
		$(this).data("max", $(this).find(".slide").size() + 1);
		$(this).data("min", 1);
		
		var $this = $(this);
		
		$(this).find(opts.previous).click(function(){			
			moveSlide($this, 'prev');				
			return false;
		})
		
		$(this).find(opts.next).click(function(){		
			moveSlide($this, 'next');			
			return false;
		})				
		
		return this;
	}
	
	function moveSlide(slider, direction)
	{		
		
		if(slider.data("lock") == 'true'){return false;}		
				
		if(direction == 'prev'){
			if(parseInt(slider.data("min")) >=  (parseInt(slider.data("current")))){
				return false;
			}
		} 			
		
		if(direction == 'next'){			
			if (parseInt(slider.data("max")) <= parseInt(slider.data("current") + slider.data("opts").sitePerMove)) {
				return false;
			}
		}
		
		slider.data("lock", 'true');
		
		var wrapper = $(slider.data("opts").wrapper);
		
		var move =	  parseInt(slider.data("size_per_site")) * slider.data("opts").sitePerMove;
		var currentMargin = parseInt(wrapper.css("marginLeft"));
		if (direction == 'prev') {
			var newMargin = (currentMargin + move);
			slider.data("current", slider.data("current") - slider.data("opts").sitePerMove);	
		}else{
			var newMargin = (currentMargin - move);
			slider.data("current", slider.data("current") + slider.data("opts").sitePerMove);	
		}
			
		wrapper.animate({
			"marginLeft": newMargin
			},slider.data("opts").speed, function(){
			slider.data("lock", 'false');
		} );
	}
		
	//
	// default parameters
	//
	$.fn.siteSlider.defaults = {
		wrapper 		: '.site_slider_wrapper',		
		previous		: '.previous_slide',
		next			: '.next_slide', 
		delaySlide		: 0,
		speed			: "normal",
		sitePerMove		: 1	
	};	
				
})(jQuery);
