addEvent(window, 'load', ContactFormPopups);
addEvent(window, 'load', SendLinkPopups);
addEvent(window, 'load', PhoneLinkPopup);
addEvent(window, 'load', DisableFormEnters);
addEvent(window, 'load', SetupEmailText);
addEvent(window, 'load', SetupMenu);
addEvent(window, 'load', SetupLists);
addEvent(window, 'load', TutorLinkPopups);

var TextareaFocused = false;
// Global variables.
// Indicates whether a submenu is currently shown.
var ShowingMenu = false;
// Sets up the menu for the deficient browser.

function SetupLists()
{
	if (!document.getElementById('Node')) return;

	var node = document.getElementById('Node');
	var uls = false;
	var ols = false;
	if (node)
	{
		var uls = node.getElementsByTagName('ul');
		var ols = node.getElementsByTagName('ol');
	}

	if (uls)
	{
		for (var i = 0; ul = uls[i]; i++)
		{
			if (!ul.className)
			{
				ul.className = 'js';
				var lis = ul.getElementsByTagName('li');
				if (lis)
				{
					for (var j = 0; li = lis[j]; j++)
					{
						li.innerHTML = '<span>' + li.innerHTML + '</span>';
					}
				}
			}
		}
	}

	if (ols)
	{
		for (var i = 0; ol = ols[i]; i++)
		{
			if (!ol.className)
			{
				ol.className = 'js';
				var lis = ol.getElementsByTagName('li');
				if (lis)
				{
					for (var j = 0; li = lis[j]; j++)
					{
						li.innerHTML = '<span>' + li.innerHTML + '</span>';
					}
				}
			}
		}
	}
}

function SetupMenu()
{
	// Quit if not IE.
	if (!window.attachEvent) return;

	var List = document.getElementById('List');
	if (!List) return;

	addEvent(document.getElementsByTagName('html')[0], 'mouseover', HideMenus);

	for (var i = 0; i < List.childNodes.length; i++)
	{
		if (!List.childNodes[i] || (List.childNodes[i].tagName != 'LI'))
			continue;

		if (List.childNodes[i].childNodes && List.childNodes[i].childNodes[1] &&
			List.childNodes[i].childNodes[1].tagName)
		{
			addEvent(List.childNodes[i].childNodes[1], 'mouseover', function(evt)
			{
				HideMenus();
				var src = GetEventSrc(evt).parentNode;
				var x = findPosX(src);
				
				src.className += ' hover';
				var ul = src.getElementsByTagName('ul');
				if (ul[0])
				{
					var ulpos = findPosX(ul[0]);
					if (ulpos - x != 0)
					{
						ul[0].style.marginLeft = '-' + new String(ulpos - x) + 'px';
					}
				}
				ShowingMenu = true;
				evt.returnValue = false;
				return false;
			});
		}
	}
}

// Hides the menu from the deficient browser.
function HideMenus(evt)
{
	if (!ShowingMenu) return;

	// Quit if not IE.
	if (!window.attachEvent) return;

	var src = GetEventSrc(evt);

	if (evt &&
		(
			(
				src.tagName == 'A' ||
				src.tagName == 'LI' ||
				src.tagName == 'UL'
			) && (
				(
					src.id == 'List' ||
					src.parentNode.id == 'List' ||
					src.parentNode.parentNode.id == 'List' ||
					src.parentNode.parentNode.parentNode.parentNode.id == 'List'
				) || (
					src.id == 'Menu' ||
					src.parentNode.id == 'Menu' ||
					src.parentNode.parentNode.id == 'Menu' ||
					src.parentNode.parentNode.parentNode.parentNode.id == 'Menu'
				)
			)
		)
	)
	{
		evt.returnValue = false;
		return false;
	}

	var List = document.getElementById('List');

	for (var i = 0; i < List.childNodes.length; i++)
	{
		if (List.childNodes[i].tagName != 'LI')
			continue;

		var cname = new String(List.childNodes[i].className);
		List.childNodes[i].className = cname.replace(' hover', '');
	}

	ShowingMenu = false;
}

function SetupEmailText(evt)
{

	var box = document.getElementById('mail');
	if (!box) return;

	box.value = EmailBoxText;

	box.onfocus = function()
	{
		box.value = '';
	};
	box.onblur = function()
	{
		if (box.value == '')
		{
			box.value = EmailBoxText;
		}
	};
}

function DisableFormEnters(evt)
{
	var inputs = document.getElementsByTagName('input');
	for (var i = 0, input; input = inputs[i]; i++)
	{
		input.onkeypress = function(evt)
		{
			var e = evt ? evt : window.event;
			var src = this;
			if (src == window)
			{
				src = GetEventSrc(e);
			}
			var key = GetEventKey(e);

			if (key == 10 || key == 13)
			{
				if (src && (
					(src.type && (src.type == 'button' || src.type == 'submit')) ||
					(src.tagName && (src.tagName == 'BUTTON'))
				))
				{
					return true;
				}
				return false;
			}
		};
	}

	var tas = document.getElementsByTagName('textarea');
	for (var i = 0, ta; ta = tas[i]; i++)
	{
		ta.onfocus = function(){ TextareaFocused = true; };
		ta.onblur = function(){ TextareaFocused = false; };
	}
}

// Sets up popup window opening for node sending forms
function SendLinkPopups(evt)
{
	if (document.getElementById('TestLink'))
	{
		var a = document.getElementById('TestLink');
		a.href = 'javascript:window.open(\'' + a.href + '\', \'\', \'width=600, height=700,scrollbars=yes\');\
			w.focus();\
			return false;';
	}

	var Send1 = document.getElementById('Send1');
	var Send2 = document.getElementById('Send2');

	if (!Send1 && !Send2) return;

	var lang = document.getElementsByTagName('html')[0].lang;

	if (Send1)
		Send1.onclick = function(evt)
		{
			var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', 'width=500, height=500');
			w.focus();
			return false;
		}


	if (Send2)
		Send2.onclick = function(evt)
		{
			var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', 'width=500, height=500');
			w.focus();
			return false;
		}

	var cp = false;
	if (cp = document.getElementById('CoursePages'))
	{
		var lis = cp.getElementsByTagName('li');
		for (var i = 0, li; li = lis[i]; i++)
		{
			if (li.className == 'popup_test')
			{
				var a = li.getElementsByTagName('a')[0];
				a.href = 'javascript:window.open(\'' + a.href + '\', \'\', \'width=600, height=700,scrollbars=yes\');\
					w.focus();\
					return false;';

				break;
			}
		}
	}
}

function goToReg()
{
	if (document.getElementById('reg_link1'))
	{
		window.location.href = document.getElementById('reg_link1').href;
		return true;
	}
	return false;
}

function setTestDone()
{
	var hpk = document.getElementById('HaveKnowledge');
	if (hpk)
	{
		hpk.disabled = false;
		hpk.checked = true;
		hpk.disabled = true;
		document.getElementById('HaveKnowledge2').value = 1;
	}
}

// Sets up popup window opening for phone form link
function PhoneLinkPopup(evt)
{
	var PB = document.getElementById('PhoneBox');
	if (!PB) return;

	var links = PB.getElementsByTagName('a');
	var link = false;
	if (links)
	{
		link = links[0];
	}
	if (!links || !link) return;

	link.onclick = function(evt)
	{
		var lang = document.getElementsByTagName('html')[0].lang;
		var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', 'width=500, height=450');
		w.focus();
		return false;
	}
}

// Sets up popup window opening for contact forms.
function ContactFormPopups(evt)
{
	if (document.getElementById('info_mail'))
	{
		document.getElementById('info_mail').onclick = function(evt)
		{
			var lang = document.getElementsByTagName('html')[0].lang;
			var w = window.open(this.href.replace('/' + lang + '/', lang + '/popup/'), '', 'width=500, height=500');
			w.focus();
			return false;
		}
	}

	if (document.getElementById('info_mail2'))
	{
		document.getElementById('info_mail2').onclick = function(evt)
		{
			var lang = document.getElementsByTagName('html')[0].lang;
			var w = window.open(this.href.replace('/' + lang + '/', lang + '/popup/'), '', 'width=500, height=500');
			w.focus();
			return false;
		}
	}

	if (document.getElementById('info_mail3'))
	{
		document.getElementById('info_mail3').onclick = function(evt)
		{
			var lang = document.getElementsByTagName('html')[0].lang;
			var w = window.open(this.href.replace('/' + lang + '/', lang + '/popup/'), '', 'width=500, height=500');
			w.focus();
			return false;
		}
	}

	if (document.getElementById('reg_link3'))
	{
		document.getElementById('reg_link3').onclick = function(evt)
		{
			var lang = document.getElementsByTagName('html')[0].lang;
			var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', 'width=500, height=520');
			w.focus();
			return false;
		}
	}
	else
	{
		if (document.getElementById('Node'))
		{
			var reglinks = document.getElementById('Node').getElementsByTagName('a');
			for (var i = 0; i < reglinks.length; i++)
			{
				if (reglinks[i].className == 'register2')
				{
					reglinks[i].onclick = function(evt)
					{
						var lang = document.getElementsByTagName('html')[0].lang;
						var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', 'width=500, height=520');
						w.focus();
						return false;
					}
				}
			}
		}
	}

	if (!document.getElementById('Questions')) return;

	var anchors = document.getElementById('Questions').getElementsByTagName('a');

	for (var i = 0; i < anchors.length; i++)
	{
		anchors[i].onclick = function(evt)
		{
			var lang = document.getElementsByTagName('html')[0].lang;
			var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', 'width=520, height=500,scrollbars=yes,resizable=yes');
			w.focus();
			return false;
		}
	}
}

function TutorLinkPopups()
{
	if (!document.getElementById('Node'))
	{
		return false;
	}

	var anchors = document.getElementById('Node').getElementsByTagName('a');

	for (var i = 0; link = anchors[i]; i++)
	{
		if (link.className == 'tutor_link')
		{
			link.onclick = function(evt)
			{
				var lang = document.getElementsByTagName('html')[0].lang;
				var params = 'width=550,height=500,scrollbars=1';
				if (screen.availHeight > 600)
				{
					params = 'width=500,height=700,scrollbars=1';
				}
				var w = window.open(this.href.replace('/' + lang + '/', '/' + lang + '/popup/'), '', params);
				//alert(w);
				//w.focus();
				return false;
			}
		}
	}
}
