/* fade capability copyright (c) 2006-2008 by Kevin Grant */
function fadeUp(object, displayed, total, fraction){
	object.style.display = displayed;
	if (object.style.opacity < 1){
		++fraction;
		object.style.opacity = fraction / total;
		window.setTimeout(function (){ fadeUp(object, displayed, total, fraction); }, 10);
	}
}
function fadeDown(object, displayed, total, fraction){
	if (object.style.opacity > 0){
		object.style.display = displayed;
		object.style.opacity = fraction / total;
		--fraction;
		window.setTimeout(function (){ fadeDown(object, displayed, total, fraction); }, 10);
	}else if (object.style.display != 'none'){
		object.style.display = 'none';
	}
}

function eventTargetAsBastardizedByMicrosoft(trigger){
	if (!trigger) trigger = window.event;
	return (trigger.target) || (trigger.srcElement);
}

function show(trigger, associate, hider){
	fadeUp(document.getElementById(associate), 'block', 15, 0);
	eventTargetAsBastardizedByMicrosoft(trigger).style.display = 'none';
	document.getElementById(hider).style.display = 'block';
	return true;
}
function hide(trigger, associate, shower){
	fadeDown(document.getElementById(associate), 'block', 5, 5);
	eventTargetAsBastardizedByMicrosoft(trigger).style.display = 'none';
	document.getElementById(shower).style.display = 'block';
	return true;
}