var scripts = {
	init: function() {
		var nodes=[];
		var counter=0;
		var targetmenu=document.getElementById("menu2");
		targetmenu.removeChild(targetmenu.childNodes[0]);
		var changed=0;
		findmenus(document.getElementById("menu1"));
		addevents();

		function findmenus(chunk) {
			for (var i=0; i<chunk.childNodes.length; i++) {
				if (chunk.childNodes[i].nodeName=="LI") {
					nodes[counter]=chunk.childNodes[i];
					counter++;
				} else { // don't go deeper, we just need the main menu's
					findmenus(chunk.childNodes[i]);
				}
			}
		}

		function addevents() {
			for (var i=0; i<nodes.length; i++) {
				nodes[i].onmouseover = function() {
					if (typeof(targetmenu.childNodes[0])!="undefined") {
						nodes[changed].appendChild(targetmenu.childNodes[0]);
					}
					for (var j=0; j<this.childNodes.length; j++) {
						if (this.childNodes[j].nodeName=="UL") {
							if (typeof(this.childNodes[j])!="undefined") {
								for (var i=0; i<nodes.length; i++) {
									if (this==nodes[i]) {
										changed=i;
									}
								}
								targetmenu.appendChild(this.childNodes[j]);
							}
						}
					}
				}
				if (Core.hasClass(nodes[i], "active")) {
					if (typeof(targetmenu.childNodes[0])!="undefined") {
						nodes[i].appendChild(targetmenu.childNodes[0]);
					}
					for (var j=0; j<nodes[i].childNodes.length; j++) {
						if (nodes[i].childNodes[j].nodeName=="UL") {
							if (typeof(nodes[i].childNodes[j])!="undefined") {
								changed=i;
								targetmenu.appendChild(nodes[i].childNodes[j]);
							}
						}
					}
				}
			}
		}
	}
};

Core.start(scripts);