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;
}

var timeout         = 500;

var closetimer		= 0;

var ddmenuitem      = 0;


// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();


	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';


	// get new layer and show it
	ddmenuitem = document.getElementById(id);

	ddmenuitem.style.visibility = 'visible';


}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);

}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);

		closetimer = null;

	}
}

// close layer when click-out
document.onclick = mclose;
 

