/* ---- FILE : /TEMPLATES/24/DESIGNS/96_UNIVERSAL3//DROPDOWN.JS ---- */
var compatible = (document.getElementsByTagName && document.createElement);

if (compatible) {
	var link = document.createElement('link'), scripts = document.getElementsByTagName('script'), script, i, pos;
	for (i = 0; script = scripts[i]; i++) {
		pos = script.src.indexOf("/cache/");
		if (pos != -1) {
			link.rel = "stylesheet";
			link.href = script.src.substring(0, pos) + '/templates/24/navstyles.css';
			document.getElementsByTagName('head')[0].appendChild(link);
			break;
		}
	}
}

function initNavigation() {
	var lists = document.getElementsByTagName('ul');
	for (var i=0;i<lists.length;i++) {
		if (!hasClass(lists[i], 'menutree')) {
			continue;
		}
		lists[i].onmouseover = navMouseOver;
		lists[i].onmouseout = navMouseOut;
		var listItems = lists[i].getElementsByTagName('li');
		for (var j=0;j<listItems.length;j++) {
			var test = listItems[j].getElementsByTagName('ul')[0];
			if (test) {
				listItems[j].firstChild.onfocus = navMouseOver;
				listItems[j].relatedItem = test;
			}
		}
	}
}

var currentlyOpenedMenus = new Array();
var currentlyFocusedItem;

function navMouseOver(e) {
	var evt = e || window.event;
	var evtTarget = evt.target || evt.srcElement;
	if (evtTarget.nodeName == 'UL') return;
	while (evtTarget.nodeName != 'LI') {
		evtTarget = evtTarget.parentNode;
	}
	foldMenuIn(evtTarget);
	if (evtTarget.relatedItem && !evtTarget.relatedItem.opened) {
		addClass(evtTarget, 'highlight');
		addClass(evtTarget.relatedItem, 'foldOut');
		evtTarget.relatedItem.opened = true;
		currentlyOpenedMenus.push(evtTarget.relatedItem);
	}
}

function navMouseOut(e) {
	var evt = e || window.event;
	var relatedNode = evt.relatedTarget || evt.toElement;
	foldMenuIn(relatedNode);
}

function foldMenuIn(targetNode) {
	if (!targetNode) return;
	var newCurrentlyOpenedMenus = new Array();
	for (var i=0;i<currentlyOpenedMenus.length;i++) {
		if (!containsElement(currentlyOpenedMenus[i],targetNode)) {
			removeClass(currentlyOpenedMenus[i], 'foldOut');
			removeClass(currentlyOpenedMenus[i].parentNode, 'highlight');
			currentlyOpenedMenus[i].opened = false;
		}
		else
			newCurrentlyOpenedMenus.push(currentlyOpenedMenus[i]);
	}
	currentlyOpenedMenus = newCurrentlyOpenedMenus;
}

function containsElement(obj1,obj2) {
	while (obj2.nodeName != 'HTML') {
		if (obj2 == obj1) {
			return true;
		}
		obj2 = obj2.parentNode;
	}
	return false;
}

function addEventSimple(obj, evt, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evt, fn, false);
	} else if (obj.attachEvent) {
		obj.attachEvent('on' + evt, fn);
	}
}

function removeEventSimple(obj, evt, fn) {
	if (obj.removeEventListener) {
		obj.removeEventListener(evt, fn, false);
	} else if (obj.detachEvent) {
		obj.detachEvent('on' + evt, fn);
	}
}

/** PUSH AND SHIFT FOR IE5 **/

function Array_push() {
	var A_p = 0;
	for (A_p = 0; A_p < arguments.length; A_p++) {
		this[this.length] = arguments[A_p];
	}
	return this.length;
}

if (typeof Array.prototype.push == "undefined") {
	Array.prototype.push = Array_push;
}

function Array_shift() {
	var A_s = 0;
	var response = this[0];
	for (A_s = 0; A_s < this.length-1; A_s++) {
		this[A_s] = this[A_s + 1];
	}
	this.length--;
	return response;
}

if (typeof Array.prototype.shift == "undefined") {
	Array.prototype.shift = Array_shift;
}

function hasClass(ele, cls) {
	return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}

function addClass(ele, cls) {
	if (!this.hasClass(ele,cls)) {
		ele.className += " " + cls;
	}
}

function removeClass(ele, cls) {
	if (hasClass(ele, cls)) {
    	var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

if (document.getElementById('builder-panel')) {
	document.observe("dom:loaded",  initNavigation);
} else {
	/* change last init to whatever the page's initialization function is called */
	(function(i) {var u =navigator.userAgent;var e=/*@cc_on!@*/false; var st=setTimeout;if(/webkit/i.test(u)){st(function(){var dr=document.readyState; if(dr=="loaded"||dr=="complete"){i()}else{st(arguments.callee,10);}},10);} else if((/mozilla/i.test(u)&&!/(compati)/.test(u)) || (/opera/i.test(u) || document.addEventListener)){document.addEventListener("DOMContentLoaded",i,false); } else if(e){(function(){var t=document.createElement('doc:rdy');try{t.doScroll('left');i();t=null;}catch(e){st(arguments.callee,0);}})();}else{window.onload=i;}})(initNavigation);
}
