function addEvent(obj ,evt, fnc)
		{
			if (obj.addEventListener)
					obj.addEventListener(evt,fnc,false);
			else if (obj.attachEvent)
					obj.attachEvent('on'+evt,fnc);
			else
					return false;
			return true;
		}

		function removeEvent(obj ,evt, fnc)
		{
			if (obj.removeEventListener)
					obj.removeEventListener(evt,fnc,false);
			else if (obj.detachEvent)
					obj.detachEvent('on'+evt,fnc);
			else
					return false;
			return true;
		}

		//----------

		function appendElement(node,tag,id,htm)
		{
			var ne = document.createElement(tag);
			if(id) ne.id = id;
			if(htm) ne.innerHTML = htm;
			node.appendChild(ne);
		}

		//----------

		function showPopup(p)
		{
			greyout(true);
			document.getElementById(p).style.display = 'block';
		}

		function hidePopup(p)
		{
			greyout(false);
			document.getElementById(p).style.display = 'none';
		}

		//----------

		function greyout(d,z)
		{
			var obj = document.getElementById('greyout');
			if(!obj) {
					appendElement(document.body,'div','greyout');
					obj = document.getElementById('greyout');
					obj.style.position = 'absolute';
					obj.style.top = '0px';
					obj.style.left = '0px';
					obj.style.background = '#111';
					obj.style.opacity = '.5';
					obj.style.filter = 'alpha(opacity=50)';
			}
			if(d) {
					if(!z){ z - 50 }
					obj.style.zIndex = z;
					obj.style.height = Math.max(document.body.scrollHeight,document.body.clientHeight)+'px';
					obj.style.width  = Math.max(document.body.scrollWidth,document.body.clientWidth)+'px';
					obj.style.display = 'block';
					addEvent(window,'resize',greyoutResize);
			} else {
					obj.style.display = 'none';   
					removeEvent(window,'resize',greyoutResize);
			}
		}
     
		function greyoutResize()
		{
			var obj = document.getElementById('greyout');
			obj.style.height = document.body.clientHeight+'px';
			obj.style.width  = document.body.clientWidth+'px';
			obj.style.height = Math.max(document.body.scrollHeight,document.body.clientHeight)+'px';
			obj.style.width  = Math.max(document.body.scrollWidth,document.body.clientWidth)+'px';
		}

		//----------