(function() {
    var UA = navigator.userAgent, w=window;
    
    _zangco_top = window.parent;
    try {
        _zangco_top._zangco_menu_test=null;
    }
    catch(ex) {
        _zangco_top=w;
    }
    w.is_gecko = /gecko/i.test(UA);
    w.is_opera = /opera/i.test(UA);
    w.is_ie = /msie/i.test(UA) && !is_opera && !(/mac_powerpc/i.test(UA));
    w.is_ie5 = is_ie && /msie 5\.[^5]/i.test(UA);
    w.is_mac_ie = /msie.*mac/i.test(UA);
    w.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);
    
    if (typeof _zangco_top._zangco_menu_url == "undefined") {
        _zangco_top._zangco_menu_url = "/hmenu/";
    }
    else {
        _zangco_top._zangco_menu_url = _zangco_top._zangco_menu_url.replace(/\x2f*$/,'/');
        if (!/^(https?:|\x2f)/.test(_zangco_top._zangco_menu_url) && _zangco_top != window) {
            _zangco_top._zangco_menu_url = _zangco_top.document.URL.replace(/\x2f?[^\x2f]*$/, "/") + _zangco_top._zangco_menu_url;
        }
    }
    w._zangco_menu_shadow = new Image();
    w._zangco_menu_shadow.src = _zangco_top._zangco_menu_url + "img/shadow.png";
    w._zangco_menu_ediv = "<div unselectable='on'>&nbsp;</div>";
})();

function ZangcoMenu(el,config) {
    var T1,a,i;
    
    if (config.d_profile) {
        ZangcoMenu.profile = {item:0,tree:0};
        T1 = (new Date()).getTime();
    }
    this._baseMenuInfo = null;
    this._popupMenus = [];
    this._activeKeymap = null;
    this._globalKeymap = null;
    this._activePopup = null;
    this._fixed = false;
    this.items = {};
    this.target = null;
    this.config = config;
    
    try {
        this._df = config.frames.popups.document.createDocumentFragment();
    }
    catch(e) {
        this._df = null;
        this._ca = [];
    }
    el.parentNode.insertBefore(this.createMenuTree(el, !config.vertical), el);
    
    if (this._df) {
        config.container.appendChild(this._df);
        this._df = null;
    }
    else {
        a = this._ca;
        
        for (i = a.length; --i >= 0;) {
            config.container.appendChild(a[i]);
        }
    }
    if (config.d_profile) {
        alert("ZangcoMenu: generated in " + (((new Date()).getTime() - T1)/1000) + " sec.\n" + "containing " + ZangcoMenu.profile.item + " items in " + ZangcoMenu.profile.tree + " (sub)menus.");
    }
    if (config.setFocus) {
        config.frames.popups.focus();
    }
};

ZangcoMenu._hiderID = 0;
ZangcoMenu._createHider = function(win) {
    var f = null;
    
    if (is_ie && !is_ie5) {
        var filter = 'filter:progid:DXImageTransform.Microsoft.alpha(style=0,opacity=0);';
        var id = 'zangco-menu-hider-' + (++this._hiderID);
        win.document.body.insertAdjacentHTML('beforeEnd', '<iframe id="' + id + '" scroll="no" frameborder="0" ' + 'style="position:absolute;visibility:hidden;' + filter + 'border:0;top:0;left:0;width:0;height:0;" ' + 'src="javascript:false;"></iframe>');
        f = win.document.getElementById(id);
    }
    return f;
};

ZangcoMenu._setupHider = function(f,x,y,w,h) {
    if (f) {
        var s = f.style;
        s.left = x + "px";
        s.top = y + "px";
        s.width = w + "px";
        s.height = h + "px";
        s.visibility = "visible";
    }
};

ZangcoMenu._closeHider = function(f) {
    if (f) {
        f.style.visibility="hidden";
    }
};

ZangcoMenu._C = null;
ZangcoMenu._T = null;
ZangcoMenu._OT = null;
ZangcoMenu._RE_PR = /(^|\s+)pressed(\s+|$)/ig;
ZangcoMenu._RE_AH = /(^|\s+)active|hover(\s+|$)/ig;
ZangcoMenu._RE_DS = /(^|\s+)disabled(\s+|$)/ig;
ZangcoMenu._RE_CP = /clones-popup-(.*)/;
ZangcoMenu._RE_OPL = /(^|\s+)open-left(\s+|$)/;
ZangcoMenu._RE_CTX_ID = /context-for-(.*)/;
ZangcoMenu._RE_CTX_CL = /context-class-([^-\s]+)-([^\s]+)/;
ZangcoMenu._RE_CTX_AL = /context-align-([a-z]+)/;
ZangcoMenu._RE_SCROLL_D = /(^|\s+)zangco-menu-scroll-(up-|down-)?disabled/g;
ZangcoMenu._RE_SCROLL_H = /(^|\s+)zangco-menu-scroll-(up-|down-)?hover/g;
ZangcoMenu._activeItem = null;
ZangcoMenu._menus = null;
ZangcoMenu._nop = function(){};
ZangcoMenu.setup = function(el, args) {
    if (typeof args == "undefined") {
        args={};
    }
    var config={}, tmp;
    
    function PD(name, value) {
        var v = args[name];
        config[name] = (typeof v == "undefined") ? value : v;
    };
    PD("className", null);
    PD("tooltips", false);
    PD("shadows", [4,4]);
    PD("smoothShadow", true);
    PD("dx", 0);
    PD("dy", 0);
    PD("basedx", 0);
    PD("basedy", 0);
    PD("timeout", 150);
    PD("baseTimeout", 50);
    PD("context", false);
    PD("vertical", false);
    PD("electric", config.vertical ? 250 : false);
    PD("blink", false);
    PD("lazy", false);
    PD("d_profile", false);
    PD("toolbar", false);
    PD("ctxbutton", 2);
    PD("frames", {main:window,popups:window});
    PD("scrolling", null);
    
    if (config.scrolling === true) {
        config.scrolling = {step1:5,step2:10,speed:30};
    }
    tmp = config.frames;
    if (typeof tmp.main == "string") {
        tmp.main = _zangco_top.frames[tmp.main];
    }
    if (typeof tmp.popups == "string") {
        tmp.popups = _zangco_top.frames[tmp.popups];
    }
    PD("crossFrames", tmp.main !== tmp.popups);
    PD("container", config.frames.popups.document.body);
    PD("clone", false);
    PD("onPopup", ZangcoMenu._nop);
    PD("setFocus", true);
    
    if (config.blink === true) {
        config.blink = 5;
    }
    if (typeof el == "string") {
        el = tmp.main.document.getElementById(el);
    }
    if (is_mac_ie) {
        return null;
    }
    if (is_ie5) {
        config.smoothShadow = false;
    }
    if (config.context) {
        config.vertical = true;
    }
    if (!el) {
        alert("Error: menu element not found.");
        return false;
    }
    el.style.display = "none";
    var i,els,a=ZangcoMenu._menus,tmp2;
    
    if (!a || a.length == 0) {
        a = ZangcoMenu._menus=[];
        els = [config.frames.main, config.frames.main.document];
        if (config.frames.popups !== config.frames.main) {
            els[els.length] = config.frames.popups;
            els[els.length] = config.frames.popups.document;
        }
        for (i = els.length; --i >= 0;) {
            tmp = els[i];
            ZangcoMenu.watchFrame(tmp,tmp);
        }
        ZangcoMenu._eventElements = els;
    }
    return a[a.length] = new ZangcoMenu(el,config);
};

document.ZangcoMenu = ZangcoMenu;
_zangco_top.ZangcoMenu=ZangcoMenu;

ZangcoMenu.watchFrame = function(f,w) {
    if (typeof w == "undefined") {
        w = window;
    }
    try {
        ZangcoMenu._addEvent(f, (is_ie || is_opera) ? "keydown" : "keypress", w.ZangcoMenu._documentKeyPress);
        ZangcoMenu._addEvent(f, "mousedown", w.ZangcoMenu._documentMouseDown);
        ZangcoMenu._addEvent(f, "mouseup", w.ZangcoMenu._documentMouseUp);
        ZangcoMenu._addEvent(f, "mouseover", w.ZangcoMenu._documentMouseOver);
    }
    catch(e){};
};

ZangcoMenu._clearTimeout = function() {
    if (_zangco_top.ZangcoMenu._T) {
        _zangco_top.clearTimeout(_zangco_top.ZangcoMenu._T);
        _zangco_top.ZangcoMenu._T = null;
    }
};

ZangcoMenu._forAllMenus = function(callback) {
    for (var i = _zangco_top.ZangcoMenu._menus.length; --i >= 0 && !callback(_zangco_top.ZangcoMenu._menus[i]););
};

ZangcoMenu._closeOtherMenus = function(menu) {
    ZangcoMenu._forAllMenus(
        function(tmp) {
            if (tmp!=menu) {
                var a = tmp._popupMenus,i;
                for (i = a.length; --i >= 0;) {
                    a[i].close(false, true);
                }
                tmp._baseMenuInfo.close();
                window.status = "";
            }
        }
    );
};

ZangcoMenu.prototype.cloneEl = function(el, doc) {
    if (this.config.clone) {
        if (el.ownerDocument != doc) {
            if (is_ie) {
                var div = doc.createElement("div");
                div.innerHTML = el.outerHTML;
                el = div.removeChild(div.firstChild);
            }
            else {
                el = doc.importNode(el, true);
            }
        }
        else {
            el = el.cloneNode(true);
        }
    }
    return el;
};

ZangcoMenu.prototype.addIcon = function(info, item, icon) {
    var doc = info.parent.base ? this.config.frames.main.document : this.config.frames.popups.document;
    var CE = ZangcoMenu._createElement;
    var t;
    var l = item.firstChild.firstChild;
    var r = CE("tr", CE("tbody", t = CE("table", null, doc))),td1 = CE("td", r),td2 = CE("td", r);
    
    icon.unselectable = "on";
    td1.appendChild(r = this.cloneEl(icon,doc));
    td1.className = "icon";
    td2.className = "label";
    
    while(l) {
        td1 = l.nextSibling;
        td2.appendChild(l);
        l = td1;
    }
    t.cellSpacing = t.cellPadding = 0;
    t.style.borderCollapse = "collapse";
    item.firstChild.appendChild(t);
    return r;
};

ZangcoMenu.prototype.createMenuItem = function(li, parent, horiz, arrow) {
    var tmp;
    var ctx = null;
    var cfg = this.config;
    var licl = li.className;
    var icon = null;
    var label;
    var html_popup = true;
    var tooltip;
    var action = null;
    var item;
    var info;
    var self = this;
    var key = null;
    var disabled=/(^|\s+)disabled(\s+|$)/i.test(licl);
    var nohover = ZangcoMenu.getCA(li, "nohover");
    var win = parent.base ? cfg.frames.main : cfg.frames.popups;
    var doc = win.document;
    var CE = ZangcoMenu._createElement;
    
    if (cfg.d_profile) {
        ++ZangcoMenu.profile.item;
    }
    tmp = ZangcoMenu._getChildrenByTagName(li, "a");
    tmp = tmp.length > 0 ? tmp[0] : li;
    label = ZangcoMenu._getLabel(tmp);
    
    if (typeof label == "string") {
        label = label.replace(/(^\s+|\s+$)/g,'');
        
        if (/^a$/i.test(tmp.tagName) && tmp.accessKey) {
            key = tmp.accessKey;
            tmp.accessKey = "";
        }
        else if(!/^<img/i.test(label)) {
            label = label.replace(/_([a-zA-Z0-9])/,"<u unselectable='on'>$1</u>");
            key = RegExp.$1;
            label = label.replace(/__/,"_");
        }
        html_popup = false;
    }
    
    tooltip = /^\s*$/.test(tmp.title) ? "" : tmp.title;
    
    if (tmp.href && /\S/.test(tmp.href)) {
        if (/^javascript:(.*)$/i.test(tmp.href)) {
            action = new ZangcoMenu.JSAction(RegExp.$1);
        }
        else {
            action = new ZangcoMenu.LinkAction(tmp.href, tmp.target);
        }
        action.className = "explicit-action";
        action.explicit = true;
    }
    else {
        action = new ZangcoMenu.DefaultAction(li);
    }
    tmp = ZangcoMenu._getChildrenByTagName(li, "img");
    
    if (tmp.length > 0) {
        icon = tmp[0];
    }
    info = new ZangcoMenu.MenuItem({html_popup:html_popup, separator:html_popup||!/\S/.test(label) && !icon, icon:icon, label:label, parent:parent, submenu:null, tooltip:tooltip, action:action, menu:this, disabled:disabled, nohover:nohover, align:licl ? (ZangcoMenu._RE_CTX_AL.test(licl) ? RegExp.$1 : "mouse") : "mouse"});
    if (li.id) {
        this.items[info.id = li.id] = info;
    }
    if (action) {
        action.info = info;
    }
    if (horiz) {
        item = CE("td", null, doc);
        info.labelTD = item;
        if (info.separator)
            item.innerHTML = "<div unselectable='on'></div>";
        else {
            item.innerHTML = "<div unselectable='on'>" + label + "</div>";
            if (icon) {
                info.icon = this.addIcon(info, item, icon);
            }
        }
    }
    else {
        item = CE("tr", null, doc);
        tmp = CE("td", item);
        if (info.separator && !html_popup) {
            tmp.innerHTML = _zangco_menu_ediv;
            tmp.colSpan = 3;
        }
        else {
            tmp.className = "icon";
            if (icon) {
                tmp.appendChild(info.icon = this.cloneEl(icon, doc));
            }
            else {
                tmp.innerHTML = _zangco_menu_ediv;
            }
            tmp = CE("td", item);
            tmp.className = "label";
            info.labelTD = tmp;
            if (html_popup) {
                tmp.appendChild(this.cloneEl(label, doc));
            }
            else {
                tmp.innerHTML = label;
                tmp = CE("td", item);
                tmp.className = "end";
                tmp.innerHTML = _zangco_menu_ediv;
                
                if (arrow) {
                    tmp.className += " arrow";
                }
            }
        }
    }
    
    if (is_ie && key && parent.base) {
        tmp = CE("a", item);
        tmp.href = "#";
        tmp.accessKey = key;
    }
    
    info.element = item;
    item.className = (info.separator && !html_popup) ? "separator" : "item";
    if (action.className) {
        item.className += " " + action.className;
    }
    if (disabled) {
        info.disabled = true;
    }
    if (cfg.tooltips) {
        item.title = info.tooltip;
    }
    ZangcoMenu.addInfo(item, "__msh_info", info);
    if (ZangcoMenu._RE_CTX_ID.test(licl)) {
        ctx = document.getElementById(RegExp.$1);
        if (ctx) {
            ZangcoMenu.setupContext(ctx,info);
        }
    }
    else if(ZangcoMenu._RE_CTX_CL.test(licl)) {
        ctx = document.getElementsByTagName(RegExp.$1);
        tmp = new RegExp('(^|\\s)' + RegExp.$2 + '(\\s|$)');
        for (i = ctx.length; --i >= 0;) {
            if (tmp.test(ctx[i].className)) {
                ZangcoMenu.setupContext(ctx[i], info);
            }
        }
    }
    else if(licl) {
        item.className += " " + licl;
    }
    
    if (!nohover) {
        if (html_popup) {
            item.onmouseover = win.ZangcoMenu.EventHandlers.popup_resetActive;
        }
        if (key) {
            parent.keymap[key.toLowerCase()] = info;
        }
        item.onmouseover = win.ZangcoMenu.EventHandlers.item_onMouseOver;
        if (!info.separator) {
            item.onmouseout = win.ZangcoMenu.EventHandlers.item_onMouseOut;
            item.onmousedown = win.ZangcoMenu.EventHandlers.item_onMouseDown;
        }
    }
    return item;
};

ZangcoMenu._documentMouseDown=function(ev){ev||(ev=window.event);var el=is_ie?ev.srcElement:ev.target,j;for(j=el;j&&!j.__msh_info;j=j.parentNode);if(!j||j.__msh_info.base)_zangco_top.ZangcoMenu._closeOtherMenus(j&&j.__msh_info.menu);};

ZangcoMenu._msupTimeout=null;ZangcoMenu._documentMouseUp=function(ev){ev||(ev=window.event);if(ZangcoMenu._msupTimeout)return false;var menu=_zangco_top.ZangcoMenu._C,el,info;if(menu){el=is_ie?ev.srcElement:ev.target;for(;el&&!(el.__msh_is_zangco_menu&&(info=el.__msh_info));el=el.parentNode);if(!el)_zangco_top.ZangcoMenu._closeOtherMenus(null);else if(info&&info.exec)info.exec();}_zangco_top.ZangcoMenu._C=null;_zangco_top.ZangcoMenu._activeItem=null;};

ZangcoMenu._documentMouseOver=function(ev){var menu=_zangco_top.ZangcoMenu._C,el,tmout;if(menu&&menu.config.electric){ev||(ev=window.event);el=is_ie?ev.srcElement:ev.target;for(;el&&!el.__msh_is_zangco_menu;el=el.parentNode);if(!el||el===document.body){tmout=menu.config.electric;if(tmout===true)tmout=1;if(!_zangco_top.ZangcoMenu._T)_zangco_top.ZangcoMenu._T=_zangco_top.setTimeout('_zangco_top.ZangcoMenu._closeOtherMenus(null); _zangco_top.ZangcoMenu._T = null;',tmout);}else _zangco_top.ZangcoMenu._clearTimeout();}};

ZangcoMenu._documentKeyPress = function(ev) {
    ev || (ev = window.event);
    ZangcoMenu._forAllMenus(
        function(menu) {
            var tmp = menu._activePopup;
            var item = tmp ? tmp.active_item : null;
            var kmap;
            
            function do_27() {
                if (tmp) {
                    tmp.close(true, true);
                    if (item) {
                        item.mouseout();
                    }
                    if (tmp.base || (tmp.parent.base && tmp.config.context)) {
                        tmp.resetActive();
                        tmp.active_submenu = null;
                        _zangco_top.ZangcoMenu._activeItem = null;
                        _zangco_top.ZangcoMenu._closeOtherMenus(null);
                    }
                    ZangcoMenu._stopEvent(ev);
                }
            };
            function do_13() {
                if (!item) {
                    return;
                }
                item.activate(true, true);
                if (item.action && !item.submenu) {
                    item.exec();
                }
                ZangcoMenu._stopEvent(ev);
            };
            function do_ud(up) {
                if (tmp) {
                    if (!item) {
                        item = up ? tmp.getFirstItem() : tmp.getLastItem();
                    }
                    else {
                        item = up ? tmp.getNextItem(item) : tmp.getPrevItem(item);
                    }
                    if (item) {
                        item.hover(false, true);
                        tmp.active_item = item;
                    }
                    ZangcoMenu._stopEvent(ev);
                }
            };
            function serveKeymap(keymap) {
                var key = String.fromCharCode((is_ie||is_opera) ? ev.keyCode : ev.charCode).toLowerCase();
                item = keymap[key];
                
                if (typeof item != "undefined") {
                    item.hover(true, true);
                    
                    if (!item.submenu) {
                        item.exec();
                    }
                    tmp = item.submenu;
                    item = null;
                    do_ud(true);
                    ZangcoMenu._stopEvent(ev);
                }
            };
            
            switch(ev.keyCode) {
                case 27:
                    do_27();
                    break;
                case 13:
                    do_13();
                    if (item) {
                        tmp = item.submenu;
                        item = null;
                        do_ud(true);
                    }
                    break;
                case 37:
                    if (!menu._activeKeymap) {
                        break;
                    }
                    if (tmp.parent && !tmp.parent.horiz) {
                        do_27();
                    }
                    else {
                        if (tmp.parent) {
                            tmp = tmp.parent;
                            item = tmp.active_item;
                        }
                        do_ud(false);
                        item.activate(false, true);
                    }
                    break;
                case 39:
                    if (!menu._activeKeymap) {
                        break;
                    }
                    if (item && !item.parent.horiz && item.submenu) {
                        do_13();
                        tmp = item.submenu;
                        item = null;
                        do_ud(true);
                    }
                    else {
                        while(tmp.parent) {
                            tmp = tmp.parent;
                            item = tmp.active_item;
                        }
                        do_ud(true);
                        item.activate(false, true);
                    }
                    break;
                case 40:
                case 38:
                    if (!menu._activeKeymap) {
                        break;
                    }
                    do_ud(ev.keyCode == 40);
                    break;
                default:
                    kmap = ev.altKey ? menu._globalKeymap : menu._activeKeymap;
                    if (kmap) {
                        serveKeymap(kmap);
                    }
            }
        }
    );
};

ZangcoMenu.prototype.createMenuTree=function(ul,horiz){var base=!this._baseMenuInfo,a_li,div,table,i,info,li,item,tmp,ret=null,self=this,cfg=this.config,ctx=cfg.context,submenu,CE=ZangcoMenu._createElement,win=base?cfg.frames.main:cfg.frames.popups,doc=win.document;if(cfg.d_profile)++ZangcoMenu.profile.tree;a_li=ZangcoMenu._getChildrenByTagName(ul,"li");if(a_li.length==0)return;ret=div=CE("div",null,doc);div.className=(base&&horiz)?"zangco-horiz-menu":"zangco-popup-menu";if(base&&horiz&&cfg.toolbar)div.className+=" zangco-menu-toolbar";if(base&&!horiz&&!ctx)div.className+=" zangco-popup-base-menu";if(ul.className)div.className+=" "+ul.className;tmp=["a","b","c","d"];if(cfg.scrolling)tmp.unshift("zangco-menu-scroll");for(i=tmp.length;--i>=0;(div=CE("div",div)).className=tmp[i]);info=new ZangcoMenu.MenuTree({menu:this,base:base,horiz:horiz,element:ret,active_submenu:null,active_item:null,visible:false,keymap:{},config:cfg,_T_close:null,open_left:ZangcoMenu._RE_OPL.test(ul.className)});if(ul.id)info.id=ul.id;ZangcoMenu.addInfo(ret,"__msh_info",info);info.table=table=CE("table",div);table.cellSpacing=0;table.cellPadding=0;tmp=CE("tbody",table);ZangcoMenu._class(ret,null,cfg.className);if(base){this._globalKeymap=info.keymap;this._baseMenuInfo=info;if(ctx)ret.style.display="none";}else{ret.style.display="none";if(this.config.lazy)this.config.container.appendChild(ret);else if(this._df)this._df.appendChild(ret);else this._ca[this._ca.length]=ret;}if(horiz){info.parent=null;div=CE("tr",tmp);}else div=tmp;ret.onmouseover=win.ZangcoMenu.EventHandlers.tree_onMouseOver;ret.onmouseout=win.ZangcoMenu.EventHandlers.tree_onMouseOut;for(i=0;i<a_li.length;++i){li=a_li[i];if(ZangcoMenu._RE_CP.test(li.className)){tmp=document.getElementById(RegExp.$1);}else{tmp=ZangcoMenu._getChildrenByTagName(li,"ul");tmp=(tmp.length>0)?tmp[0]:null;}item=this.createMenuItem(li,info,horiz,!!tmp);div.appendChild(item);if(tmp){item.className+=" has-submenu";item.__msh_info.ul=ul=tmp;item.__msh_info.submenu=function(){var menu=this.menu;submenu=this.submenu=menu.createMenuTree(this.ul,false).__msh_info;submenu.parent=info;submenu.parent_item=this;menu._popupMenus[menu._popupMenus.length]=submenu;};if(!this.config.lazy)item.__msh_info.submenu();}}return ret;};
ZangcoMenu.prototype.destroy=function(){var a=this._baseMenuInfo.element,i,el;try{a.parentNode.removeChild(a);a=this._popupMenus;for(i=a.length;--i>=0;)try{el=a[i].element;el.parentNode.removeChild(el);el=a[i]._shadow;if(el)el.parentNode.removeChild(el);}catch(e){};a=_zangco_top.ZangcoMenu._menus;for(i=a.length;--i>=0;)if(a[i]==this)a.splice(i,1);if(a.length==0){a=ZangcoMenu._eventElements;for(i=a.length;--i>=0;){el=a[i];if(el)try{ZangcoMenu._removeEvent(el,(is_ie||is_opera)?"keydown":"keypress",el.ZangcoMenu._documentKeyPress);ZangcoMenu._removeEvent(el,"mousedown",el.ZangcoMenu._documentMouseDown);ZangcoMenu._removeEvent(el,"mouseup",el.ZangcoMenu._documentMouseUp);ZangcoMenu._removeEvent(el,"mouseover",el.ZangcoMenu._documentMouseOver);}catch(e){};}}}catch(ex){};};
ZangcoMenu._stopEvent=function(ev){if(is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}};
ZangcoMenu._removeEvent=function(el,evname,func){if(el.removeEventListener)el.removeEventListener(evname,func,true);else if(el.detachEvent)el.detachEvent("on"+evname,func);else el["on"+evname]=null;};
ZangcoMenu._addEvent=function(el,evname,func){if(el.addEventListener)el.addEventListener(evname,func,true);else if(el.attachEvent)el.attachEvent("on"+evname,func);else el["on"+evname]=func;};
ZangcoMenu._getChildrenByTagName=function(el,tag){var i,a=[];if(tag)tag=tag.toLowerCase();for(i=el.firstChild;i;i=i.nextSibling){if(i.nodeType!=1)continue;if(!tag||tag==i.tagName.toLowerCase())a[a.length]=i;}return a;};
ZangcoMenu._createElement=function(tagName,parent,doc){if(!doc){if(parent)doc=parent.ownerDocument;if(!doc)doc=document;}var el=doc.createElement(tagName);if(is_ie)el.unselectable="on";else if(is_gecko)el.style.setProperty("-moz-user-select","none","");if(parent)parent.appendChild(el);return el;};
ZangcoMenu._getLabel=function(el){var i,c,txt;if(el.tagName.toLowerCase()=="a"){if(is_ie){c=ZangcoMenu._getChildrenByTagName(el,null);for(i=c.length;--i>=0;c[i].unselectable="on");}return el.innerHTML;}c=ZangcoMenu._getChildrenByTagName(el,'div');if(c.length)return c[0];txt="";for(i=el.firstChild;i;i=i.nextSibling)if(i.nodeType==3)txt+=i.data;return txt;};
ZangcoMenu._getPos=function(el){if(/^body$/i.test(el.tagName))return{x:0,y:0};var SL=0,ST=0,is_div=/^div$/i.test(el.tagName),r,tmp;if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;if(el.parentNode&&el.parentNode!==el.offsetParent){if(el.parentNode.scrollTop)ST+=el.parentNode.scrollTop;if(el.parentNode.scrollLeft)ST+=el.parentNode.scrollLeft;}r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){tmp=this._getPos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};
ZangcoMenu._class=function(el,del,add){if(!el)return;if(el.element)el=el.element;if(del)el.className=el.className.replace(del,' ');if(add)el.className+=" "+add;};
ZangcoMenu._related=function(element,ev){var related,type;if(is_ie){type=ev.type;if(type=="mouseover")related=ev.fromElement;else if(type=="mouseout")related=ev.toElement;}else related=ev.relatedTarget;for(;related;related=related.parentNode)if(related===element)return true;return false;};
ZangcoMenu.psLeft=function(){var d=document;return d.documentElement.scrollLeft||d.body.scrollLeft;};
ZangcoMenu.psTop=function(){var d=document;return d.documentElement.scrollTop||d.body.scrollTop;};
ZangcoMenu.preloadImages=function(filter){if(is_ie){var ai=[],hi={},i;function f(s,p){var i,t,pp=s.href;if(filter&&s.readOnly&&!filter.test(p+pp))return;if(pp)p+=pp.replace(/(\x2f?)[^\x2f]+$/,"$1");for(i=s.rules.length;--i>=0;){t=s.rules(i).style.backgroundImage;if(/url\((.*?)\)/.test(t)){t=p+RegExp.$1;if(!hi[t]){ai.push(t);hi[t]=1;}}}for(i=s.imports.length;--i>=0;)f(s.imports(i),p);};for(i=document.styleSheets.length;--i>=0;)f(document.styleSheets[i],"");document.write("<div style='display:none'>");for(i=ai.length;--i>=0;)document.write("<img src='"+ai[i]+"' />");document.write("</div>");}};
ZangcoMenu._infoMap=null;ZangcoMenu._cleanUp=function(){var a=_zangco_top.ZangcoMenu._infoMap,i,o,p;for(i=a.length;--i>=0;){o=a[i][0];p=a[i][1];try{o[p]=null;o.parentNode.removeChild(o);o=a[i][0]=null;}catch(e){};a.splice(i,1);}_zangco_top.ZangcoMenu._infoMap=null;};
ZangcoMenu.addInfo=function(el,name,value){el.__msh_is_zangco_menu=true;el[name]=value;if(is_ie){var a=_zangco_top.ZangcoMenu._infoMap;if(!a){a=_zangco_top.ZangcoMenu._infoMap=[];ZangcoMenu._addEvent(_zangco_top,"unload",_zangco_top.ZangcoMenu._cleanUp);}a[a.length]=[el,name];}};
ZangcoMenu.setupContext=function(ctx,tree){this.addInfo(ctx,"__msh_info2",tree);var buttons=2,b;if(tree&&tree.menu&&tree.menu.config&&tree.menu.config.ctxbutton)buttons=tree.menu.config.ctxbutton;if(/zangco-menu-ctxbutton-([a-z]+)/.test(ctx.className)){b=RegExp.$1;buttons=((b=="left")?1:((b=="both")?3:buttons));}if(buttons&1)ctx.onclick=ZangcoMenu.EventHandlers.ctx_onContextMenu;if(buttons&2)ctx[is_opera?"onmousedown":"oncontextmenu"]=ZangcoMenu.EventHandlers.ctx_onContextMenu;};
ZangcoMenu.JSAction=function(code){this.js=code.replace(/%20/g,' ');};
ZangcoMenu.JSAction.prototype.exec=function(){var retval=false;eval(this.js);return retval;};
ZangcoMenu.LinkAction=function(url,target){if(!(target&&/\S/.test(target)))target=null;if(is_ie)url=url.replace(/^about:blank(.+)$/,"$1");this.url=url;this.target=target;};
ZangcoMenu.LinkAction.prototype.exec=function(){if(this.target){var tmp=document.getElementById(this.target);if(!tmp&&document.getElementsByName){tmp=document.getElementsByName(this.target);tmp=tmp.length?tmp[0]:null;}if(tmp){tmp=is_opera?tmp:tmp.contentWindow;tmp.location=this.url;}else window.open(this.url,this.target);}else window.location=this.url;return false;};
ZangcoMenu.DefaultAction=function(li){this.params=li;while(li&&/^([uo]l|li)$/i.test(li.tagName)){if(li.onclick){this.action=li.onclick;break;}li=li.parentNode;}};
ZangcoMenu.DefaultAction.prototype.exec=function(){if(!this.info.submenu){if(typeof this.action=="function")return this.action(this.info);else try{var retval=false;eval(this.action);return retval;}catch(e){};}return true;};
ZangcoMenu.EventHandlers={popup_resetActive:function(ev){this.__msh_info.parent.resetActive();return false;},item_onMouseOver:function(ev){ev||(ev=window.event);if(ZangcoMenu._related(this,ev))return false;var item=this.__msh_info;if(!item.separator)return item.hover();else if(item.html_popup){item.parent.clearTimeout();return item.parent.resetActive(item);}},item_onMouseOut:function(ev){ev||(ev=window.event);if(ZangcoMenu._related(this,ev))return false;return this.__msh_info.mouseout();},item_onMouseDown:function(ev){ev||(ev=window.event);var info=this.__msh_info,ret;_zangco_top.ZangcoMenu._C=info.menu;ZangcoMenu._stopEvent(ev);_zangco_top.ZangcoMenu._activeItem=info;if(info.parent&&!info.parent.base)info.parent.closePopups();ret=info.activate(false,true);return ret;},tree_onMouseOver:function(ev){ev||(ev=window.event);if(!ZangcoMenu._related(this,ev)){var info=this.__msh_info;if(info.parent){info.parent.resetActive(info.parent_item,"active");info.parent.active_submenu=info;}}return false;},tree_onMouseOut:function(ev){ev||(ev=window.event);if(!ZangcoMenu._related(this,ev)){var info=this.__msh_info;if(!info.active_submenu)this.__msh_info.resetActive();}return false;},ctx_onContextMenu:function(ev){ev||(ev=window.event);ZangcoMenu._closeOtherMenus();if(!is_opera||ev.button==2){if(ZangcoMenu._msupTimeout)clearTimeout(ZangcoMenu._msupTimeout);ZangcoMenu._msupTimeout=setTimeout(function(){ZangcoMenu._msupTimeout=null;},150);var info=this.__msh_info2;if(typeof info.submenu=="function")info.submenu();info.submenu.openContext(ev,this);setTimeout(function(){_zangco_top.ZangcoMenu._C=info.menu;},info.menu.config.timeout);ZangcoMenu._stopEvent(ev);return false;}}};
ZangcoMenu.populateObject=function(o,props){for(var i in props)o[i]=props[i];};
ZangcoMenu.MenuItem=function(props){this.visible=true;this.pressed=false;ZangcoMenu.populateObject(this,props);};
ZangcoMenu.MenuItem.prototype.disable=function(dis){if(typeof dis=="undefined")dis=true;this.disabled=dis;ZangcoMenu._class(this.element,ZangcoMenu._RE_DS,dis?"disabled":null);};
ZangcoMenu.MenuItem.prototype.display=function(dis){if(typeof dis=="undefined")dis=!this.visible;this.visible=dis;this.element.style.display=dis?"":"none";};
ZangcoMenu.MenuItem.prototype._exec=function(){if(!this.disabled&&!this.separator&&this.action&&!this.action.exec()){ZangcoMenu._class(this.element,ZangcoMenu._RE_AH);var a=this.menu._popupMenus,i;for(i=a.length;--i>=0;)a[i].close(false,true);this.menu._baseMenuInfo.close();window.status="";}};
ZangcoMenu.MenuItem.prototype.exec=function(){var step=this.menu.config.blink;if((this.submenu&&!this.action.explicit)||this.html_popup||!step)return this._exec();var self=this;var timer=setInterval(function(){ZangcoMenu._class(self.element,ZangcoMenu._RE_AH,--step&1?'active':null);if(!step){clearInterval(timer);self._exec();}},60);};
ZangcoMenu.MenuItem.prototype.setLabel=function(text){this.labelTD.innerHTML="<div unselectable='on'>"+text+"</div>";this.label=text;};
ZangcoMenu.MenuItem.prototype.hover=function(activate,instant){var menu=this.parent,el=this.element;if(this.disabled&&menu.base){menu.clearPopups(this);menu.resetActive();return;}menu.clearTimeout();window.status=this.tooltip;el.title=menu.config.tooltips?this.tooltip:"";if(typeof activate=="undefined")activate=this.submenu&&(menu.config.electric||!menu.base||menu.active_submenu);menu.clearPopups(this);if(menu.resetActive(this))ZangcoMenu._clearTimeout();if(activate)this.activate(true,instant);return false;};
ZangcoMenu.MenuItem.prototype.activate=function(noclose,instant){if(!this.disabled){var menu=this.parent,submenu=this.submenu,el=this.element;menu.resetActive(this);if(submenu){if(typeof submenu=="function"){this.submenu();submenu=this.submenu;}if(!noclose&&!menu.config.electric&&menu.base&&submenu==menu.active_submenu){submenu.close(false,true);_zangco_top.ZangcoMenu._activeItem=null;menu.resetActive(this,"hover");}else submenu.open(el,this,instant);}}return false;};
ZangcoMenu.MenuItem.prototype.setClass=function(del,add){ZangcoMenu._class(this.element,del,add);};
ZangcoMenu.MenuItem.prototype.setPressed=function(state){if(typeof state=="undefined")state=!this.pressed;this.pressed=state;this.setClass(ZangcoMenu._RE_PR,state?"pressed":null);};
ZangcoMenu.MenuItem.prototype.mouseout=function(){var p=this.parent,s=this.submenu;if(s&&ZangcoMenu._OT)clearTimeout(ZangcoMenu._OT);ZangcoMenu._clearTimeout();if(!s||!s.visible)p.resetActive();window.status="";return false;};
ZangcoMenu.MenuTree=function(props){ZangcoMenu.populateObject(this,props);if(!this.base)this.hider=ZangcoMenu._createHider(this.menu.config.frames.popups);};
ZangcoMenu.MenuTree.prototype.getNextItem=function(item){var i=item.element.nextSibling;while(i&&i.__msh_info.separator)i=i.nextSibling;if(!i){if(this.menu.config.scrolling)return null;i=item.element.parentNode.firstChild;}return i.__msh_info;};
ZangcoMenu.MenuTree.prototype.getPrevItem=function(item){var i=item.element.previousSibling;while(i&&i.__msh_info.separator)i=i.previousSibling;if(!i){if(this.menu.config.scrolling)return null;i=item.element.parentNode.lastChild;}return i.__msh_info;};
ZangcoMenu.MenuTree.prototype.resetActive=function(item,cls){item||(item=null);if(!cls)(!item||!item.html_popup)?(cls="hover"):(cls="");ZangcoMenu._class(this.active_item,ZangcoMenu._RE_AH);ZangcoMenu._class(item,ZangcoMenu._RE_AH,_zangco_top.ZangcoMenu._activeItem==item?"active":cls);var tmp=this.active_item!=item;this.active_item=item;if(item&&this.menu.config.scrolling)this._scrollIntoView(item);return tmp;};
ZangcoMenu.MenuTree.prototype.clearPopups=function(item){var m=this.active_submenu;if(m&&m!=item.submenu)m.close();};
ZangcoMenu.MenuTree.prototype.closePopups=function(){var i,m;for(i=this.getFirstItem().element;i;i=i.nextSibling){m=i.__msh_info.submenu;if(m&&typeof m!="function")m.closePopups().close(false,true);}return this;};
ZangcoMenu.MenuTree.prototype.clearTimeout=function(){if(this._T_close){clearTimeout(this._T_close);this._T_close=null;}};
ZangcoMenu.MenuTree.prototype.close=function(by_key,instant){var self=this.menu;if(this.base){self._activeKeymap=null;self._activePopup=null;}else{if(!this.visible||(this._T_close&&!instant))return false;var info=this;tmp=this.closePopups().parent;tmp.resetActive(by_key?tmp.active_item:null);ZangcoMenu._class(this.active_item,ZangcoMenu._RE_AH);if(!by_key)tmp.active_item=null;tmp.active_submenu=null;this.active_item=this.active_submenu=null;if(instant||(this.parent.base&&!self.config.vertical))this._close();else this._T_close=setTimeout(function(){info._close();info._T_close=null;},self.config.timeout);}};
ZangcoMenu.MenuTree.prototype.getFirstItem=function(){return this.horiz?this.element.firstChild.__msh_info:this.table.firstChild.firstChild.__msh_info;};
ZangcoMenu.MenuTree.prototype.getLastItem=function(){return this.horiz?this.element.lastChild.__msh_info:this.table.lastChild.lastChild.__msh_info;};
ZangcoMenu.MenuTree.prototype.openContext=function(ev,trigger){var el=ev.srcElement||ev.target,p,align=this.parent_item.align;if(!trigger)trigger=null;this.menu.target=trigger;if(el.className&&ZangcoMenu._RE_CTX_AL.test(el.className))align=RegExp.$1;switch(align){case "bottom":p=ZangcoMenu._getPos(el);p.y+=el.offsetHeight;break;case "right":p=ZangcoMenu._getPos(el);p.x+=el.offsetWidth;break;default:p={x:ev.clientX+ZangcoMenu.psLeft(),y:ev.clientY+ZangcoMenu.psTop()};break;}this.open(null,null,true,p);};
ZangcoMenu.MenuTree.prototype.open=function(el,item,instant,pos){this.clearTimeout();ZangcoMenu._clearTimeout();if(ZangcoMenu._OT)clearTimeout(ZangcoMenu._OT);var info=this;if(instant)this._open(el,item,pos);else ZangcoMenu._OT=setTimeout(function(){info._open(el,item,pos);ZangcoMenu._OT=null;},this.menu.config[this.parent.base?"baseTimeout":"timeout"]);};
ZangcoMenu.MenuTree.prototype._close=function(){this.element.style.display="none";this.visible=false;this.menu._activePopup=this.parent;this.menu._activeKeymap=this.parent.keymap;if(this._shadow)this._shadow.style.display="none";for(var i=this.getFirstItem().element;i;i=i.nextSibling)ZangcoMenu._class(i,ZangcoMenu._RE_AH);ZangcoMenu._closeHider(this.hider);};
ZangcoMenu.$=function(func,obj,par){return function(p1){func.call(obj,par,this,p1);};};
ZangcoMenu.MenuTree.prototype._scrollIntoView=function(item){var diff,el=item.element,table=this.table,div=table.parentNode;if(div.scrollTop>el.offsetTop){div.scrollTop=el.offsetTop;this._scrollSetArrowState();}else{diff=el.offsetTop+el.offsetHeight-(div.scrollTop+div.offsetHeight);if(diff>0)div.scrollTop+=diff;this._scrollSetArrowState();}};
ZangcoMenu.MenuTree.prototype._scrollSetArrowState=function(){try{var table=this.table,div=table.parentNode,s1=this._scrollDiv1,s2=this._scrollDiv2;if(div.scrollTop==0){s1.className+=" zangco-menu-scroll-disabled zangco-menu-scroll-up-disabled";this._scrollStopHandler();}else s1.className=s1.className.replace(ZangcoMenu._RE_SCROLL_D," ");if(div.scrollTop+div.offsetHeight==table.offsetHeight){s2.className+=" zangco-menu-scroll-disabled zangco-menu-scroll-down-disabled";this._scrollStopHandler();}else s2.className=s2.className.replace(ZangcoMenu._RE_SCROLL_D," ");}catch(ex){};};
ZangcoMenu.MenuTree.prototype._scrollHandler=function(dir){this.table.parentNode.scrollTop+=this._scrollStep*dir;this._scrollSetArrowState();};
ZangcoMenu.MenuTree.prototype._scrollStartHandler=function(dir,div){this._scrollStep=this.menu.config.scrolling.step1;this._scrollTimer=setInterval(ZangcoMenu.$(this._scrollHandler,this,dir),this.menu.config.scrolling.speed);div.className+=" zangco-menu-scroll-hover "+(dir>0?"zangco-menu-scroll-down-hover":"zangco-menu-scroll-up-hover");};
ZangcoMenu.MenuTree.prototype._scrollStopHandler=function(undef,div){if(this._scrollTimer){clearInterval(this._scrollTimer);this._scrollTimer=null;}div.className=div.className.replace(ZangcoMenu._RE_SCROLL_H," ");};
ZangcoMenu.MenuTree.prototype._scrollDoubleSpeed=function(dbl){this._scrollStep=this.menu.config.scrolling[dbl?"step2":"step1"];};
ZangcoMenu.MenuTree.prototype._setupScroll=function(){var scroll_div=this.table.parentNode;if(!this._hasScroll){var CE=ZangcoMenu._createElement;this._hasScroll=true;var s1=CE("div",null,document);s1.className="zangco-menu-scroll-up";s1.innerHTML="&nbsp;";if(is_ie)s1.style.width=this.table.offsetWidth+"px";var p=scroll_div.parentNode;p.insertBefore(s1,scroll_div);var s2=s1.cloneNode(true);s2.className="zangco-menu-scroll-down";p.appendChild(s2);var AI=ZangcoMenu.addInfo;AI(s1,"onmouseover",ZangcoMenu.$(this._scrollStartHandler,this,-1));AI(s2,"onmouseover",ZangcoMenu.$(this._scrollStartHandler,this,1));var tmp=ZangcoMenu.$(this._scrollStopHandler,this);AI(s1,"onmouseout",tmp);AI(s2,"onmouseout",tmp);tmp=ZangcoMenu.$(this._scrollDoubleSpeed,this,true);AI(s1,"onmousedown",tmp);AI(s2,"onmousedown",tmp);tmp=ZangcoMenu.$(this._scrollDoubleSpeed,this,false);AI(s1,"onmouseup",tmp);AI(s2,"onmouseup",tmp);this._scrollDiv1=s1;this._scrollDiv2=s2;}this._showScroll(true);scroll_div.scrollTop=0;this._scrollDiv1.className+=" zangco-menu-scroll-up-disabled";this._scrollDiv2.className=this._scrollDiv2.className.replace(ZangcoMenu._RE_SCROLL_D," ");};
ZangcoMenu.MenuTree.prototype._showScroll=function(disp){if(this._hasScroll){var p=this.table.parentNode.parentNode;p.firstChild.style.display=disp?"":"none";p.lastChild.style.display=disp?"":"none";}};

ZangcoMenu.MenuTree.prototype._open = function(el, item, pos) {
    this.menu.config.onPopup.call(this, this.menu.target, item,pos);
    var m = this.element;
    var self = this.menu;
    var cfg = self.config;
    var win = cfg.frames.popups;
    var p = el ? win.ZangcoMenu._getPos(el) : pos;
    var pe;
    var base = this.parent ? this.parent.base : false;
    var dx = base ? cfg.basedx : cfg.dx;
    var dy = base ? cfg.basedy : cfg.dy;
    var horiz = this.parent ? this.parent.horiz : false;
    var tmp;
    var s;
    var vw;
    var sw;
    
    if (!el) {
        el = {offsetHeight:0,offsetWidth:0};
    }
    if (base && cfg.crossFrames) {
        if (cfg.vertical) {
            p.x = win.ZangcoMenu.psLeft();
            p.y += win.ZangcoMenu.psTop();
        }
        else {
            p.y = win.ZangcoMenu.psTop();
        }
    }
    else if (self._fixed && !is_ie && base) {
        p.x += win.ZangcoMenu.psLeft();
        p.y += win.ZangcoMenu.psTop();
    }
    pe = {x:p.x, y:p.y};
    _zangco_top.ZangcoMenu._C = self;
    ZangcoMenu._closeOtherMenus(self);
    
    if ((!base || cfg.vertical) && item) {
        item.parent.closePopups();
    }
    if (!(base && cfg.crossFrames)) {
        if (horiz) {
            p.y += el.offsetHeight;
        }
        else {
            if (!is_khtml) {
                p.x += el.offsetWidth;
            }
            else if (el) {
                p = win.ZangcoMenu._getPos(el.lastChild);
                p.x += el.lastChild.offsetWidth;
                p.y -= 1;
            }
        }
    }
    
    vw = win.ZangcoMenu.getWinSize();
    vw.x += win.ZangcoMenu.psLeft();
    vw.y += win.ZangcoMenu.psTop();
    sw = cfg.shadows || [0,0];
    s = m.style;
    
    if (is_ie) {
        s.position = "absolute";
    }
    s.visibility = "hidden";
    s.display = "block";
    var scroll_div = this.table.parentNode;
    if (cfg.scrolling) {
        this._showScroll(false);
        scroll_div.style.height = "";
        scroll_div.style.width = "";
    }
    if (this.open_left || p.x + m.offsetWidth > vw.x) {
        p.x = pe.x - m.offsetWidth + (horiz ? el.offsetWidth : 2);
        dx = -dx;
    }
    if (p.y + m.offsetHeight > vw.y && pe.y > m.offsetHeight) {
        p.y = pe.y - m.offsetHeight + (horiz ? 0 :(win.ZangcoMenu._getPos(m).y + m.offsetHeight - win.ZangcoMenu._getPos(this.getLastItem().element).y));
        dy = -dy;
    }
    else if(!horiz) {
        p.y -= win.ZangcoMenu._getPos(this.getFirstItem().element).y - win.ZangcoMenu._getPos(m).y;
    }
    if (p.x + m.offsetWidth + sw[0] > vw.x) {
        p.x -= sw[0];
    }
    if (p.y < 0) {
        p.y = 0;
    }
    var y_low = p.y + m.offsetHeight - vw.y;
    
    if (cfg.scrolling && y_low > 0) {
        var height = scroll_div.offsetHeight - y_low;
        height -= m.offsetHeight - scroll_div.offsetHeight;
        height -= sw[1];
        if (sw[3]) {
            height -= sw[3];
        }
        height -= 24;
        if (height < vw.y * 0.75) {
            y_low = Math.floor(vw.y * 0.75 - height);
            height += y_low;
            p.y -= y_low;
        }
        if (is_ie) {
            scroll_div.style.width = this.table.offsetWidth + "px";
        }
        if (height < scroll_div.offsetHeight) {
            scroll_div.style.height = height + "px";
            this._setupScroll();
        }
    }
    p.x += dx;
    p.y += dy;
    s.left = p.x + "px";
    s.top = p.y + "px";
    ZangcoMenu._setupHider(this.hider, p.x, p.y, m.offsetWidth + sw[0], m.offsetHeight + sw[1]);
    if (this.parent) {
        this.parent.active_submenu = this;
        this.parent.resetActive(item, "active");
    }
    self._activePopup = this;
    self._activeKeymap = this.keymap;
    tmp = this._shadow;
    
    if (cfg.shadows) {
        if (!tmp) {
            var SS = cfg.smoothShadow;
            this._shadow = tmp = ZangcoMenu._createElement((SS && !is_ie) ? "img" : "div", null, cfg.container.ownerDocument);
            if (SS) {
                tmp.src = _zangco_menu_shadow.src;
            }
            tmp.className = "zangco-menu-shadow";
            ZangcoMenu.addInfo(tmp, '__msh_info', this);
            if (is_ie) {
                tmp.style.position = "absolute";
            }
            if (SS && is_ie && !is_ie5) {
                tmp.className = "zangco-IE6-shadow";
                tmp.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + _zangco_menu_shadow.src + "',sizingMethod='scale')";
            }
            tmp.style.width = "2px";
            tmp.style.height = "2px";
            cfg.container.appendChild(tmp);
        }
        s = tmp.style;
        
        if (sw.length > 2) {
            s.left = p.x + sw[0] + "px";
            s.top = p.y + sw[1] + "px";
            s.width = m.offsetWidth + sw[2] + "px";
            s.height = m.offsetHeight + sw[3] + "px";
        }
        else {
            s.left = p.x + sw[0] + "px";
            s.top = p.y + sw[1] + "px";
            s.width = m.offsetWidth + "px";
            s.height = m.offsetHeight + "px";
        }
        s.display = "block";
    }
    this.visible = true;
    m.style.visibility = "visible";
};

ZangcoMenu.getWinSize = function() {
    if (is_gecko) {
        return {x:window.innerWidth, y:window.innerHeight};
    }
    if (is_opera) {
        return{x:window.innerWidth, y:window.innerHeight};
    }
    if (is_ie) {
        if (!document.compatMode || document.compatMode == "BackCompat") {
            return {x:document.body.clientWidth, y:document.body.clientHeight};
        }
        else {
            return {x:document.documentElement.clientWidth, y:document.documentElement.clientHeight};
        }
    }
    var div = document.createElement("div");
    var s = div.style;
    
    s.position = "absolute";
    s.bottom = s.right = "0px";
    document.body.appendChild(div);
    s = {x:div.offsetLeft, y:div.offsetTop};
    document.body.removeChild(div);
    return s;
};

ZangcoMenu.getCA = function(el, name) {
    return el.getAttribute("ZangcoMenu:" + name);
};
ZangcoMenu._nfo = {product:"hmenu-2.9", licensee:"UNREGISTERED", license_key:"trial", purchase_date:"Thu Mar 30 12:09:20 2006 GMT", license_type:"linkware"};