var naviMenu = [
  {
    name:"Über uns",
    childs:[
      { name:"Marke OKW", link:"okw_marke.htm" },
      { name:"Zahlen", link:"okw_zahlen.htm" },
      { name:"Ausbildung", link:"okw_ausbildung.htm" },
      { name:"Sponsoring", link:"okw_sponsoring.htm" },
      { name:"moments <i>inside</i>", link:"okw_moments_inside.htm" },
      { name:"Impressum", link:"okw_impressum.htm" }
    ]
  },
  { name:"Produkte", link:"/OPD-WebSite/welcome.okw?locale=de", linkAttr:{target:"_top"} },
  {
    name:"Lösungen",
    childs:[
      { name:"Einsatzgebiete", link:"/OPD-WebSite/applications.okw?locale=de" },
      { name:"Referenzen", link:"los_ref.htm" }
    ]
  },
  {
    name:"Service",
    childs:[
      { name:"Serviceleistungen", link:"service.htm" },
      { name:"Montageanleitungen-Übersicht", link:"/OPD-WebSite/assemblyInstList.okw?locale=de", linkAttr:{target:"_top"} },
      { name:"Umwelt-Fragen (kritische Stoffe)", link:"service_umwelt.htm" }
    ]
  },
  {
    name:"Nachrichten",
    childs:[
      { name:"Messen", link:"news_messen.htm" },
      { name:"aktuelle Nachrichten", link:"news_akt.htm" },
      { name:"PR-Informationen", link:"news_pr.htm" },
      { name:"Publikationen", link:"news_publikationen.htm" }
    ]
  },
  {
    name:"Kontakt",
    childs:[
      { name:"Online Anfrage", link:"/OPD-WebSite/contact.okw?locale=de" },
      { name:"Kontakt OKW", link:"contact.htm" },
      { name:"Kontakt Vertriebspartner", link:"kontakt_vertr.asp?Land=D" },
      { name:"Weg / Anfahrtsskizze", link:"kontakt_weg.htm" }
    ]
  },
  { name:"Sitemap", link:"sitemap.htm" },
  { name:"e-Shop", link:"http://webshop.okw.com/sap(bD1kZQ==)/bc/bsp/sap/okw_selling/login.html?sap-Language=de", linkAttr:{target:"_blank"} },
  { name:"Vertreterportal", link:"vertreter.htm", linkAttr:{target:"_top"} }
];
document.write("<script type=\"text/javascript\" src=\"/okw-static/js/dojo/dojo/dojo.js\"></script>");
document.write("<link href=\"/okw/css/naviMenu.css\" rel=\"stylesheet\" media=\"screen\" type=\"text/css\">");
function TopNav() {
	this.activeMenu=null;
	this.menuToShow=null;
	this.timerId=null;
	this.runningAnim=null;
	this.menuTimeOut=300;
}
TopNav.prototype.init=function() {
	dojo.query( '#frameNaviMenu > ul > li')
		.onmouseenter(this, function(evt) {
			this.clearTimeout();
			if (this.activeMenu==evt.currentTarget) {
				return;
			}
			this.menuToShow=evt.currentTarget;
			if (this.activeMenu==null) {
				this.updateMenu();
			} else {
				this.startTimeout();
			}
		})
		.onmouseleave(this, function(evt) {
			this.clearTimeout();
			if (this.menuToShow==evt.currentTarget) {
				this.menuToShow=null;
				return;
			}
			this.startTimeout();
		});
};
TopNav.prototype.startTimeout=function() {
	var that=this;
	this.timerId=setTimeout(function(){that.updateMenu();},this.menuTimeOut);
};
TopNav.prototype.clearTimeout=function() {
	this.menuToShow=null;
	clearTimeout(this.timerId);
};
TopNav.prototype.updateMenu=function() {
	var animArr=[];
	var displayElm=null;
	if (this.runningAnim!=null&&this.runningAnim.status()=='playing') {
		this.runningAnim.stop(false);
	}
	var hideElms=dojo.query('#frameNaviMenu > ul > li.navOpen');
	var filterElm=this.menuToShow;
	hideElms = hideElms.filter(function(item){
		return filterElm==null||filterElm!=item;
	});
	hideElms.forEach(function(node){
		var elms = dojo.query('ul',node);
		if (elms.length == 1) {
			if (!dojo.isIE || dojo.isIE > 7) {
				animArr.push(dojo.fx.wipeOut({node:elms[0], duration:250, easing:dojo.fx.easing.quintOut}));
			} else {
				animArr.push(dojo.anim(node,{display:'none'},1));
			}
		}
	});
	if (this.menuToShow!=null) {
		var elms = dojo.query('ul',this.menuToShow);
		if (elms.length == 1) {
			displayElm=elms[0];
			if (!dojo.isIE || dojo.isIE > 7) {
				animArr.push(dojo.fx.wipeIn({node:elms[0], duration:250, easing:dojo.fx.easing.quintOut}));
			} else {
				animArr.push(dojo.anim(displayElm,{display:''},1));
			}
		}
	}
	this.runningAnim=dojo.fx.combine(animArr);
	dojo.connect(this.runningAnim,"onEnd",function(){
		if(displayElm!=null){
			displayElm.style.display = '';
		}
		hideElms.forEach(function(node){
			dojo.removeClass(node,'navOpen');
			var elms = dojo.query('ul',node);
			if (elms.length == 1) {
				dojo.style(elms[0],'display','none');
			}
		});
	});
	if (this.menuToShow!=null) {
		this.activeMenu=this.menuToShow;
		dojo.addClass(this.activeMenu,'navOpen');
	} else {
		this.activeMenu=null;
	}
	this.menuToShow=null;
	this.runningAnim.play();
};
function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 }
}
addEvent(window, 'load', function(){
  dojo.require("dojo.fx");
  dojo.require("dojo.fx.easing");
  var zIdx=19;
  var nodes=dojo.query("script[src='js/m_okw_D_norm.js']");
  var parent=dojo.create("div",{id:"frameNaviMenu"},nodes[0],"after");
  parent=dojo.create("ul",null,parent,"last");
  dojo.forEach(naviMenu,function(item){
    if(item==null){return}
    var child=dojo.create("li",{style:"z-index:"+zIdx},parent,"last");
    createNavA(item,child);
    if (item.childs!=null) {
      subParent=dojo.create("ul",{style:"display:none;"},child,"last");
      dojo.style(subParent,"display","none");
      dojo.forEach(item.childs,function(subItem){
	    if(subItem==null){return}
        var subChild=dojo.create("li",null,subParent,"last");
        createNavA(subItem,subChild);
      });
    }
    zIdx--;
  });
  new TopNav().init();
});
function createNavA(item,parent) {
  if(item==null){return}
  var ref = {innerHTML:item.name};
  if (item.link!=null) {
    ref.href=item.link;
  }
  // merge attrs
  for (var attrname in item.linkAttr) { ref[attrname] = item.linkAttr[attrname]; }
  dojo.create("a",ref,parent,"last");
}
