function cancelEventCompletion(e) 
{
	if (window.event && !e) 
	{
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (e && e.stopPropagation && e.preventDefault) 
	{
		e.stopPropagation();
		e.preventDefault();
	}
}

function addEvent(obj, evType, fn, useCapture) 
{
	if (useCapture == null)
		useCapture = false;
	
	if (obj.addEventListener) 
	{
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} 
	else if (obj.attachEvent) 
	{
		return obj.attachEvent("on" + evType, fn);
	} 
	else 
	{
		obj['on' + eventType] = fn;
	}
}

function trim(value) 
{
	if (value != null)
	{
		value = value.replace(/^\s+/, '');
		value = value.replace(/\s+$/, '');
	}
	else
		value = "";
	
	return value;
}
	
function getElementIdByEvent(e) 
{
	var elementId;

	if (window.event && window.event.srcElement) 
	{
		if (window.event.srcElement.getAttribute)
			elementId = window.event.srcElement.getAttribute('id');
	}
	
	if (e && e.target) 
	{
		var theEvent;
	
		if (e.target.nodeType == 3)
			theEvent = e.target.parentNode;
		else
			theEvent = e.target;
		
		elementId = theEvent.getAttribute('id');
	}
	
	return elementId;
}

function getElementFromEvent(e)
{
	return getElementByEvent(e);
}

function getElementByEvent(e)
{
	var element = false;

	if (window.event && window.event.srcElement) 
	{
		element = window.event.srcElement;
	}
	
	if (e && e.target) 
	{
		if (e.target.nodeType == 3)
			element = e.target.parentNode;
		else
			element = e.target;
	}
	
	return element;
}

function onFocus(e)
{
	var hintElement = getHintElement(e);

	if (hintElement)
	{
		if (hintElement.innerHTML != "" && hintElement.className.indexOf("help-text-tick") < 1)
		{
			hintElement.style.display = "inline";
		}
	}
}

function onBlur(e)
{
	var hintElement = getHintElement(e);

	if (hintElement)
	{
		if (hintElement.className == "help-text")
		{
			hintElement.style.display = "none";
		}
	}
}

function getHintElement(e)
{
	var inputElement = getElementByEvent(e);
	var helpTextSuffix = inputElement.id;
	
	if (inputElement.name != helpTextSuffix)
	{
		helpTextSuffix = inputElement.name;
	}
	
	var hintElement = document.getElementById("help-text" + helpTextSuffix);
	
	return hintElement;	
}

function addListeners(e)
{
	var eoiForm = document.getElementById("eoi-form");
	
	if (eoiForm)
	{		
		var formElements = eoiForm.elements;
		
		for (var i = 0; i < formElements.length; i++)
		{
			var element = formElements[i];
						
			addEvent(element, 'focus', onFocus);
			addEvent(element, 'blur', onBlur);
			
			var id = element.id;
			var tickBox = document.getElementById("help-text" + id);
			var tickBoxValidation = document.getElementById("validation" + id);
			
			if (tickBox && tickBoxValidation)
			{
				tickBox.style.display = "none";				
			}
		}
	}
}

addEvent(window, 'load', addListeners, false);
