jQuery.fn.imageSlider = function(options){
  if (jQuery(this).length == 0) {
    return false;
  }
  if (jQuery('li:first + li',this).length == 0 ){
    return false;
  }

	//default settings 
	var opts = jQuery.extend({}, jQuery.fn.imageSlider.options, options);
	
	var pos1 = jQuery('li:first',this).position().left;
	var pos2 = jQuery('li:first + li',this).position().left;
	var offset = pos2-pos1-1;
	var viewport = parseInt(this.parent().width().replace('px',''));
	var visible = Math.ceil(viewport / offset);
	
	jQuery(jQuery.fn.imageSlider.options.back_selector).click(function() {jQuery.fn.slideImages(-1,offset,jQuery.fn.imageSlider.options.speed,jQuery(jQuery.fn.imageSlider.options.gallery_selector),visible);return false;});
	jQuery(jQuery.fn.imageSlider.options.forward_selector).click(function() {jQuery.fn.slideImages(1,offset,jQuery.fn.imageSlider.options.speed,jQuery(jQuery.fn.imageSlider.options.gallery_selector),visible);return false;});
	
	return this.each(function(){
		
	});
}
jQuery.fn.imageSlider.options = {
	gallery_selector : '#images',
	back_selector : '.back',
	forward_selector : '.forward',
	speed : 400
}

jQuery.fn.slideImages = function(way,offset,speed,gallery,visible){
	var margin = parseInt(gallery.css('margin-left').replace('px',''));
	var end = (jQuery('li',gallery).length - visible + 1) * -offset;
	//edge
	if(way < 0 && margin >= 0) return;
	if(way > 0 && margin <= end) return;
	var add = (-offset * way) + margin;
	gallery.animate({marginLeft: add + 'px'}, speed );
}
