
var leftCol = leftColumnContentText = faderHandle = pageLoadTimer = null;
var fadeOpacity = 100;

attachEventToElement(window, 'load', setUpFader);
attachEventToElement(window, 'unload', unhookFader);

function setUpFader() {
	try {
		leftCol = document.getElementById('leftColumn');
		leftColumnContentText = document.getElementById('leftColumnContentText');
	} catch(e) {
		return;
	}
	
	leftCol.onmouseover = showCaption;
	leftColumnContentText.onmouseover = showCaption;
	leftCol.onmouseout = hideCaption;
	leftColumnContentText.onmouseout = hideCaption;
	
	pageLoadTimer = setTimeout('hideCaption()', 10000);
}


function unhookFader() {
	if (faderHandle != null) {
		clearInterval(faderHandle);
		faderHandle = null;
	}

	if (pageLoadTimer != null) {
		pageLoadTimer = null;
		clearTimeout(pageLoadTimer);
	}

	leftCol.onmouseover = null;
	leftColumnContentText.onmouseover = null;

	leftCol.onmouseout = null;
	leftColumnContentText.onmouseout = null;
}


function showCaption() {
	if (faderHandle != null) {
		clearInterval(faderHandle);
		faderHandle = null;
	}
	leftColumnContentText.style.display = 'block';
	setOpacity(leftColumnContentText, 100);
}


function hideCaption() {
	if (pageLoadTimer != null) {
		pageLoadTimer = null;
		clearTimeout(pageLoadTimer);
	}
	if (faderHandle != null) return;
	fadeOpacity = 100;
	faderHandle = setInterval("fadeCaption()", 100);
}


function fadeCaption() {
	fadeOpacity -= 10;
	setOpacity(leftColumnContentText, fadeOpacity);
	if (fadeOpacity == 0) {
		leftColumnContentText.style.display = 'none';
		clearInterval(faderHandle);
		faderHandle = null;
	}
}


function setOpacity(element, opacityAsPercentage) {
	if (typeof(element.style.opacity) != 'undefined') {
		element.style.opacity = opacityAsPercentage / 100;							// Does browser support CSS 3 standard?
	} else if (typeof(element.style.MozOpacity) != 'undefined') {
		element.style.MozOpacity = opacityAsPercentage / 100;						// What about old Mozilla standard?
	} else if (typeof(element.style.KhtmlOpacity) != 'undefined') {
		element.style.KhtmlOpacity = opacityAsPercentage / 100;						// Or Konqueror / old Safari standard?
	} else {

		// IE/Mac does not support opacity - even the newer versions (I tested on v5.23 under OS X);
		if (navigator.appVersion.indexOf('MSIE ') != -1 && navigator.appVersion.indexOf('Macintosh') != -1) return(false);

		// IE/Win v4 is the first Windows version that supports the alpha filter.
		var majorVersion = parseInt(navigator.appVersion.replace(/(.)*MSIE ([^;]*)(.*)/g, '$2'), 10);
		if (navigator.appVersion.indexOf('MSIE ') != -1 && !isNaN(majorVersion) && majorVersion < 4) return(false);

		try {
			element.filters.alpha.opacity = opacityAsPercentage;					// Finally, what about IE? (requires default opacity to be set in CSS)
		} catch (e) {}
	}
}


