var requireClick=true;var menuShadowEnabled=true;var menuShadowSize=4;var menuShadowOffset=1;var isIE=(document.all!=null&&window.opera==null);var isOpera=(window.opera!=null);var isMozilla=(window.scrollX!=null);var activeButton=null;var clickEventType;if(isIE){document.documentElement.attachEvent("onfocusin",pageFocus);document.documentElement.attachEvent("onkeydown",pageKeydown);document.documentElement.attachEvent("onmousedown",pageMousedown);window.attachEvent("unload",windowUnload);}else{document.documentElement.addEventListener("focus",pageFocus,true);document.documentElement.addEventListener("keydown",pageKeydown,true);document.documentElement.addEventListener("mousedown",pageMousedown,true);window.addEventListener("unload",windowUnload,true);}function pageFocus(event){var el=(isIE?window.event.srcElement:(event.target.tagName?event.target:event.target.parentNode));if(activeButton==null)return;if(el==activeButton)return;if(getContainerWith(el,"A","menuButton")==null&&getContainerWith(el,"DIV","menu")==null)clearActiveButton();}function pageKeydown(event){clickEventType=(isIE?window.event.type:event.type);}function pageMousedown(event){clickEventType=(isIE?window.event.type:event.type);pageFocus(event);}function windowUnload(event){clearActiveButton();}function setActiveButton(button){if(button==activeButton)return;clearActiveButton();if(button.menu==null)return;addClassName(button,"menuButtonActive");var pt=getPageOffset(button);pt.y+=button.offsetHeight;menuOpen(button.menu,pt);activeButton=button;}function clearActiveButton(){if(activeButton==null)return;removeClassName(activeButton,"menuButtonActive");if(activeButton.menu!=null)menuClose(activeButton.menu);activeButton=null;}function buttonClick(event,menuId){var button=getButton(event,menuId);if(clickEventType=="mousedown"){if(isIE)document.documentElement.detachEvent("onfocusin",pageFocus);button.blur();if(isIE)document.documentElement.attachEvent("onfocusin",pageFocus);}if(button==activeButton)clearActiveButton();else setActiveButton(button);return false;}function buttonFocusOrMouseover(event,menuId){var button=getButton(event,menuId);if(!requireClick)setActiveButton(button);else if(activeButton!=null&&button!=activeButton)setActiveButton(button);}function buttonKeydown(event){var keyCode=(isIE?window.event.keyCode:event.keyCode);if(keyCode<37||keyCode>40)return;var button=getButton(event,null);if(keyCode==37)button.leftTarget.focus();if(keyCode==39)button.rightTarget.focus();if(button.menu!=null&&(keyCode==38||keyCode==40)){setActiveButton(button);if(keyCode==38)button.upTarget.focus();if(keyCode==40)button.downTarget.focus();}return false;}function getButton(event,menuId){var button=(isIE?getContainerWith(window.event.srcElement,"A","menuButton"):event.currentTarget);if(button.parentBar==null){button.parentBar=getContainerWith(button,"DIV","menuBar");if(button.parentBar.buttons==null)button.parentBar.buttons=getContaineesWith(button.parentBar,"A","menuButton");var i=0;while(button.parentBar.buttons[i]!=button)i++;var n=button.parentBar.buttons.length;button.leftTarget=(i==0?button.parentBar.buttons[n-1]:button.parentBar.buttons[i-1]);button.rightTarget=(i==n-1?button.parentBar.buttons[0]:button.parentBar.buttons[i+1]);if(menuId!=null){button.menu=document.getElementById(menuId);button.menu.parentButton=button;menuInitialize(button.menu);button.upTarget=button.menu.items[button.menu.items.length-1];button.downTarget=button.menu.items[0];}if(!requireClick)button.onmouseout=buttonOrMenuMouseout;if(!isOpera)button.onkeydown=buttonKeydown;if(isMozilla)button.onkeypress=buttonOrMenuItemKeypress;}return button;}function menuInitialize(menu){menu.items=getContaineesWith(menu,"A","menuItem");var n=menu.items.length;var itemWidth;if(n>0)itemWidth=menu.items[0].offsetWidth;else return;if(isIE&&window.XMLHttpRequest==null){var iframeEl=document.createElement("IFRAME");iframeEl.frameBorder=0;iframeEl.src="javascript:void(0);";iframeEl.style.display="none";iframeEl.style.position="absolute";iframeEl.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";menu.iframeEl=menu.parentNode.insertBefore(iframeEl,menu);}for(var i=0;i<n;i++){menu.items[i].upTarget=(i==0?menu.items[n-1]:menu.items[i-1]);menu.items[i].downTarget=(i==n-1?menu.items[0]:menu.items[i+1]);menu.items[i].leftTarget=(menu.parentItem!=null?menu.parentItem:menu.parentButton.leftTarget);menu.items[i].rightTarget=menu.parentButton.rightTarget;var spanList=menu.items[i].getElementsByTagName("SPAN");var textEl=null;var arrowEl=null;for(var j=0;j<spanList.length;j++){if(hasClassName(spanList[j],"menuItemText"))textEl=spanList[j];if(hasClassName(spanList[j],"menuItemArrow"))arrowEl=spanList[j];}if(textEl!=null&&arrowEl!=null){textEl.style.paddingRight=(itemWidth-(textEl.offsetWidth+arrowEl.offsetWidth))+"px";if(isIE){arrowEl.style.fontFamily="Webdings";arrowEl.style.fontSize="100%";arrowEl.firstChild.nodeValue="4";}if(isOpera){arrowEl.firstChild.nodeValue="\u25B6";arrowEl.style.marginRight="0em";}}else{menu.items[i].onfocus=menuItemFocusOrMouseover;menu.items[i].onmouseover=menuItemFocusOrMouseover;}if(!isOpera)menu.items[i].onkeydown=menuItemKeydown;if(isMozilla)menu.items[i].onkeypress=buttonOrMenuItemKeypress;}if(isIE){var w=menu.items[0].offsetWidth;menu.items[0].style.width=w+"px";var dw=menu.items[0].offsetWidth-w;w-=dw;menu.items[0].style.width=w+"px";}if(menuShadowEnabled){menu.shadowDivEls=new Array();for(i=0;i<menuShadowSize;i++){var divEl=document.createElement("DIV");divEl.className="menuShadow";if(!requireClick)divEl.onmouseout=buttonOrMenuMouseout;;menu.shadowDivEls[i]=menu.parentNode.insertBefore(divEl,menu);}}menu.onmouseover=menuMouseover;if(!requireClick)menu.onmouseout=buttonOrMenuMouseout;menu.isOpen=false;}function menuOpen(menu,pt){menu.style.left=pt.x+"px";menu.style.top=pt.y+"px";menu.style.visibility="visible";if(menu.iframeEl!=null){menu.iframeEl.style.left=menu.style.left;menu.iframeEl.style.top=menu.style.top;menu.iframeEl.style.width=menu.offsetWidth+(menuShadowEnabled?menuShadowOffset+menuShadowSize-1:0)+"px";menu.iframeEl.style.height=menu.offsetHeight+(menuShadowEnabled?menuShadowOffset+menuShadowSize-1:0)+"px";menu.iframeEl.style.display="";}if(menuShadowEnabled){for(var i=0;i<menuShadowSize;i++){menu.shadowDivEls[i].style.left=(pt.x+menuShadowOffset+i)+"px";menu.shadowDivEls[i].style.top=(pt.y+menuShadowOffset+i)+"px";menu.shadowDivEls[i].style.width=menu.offsetWidth+"px";menu.shadowDivEls[i].style.height=menu.offsetHeight+"px";menu.shadowDivEls[i].style.visibility="visible";}}menu.isOpen=true;}function menuClose(menu){menuClearActiveItem(menu);if(menuShadowEnabled)for(var i=0;i<menuShadowSize;i++)menu.shadowDivEls[i].style.visibility="";menu.style.visibility="";if(menu.iframeEl!=null)menu.iframeEl.style.display="none";menu.isOpen=false;}function menuSetActiveItem(item){if(!item.parentMenu.isOpen)return;menuClearActiveItem(item.parentMenu);addClassName(item,"menuItemActive");item.parentMenu.activeItem=item;if(item.subMenu==null||item.suppressSubMenu!=null){item.suppressSubMenu=null;return;}var pt=getPageOffset(item);pt.x+=item.offsetWidth;if(isIE)pt.y-=item.subMenu.clientTop;var maxX,maxY;if(isIE){maxX=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft)+(document.documentElement.clientWidth!=0?document.documentElement.clientWidth:document.body.clientWidth);maxY=Math.max(document.documentElement.scrollTop,document.body.scrollTop)+(document.documentElement.clientHeight!=0?document.documentElement.clientHeight:document.body.clientHeight);}if(isOpera){maxX=document.documentElement.scrollLeft+window.innerWidth;maxY=document.documentElement.scrollTop+window.innerHeight;}if(isMozilla){maxX=window.scrollX+window.innerWidth;maxY=window.scrollY+window.innerHeight;}maxX-=item.subMenu.offsetWidth;maxY-=item.subMenu.offsetHeight;if(pt.x>maxX){pt.x=Math.max(0,pt.x-item.offsetWidth-item.subMenu.offsetWidth+(item.parentMenu.offsetWidth-item.offsetWidth));if(isIE)pt.x-=item.subMenu.clientLeft+item.parentMenu.clientLeft;}pt.y=Math.max(0,Math.min(pt.y,maxY));menuOpen(item.subMenu,pt);}function menuClearActiveItem(menu){if(menu.activeItem==null)return;removeClassName(menu.activeItem,"menuItemActive");if(menu.activeItem.subMenu!=null)menuClose(menu.activeItem.subMenu);menu.activeItem=null;}function menuMouseover(event){var menu=(isIE?getContainerWith(window.event.srcElement,"DIV","menu"):event.currentTarget);menuClearActiveItem(menu);}function menuItemClick(event,menuId){var item=getMenuItem(event,menuId);if(clickEventType=="keydown"&&item.subMenu.isOpen)item.suppressSubMenu=true;menuSetActiveItem(item);return false;}function menuItemFocusOrMouseover(event,menuId){var item=getMenuItem(event,menuId);menuSetActiveItem(item);if(isIE)window.event.cancelBubble=true;else event.stopPropagation();}function menuItemKeydown(event){var keyCode=(isIE?window.event.keyCode:event.keyCode);if(keyCode<37||keyCode>40)return;var item=getMenuItem(event,null);if(keyCode==37){if(item.leftTarget.subMenu!=null)item.leftTarget.suppressSubMenu=true;item.leftTarget.focus();}if(keyCode==39){if(item.subMenu!=null)menuSetActiveItem(item);item.rightTarget.focus();}if(keyCode==38)item.upTarget.focus();if(keyCode==40)item.downTarget.focus();return false;}function getMenuItem(event,menuId){var item=(isIE?getContainerWith(window.event.srcElement,"A","menuItem"):event.currentTarget);if(item.parentMenu==null){item.parentMenu=getContainerWith(item,"DIV","menu");if(menuId!=null&&item.subMenu==null){item.subMenu=document.getElementById(menuId);item.subMenu.parentButton=item.parentMenu.parentButton;item.subMenu.parentItem=item;menuInitialize(item.subMenu);item.rightTarget=item.subMenu.items[0];}}return item;}function buttonOrMenuMouseout(event){if(activeButton==null)return;var el;if(isIE)el=window.event.toElement;else if(event.relatedTarget!=null)el=(event.relatedTarget.tagName?event.relatedTarget:event.relatedTarget.parentNode);if(getContainerWith(el,"DIV","menu")==null&&getContainerWith(el,"DIV","menuShadow")==null)clearActiveButton();}function buttonOrMenuItemKeypress(event){if(event.keyCode<37||event.keyCode>40)return;event.preventDefault();}function getContainerWith(node,tagName,className){while(node!=null){if(node.tagName!=null&&node.tagName==tagName&&hasClassName(node,className))return node;node=node.parentNode;}return node;}function getContaineesWith(node,tagName,className){var elList=node.getElementsByTagName(tagName);var returnList=new Array();for(var i=0;i<elList.length;i++)if(hasClassName(elList[i],className))returnList.push(elList[i]);return returnList;}function hasClassName(el,name){var list=el.className.split(" ");for(var i=0;i<list.length;i++)if(list[i]==name)return true;return false;}function addClassName(el,name){if(!hasClassName(el,name))el.className+=(el.className.length>0?" ":"")+name;}function removeClassName(el,name){if(el.className==null)return;var newList=new Array();var curList=el.className.split(" ");for(var i=0;i<curList.length;i++)if(curList[i]!=name)newList.push(curList[i]);el.className=newList.join(" ");}function getPageOffset(el){var x=0,y=0;if(isIE){var tempEl=el;while(tempEl!=null&&tempEl.tagName!=null){if(tempEl.tagName!="BODY"&&tempEl.tagName!="HTML"&&tempEl.tagName!="TABLE"){x+=tempEl.clientLeft;y+=tempEl.clientTop;}tempEl=tempEl.parentNode;}}do{x+=el.offsetLeft;y+=el.offsetTop;el=el.offsetParent;}while(el!=null);return new Point(x,y);}function Point(x,y){this.x=x;this.y=y;}
