/* Utility functions */
function addEvent(obj, evType, fn) {
  /* adds an eventListener for browsers which support it Written by Scott Andrew */
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent) {
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else { return false; }
}
// login
function toPassword(objOldInput) {
	var objNewElement = document.createElement('input');
	objNewElement.setAttribute('type', 'password');
    objNewElement.setAttribute('name', objOldInput.name);
	objOldInput.parentNode.replaceChild(objNewElement, objOldInput);
	toPassword.el = objNewElement;
	setTimeout('toPassword.el.focus()',100);
	return true;
}
// menu.js
function elementContains(elmOuter, elmInner) {
	while (elmInner && elmInner != elmOuter) { elmInner = elmInner.parentNode; }
	if (elmInner == elmOuter) {return true;}
	return false;
}
function getPageXY(elm) {
	var point = { x: 0, y: 0 };
	while (elm)	{
		point.x += elm.offsetLeft;
		point.y += elm.offsetTop;
		elm = elm.offsetParent;
	}
	return point;
}
function setPageXY(elm, x, y) {
	var parentXY = {x: 0, y: 0 };
	if (elm.offsetParent) { parentXY = getPageXY(elm.offsetParent); }
	elm.style.left = (x - parentXY.x) + 'px';
	elm.style.top  = (y - parentXY.y) + 'px';
}
function cssjsmenu(menuid, menutype) {
	// make the variables
	var i, j, node, child, parent, ul, li, deept, deeper, menudiv, version, offset, type;
	// if the browser doesn't even support
	// document.getElementById, give up now.
	if (!document.getElementById) { return true; }
	offset = navigator.userAgent.indexOf('Opera');
	if (offset != -1) { 
		version = parseInt('0' + navigator.userAgent.substr(offset + 6), 10);
		if (version < 7) { return true; }
	}
	offset = navigator.userAgent.indexOf('MSIE');
	if (offset != -1) { if (navigator.userAgent.indexOf('Mac') != -1) { return true; }}
	// horisontal or vertical menu
	if (menutype == 'vertical') { type = 'vertical'; }
	else { type = 'horisontal'; }
	// set the variables
	var deept = 0, deeper = false, ul = new Array(), li = new Array();
	menudiv = document.getElementById(menuid);
	if(menudiv) {
		// first ul (this is the horisontal head navigation)
		ul[deept] = new Array();
		for (i = 0; i < menudiv.childNodes.length; i++) {
			node = menudiv.childNodes[i];
			if (node.nodeName.toUpperCase() == 'UL') { ul[deept][ul[deept].length] = node; }
		}
		// first ul > li (this is the horisontal head navigation)
		li[deept] = new Array();
		for (i = 0; i < ul[deept].length; i++)	{
			node = ul[deept][i];
			for (j = 0; j < node.childNodes.length; j++) {
				child = node.childNodes[j];
				if (child.nodeName.toUpperCase() == 'LI') {	li[deept][li[deept].length] = child; }
			}
		}
		// if there are li's => go deeper (this is for the vertical sub navigations)
		if (li[deept].length > 0 ) deeper = true;
		for (deept=1; deeper==true; deept++) {
			var deeper = false;
			// deeper ul
			ul[deept] = new Array();
			for (i = 0; i < li[deept-1].length; i++) {
				node = li[deept-1][i];
				for (j = 0; j < node.childNodes.length; j++) {
					child = node.childNodes[j];
					if (child.nodeName.toUpperCase() == 'UL') {
						ul[deept][ul[deept].length] = child;
						// attach hover to parent li
						parent = child.parentNode;
						// onmouseover function
						parent.onmouseover = function (e) {
							var i, child, point;
							if (this.firstChild.nodeName.toUpperCase() == 'A') {
								if(this.firstChild.className.indexOf('active') != -1) {
									this.firstChild.className = 'active mouse';
								} else {
									this.firstChild.className = 'mouse';
								}
							}
							for (i = 0; i < this.childNodes.length; i++) {
								child = this.childNodes[i];
								var show = function(){
									if (child.nodeName.toUpperCase() == 'UL') { child.style.visibility = 'visible'; }
								}
								setTimeout(show, 100);
							}
							return false;
						};
						// onmouseout function
						parent.onmouseout = function (e) {
							var relatedTarget = null;
							if (e) {
								relatedTarget = e.relatedTarget;
								// work around Gecko Linux only bug where related target is null
								// when clicking on menu links or when right clicking and moving
								// into a context menu.
								if (navigator.product == 'Gecko' && navigator.platform.indexOf('Linux') != -1 && !relatedTarget) { relatedTarget = e.originalTarget; }
							}
							else if (window.event) {
								relatedTarget = window.event.toElement;
							}
							if (elementContains(this, relatedTarget)) { return false; }
							var i, child;
							for (i = 0; i < this.childNodes.length; i++) {
								child = this.childNodes[i];
								var hide = function(){
									if (child.nodeName.toUpperCase() == 'UL') { child.style.visibility = 'hidden'; }
								}
								setTimeout(hide, 200);
							}
							if (this.firstChild.nodeName.toUpperCase() == 'A') {
								if(this.firstChild.className.indexOf('active') != -1) {
									this.firstChild.className = 'active';
								} else {
									this.firstChild.className = '';
								}
							}
							return false;
						};
					}
				}
			}
			// deeper ul > li
			li[deept] = new Array();
			for (i = 0; i < ul[deept].length; i++) {
				node = ul[deept][i];
				for (j = 0; j < node.childNodes.length; j++) {
					child = node.childNodes[j];
					if (child.nodeName.toUpperCase() == 'LI') {	li[deept][li[deept].length] = child; }
				}
			}
			// if there are li's => go deeper and do this lus again
			if (li[deept].length != 0) { deeper = true; }
		}
	}
	return true;
}

function switchMenu() {
	var priv = document.getElementById('privateMenu');
	var bis = document.getElementById('businessMenu');
	if (priv && bis) {
		priv.onclick = function() {
			priv.className = 'active';
			bis.className = '';
			return void(0);
		}
		bis.onclick = function() {
			bis.className = 'active';
			priv.className = '';
			return void(0);
		}
	}
	var arrPrivateLinks = document.getElementById('privateMenu').getElementsByTagName('a');
	for (var i=0; i<arrPrivateLinks.length; i++) {
		if (arrPrivateLinks[i].className.indexOf('active') != -1) {
			document.getElementById('privateMenu').className = 'active';
			document.getElementById('businessMenu').className = '';
		} 
	} 
}
