(function($) {
	/*
		Licensed under a Creative Commons Attribution-Non-Commercial 3.0 Unported License
		http://creativecommons.org/licenses/by-nc/3.0/
	*/


	$.fn.hoverFade = function(options) {
		var o = $.extend({}, $.fn.hoverFade.defaults, options);
		if (o.trigger == null) {
			o.trigger = $(this);	
		}
		var fade = $(this);
		if (!o.invert) {
			o.trigger.hoverIntent(
				function() {
					fade.fadeTo(o.speedIn, o.min);	
				},
				function() {
					fade.fadeTo(o.speedOut, o.max);
				}
			);
		} else {
			if (o.startFade) {
				fade.fadeTo(o.speedOut, o.min);
			} else {
				fade.fadeTo(0, o.min);
			}
			
			o.trigger.hoverIntent(
				function() {
					fade.fadeTo(o.speedIn, o.max);	
				},
				function() {
					fade.fadeTo(o.speedOut, o.min);
				}
			);
		}
	};
	
	// plugin defaults
	$.fn.hoverFade.defaults = {
		speedIn: 250,
		speedOut: 500,
		colour: "#FF000",
		invert: false,
		max: 1,
		min: 0.33,
		trigger: null,
		startFade: false
	};

})(jQuery);