// 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;
}
// cookies
// Modified from Bill Dortch's Cookie Functions (hidaho.com) 
// (found in JavaScript Bible)
function setCookie(name,value,days,path,domain,secure) {
  var expires, date;
  if (typeof days == "number") {
    date = new Date();
    date.setTime( date.getTime() + (days*24*60*60*1000) );
		expires = date.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}
// Modified from Jesse Chisholm or Scott Andrew Lepera ?
// (found at both www.dansteinman.com/dynapi/ and www.scottandrew.com/junkyard/js/)
function getCookie(name) {
  var nameq = name + "=";
  var c_ar = document.cookie.split(';');
  for (var i=0; i<c_ar.length; i++) {
    var c = c_ar[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameq) == 0) return unescape( c.substring(nameq.length, c.length) );
  }
  return null;
}
// from Bill Dortch's Cookie Functions (hidaho.com) 
function deleteCookie(name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") +  "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
// styleswitcher
/* style sheet */
function selectStylesheet(){
	var stylesheetname = '';
	var cookiecolor = getCookie('marnixcolor');
	if(cookiecolor) {
		stylesheetname = cookiecolor;
		setCookie('marnixcolor',cookiecolor,60,'/');
	} else {
		stylesheetname = 'grey';
	}
	setActiveStyleSheet(stylesheetname);
}
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  setCookie('marnixcolor',''+title+'',60,'/');
}
function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}
// 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;
	// 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
	var type = (menutype == 'vertical') ? 'vertical' : 'horisontal'; 
	// set the variables
	var deept = 0, deeper = false, ul = new Array(), li = new Array();
	menudiv = document.getElementById(menuid);
	// 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];
							if (child.nodeName.toUpperCase() == 'UL') { 
							 var show = function(){
								child.style.visibility = 'visible';
							}
							setTimeout(show, 150);
						  }
						}
						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;
						if (this.firstChild.nodeName.toUpperCase() == 'A') {
						  if(this.firstChild.className.indexOf('active') != -1) {
							this.firstChild.className = 'active';
						  } else {
							this.firstChild.className = '';
						  }
						}
						for (i = 0; i < this.childNodes.length; i++) {
						  child = this.childNodes[i];
						  if (child.nodeName.toUpperCase() == 'UL') { 
							var hide = function(){
							  child.style.visibility = 'hidden';
							}
							setTimeout(hide, 200); 
						  }
						}
						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;
}
