function setup_swap()
{
	var swaps = $$(".image_swap");
	swaps.each(function(swap,i){
		swap.addEvent('mouseover', function(swap){
			swap_image(swap);
		});
		swap.addEvent('mouseout', function(swap){
			swap_image(swap);
		});
	});
}

function swap_image(target)
{
	var realTarget;
	var currentStyle;

	if (target.target) realTarget = target.target;
	else realTarget = target.srcElement;

	if (realTarget.getStyle)
	{
		currentStyle = realTarget.getStyle('background-image');
	}
	else
	{
		currentStyle = realTarget.currentStyle.backgroundImage;
	}

	if (currentStyle.indexOf("none") > -1)
	{
		swap_image_ie6(realTarget);
		return;
	}

	if (currentStyle.indexOf("_on.") > -1)
	{
		currentStyle = currentStyle.replace("_on.", ".");
	}
	else
	{
		var strMatch = "";
		if (currentStyle.indexOf(".png") > -1) strMatch = ".png";
		if (currentStyle.indexOf(".jpg") > -1) strMatch = ".jpg";
		if (currentStyle.indexOf(".gif") > -1) strMatch = ".gif";
		currentStyle = currentStyle.replace(strMatch, "_on" + strMatch);
	}

	realTarget.setStyle('background-image', currentStyle);
}

function swap_image_ie6(target)
{
	var currentStyle = target.currentStyle.filter;

	if (currentStyle.indexOf("_on.") > -1)
	{
		currentStyle = currentStyle.replace("_on.", ".");
	}
	else
	{
		var strMatch = "";
		if (currentStyle.indexOf(".png") > -1) strMatch = ".png";
		if (currentStyle.indexOf(".jpg") > -1) strMatch = ".jpg";
		if (currentStyle.indexOf(".gif") > -1) strMatch = ".gif";
		currentStyle = currentStyle.replace(strMatch, "_on" + strMatch);
	}

	target.style.filter = currentStyle;
}