/*

A set of effects methods, what more could you ask for?

*/
function jaxEffectFadeElement(id, fadeInOrOut) {
	var element = document.getElementById(id);
	
	// For fadein, on full opacity clear out the timer.
	if ((fadeInOrOut == 'in') && (element.opacity == 100)) {
		element.timer = clearInterval(element.timer);
		return;
	}
	
	// For fadeout, on zero opacity clear out the timer.
	if ((fadeInOrOut == 'out') && (element.opacity == null || element.opacity == 0)) {
		element.timer = clearInterval(element.timer);
		element.style.visibility = "hidden";
		return;
	}
	
	if (fadeInOrOut == 'in') {
		element.opacity += 10;
	} else {
		element.opacity -= 10;
	}
	
	element.style.opacity = element.opacity / 100;
	if (window.ActiveXObject) element.style.filter = "alpha(opacity=" + element.opacity + ")";
}
function jaxEffectFadeIn(id) {
	var element = document.getElementById(id);
	jaxEffectSetOpacity(element, 0);
	element.timer = clearInterval(element.timer);
	element.timer = setInterval("jaxEffectFadeElement('" + id + "', 'in')", 30);
}
function jaxEffectFadeOut(id) {
	var element = document.getElementById(id);
	jaxEffectSetOpacity(element, 100);
	element.timer = clearInterval(element.timer);
	element.timer = setInterval("jaxEffectFadeElement('" + id + "', 'out')", 30);
}
function jaxEffectFadeReset(id, startInOrOut) {
	var element = document.getElementById(id);
	element.timer = clearInterval(element.timer);
	if (startInOrOut == null || startInOrOut == 'in') {
		jaxEffectSetOpacity(element, 100);
	} else {
		jaxEffectSetOpacity(element, 0);
	}
}
function jaxEffectSetOpacity(element, opacity) {
	element.opacity = opacity;
	element.style.opacity = element.opacity / 100;
	element.style.visibility = "visible";
	element.style.zIndex = "10";
	if (window.ActiveXObject) element.style.filter = "alpha(opacity=" + element.opacity + ")";
}
