//------------------------------------------------------------------------------------------------
// Invision Power Board v2.0 (c) 2003 Invision Power Services, Inc. http://www.invisionboard.com
//------------------------------------------------------------------------------------------------
var menu_registered=new Array();var menu_openfuncs=new Array();var menu_built=new Array();var menu_open_menus=new Array();var menu_cur_open=false;function menu_do_global_init()
{if(menu_registered.length>0)
{for(var i in menu_registered)
{menu_init(menu_registered[i]);}
document.onclick=menu_action_close;}}
function menu_init(cid)
{var mid=_menu_get_base_name(cid)+"_menu";var mobj=my_getbyid(mid);if(document.getElementsByTagName&&mobj)
{var cobj=my_getbyid(cid);try
{cobj.style.cursor="pointer";}
catch(e)
{cobj.style.cursor="hand";}
cobj.unselectable=true;cobj.onclick=_event_menu_click;cobj.onmouseover=_event_menu_mouseover;if(typeof(menu_built[mid])!="undefined")
{return;}
var pobj=my_getbyid(mid);pobj.style.display="none";pobj.style.position="absolute";pobj.style.left="0px";pobj.style.top="0px";pobj.onclick=_cancel_bubble;pobj.zIndex=1000;menu_built[mid]=true;}}
function menu_register(cid,callback)
{if(document.getElementsByTagName)
{var cobj=my_getbyid(cid);if(cobj)
{menu_registered[menu_registered.length]=cid;if(callback)
{menu_openfuncs[cobj]=callback;}
return true;}}
return false;}
function menu_action_open(e)
{var openmenu=menu_cur_open;var negpad=true;menu_action_close();if(openmenu==e.id)
{return false;}
var mid=_menu_get_base_name(e.id)+"_menu";var mobj=my_getbyid(mid);var left_px=_get_obj_leftpos(e);var top_px=_get_obj_toppos(e)+e.offsetHeight;var callbackobj=my_getbyid(e.id);var ifid=e.id;menu_open_menus[e.id]=true;menu_cur_open=e.id;mobj.style.display="";var width=parseInt(mobj.style.width)?parseInt(mobj.style.width):mobj.offsetWidth;if((left_px+width)>=document.body.clientWidth)
{left_px=left_px+e.offsetWidth-width;negpad=false;}
if(is_ie)
{left_px+=(negpad)?-2:2;}
mobj.style.left=left_px+"px";mobj.style.top=top_px+"px";mobj.style.zIndex=100;if(menu_openfuncs[callbackobj])
{eval(menu_openfuncs[callbackobj]);}
if(is_ie)
{try
{if(!document.getElementById('if_'+e.id))
{var iframeobj=document.createElement('iframe');iframeobj.src='javascript:;';iframeobj.id='if_'+e.id;document.getElementsByTagName('body').appendChild(iframeobj);}
else
{var iframeobj=document.getElementById('if_'+e.id);}
iframeobj.scrolling='no';iframeobj.frameborder='no';iframeobj.className='iframeshim';iframeobj.style.position='absolute';iframeobj.style.width=parseInt(mobj.offsetWidth)+'px';iframeobj.style.height=parseInt(mobj.offsetHeight)+'px';iframeobj.style.top=mobj.style.top;iframeobj.style.left=mobj.style.left;iframeobj.style.zIndex=99;iframeobj.style.display="block";}
catch(e)
{}}
if(is_safari)
{try
{mlinks=mobj.getElementsByTagName('a');for(var i=0;i<=mlinks.length;i++)
{if(mlinks[i].href&&(mlinks[i].href.indexOf('#',0)!=(mlinks[i].href.length-1)))
{mlinks[i].onmousedown=_safari_onclick_handler;mlinks[i].id='saf-link-'+mid+i;}}}
catch(e)
{}}
return false;}
function _safari_onclick_handler()
{if(this.id)
{window.location=document.getElementById(this.id).href;}}
function menu_action_close()
{if(menu_cur_open)
{for(i in menu_open_menus)
{my_getbyid(_menu_get_base_name(i)+"_menu").style.display="none";if(is_ie)
{try
{document.getElementById('if_'+i).style.display="none";}
catch(e)
{}}
menu_open_menus[i]=false;}}
menu_cur_open=false;}
function menu_action_hover(e)
{for(i in menu_open_menus)
{if(menu_open_menus[i]==true&&i!=e.id)
{menu_action_open(e);return;}}}
function _cancel_bubble(obj,extra)
{if(!obj||is_ie)
{if(extra)
{window.event.returnValue=false;}
window.event.cancelBubble=true;return window.event;}
else
{if(obj.target.type=='submit')
{obj.target.form.submit();}
obj.stopPropagation();if(extra)
{obj.preventDefault();}
return obj;}}
function _event_menu_mouseover(e)
{e=_cancel_bubble(e,true);menu_action_hover(this);}
function _event_menu_click(e)
{e=_cancel_bubble(e,true);menu_action_open(this);}
function _menu_get_base_name(cid)
{var endpos=cid.indexOf(".");if(endpos!=-1)
{return cid.substr(0,endpos);}
else
{return cid;}}
function _get_obj_leftpos(obj)
{var left=obj.offsetLeft;while((obj=obj.offsetParent)!=null)
{left+=obj.offsetLeft;}
return left;}
function _get_obj_toppos(obj)
{var top=obj.offsetTop;while((obj=obj.offsetParent)!=null)
{top+=obj.offsetTop;}
return top;}
