/**
 *  Dynarch Horizontal Menu, hmenu-1.0
 *  Copyright Dynarch.com, 2003-2004.  All Rights Reserved.
 *  http://dynarch.com/products/hmenu/
 *
 *  THIS NOTICE MUST REMAIN INTACT!
 *
 *           LICENSEE: Discovery Productions, Inc.
 *        License key: C7A55525FFCFE68F76F8107500A16C59
 *      Purchase date: Tue Feb 10 11:29:29 2004 GMT
 *       License type: developer
 *
 *  For details on this license please visit
 *  the product homepage at the URL above.
 */
(function(){var UA=navigator.userAgent;is_opera=/opera/i.test(UA);is_ie=/msie/i.test(UA)&&!is_opera&&!(/mac_powerpc/i.test(UA));is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);if(typeof _dynarch_menu_url=="undefined")_dynarch_menu_url="/hmenu/";else _dynarch_menu_url=_dynarch_menu_url.replace(/\x2f*$/,'/');})();DynarchMenu=function(el,config){this._baseMenu=el;this._popupMenus=[];this._clickedItem=null;this._activeKeymap=null;this._globalKeymap=null;this._activePopup=null;this.config=config;this.createMenuTree(el,true);};DynarchMenu.setup=function(el,config){if(typeof config=="undefined")config={};function param_default(name,value){if(typeof config[name]=="undefined"){config[name]=value;}};param_default("electric",true);if(typeof el=="string")el=document.getElementById(el);if(!el){alert("Error: menu element not found.");return false;}el.style.display="none";document.__msh_menu=new DynarchMenu(el,config);DynarchMenu._addEvent(document,"mousedown",DynarchMenu._documentMouseDown);DynarchMenu._addEvent(document,(is_ie||is_opera)?"keydown":"keypress",DynarchMenu._documentKeyPress);return document.__msh_menu;};DynarchMenu.prototype.createMenuItem=function(li,parent,horiz,arrow){var tmp,icon=null,label,tooltip,action=null,item,info,self=this,txt;tmp=DynarchMenu._getChildrenByTagName(li,"a");tmp=tmp.length>0?tmp[0]:li;label=DynarchMenu._getInnerText(tmp);label=label.replace(/^\s*/,"");label=label.replace(/\s*$/,"");label=label.replace(/_([a-zA-Z0-9])/,"<u>$1</u>");var key=RegExp.$1;label=label.replace(/__/,"_");tooltip=/^\s*$/.test(tmp.title)?"":tmp.title;if(tmp.href&&!/^\s*$/.test(tmp.href)){if(/^javascript:(.*)$/i.test(tmp.href))action={js:RegExp.$1,exec:function(){eval(this.js);}};else action={url:tmp.href,target:(typeof tmp.target!="undefined"&&/^\s*$/.test(tmp.target))?null:tmp.target,exec:function(){if(this.target)window.open(this.url,this.target);else window.location=this.url;}};}tmp=DynarchMenu._getChildrenByTagName(li,"img");if(tmp.length>0)icon=tmp[0];info={separator:/^\s*$/.test(label),icon:icon,label:label,parent:parent,submenu:null,tooltip:tooltip,action:action,exec:function(){if(this.action){this.element.className="item";var a=self._popupMenus;for(var i=a.length;--i>=0;)a[i].close();self._baseMenuInfo.close();this.action.exec();window.status="";}}};if(horiz){item=DynarchMenu._createElement("td");if(!info.separator){item.innerHTML=label;if(icon){(new Image()).src=icon.src;item.insertBefore(icon,item.firstChild);}}else item.appendChild(DynarchMenu._createElement("div"));}else{item=DynarchMenu._createElement("tr");tmp=DynarchMenu._createElement("td");tmp.className="icon";if(icon){tmp.appendChild(icon);(new Image()).src=icon.src;}else if(info.separator)txt=tmp.innerHTML="<div unselectable='on'>&nbsp;</div>";item.appendChild(tmp);tmp=DynarchMenu._createElement("td");tmp.className="label";tmp.innerHTML=info.separator?txt:label;item.appendChild(tmp);tmp=DynarchMenu._createElement("td");tmp.className="final";if(info.separator)tmp.innerHTML=txt;else if(arrow){tmp.className+=" arrow";tmp.innerHTML="&nbsp;";}item.appendChild(tmp);}info.element=item;item.className=info.separator?"separator":"item";item.__msh_info=info;if(info.separator)return item;if(key)parent.keymap[key.toLowerCase()]=info;item.onmouseover=function(ev){ev||(ev=window.event);if(DynarchMenu._related(this,ev))return false;return DynarchMenu._itemMouseOver(this.__msh_info);};item.onmouseout=function(ev){ev||(ev=window.event);if(DynarchMenu._related(this,ev))return false;return DynarchMenu._itemMouseOut(this.__msh_info);};item.onmousedown=function(ev){ev||(ev=window.event);DynarchMenu._stopEvent(ev);return DynarchMenu._itemMouseDown(this.__msh_info,false);};return item;};DynarchMenu._itemMouseOver=function(item,active){var menu=item.parent,el=item.element;window.status=item.tooltip;if(menu.active_item)menu.active_item.element.className="item";if(menu.active_submenu)el.className="item active";else el.className="item hover";if(typeof active=="undefined")active=menu.config.electric||!menu.base||menu.active_item&&menu.active_item!=item;if(menu.active_submenu!=null&&menu.active_submenu!=item.submenu)menu.active_submenu.close();if(active)DynarchMenu._itemMouseDown(item,true);return false;};DynarchMenu._itemMouseOut=function(item){var menu=item.parent,submenu=menu.active_submenu,el=item.element;if(menu.active_submenu)el.className="item active";else el.className="item";window.status="";return false;};DynarchMenu._itemMouseDown=function(item,noclose){var item,menu,submenu,m,el=item.element;menu=item.parent;submenu=item.submenu;if(!noclose&&menu.base&&menu.active_submenu==submenu){if(submenu)submenu.close();el.className="item hover";}else{el.className="item active";menu.active_item=item;if(submenu)submenu.open(el,item);}document.__msh_menu._clickedItem=item;DynarchMenu._addEvent(document,"mouseup",DynarchMenu._documentMouseUp);return false;};DynarchMenu._documentMouseDown=function(ev){ev||(ev=window.event);var el=is_ie?ev.srcElement:ev.target;for(var j=el;j&&!j.__msh_info;j=j.parentNode);var tmp=document.__msh_menu;if(!j||j.__msh_info.base){var a=tmp._popupMenus;for(var i=a.length;--i>=0;)a[i].close();tmp._activeKeymap=null;}};DynarchMenu._documentMouseUp=function(ev){ev||(ev=window.event);DynarchMenu._removeEvent(document,"mouseup",DynarchMenu._documentMouseUp);var menu=document.__msh_menu;if(menu._clickedItem){var el=is_ie?ev.srcElement:ev.target;var item=menu._clickedItem.element;for(;el&&el!=item;el=el.parentNode);if(el)el.__msh_info.exec();menu._clickedItem=null;}};DynarchMenu._documentKeyPress=function(ev){ev||(ev=window.event);var menu=document.__msh_menu;var tmp=menu._activePopup,item=tmp?tmp.active_item:null,kmap;function do_27(){if(tmp){tmp.close(true);if(item)DynarchMenu._itemMouseOut(item);DynarchMenu._stopEvent(ev);}};function do_13(){if(!item)return;if(item.action)item.exec();else if(item.submenu)DynarchMenu._itemMouseDown(item,true);DynarchMenu._stopEvent(ev);};function do_ud(up){if(tmp){if(!item)item=up?tmp.getFirstItem(item):tmp.getLastItem(item);else item=up?tmp.getNextItem(item):tmp.getPrevItem(item);DynarchMenu._itemMouseOver(item,false);tmp.active_item=item;DynarchMenu._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"){DynarchMenu._itemMouseOver(item,true);item.exec();tmp=item.submenu;item=null;do_ud(true);DynarchMenu._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.base)do_27();else{if(tmp.parent){tmp=tmp.parent;item=tmp.active_item;}do_ud(false);DynarchMenu._itemMouseDown(item,false);}break;case 39:if(!menu._activeKeymap)break;if(item&&!item.parent.base&&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);DynarchMenu._itemMouseDown(item,false);}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);}};DynarchMenu.prototype.createMenuTree=function(ul,horiz){var base,a_li,div,table,i,info,li,item,tmp,ret=null,self=this;base=(ul==this._baseMenu);a_li=DynarchMenu._getChildrenByTagName(ul,"li");if(a_li.length==0)return;ret=div=DynarchMenu._createElement("div");div.__msh_info=info={element:div,active_submenu:null,active_item:null,visible:false,keymap:{},config:this.config,getNextItem:function(item){var i=item.element.nextSibling;while(i&&i.__msh_info.separator)i=i.nextSibling;if(!i)i=item.element.parentNode.firstChild;return i.__msh_info;},getPrevItem:function(item){var i=item.element.previousSibling;while(i&&i.__msh_info.separator)i=i.previousSibling;if(!i)i=item.element.parentNode.lastChild;return i.__msh_info;}};table=DynarchMenu._createElement("table");table.cellSpacing=0;table.cellPadding=0;div.appendChild(table);tmp=DynarchMenu._createElement("tbody");table.appendChild(tmp);if(base){info.base=true;info.parent=null;div.className="dynarch-horiz-menu";div=DynarchMenu._createElement("tr");tmp.appendChild(div);this._baseMenu.parentNode.insertBefore(ret,this._baseMenu);this._globalKeymap=info.keymap;info.getFirstItem=function(){return this.element.firstChild.__msh_info;};info.getLastItem=function(){return this.element.lastChild.__msh_info;};info.close=function(){self._activeKeymap=null;self._activePopup=null;};this._baseMenuInfo=info;}else{document.body.appendChild(ret);info.base=false;div.className="dynarch-popup-menu";div.style.display="none";div=tmp;info.getFirstItem=function(){return this.element.firstChild.firstChild.firstChild.__msh_info;};info.getLastItem=function(){return this.element.lastChild.lastChild.lastChild.__msh_info;};info.close=function(by_key){if(!this.visible)return false;var tmp=this.active_submenu;if(tmp)tmp.close();tmp=this.parent;if(!by_key&&tmp.active_item)tmp.active_item.element.className="item";if(this.active_item)this.active_item.element.className="item";if(!by_key)tmp.active_item=null;tmp.active_submenu=null;this.active_item=this.active_submenu=null;this.element.style.display="none";this.visible=false;self._activePopup=this.parent;self._activeKeymap=this.parent.keymap;};info.open=function(el,item){m=this.element;var p=DynarchMenu._getPos(el),pe={x:p.x,y:p.y},tmp;if(this.parent.base)p.y+=el.offsetHeight;else{if(!is_khtml){p.x+=el.offsetWidth;}else{p=DynarchMenu._getPos(el.lastChild);p.x+=el.lastChild.offsetWidth;}}tmp=document.createElement("div");var s=tmp.style;s.position="absolute";s.width=s.height=s.bottom=s.right="0px";document.body.appendChild(tmp);var vw=DynarchMenu._getPos(tmp);document.body.removeChild(tmp);s=m.style;s.visibility="hidden";s.display="block";if(p.x+m.offsetWidth>vw.x){if(this.parent.base)p.x=pe.x+el.offsetWidth-m.offsetWidth;else p.x=pe.x-m.offsetWidth;}if(p.y+m.offsetHeight>vw.y){if(this.parent.base)p.y=pe.y-m.offsetHeight;else p.y=pe.y+el.offsetHeight-m.offsetHeight;}s.left=p.x+"px";s.top=p.y+"px";s.visibility="visible";if(!is_ie)s.position="fixed";this.parent.active_submenu=this;this.parent.active_item=item;this.visible=true;self._activePopup=this;self._activeKeymap=this.keymap;};}for(i=0;i<a_li.length;++i){li=a_li[i];tmp=DynarchMenu._getChildrenByTagName(li,"ul");var submenu=tmp.length>0;item=this.createMenuItem(li,info,horiz,submenu);div.appendChild(item);if(submenu){submenu=item.__msh_info.submenu=this.createMenuTree(tmp[0],false).__msh_info;submenu.parent=info;this._popupMenus[this._popupMenus.length]=submenu;}}return ret;};DynarchMenu._stopEvent=function(ev){if(is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}};DynarchMenu._removeEvent=function(el,evname,func){if(el.detachEvent)el.detachEvent("on"+evname,func);else if(el.removeEventListener)el.removeEventListener(evname,func,true);else el["on"+evname]=null;};DynarchMenu._addEvent=function(el,evname,func){if(el.attachEvent)el.attachEvent("on"+evname,func);else if(el.addEventListener)el.addEventListener(evname,func,true);else el["on"+evname]=func;};DynarchMenu._getChildrenByTagName=function(el,tag){var a=[];tag=tag.toLowerCase();for(var i=el.firstChild;i;i=i.nextSibling){if(i.nodeType!=1)continue;if(tag==i.tagName.toLowerCase())a[a.length]=i;}return a;};DynarchMenu._createElement=function(tagName,doc){if(!doc)doc=document;var el=doc.createElement(tagName);if(is_ie)el.unselectable="on";return el;};DynarchMenu._getInnerText=function(el){var txt="";for(var i=el.firstChild;i;i=i.nextSibling){if(i.nodeType==3)txt+=i.data;}return txt;};DynarchMenu._getPos=function(el){if(/^body$/i.test(el.tagName))return{x:0,y:0};var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this._getPos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};DynarchMenu._related=function(element,ev){var related;if(is_ie){var type=ev.type;if(type=="mouseover")related=ev.fromElement;else if(type=="mouseout")related=ev.toElement;}else related=ev.relatedTarget;if(!related)return false;while(related){if(related==element)return true;related=related.parentNode;}return false;};DynarchMenu._nfo={product:"hmenu-1.0",licensee:"Discovery Productions, Inc.",license_key:"C7A55525FFCFE68F76F8107500A16C59",purchase_date:"Tue Feb 10 11:29:29 2004 GMT",license_type:"developer"};
