var MenuItem = function(text,link){
this.text = text;
this.link = link || '';
};
var TwoLevelMenu = function(thisMenuId,idContainer,cssContainer,cssMenuItemHover,cssSubmenuContainer,cssSubmenuItemHover,submenuPosition){
this.html = '';
this.submenus = '';
this.timer = false;
this.submenuVisible = false;
this.elTrigger = false;
//
this.thisMenuId = thisMenuId;
this.idContainer = idContainer ? ' id="'+idContainer+'"' : '';
this.cssContainer = cssContainer ? ' class="'+cssContainer+'"' : '';
//this.cssMenuItemHover = cssMenuItemHover ? ' class="'+cssMenuItemHover+'"' : '';
this.cssMenuItemHover = cssMenuItemHover || '';
this.cssSubmenuContainer = cssSubmenuContainer ? ' class="'+cssSubmenuContainer+'"' : '';
this.cssSubmenuItemHover = cssSubmenuItemHover ? ' class="'+cssSubmenuItemHover+'"' : '';
this.submenuPosition = typeof submenuPosition == 'object' ? submenuPosition : {x:0,y:'this.offsetHeight+3'}
};
TwoLevelMenu.prototype.addItem = function(name,link,cssLi,cssHref,submenuId,submenuItems){
var li = cssLi ? ' class="'+cssLi+'"' : '';
var href = cssHref ? ' class="'+cssHref+'"' : '';
if(submenuId){
this.html += '
'+name+'';
this.submenus += ''
}
else{
if(this.cssMenuItemHover)
this.html += ''+name+'';
else
this.html += ''+name+'';
}
this.html += '';
};
TwoLevelMenu.prototype.render = function(){
document.write(''+this.submenus);
};
TwoLevelMenu.prototype.showSubmenu = function(el,submenuId,x,y){
this.killTimer();
this.hideVisible();
//
this.elTrigger = el;
this.submenuVisible = AWT.e(submenuId);
if(this.cssMenuItemHover)
AWT.cadd(this.elTrigger,this.cssMenuItemHover);
var body = AWT.DOMParent();
var subDim = AWT.dim(this.submenuVisible);
var pos = AWT.pos(this.elTrigger);
x = parseInt(x);
y = parseInt(y);
if(pos.y+y+subDim.full.height > body.scrollHeight)
pos.y = body.scrollHeight - subDim.full.height - 10;
this.submenuVisible.style.left = (pos.x + parseInt(x)) + 'px';
this.submenuVisible.style.top = (pos.y + parseInt(y)) + 'px';
this.submenuVisible.style.visibility = 'visible';
};
TwoLevelMenu.prototype.killTimer = function(){
if(this.timer){
clearTimeout(this.timer);
this.timer = false;
}
};
TwoLevelMenu.prototype.hideVisible = function(){
if(this.submenuVisible){
this.submenuVisible.style.visibility = 'hidden';
this.submenuVisible = false;
if(this.cssMenuItemHover)
AWT.crmv(this.elTrigger,this.cssMenuItemHover);
this.elTrigger = false;
}
};
TwoLevelMenu.prototype.hideDelay = function(){
this.timer = setTimeout(this.thisMenuId+'.hideVisible()',350);
};