/**
 * Auto hover-image switcher
 *
 * Switches source of images/submit-images of given class ('auto-hover'), to an alternate hovered version, with given suffix ('hover').
 * E.g. <img src="test.jpg"> will become <img src="test-hover.jpg"> on hover, and revert on mouse-out
 */
var AutoHover = {
	label: 'auto-hover',
	suffix: '_ro',
	preloaded: {},
	init: function (label) 
	{
		if (!window.jQuery) { return; }
		label = label || AutoHover.label;
		suffix = AutoHover.suffix;
		$('img.'+label+', input[type=image].'+label).each (function () 
		{
			var src = $(this).attr('src');
			var src_hover = '';
			var match = null;
			if (match = src.match(/^(.+)\.(jpg|jpeg|png|gif)$/))
			{
				src_hover = match[1] + suffix + '.' + match[2];
				$(this).hover (
					function () { $(this).attr('src', src_hover); },
					function () { $(this).attr('src', src); }
				);
				
				// Preload image if not already previously encountered
				if (!AutoHover.preloaded[src_hover])
					AutoHover.preloaded[src_hover] =  $('<img />').attr('src', src_hover).get(0);
			}
		});
	}
}