(function($) {
	
	$.fn.linkDisclaimer = function(callerSettings) {

		var self = this;

		this.settings = $.extend({
		}, callerSettings);
		
		this.showDisclaimer = function() {
		  alert(this.settings.disclaimer);
		}

    this.checkExternalLink = function(link) {
      
      if (link == undefined) {
        return false;
      }

    	var default_links = ['#', '/', 'mailto', 'localhost'];
    	
    	var external = true;

    	$.each(this.settings.valid_domains.concat(default_links), function() {
    	  if (link.indexOf(this) == 0 || link.indexOf('http://' + this) == 0 || link.indexOf('https://' + this) == 0) {
    	    external = false;
    	    return;
    	  }
    	});
    	
    	return external;

  	}

    $(self).filter(function() {
      return self.checkExternalLink($(this).attr('href'));
    }).click(function(e) {
      self.showDisclaimer();
    }).attr("target","_blank");

	};

})(jQuery);