var timeid,timesubid;
var ResetMenuOnTimeout=(cfg.menutimeout),ResetMenuOnTimeoutMilisecs=cfg.menutimeout,hideSubmenuTimeout,infradoxMenu={init:function(m,handler,options){var e,mainLen,menuItem,s,activesubset;
this._options=options;
activesubset=0;
this._activemenu='menu_'+m.toString();
this._activesubmenu='';
this._showingsubmenufor='';
if(infradoxApp.men&&((infradoxApp.men.split('_')[0])=='submenu')){this._activesubmenu='submenu_'+infradoxApp.mid+'_'+infradoxApp.sid;}
e=infradoxApp.getElement('mainMenuContainer');
if(e) e.innerHTML='';
mainLen=menu.main.length;
s='<ul id="mmenu">';
for(var i=0;i<mainLen;i++){if(!menu.main[i].hide){s+=this.getLink(1,menu.main[i].id,menu.main[i].item);}}
s+='</ul>';
e.innerHTML=s;
for(var i=0;i<mainLen;i++){if(!menu.main[i].hide){s='menu_'+menu.main[i].id.toString();
e=infradoxApp.getElement(s);
if(e.id==this._activemenu){e.className='active';
if(!this._options.submenus.hideactive) this.showsubmenu(menu.main[i].id);}
this.bindevents(e,1);}}},
getLink:function(main,id,label,mainid){if(this._options.usehref){label='<a href="#">'+label+'</a>';}
if(main){return '<li id="menu_'+id.toString()+'">'+label+'</li>';
}else{return '<li id="submenu_'+mainid.toString()+'_'+id.toString()+'">'+label+'</li>';}},
getInfradoxApp:function(){var frmobj,iApp=infradoxApp;
if(this._options.submenus.targetframe){frmobj=this._options.submenus.targetframe;
if(frmobj){if(frmobj.infradoxApp){iApp=frmobj.infradoxApp;
}else{iApp=null;}}}
return iApp;},
showsubmenu:function(mainmenuid){var s,base,submenu,sublen,e,doc,frmObj,mid,yPos,containerElement,iApp,aPosition,m;
iApp=this.getInfradoxApp();
if(!iApp) return;
this._showingsubmenufor='';
if(this._options.submenus.targetframe){frmobj=this._options.submenus.targetframe;
containerElement=iApp.getElement('subMenuContainer');
if(!containerElement){doc=frmobj.document;
if(!doc){alert('no frmobj.document');return;}
e=doc.body;
if(!e){return;}
containerElement=iApp.createDomElement({type:"DIV",id:"subMenuContainer"},e);}
}else{containerElement=iApp.getElement('subMenuContainer');}
if(this._options.submenus.alignwithmain){mid='menu_'+mainmenuid.toString();
e=infradoxApp.getElement(mid);
aPosition=infradoxApp.findPosOfElement(e);
if(this._options.submenus.leftmargin){aPosition[0]=aPosition[0]+this._options.submenus.leftmargin;}
containerElement.style.left=aPosition[0]+'px';}
if(this._options.submenus.targetframe){yPos=iApp.getPageYpos();
if(this._options.submenus.adjusttoppix){yPos+=this._options.submenus.adjusttoppix;
}else{yPos--;}
containerElement.style.top=yPos+'px';}
containerElement.innerHTML='';
submenu=[];
for(var j=0;j<menu.main.length;j++){if(menu.main[j].id==mainmenuid){submenu=menu.main[j].submenu;
break;}}
if(submenu.length==0){if(this._options.submenus.hideempty){containerElement.style.display='none';}
}else{s='<ul id="smenu">';
for(var i=0;i<submenu.length;i++){if(!submenu[i].hide){s+=this.getLink(0,submenu[i].id,submenu[i].item,mainmenuid);}}
s+='</ul>';
containerElement.innerHTML=s;
base='submenu_'+mainmenuid.toString()+'_';
sublen=submenu.length;
for(var i=0;i<sublen;i++){s=base+i.toString();
e=iApp.getElement(s);
if(e){if(e.id==this._activesubmenu){e.className='active';}
this.bindevents(e,0);}}
containerElement.style.display='inline';
this._showingsubmenufor=mainmenuid;}
for(var i=0;i<menu.main.length;i++){m='menu_'+menu.main[i].id;
e=infradoxApp.getElement(m);
if(e){if(menu.main[i].id==mainmenuid){e.className=(this._activemenu==e.id)?'activeover':'over';
}else{e.className=(this._activemenu==e.id)?'active':'';}}}},
bindevents:function(e,bmainmenu){e.onclick=function(){menuHandler(this.id);};
e.onmouseover=function(){infradoxMenu.menuhover(this,'over',bmainmenu);};
e.onmouseout=function(){infradoxMenu.menuhover(this,'out',bmainmenu);};},
hidesubmenu:function(){var m,e;
if(timesubid) clearTimeout(timesubid);
iApp=this.getInfradoxApp();
if(!iApp) return;
containerElement=iApp.getElement('subMenuContainer');
if(containerElement) containerElement.style.display='none';
if(this._showingsubmenufor){m='menu_'+this._showingsubmenufor;
e=iApp.getElement(m);
if(e){e.className=(this._activemenu==e.id)?'active':'';}}
this._showingsubmenufor='';},
reselectActive:function(){if(timeid) clearTimeout(timeid);
if(this._activemenu.split('_')[1] !=this._activesubmenu){this.showsubmenu(this._activemenu.split('_')[1]);}},
menuhover:function(e,state,main){if(timeid) clearTimeout(timeid);
var mainid,mainitem,selected=main?this._activemenu:this._activesubmenu;
switch(state){case 'over':
e.className=(selected==e.id)?'activeover':'over';
if(main){this.showsubmenu(e.id.split('_')[1]);}
if(this._options.submenus.hideactive){if(timesubid) clearTimeout(timesubid);}
break;
case 'out':
if(!(main&&(this._showingsubmenufor==e.id.split('_')[1]))){e.className=(selected==e.id)?'active':'';}
if((ResetMenuOnTimeout)&&(!this._options.submenus.hideactive)){timeid=setTimeout(function(){infradoxMenu.reselectActive()
},ResetMenuOnTimeoutMilisecs);
} else if(this._options.submenus.hideactive){if(timesubid) clearTimeout(timesubid);
timesubid=setTimeout(function(){clearTimeout(timesubid);infradoxMenu.hidesubmenu();
},infradoxMenu._options.submenus.hideactive);}
break;}}};

