var cssFocused = "focused"; // Name of css class for focused elements (for styling of elements when they are focused)

/**
 * Attach onfocus/onblur events to input and select elements
 */
function initElementsFocus()
{
	attachElementsFocus(document.getElementsByTagName("input"));
	//attachElementsFocus(document.getElementsByTagName("select"));
}

/**
 * Attach onfocus/onblur events to supplied elements
 * @param elements - collection of elements to be processed
 */
function attachElementsFocus(elements) {

	for (var i = 0; i < elements.length; i++)
	{
		
		if (typeof elements[i].onfocus != "function")
			elements[i].onfocus = _elementOnFocus;
		else
		{
			var oldfunc = elements[i].onfocus;
			elements[i].onfocus = function()
			{
				oldfunc;
				_elementOnFocus;
			}
		}
		
		if (typeof elements[i].onblur != "function")
			elements[i].onblur = _elementOnBlur;
		else
		{
			var oldfunc = elements[i].onblur;
			elements[i].onblur = function()
			{
				oldfunc;
				_elementOnBlur;
			}
		}
	}
}
function _elementOnFocus()
{
	if (this.className.substr(this.className.length - 7) != cssFocused) this.className += " " + cssFocused;
}
function _elementOnBlur()
{
	if (this.className.substr(this.className.length - 7) == cssFocused) this.className = this.className.substr(0, this.className.length - 7);
}

// Add onfocus/onblur initialization to page load
addLoadEvent(initElementsFocus);
