// Plugin name: Outline plugin v1.0
// Author:      Giel Berkers
// Website:     http://www.twisted.nl
// E-mail:      giel [at] twisted [dot] nl
//
// Disable outline while maintaining accessibility.
// -----------------------------------------------------------------
// This plugin removes the outline on a link in Firefox, but enables
// the outline again as soon as the Tab-key is pressed.
// 
// Usage:
//
// $.outline();
//
// or:
//
// $.outline(cssStyle);
//
// For example:
//
// $.outline("1px solid #f00");
//
// -----------------------------------------------------------------

jQuery.outline = function(style) {
	// Declare variables:
	var cssStyle = '';
	
	var activeElement;
	
	if(style==undefined) {
		cssStyle = "1px dotted invert";	
	} else {
		cssStyle = style;
	}	
	
	$(document).click(function(){
		// Disable outline:
		$("a").css({outline: "none"});
	});
	
	$(document).keyup(function(e){
		// Enable outline if tab is pressed:
		if(e.keyCode==9) {
			$("a").css({outline: "none"});
			$(activeElement).css({outline: cssStyle});
		}
	});
	
	$("a").focus(function() {
		activeElement = this;		  
	}).blur(function(){
		$(this).css({outline: "none"});
	});
	
	// Remove outline by default:
	$("a").css({outline: "none"});
};
