(function($){
	$.initExternalLinks=function(options){
		options=$.extend({
			domain:'http://localhost'
		},options);

		var length=options.domain.length;

		$("a").filter(function(index){
			return this.href.substring(0,length)!=location.href.substring(0,length)&&this.href.substring(0,"javascript:".length)!="javascript:";
		}).attr("target","_blank");
	};
	$.fn.marquee=function(options){
		options=$.extend({
			speed:50,
			step:1
		},options);

		var self=$(this);
		var mask=self.wrapInner("<div class='mask'></div>").find('.mask');
		var containerWidth=self.width();
		var width=mask.outerWidth(true);
		var timing=(width+containerWidth)/options.speed;

		function repeat(){
			mask.css({left:containerWidth});
			scroll(options.step,timing);
		}
		function scroll(step,duration){
			mask.animate({left:'-='+step},duration,"linear",function(){
				mask.position().left<-width?repeat():scroll(step,duration);
			});
		}
		scroll(options.step,timing);
		return this;
	};
	$.fn.flashIt=function(options){
		options=$.extend({
			speed:1000,
			min:.1,
			max:1
		},options);

		var self=$(this);

		function flashText(){
			self.animate({opacity:options.min},options.speed,function(){
				self.animate({opacity:options.max},options.speed,flashText);
			});
		};
		flashText();
		return this;
	};
})(jQuery);

