
(function(){var uns=rx.namespace('util');uns.deattr=function(s){return s.replace('&#39;',"'");};uns.filter=function(f,arr){var a=[],l=arr.length,i,ar;for(i=0;i<l;i++){ar=a[i];if(f(ar,i))a.push(ar);}
return a;};uns.map=function(f,arr){var a=[],l=arr.length,i;for(i=0;i<l;i++)a.push(f(arr[i],i));return a;};uns.keys=function(obj){var a=[];for(var attr in obj)if(obj.hasOwnProperty(attr))a.push(attr);return a;};uns.update=function(a,b){var k,av,bv;for(k in b)if(b.hasOwnProperty(k)){av=a[k];bv=b[k];if(av&&typeof av=='object'&&bv&&typeof bv=='object')
uns.update(av,bv);else a[k]=bv;}};uns.serialize=function(form){var p={};var fields=form.serializeArray();for(var x=0;x<fields.length;x++){var name=fields[x].name;var val=fields[x].value.strip();var def=form.find('[name='+name+']').attr('default');if(!def||(def&&val!=def)){if(p[name]instanceof Array)p[name].push(val);else if(typeof p[name]=='string')p[name]=[p[name],val]
else p[name]=val;}}
return p;}
var fuzzyunits=[['minute',60],['hour',60],['day',24],['week',7],['month',4],['year',12]];function aunit(i){return'a'+(i==1?'n ':' ')+fuzzyunits[i][0];}
uns.fuzzytime=function(t,cur){var age=cur-t;var i=0;for(;i<fuzzyunits.length;++i){age/=fuzzyunits[i][1];if(age<=1)break;}
i=Math.min(i,fuzzyunits.length-1);if(age<1){if(.6<=age&&i<2||i==0)
return'less than '+aunit(i);age*=fuzzyunits[i][1];i--;}
age=Math.round(age);if(age==1)return aunit(i);return age.toString()+' '+fuzzyunits[i][0]+'s';};uns.parseqs=function(s,multi){var r={};if(s){var l,y,x=s.replace(/\+/g,' ').split('&');for(var i=0;i<x.length;++i){y=x[i].split('=',2);l=r[y[0]];if(!l)l=r[y[0]]=[];l.push(decodeURIComponent(y[1]));}
if(!multi){var rr={};for(var k in r)if(r.hasOwnProperty(k))rr[k]=r[k][0];r=rr;}}
return r;};var cns=rx.namespace('util.cookie');cns.read=function(name){var cs=document.cookie.split(';');var i,j,c,l=cs.length;for(i=0;i<l;i++){c=$.trim(cs[i]);j=c.indexOf('=');if(j==-1)continue;if(c.slice(0,j)==name)return c.substr(j+1);}};cns.set=function(name,value,expires){var cook=name+'='+value+'; path='+(rx.scripturl||'/');if(expires!==undefined){cook+='; expires=';var date=new Date();date.setTime(date.getTime()+1000*expires);cook+=date.toGMTString();}
document.cookie=cook;};var scns=rx.namespace('util.scookie');scns.read=function(name){if(name===undefined)name='scookie';var v=rx.util.cookie.read(name);if(!v)return;v=v.split('\\').slice(2);var i,r={};for(i=0;i<v.length;i+=2)r[v[i]]=v[i+1];return r;};var dns=rx.namespace('util.dom');dns.hasAttribute=function(elem,attr){var attr=elem.getAttributeNode(attr);return attr?attr.specified:false;};if($.browser.mozilla){HTMLElement.prototype.__defineGetter__('innerText',function(){return this.textContent.strip();});HTMLElement.prototype.__defineSetter__('innerText',function(txt){return this.textContent=txt;});}
dns.resizetextarea=function(textarea,oheight){setTimeout(function(){var clone=textarea.cloneNode(true);clone.style.position='absolute';clone.style.left='-10000px';clone.style.padding='0';clone.style.height='0';clone.setAttribute('spellcheck','false');clone.value=textarea.value+' ';var parent=textarea.parentNode;parent.appendChild(clone);clone.scrollHeight;textarea.style.height=(Math.max(clone.scrollHeight,oheight))+'px';parent.removeChild(clone);});};})();