(function($)
{

$.fn.news=function(options)
							{
							
							defaultOptions={
									minimum:1,
									maximum:5,
									controls:{add:'.add', remove:'.remove'},
									items:'li',
									addDisabled:'add-disabled',
									removeDisabled:'remove-disabled',
									displayed:2
									};

							this.each(function(index, element){this.options=$.extend(defaultOptions, options);
							this.items=$(this).find(this.options.items);
							this.controls=$(this).parents(".module-inner").eq(0).find(".tools:first");
							this.add=this.controls.find(this.options.controls.add);
							this.remove=this.controls.find(this.options.controls.remove);
							this.add.show();
							this.remove.show();

							if(this.items == undefined || this.items.length == 0){this.add.hide(); this.remove.hide();}
							this.minimum=this.options.minimum;
							this.maximum=Math.min(this.options.maximum, this.items.length);
							this.displayed=Math.max(Math.min(this.options.displayed, this.maximum), this.minimum);
							for (i=this.items.length-1; i>this.displayed-1; i--)
							{this.items.eq(i).hide();}
							
							this.count=this.items.filter(":visible").length;
							if(this.count==this.maximum){this.add.addClass(this.options.addDisabled);}
							if(this.count==this.minimum){this.remove.addClass(this.options.removeDisabled);}
							var self=this;
							
							
							this.add.click(
							function(){
										if(self.count==self.maximum){return false;}
										self.count++;
										if(self.count==self.maximum){$(this).addClass(self.options.addDisabled);}
										if(self.count>self.minimum) {self.remove.removeClass(self.options.removeDisabled)}
										self.items.filter(":hidden:first").show(); 
										return false;}
							);
							
							
							this.remove.click(
							function(){
										if(self.count==self.minimum){return false;}
										self.count--;
										if(self.count==self.minimum){$(this).addClass(self.options.removeDisabled);}
										if(self.count<self.maximum){self.add.removeClass(self.options.addDisabled)}
										self.items.filter(":visible:last").hide(); return false;}
							);
							});
							
							}


}
)(jQuery)