function imgOut(elem) 
{
    if (elem.id) 
    {
		fadeElementSetup(elem.id, 100, 0, 10);
	}
}

function imgBack(elem) 
{
    if (elem.id) 
    {
		fadeElementSetup(elem.id, 0, 100, 10);	
	}
}

function setOpacity(opacity, theID) {
	var object = document.getElementById(theID).style;

	if (navigator.userAgent.indexOf("MSIE") >= 0) {
		if (opacity == 100) { opacity = 100; }
	}
	else if (navigator.userAgent.indexOf('Firefox') >=0) {
        if (opacity == 100) { opacity = 99.9999; }
	}
        else if (navigator.userAgent.indexOf('Safari') >=0) {
        if (opacity == 100) { opacity = 100; }
	}

	object.filter = "alpha(opacity=" + opacity + ")";
	object.opacity = (opacity / 100);
}


var shadowSettings;
var fadeActive = new Array();
var fadeQueue = new Array();
var fadeTimer = new Array();
var fadeClose = new Array();
var fadeMode = new Array();

function fadeElementSetup(theID, fdStart, fdEnd, fdSteps, fdClose, fdMode) 
{
    if (fadeActive[theID] == true) 
    {
		fadeQueue[theID] = new Array(theID, fdStart, fdEnd, fdSteps);
    }
    else 
    {
		fadeSteps = fdSteps;
		fadeCurrent = 0;
		fadeAmount = (fdStart - fdEnd) / fadeSteps;
		fadeTimer[theID] = setInterval("fadeElement('"+theID+"', '"+fadeCurrent+"', '"+fadeAmount+"', '"+fadeSteps+"')", 15);
		fadeActive[theID] = true;
		fadeMode[theID] = fdMode;

		if (fdClose == 1) 
        {
			fadeClose[theID] = true;
        }
        else 
        {
			fadeClose[theID] = false;
		}
	}
}

function fadeElement(theID, fadeCurrent, fadeAmount, fadeSteps) {
	if (fadeCurrent == fadeSteps) {
		clearInterval(fadeTimer[theID]);
		fadeActive[theID] = false;
		fadeTimer[theID] = false;

		if (fadeClose[theID] == true) {
			document.getElementById(theID).style.visibility = "hidden";
		}

		if (fadeQueue[theID] && fadeQueue[theID] != false) {
			fadeElementSetup(fadeQueue[theID][0], fadeQueue[theID][1], fadeQueue[theID][2], fadeQueue[theID][3]);
			fadeQueue[theID] = false;
		}
	} else {
		fadeCurrent++;
		
		if (fadeMode[theID] == "shadow") {
			if (fadeAmount < 0) {
				document.getElementById(theID).style.webkitBoxShadow = shadowSettings + (Math.abs(fadeCurrent * fadeAmount)) + ')';
			} else {
				document.getElementById(theID).style.webkitBoxShadow = shadowSettings + (100 - (fadeCurrent * fadeAmount)) + ')';
			}
		} else {
			if (fadeAmount < 0) {
				setOpacity(Math.abs(fadeCurrent * fadeAmount), theID);
			} else {
				setOpacity(100 - (fadeCurrent * fadeAmount), theID);
			}
		}

		clearInterval(fadeTimer[theID]);
		fadeTimer[theID] = setInterval("fadeElement('"+theID+"', '"+fadeCurrent+"', '"+fadeAmount+"', '"+fadeSteps+"')", 15);
	}
}

