
function setOpacity(opacity, theID) {

	var object = document.getElementById(theID).style;

	if (navigator.userAgent.indexOf("Firefox") != -1) {
		if (opacity == 100) { opacity = 99.9999; }
	}

	object.filter = "alpha(opacity=" + opacity + ")";
	object.opacity = (opacity / 100);

}
function fadeOut(elem) {
	if (elem.id) {
		fadeElementSetup(elem.id, 100, 0, 10);
	}
}

function fadeIn(elem) {
	if (elem.id) {
		fadeElementSetup(elem.id, 0, 100, 10);	
	}
}

var fadeActive = new Array();
var fadeQueue  = new Array();
var fadeTimer  = new Array();
var fadeClose  = new Array();

function fadeElementSetup(theID, fdStart, fdEnd, fdSteps, fdClose) {

	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;
		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;
	    
	    
	    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 (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);
	}
}

var popupTimer = "";

function showPopup(target, xoffset, yoffset) {
	var popup = document.getElementById('popup');
	var targetElement = document.getElementById(target);

	position = findElementPos(targetElement);
	
	if (navigator.userAgent.indexOf("Firefox") != -1){
		popup.style.left = (position[0] + xoffset ) + "px";
		popup.style.top = (position[1] + yoffset) +"px";
	}
	else{
		popup.style.left = (position[0] + xoffset) + "px";
		popup.style.top = (position[1] + yoffset) +"px";
	}
	

	if (popupTimer != "")
	{
		clearTimeout(popupTimer);
		popupTimer = "";
	} else {
		setOpacity(0, 'popup');
		popup.style.visibility = 'visible';
		fadeElementSetup('popup', 0, 100, 13);
	}
}

function hidePopup() {
	popupTimer = setTimeout("actuallyHide()", 500);
}

function actuallyHide() {
	var popup = document.getElementById('popup');
	if (popupTimer != ""){
		popupTimer = "";
		fadeElementSetup('popup', 100, 0, 5, 1);
	}
}


