(function($){
	$.fn.Selects = function(options) {
		var element = function(tag){ return $(document.createElement(tag)); }
		var opts 	= $.extend({},$.fn.Selects.defaults, options);
		
		$(this).each(function(){
			var self 	= $(this);
			var div 	= element('div');
			var span 	= element('span');
			var ul		= element('ul');
			var count	= 0;
			
			div.addClass(opts.tag + '-style');
			
			self.children().each(function(){
				var li 	= element('li');
				var a 	= element('a');
				
				li.addClass(opts.tag + '-option'+ (++count));
				
				a.attr('href',$(this).val()).text($(this).text());
				ul.append(li.append(a));
			});
			
			div.append(span.text(self.children(':selected').text())); 
			div.append(ul);		self.after(div);
			
			$('a', ul).click(function(){
				$('span', div).text($(this).text()); 
				self.val($(this).attr('href')); 
				ul.slideUp(opts.speedyClose);
				return false;
			});
			
			div
			.click(function(){ ul.stop(true,true).slideDown(opts.speedyOpen); })
			.mouseleave(function(){ ul.slideUp(opts.speedyClose); });
			
			ul.hide(); self.hide();
		});
		
	};
	
	$.fn.Selects.defaults = {
		speedyOpen	: 'fast',
		speedyClose	: 'fast',
		tag			: 'selects'
	};
})(jQuery);
