/**************************************************
  Coppermine 1.5.x Plugin - Fade Background
  *************************************************
  Copyright (c) 2010 Jeff Bailey
**************************************************/

function addClass(element, value) {
	obj = document.getElementById(element);
	if(!obj.className) {
		obj.className = value;
	} else {
		if (obj.className == value) {
			obj.className = '';
		} else {
			obj.className = vlaue;
		}
	}
}

var fadeTime = 500.0;
function initiateFade(element) {	
	var obj = document.getElementById(element);
	if(obj == null) {
		return;
	}
	if(obj.FadeState == null) {
		if(obj.style.opacity == '0.8') {
			obj.FadeState = 2;
		} else {
			obj.FadeState = -2;
		}
	}
	if(obj.FadeState == 1 || obj.FadeState == -1) {
		obj.FadeState = obj.FadeState == 1 ? -1 : 1;
		obj.FadeTimeLeft = fadeTime - obj.FadeTimeLeft;
	} else {
		obj.FadeState 		= obj.FadeState == 2 ? -1 : 1;
		obj.FadeTimeLeft 	= fadeTime;
		obj.style.display 	= obj.FadeState == 2 ? 'none' : '';
		setTimeout("performFade(" + new Date().getTime() + ",'" + element + "')", 33);
	}  
}

function performFade(lastTick, element) {  
	var currTick 		= new Date().getTime();
	var elapsedTicks 	= currTick - lastTick;
	var obj 			= document.getElementById(element);

	if(obj.FadeTimeLeft <= elapsedTicks) {
		obj.style.display 		= obj.FadeState == 1 ? '' : 'none';
		obj.style.opacity 		= obj.FadeState == 1 ? '0.8' : '0';
		obj.style.filter 		= 'alpha(opacity = ' + (obj.FadeState == 1 ? '80' : '0') + ')';
		obj.FadeState 			= obj.FadeState == 1 ? 2 : -2;
		return;
	}

	obj.FadeTimeLeft -= elapsedTicks;
	var newOpacity = obj.FadeTimeLeft/fadeTime;
	if(obj.FadeState == 1) {
		newOpacity = 0.8 - newOpacity;
	}
	obj.style.opacity 	= newOpacity;
	obj.style.filter 	= 'alpha(opacity = ' + (newOpacity*100) + ')';
	setTimeout("performFade(" + currTick + ",'" + element + "')", 33);
}
