//Events
window.onerror = function(){}

window.onload = function() 
{ 
	try{
		if(document.getElementById('contactUsForm') != null)
			attachEventsOnFormElements(document.getElementById('contactUsForm'));

		if(document.getElementById('customerProfileForm') != null)
		{
			attachEventsOnFormElements(document.getElementById('customerProfileForm'));
		}
		
		if(detectIE() != true)
			disableLinkNavigation();

		attachMenuEntries();

		attachMenuHighlight();

		attachSubMenuUnderline();

		if(detectIE() == true)
			warnUser();
	}
	catch(err){}
} 

//Functions
function warnUser()
{
	if(document.getElementById('masterContainer') != null)
	{
		var parent = document.getElementById('masterContainer');
		var warning = document.createElement('div');
		warning.id = 'warning';
		warning.className = 'generalWarning';
		warning.innerHTML = 'The website is being displayed in a reduced functionality mode. Please consider upgrading your browser to Internet Explorer 8+, Firefox 3.6+, Safari 5+, etc.';
		parent.insertBefore(warning,parent.firstChild);
	}
}

function attachSubMenuUnderline()
{
	function init(obj)
	{
		if(obj != null)
		{
			var subMenuItems = obj.getElementsByTagName('a');

			for(var i in subMenuItems)
				attachEffects(subMenuItems[i]);
		}
	}

	function attachEffects(item)
	{
		item.onmouseover = function()
		{
			this.style.textDecoration = 'underline';
		}
		
		item.onmouseout = function()
		{
			this.style.textDecoration = 'none';
		}
	}

	init(document.getElementById('servicesMenu'));
	init(document.getElementById('formsMenu'));
}

function attachMenuHighlight()
{
	var obj = document.getElementById('toolbarTop');

	var menuItems = obj.getElementsByTagName('div');

	for(var i = 0; i < menuItems.length; i++)
	{
		if(menuItems[i].className == 'menuEntryContainer menuItem')
		{
			var temp = menuItems[i].getElementsByTagName('a');

			if(temp.length < 2)	
				attachHighlightEvents(menuItems[i]);				
		}
	}
}

function highlightItem(item)
{
	try{
		var temp = item.getElementsByTagName('a');
		var primer;
		
		if(temp.length > 1)
		{
			for(var i in temp)
			{
				if(temp[i].className == 'subMenuPrimer')
				{
					primer = temp[i];
					break;
				}
			}

			primer.style.color = '#005180';
		}
		else
			temp[0].style.color = '#005180';				

		item.style.backgroundColor= '#bacde2';
	}
	catch(err){}
}

function undoHighlightItem(item)
{
	try{
		var temp = item.getElementsByTagName('a');
		var primer;
		
		if(temp.length > 1)
		{
			for(var i in temp)
			{
				if(temp[i].className == 'subMenuPrimer')
				{
					primer = temp[i];
					break;
				}
			}

			primer.style.color = 'white';
		}
		else
			temp[0].style.color = 'white';				

		item.style.backgroundColor= '#005180';
	}
	catch(err){}
}

function attachHighlightEvents(item)
{
	item.onmouseover = function ()
	{
		highlightItem(this);
	}

	item.onmouseout = function ()
	{
		undoHighlightItem(this);
	}
}

function disableLinkNavigation()
{
	function attach(obj)
	{
		if(obj != null)
		{
			obj.onclick = function()
			{
				return false;
			}
		}
	}

	attach(document.getElementById('forms'));
}

function attachMenuEntries()
{
	function attach(obj)
	{
		if(obj != null)
		{
			var parent = obj.parentNode;

			parent.onmouseover = function()
			{
				highlightItem(this);
				var thisObj = obj;
				show(document.getElementById(thisObj.id + 'Menu'));
			}
	
			parent.onmouseout = function()
			{
				undoHighlightItem(this);
				var thisObj = obj;
				hide(document.getElementById(thisObj.id + 'Menu'));
			}

			document.getElementById(obj.id + 'Menu').onmouseout = function()
			{
				hide(this);
				obj.parentNode.style.backgroundColor = '#005180';
				obj.style.color = 'white';	
			}
		}
	}

	attach(document.getElementById('services'));
	attach(document.getElementById('forms'));
}

function detectIE()
{
	var result = false;
	
	try{
		var ie6RegExp = new RegExp('msie 6');
		var ie7RegExp = new RegExp('msie 7');
	
		var browserUserAgentString = (navigator.userAgent).toLowerCase();
	
		if(ie6RegExp.test(browserUserAgentString) == true || ie7RegExp.test(browserUserAgentString) == true)
			result = true;
	}
	catch(detectIEErr)
	{
		result = false;
	}
		
	return result;
}

function show(item)
{
	try{
		item.style.marginTop = '0px';
		item.style.visibility = 'visible';
	}
	catch(showErr){}
}

function hide(item)
{
	try{

		item.style.marginTop = '-10000px';
		item.style.visibility = 'hidden';
	}
	catch(hideErr){}
} 

function attachEventsOnFormElements(form)
{
	var formItems = form.getElementsByTagName('input');
	var errorMessage = 'Please consider re submitting with all the fields correctly filled in.';

	form.onsubmit = function()
	{
		var items = this.getElementsByTagName('input');
		
		for(var i in items)
		{
			if(items[i].type == 'text' && items[i].value == '')
			{
				document.getElementById('genericFormError').innerHTML = errorMessage;
				return false;	
			}
		}

		var items = this.getElementsByTagName('textarea');
		
		for(var i in items)
		{
			if(items[i].value == '')
			{
				document.getElementById('genericFormError').innerHTML = errorMessage;
				return false;	
			}
		}
		
	}

	for(var i = 0; i < formItems.length; i++)
	{
		if(formItems[i].type != 'submit')
			attachEvents(formItems[i]);	
	}

	var formItems = form.getElementsByTagName('textarea');

	for(var i = 0; i < formItems.length; i++)
	{
		attachEvents(formItems[i]);	
	}
	
	function attachEvents(item)
	{
		try
		{  	
			item.onmouseover = function ()
			{
				this.style.borderColor = '#808080';
				this.style.borderStyle = 'inset';
			}
			item.onmouseout = function ()
			{       
				this.style.borderColor = '#eeeeee';
				this.style.borderStyle = 'solid';
			}  	  
			item.onfocus = function ()
			{
				this.style.borderColor = '#808080';
				this.style.borderStyle = 'inset';
			}
			item.onblur = function ()
			{       
				this.style.borderColor = '#eeeeee';
				this.style.borderStyle = 'solid';
				validateFormEntry(this);
			}   
		}
		catch (effectsAttachErr)
		{}  		
	}
}

