var compatible = (document.getElementsByTagName && document.createElement);

function startList() {
	if (!compatible) return; // tiene soporte para DOM?
		if (document.all && document.getElementById) { // es internet explorer o similar?
			navRoot = document.getElementById("menu_superior");
			for (i=0; i<navRoot.childNodes.length; i++) {
				node = navRoot.childNodes[i];
				if (node.nodeName=="LI") {
					node.onmouseover=function() {
						this.className+=" over";
					}
					node.onmouseout=function() {
						this.className=this.className.replace(" over", "");
					}
				}
				subnode = node.getElementsByTagName("LI");
				for (j=0; j<subnode.length; j++) {
					subnode[j].onmouseover=function() {
						this.className+=" over";
					}
					subnode[j].onmouseout=function() {
						this.className=this.className.replace(" over", "");
					}
				}
			}
		}
	}

addEventSimple(window,"load",startList);

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 getElementsByClass(searchClass,node,tag) {
       var classElements = new Array();
       if ( node == null )
               node = document;
       if ( tag == null )
               tag = '*';
       var els = node.getElementsByTagName(tag);
       var elsLen = els.length;
       var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
       for (i = 0, j = 0; i < elsLen; i++) {
               if ( pattern.test(els[i].className) ) {
                       classElements[j] = els[i];
                       j++;
               }
       }
       return classElements;
}


/** MENU **/
var Menu = function(){
	
	var groups = getElementsByClass('MGroupContent', document, 'div');
	
	for (var z in groups) { groups[z].style.display = 'block' }
	
	var selected = document.getElementById('MSelected');
	
	var current = (selected) ? selected : true;

	var entries = getElementsByClass('MGroup MEntry', document, 'div');
	
	for (var i=0; i<entries.length; i++){
		
		var div = entries[i];
		
		var link = div.getElementsByTagName('a')[0];
		
		var block = div.getElementsByTagName('div')[0];
		
		if (link != current) block.style.display = 'none';

		menuClick(link, block);
	}
	
};

function menuClick(link, block){
	link.onclick = function(){
		var shift = toggle(block);
		if (shift) {
			this.parentNode.className = 'MGroup MEntry MGroupSelected';
		} else {
			this.id = '';
			this.parentNode.className = 'MGroup MEntry';
		}
	};
}

function toggle(element) {
	var display = element.style.display;
	(display=="none") ? display = "block" : display = "none";
	element.style.display = display;
	return (display=='block') ? 1 : 0;
}

addEventSimple(window,"load",Menu);

document.write('<style type="text/css" media="screen">div.MGroupContent{display: none}</style>');