// (c)2010 Michael Holtstrom

var pop={};pop.raise=function(e,menu,owner,targ)
{dbg('pop.raise');pop.mask.menu=menu;pop.mask.owner=owner;pop.mask.targ=targ;pop.mask.style.width=document.documentElement.scrollWidth+'px';pop.mask.style.height=document.documentElement.scrollHeight+'px';pop.mask.className='rcmask1';pop.mask.style.visibility='visible';var pos=util.mouse(e);menu.style.left=pos[0]+'px';menu.style.top=pos[1]+'px';util.inview(menu);menu.style.visibility='visible';};pop.show=function(id)
{dbg('pop.show');var menu=at(id);pop.mask.menu=menu;pop.mask.style.width=document.documentElement.scrollWidth+'px';pop.mask.style.height=document.documentElement.scrollHeight+'px';pop.mask.className='rcmask2';pop.mask.style.visibility='visible';var scr=util.screen();menu.style.left=Math.round((scr[2]-menu.offsetWidth)/2)+'px';menu.style.top=Math.round((scr[3]-menu.offsetHeight)/2)+'px';dbg(scr[2]+','+menu.offsetWidth+','+scr[3]+','+menu.offsetHeight);util.inview(menu);menu.style.visibility='visible';};pop.hide=function()
{dbg('pop.hide');pop.mask.menu.style.visibility='hidden';pop.mask.style.visibility='hidden';pop.mask.menu=null;pop.mask.owner=null;pop.mask.targ=null;};pop.fire=function(e)
{dbg('pop.fire');e=e||window.event;var elm=util.elm(e);while(elm)
{if(elm.className.indexOf('rcentry')>=0)
{break;}
elm=elm.parentNode;}
if(elm&&elm.id)
{dbg(elm.id);pop.mask.owner[elm.id](pop.mask.menu);}
pop.mask.menu.style.visibility='hidden';pop.mask.style.visibility='hidden';pop.mask.menu=null;pop.mask.owner=null;pop.mask.targ=null;return util.cancel(e);};pop.init=function()
{dbg('pop.init');pop.mask=at('rcmask');util.add(pop.mask,'contextmenu',util.cancel);util.add(pop.mask,'mouseup',pop.hide);};pop.add=function(id)
{dbg('pop.add');util.add(at(id),'contextmenu',util.cancel);util.add(at(id),'click',pop.fire);};var err={};err.pending=0;err.timeout=4000;err.msg=function(msg)
{dbg('err.msg '+msg);var id=++err.pending;var txt=at('msgtxt').innerHTML;if(txt.length>0)
{at('msgtxt').innerHTML=util.hFix(msg)+'<br/>'+txt;err.timeout+=700;}
else
{at('msgtxt').innerHTML=util.hFix(msg);err.timeout+=4000;}
var ary=util.screen();at('msg').style.left=ary[0]+'px';at('msg').style.top=ary[1]+'px';at('msg').style.visibility='visible';setTimeout(function(){err.close(id);},err.timeout);};err.close=function(id)
{dbg('err.close');if(id==err.pending)
{err.pending++;at('msg').style.visibility="hidden";at('msgtxt').innerHTML='';}};err.sess=function()
{dbg('err.sess');var msg=util.cookie('msg');if(msg==''){msg="Sorry, something went wrong.";}
else{util.setCookie('msg','');}
err.msg(msg);};