function findPopupLinks() {
	if (document.getElementsByTagName) {
		var anchors = document.body.getElementsByTagName('a');
		var pattern = new RegExp('\\bpopupLink\\b');
		for (var i = 0; i < anchors.length; i++) {
			if (pattern.test(anchors[i].className)) {
				anchors[i].onclick = function () {
					var currentUrl = this.getAttribute('href'); 
					var newUrl = currentUrl + '&popUp=1';
					var anchorRef = '';
					if (currentUrl.indexOf('#') > -1) {
						var currentBase = currentUrl.slice(0, currentUrl.indexOf('#'));	
						var anchorRef = currentUrl.substr(currentUrl.indexOf('#'));
						newUrl = currentBase + '&popUp=1' + anchorRef;
					}
					var popup = window.open(newUrl, 'popup', 'width=620, height=400,scrollbars=yes');
					popup.focus();
					return false;
					}
				windowText = document.createTextNode(' (opens in a new window)');
				if (anchors[i].nextSibling != null) {
					anchors[i].parentNode.insertBefore(windowText, anchors[i].nextSibling);
				} else {
					anchors[i].parentNode.appendChild(windowText);
				}
			}
		}
	}
}

window.addEvent('domready',findPopupLinks);



/* YELLOW FADE */

function FadeOptions() {
	this.red = 255;
	this.green = 253;
	this.blue = 55;
	this.redStart = 255;
	this.greenStart = 253;
	this.blueStart = 55;
	this.hold = 500;
	this.speed = 100;
	this.step = 25;
}

function fader(elementId) {
	fadeElement = document.getElementById(elementId);
	fadeOptions = fadeElement.fadeOptions;
	fadeElement.style.background = "rgb(" + fadeOptions.red + "," + fadeOptions.green + "," + fadeOptions.blue + ")";
	if (fadeOptions.red != 255 || fadeOptions.green != 255 || fadeOptions.blue != 255)
	{	
		if ((fadeOptions.red == fadeOptions.redStart) && (fadeOptions.green == fadeOptions.greenStart) && (fadeOptions.blue == fadeOptions.blueStart))
		{
			setTimeout('fader("' + elementId + '")', fadeOptions.hold)
		}
		else
		{	
			setTimeout('fader("' + elementId + '")', fadeOptions.speed)
		}
		nextRed = fadeOptions.red + fadeOptions.step;
		nextGreen = fadeOptions.green + fadeOptions.step;
		nextBlue = fadeOptions.blue + fadeOptions.step;
		fadeOptions.red = (nextRed > 255) ? 255 : nextRed;
		fadeOptions.green = (nextGreen > 255) ? 255 : nextGreen;
		fadeOptions.blue = (nextBlue > 255) ? 255 : nextBlue;
	}
}


function highlightStack() {
	if (document.getElementsByTagName) {
		var divs = document.body.getElementsByTagName('div');
		var pattern = new RegExp('\\b(success|error|warning)\\b');
		for (var i = 0; i < divs.length; i++) {
			if (pattern.test(divs[i].className)) {
				divs[i].fadeOptions = new FadeOptions();
				divs[i].id = 'fader' + i;
				fader('fader' + i);
			}
		}
	}
}

window.addEvent('domready',highlightStack);