/******************************************************************************
*	NAME:
*	dom.js
*
*	PURPOSE:
*	Encapsulate DOM manipulation functions used throughout application
*
*	HISTORY:
*	JJE 07/22/2008:
*	Created
******************************************************************************/

// Create onload event to call necessary functions
if (window.addEventListener)
{
	window.addEventListener("load",addLinkTargets,false);
	window.addEventListener("load",createCaptcha,false);	
}
else
{
	window.attachEvent("onload",function(){addLinkTargets();});
	window.attachEvent("onload",function(){createCaptcha();});	
}

// Add target attribute to links that need to open in new window
function addLinkTargets()
{
	var aryLinks = document.getElementsByTagName("a");
	for (var i = 0; i < aryLinks.length; ++i)
	{
		if (aryLinks[i].className == "link_external")
		{
			var currentTitle = aryLinks[i].getAttribute("title");
			aryLinks[i].setAttribute("title",currentTitle + " (Opens in new browser window)");
			aryLinks[i].setAttribute("target","_blank");
		}
	}
}

// Return a random character
function getRandomChar()
{
	var numberChars = "0123456789";
	var alphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var charSet = numberChars + alphaChars;
	return charSet.charAt(Math.floor(Math.random() * (charSet.length - 0)) + 0);
}

// Generate CAPTCHA-like random character string
function createCaptcha()
{
	var container = document.getElementById("captcha");
	var fld = document.getElementById("ff_captcha");
	if (container && fld)
	{
		var captcha = "";
		var captcha = captcha + getRandomChar();
		for (var i = 1; i < 8; ++i)
		{
			captcha = captcha + getRandomChar();
		}
		container.innerHTML = captcha;
		fld.value = captcha;
	}
}