$.fn.slide = function(settings) {

	// Default configuration properties.
	var defaults = $.extend({
		vertical: false,
		elementWidth: 129,
		elementsNumber: 10,
		lastElementWidth: 0,
		click: 0,
		numberOfVisibleElements: 5
	}, settings || {});

	var maskElement = this.children(".mask");
	var ulElement = this.children(".mask").children("ul");
	var leftButton = this.children(".prev");
	var rightButton = this.children(".next");

	defaults.elementsNumber = this.children(".mask").children("ul").children().length;
	ulElement.css("width", defaults.elementWidth*defaults.elementsNumber);

	leftButton.click(function() {
		if (defaults.click < (defaults.elementsNumber-defaults.numberOfVisibleElements)) {
			defaults.click++;
			if (defaults.click == (defaults.elementsNumber-defaults.numberOfVisibleElements)) {
				ulElement.animate({ marginLeft: "-="+defaults.lastElementWidth }, 600);
			} else {
				ulElement.animate({ marginLeft: "-="+defaults.elementWidth }, 600);
			}
		} else {
			ulElement.animate({ marginLeft: "0" }, 600);
			defaults.click=0;
		}
		return false;
	});

	rightButton.click(function() {
		if (defaults.click > 0) {
			defaults.click--;
			if (defaults.click == (defaults.elementsNumber-(defaults.numberOfVisibleElements+1))) {
				ulElement.animate({ marginLeft: "+="+defaults.lastElementWidth }, 600);
			} else {
				ulElement.animate({ marginLeft: "+="+defaults.elementWidth }, 600);
			}
		}
		return false;
	});
};