/*
 ### jQuery Slider Plugin v0.1 - 2008-03-29 ###
 By Tomasz Pilat
 
	
*/
/*# AVOID COLLISIONS #*/
;if(jQuery) (function($){
/*# AVOID COLLISIONS #*/

$.fn.slide = function(settings) {
   
   // Default configuration properties.
   var defaults = $.extend({
		vertical: false,
        elementWidth: 156,
		elementsNumber: 1,
		lastElementWidth: 61,
		click: 0,
		numberOfVisibleElements: 5
	}, settings || {});
    
    var maskElement = this.children(".mask");
    var ulElement = this.children(".mask").children("ul");
    var leftButton = this.children(".slide-left");
    var rightButton = this.children(".slide-right");

	defaults.elementsNumber = this.children(".mask").children("ul").children().length;
    ulElement.css("width", defaults.elementWidth*defaults.elementsNumber);
    
    rightButton.click(function() { 
		if (defaults.click < (defaults.elementsNumber-defaults.numberOfVisibleElements)/4) {
    		defaults.click++;
    		if (defaults.click == (defaults.elementsNumber-defaults.numberOfVisibleElements)) {
		    	ulElement.animate({ marginLeft: "-="+defaults.lastElementWidth }, 600);	
		    } else {
		    	ulElement.animate({ marginLeft: "-="+defaults.elementWidth*4 }, 600);	
		    }
    	} else {
	    	ulElement.animate({ marginLeft: "0" }, 600);	
    		defaults.click=0;
    	}
    	return false;
    });
    
    leftButton.click(function() { 
    	if (defaults.click > 0) {
    		defaults.click--;
    		if (defaults.click == (defaults.elementsNumber-(defaults.numberOfVisibleElements+1)/4)) {
		    	ulElement.animate({ marginLeft: "+="+defaults.lastElementWidth }, 600);	
		    } else {
		    	ulElement.animate({ marginLeft: "+="+defaults.elementWidth*4 }, 600);	
		    }
    	} 
    	return false;
    });

};


$.fn.slideVertical = function(settings) {
   
   // Default configuration properties.
   var defaults = $.extend({
		vertical: false,
        elementWidth: 113,
		elementsNumber: 1,
		lastElementWidth: 61,
		click: 0,
		numberOfVisibleElements: 2
	}, settings || {});
    
    var maskElement = this.children(".mask");
    var ulElement = this.children(".mask").children("ul");
    var topButton = this.children(".top");
    var bottomButton = this.children(".bottom");

	defaults.elementsNumber = this.children(".mask").children("ul").children().length;
    ulElement.css("height", defaults.elementWidth*defaults.elementsNumber);
    
    bottomButton.click(function() { 
		if (defaults.click < (defaults.elementsNumber-defaults.numberOfVisibleElements)) {
    		defaults.click++;
    		if (defaults.click == (defaults.elementsNumber-defaults.numberOfVisibleElements)) {
		    	ulElement.animate({ marginTop: "-="+defaults.lastElementWidth }, 600);	
		    } else {
		    	ulElement.animate({ marginTop: "-="+defaults.elementWidth }, 600);	
		    }
    	} else {
	    	ulElement.animate({ marginTop: "0" }, 600);	
    		defaults.click=0;
    	}
    	return false;
    });
    
    topButton.click(function() { 
    	if (defaults.click > 0) {
    		defaults.click--;
    		if (defaults.click == (defaults.elementsNumber-(defaults.numberOfVisibleElements+1))) {
		    	ulElement.animate({ marginTop: "+="+defaults.lastElementWidth }, 600);	
		    } else {
		    	ulElement.animate({ marginTop: "+="+defaults.elementWidth }, 600);	
		    }
    	} 
    	return false;
    });
};



$.fn.slideWhole = function(settings) {
   
   // Default configuration properties.
   var defaults = $.extend({
		vertical: false,
        elementWidth: 113,
		elementsNumber: 1,
		lastElementWidth: 61,
		click: 0,
		numberOfVisibleElements: 2
	}, settings || {});
    
    var maskElement = this.children(".mask");
    var ulElement = this.children(".mask").children("ul");
    var leftButton = this.children(".slide-left");
    var rightButton = this.children(".slide-right");

	defaults.elementsNumber = this.children(".mask").children("ul").children().length;
    ulElement.css("width", defaults.elementWidth*defaults.elementsNumber);
    
    rightButton.click(function() { 
		if (defaults.click < (defaults.elementsNumber-defaults.numberOfVisibleElements)) {
    		defaults.click++;
		    ulElement.animate({ marginLeft: "-="+defaults.elementWidth }, 600);	
    	} else {
	    	ulElement.animate({ marginLeft: "0" }, 600);	
    		defaults.click=0;
    	}
    	return false;
    });
    
    leftButton.click(function() { 
    	if (defaults.click > 0) {
    		defaults.click--;
	    	ulElement.animate({ marginLeft: "+="+defaults.elementWidth }, 600);	
    	} 
    	return false;
    });
};

/*# AVOID COLLISIONS #*/
})(jQuery);
/*# AVOID COLLISIONS #*/