/**
 *  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: Wed Apr 14 09:24:00 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._C=null;DynarchMenu._T=null;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",false);param_default("className",null);param_default("tooltips",false);param_default("shadows",[2,2]);param_default("dx",0);param_default("dy",0);if(typeof el=="string")el=document.getElementById(el);if(!el){alert("Error: menu element not found.");return false;}el.style.display="none";document.__msh_activeItem=null;var a=document.__msh_menu;if(!a){a=document.__msh_menu=[];DynarchMenu._addEvent(document,(is_ie||is_opera)?"keydown":"keypress",DynarchMenu._documentKeyPress);DynarchMenu._addEvent(document,"mousedown",DynarchMenu._documentMouseDown);DynarchMenu._addEvent(document,"mouseup",DynarchMenu._documentMouseUp);DynarchMenu._addEvent(document,"mouseover",DynarchMenu._documentMouseOver);}var menu=a[a.length]=new DynarchMenu(el,config);return menu;};DynarchMenu._forAllMenus=function(callback){for(var i=document.__msh_menu.length;--i>=0&&!callback(document.__msh_menu[i]););};DynarchMenu._closeOtherMenus=function(menu){DynarchMenu._forAllMenus(function(tmp){if(tmp!=menu){var a=tmp._popupMenus;for(var i=a.length;--i>=0;)a[i].close();tmp._activeKeymap=null;}});};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 unselectable='on'>$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.replace('%20',' '),exec:function(){var retval=false;eval(this.js);return retval;}};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;return false;}};}tmp=DynarchMenu._getChildrenByTagName(li,"img");if(tmp.length>0)icon=tmp[0];info={separator:/^\s*$/.test(label)&&!icon,icon:icon,label:label,parent:parent,submenu:null,tooltip:tooltip,action:action,menu:this,exec:function(){if(this.action&&!this.action.exec()){this.element.className="item";var a=self._popupMenus;for(var i=a.length;--i>=0;)a[i].close();self._baseMenuInfo.close();window.status="";}}};if(action)action.info=info;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";item.appendChild(tmp);if(info.separator){txt=tmp.innerHTML="<div unselectable='on'>&nbsp;</div>";tmp=DynarchMenu._createElement("td");tmp.colSpan=2;tmp.innerHTML=txt;item.appendChild(tmp);}else{if(icon){tmp.appendChild(icon);(new Image()).src=icon.src;}tmp=DynarchMenu._createElement("td");tmp.className="label";tmp.innerHTML=label;item.appendChild(tmp);tmp=DynarchMenu._createElement("td");if(arrow){tmp.className="arrow";tmp.innerHTML=is_ie?("<img src='"+_dynarch_menu_url+"src/img/rarrow.gif' />"):"&nbsp;";}item.appendChild(tmp);}}info.element=item;item.className=info.separator?"separator":"item";if(this.config.tooltips)item.title=info.tooltip;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);document.__msh_activeItem=this;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==document.__msh_activeItem)el.className="item active";else el.className="item hover";el.title=menu.config.tooltips?item.tooltip:"";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&&submenu&&menu.active_submenu==submenu){if(submenu)submenu.close();el.className="item hover";}else{el.className="item active";if(submenu){submenu.open(el,item);menu.active_item=item;}}DynarchMenu._C=item.menu;item.menu._clickedItem=item;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);if(!j||j.__msh_info.base)DynarchMenu._closeOtherMenus(j&&j.__msh_info.menu);};DynarchMenu._documentMouseUp=function(ev){ev||(ev=window.event);var menu=DynarchMenu._C;if(menu&&menu._clickedItem){var el=is_ie?ev.srcElement:ev.target;var item=menu._clickedItem.element;for(;el&&!el.__msh_info;el=el.parentNode);if(!el)DynarchMenu._closeOtherMenus(null);else if(el==item)el.__msh_info.exec();menu._clickedItem=null;}DynarchMenu._C=null;document.__msh_activeItem=null;};DynarchMenu._documentMouseOver=function(ev){var menu=DynarchMenu._C,el,tmout;if(menu&&menu.config.electric){ev||(ev=window.event);el=is_ie?ev.srcElement:ev.target;for(;el&&!el.__msh_info;el=el.parentNode);if(!el){tmout=menu.config.electric;if(tmout==true)tmout=1;if(!DynarchMenu._T)DynarchMenu._T=setTimeout('DynarchMenu._closeOtherMenus(null); DynarchMenu._T = null;',tmout);}else if(DynarchMenu._T){clearTimeout(DynarchMenu._T);DynarchMenu._T=null;}}};DynarchMenu._documentKeyPress=function(ev){ev||(ev=window.event);DynarchMenu._forAllMenus(function(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);if(tmp.base){tmp.active_submenu=null;tmp.active_item=null;document.__msh_activeItem=null;DynarchMenu._closeOtherMenus(null);}DynarchMenu._stopEvent(ev);}};function do_13(){if(!item)return;if(item.action&&!item.submenu)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);if(!item.submenu)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";if(this.config.className)div.className+=" "+this.config.className;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";if(this.config.className)div.className+=" "+this.config.className;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;if(this._shadow)this._shadow.style.display="none";};info.open=function(el,item){var m=this.element,p=DynarchMenu._getPos(el),pe={x:p.x,y:p.y},tmp,s,vw;p.x+=self.config.dx;p.y+=self.config.dy;DynarchMenu._closeOtherMenus(self);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");s=tmp.style;s.position="absolute";s.width=s.height=s.bottom=s.right="0px";document.body.appendChild(tmp);vw=DynarchMenu._getPos(tmp);document.body.removeChild(tmp);s=m.style;s.position="absolute";s.display="block";if(p.x+m.offsetWidth>vw.x){if(this.parent.base)tmp=pe.x+el.offsetWidth-m.offsetWidth;else tmp=pe.x-m.offsetWidth;if(tmp>=0)p.x=tmp;}if(p.y+m.offsetHeight>vw.y){if(this.parent.base)tmp=pe.y-m.offsetHeight;else tmp=pe.y+el.offsetHeight-m.offsetHeight;if(tmp>=0)p.y=tmp;}s.left=p.x+"px";s.top=p.y+"px";this.parent.active_submenu=this;this.parent.active_item=item;this.visible=true;self._activePopup=this;self._activeKeymap=this.keymap;vw=self.config.shadows;tmp=this._shadow;if(vw){if(!tmp){this._shadow=tmp=DynarchMenu._createElement("div");tmp.className="dynarch-menu-shadow";tmp.style.position="absolute";document.body.appendChild(tmp);}s=tmp.style;s.left=p.x+vw[0]+"px";s.top=p.y+vw[1]+"px";s.height=m.offsetHeight+"px";s.width=m.offsetWidth+"px";s.display="block";}};}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=[];if(tag)tag=tag.toLowerCase();for(var i=el.firstChild;i;i=i.nextSibling){if(i.nodeType!=1)continue;if(!tag||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 i,c,txt;if(el.tagName.toLowerCase()=="a"){if(is_ie){c=DynarchMenu._getChildrenByTagName(el,null);for(i=c.length;--i>=0;c[i].unselectable="on");}return el.innerHTML;}txt="";for(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:"Wed Apr 14 09:24:00 2004 GMT",license_type:"developer"};
