(function ($) {	   
	$.fn.blink = function ( options ) {

		var settings = {
			time:150,
			fade:0,
			elements:null
		};
		
		var data = $.extend(settings, options);
		
		var total = parseInt(data.time * 2) + 50;
		
		return this.each( function(){

			var $self = $(this);
			
			var timer = setInterval( function(){
				$self.fadeTo(data.time, 1);
				$self.fadeTo(data.time, 0.6);
			}, total);
			
			$self.mousedown( function (e){
				e.preventDefault();
				if (data.fade > 0){
					$self.fadeTo(data.time, data.fade);
				} else {
					$self.fadeOut(data.time);
				}
				clearInterval(timer);
			});
			
			if (data.elements.length > 0){
				$(data.elements).mousedown( function (e){
					e.preventDefault();
					if (data.fade > 0){
						$self.fadeTo(data.time, data.fade);
					} else {
						$self.fadeOut(data.time);
					}
					clearInterval(timer);
				});
			};
		});
	};
})(jQuery);