/*
		MIT License
 @author		Alfredo Artiles
 @copyright	2008 Author
*/
(function(){window._S=function(a,b){var d,e,f,g=document.location.href;f="rs="+escape(a);f+="&rst=";f+="&rsrnd="+(new Date).getTime();for(d=0;d<b.length-1;d++)f=f+"&rsargs[]="+encodeURIComponent(b[d]);e=new XMLHttpRequest;e.open("POST",g,true);e.setRequestHeader("Method","POST "+g+" HTTP/1.1");e.setRequestHeader("Content-Type","application/x-www-form-urlencoded");e.onreadystatechange=function(){if(e.readyState==4){var h=e.responseText.charAt(0),k=e.responseText.substring(2);if(h!="-")try{var l;h=
false;if(typeof b[b.length-1]=="object"){l=b[b.length-1].callback;h=b[b.length-1].extra_data}else l=b[b.length-1];l(eval(k),h)}catch(m){k=e.responseText.substring(3);l=k.substring(0,3);if(l=="ar ")k=e.responseText.substring(2);if(l==":va")k=e.responseText.substring(4);b[b.length-1](eval(k))}}};e.send(f);return e}})();if(!window.JSON)window.JSON={};
(function(){function a(m){return m<10?"0"+m:m}function b(m){f.lastIndex=0;return f.test(m)?'"'+m.replace(f,function(n){var o=k[n];return typeof o==="string"?o:"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+m+'"'}function d(m,n){var o,p,q,r,u=g,t,s=n[m];if(s&&typeof s==="object"&&typeof s.toJSON==="function")s=s.toJSON(m);if(typeof l==="function")s=l.call(n,m,s);switch(typeof s){case "string":return b(s);case "number":return isFinite(s)?String(s):"null";case "boolean":case "null":return String(s);
case "object":if(!s)return"null";g+=h;t=[];if(Object.prototype.toString.apply(s)==="[object Array]"){r=s.length;for(o=0;o<r;o+=1)t[o]=d(o,s)||"null";q=t.length===0?"[]":g?"[\n"+g+t.join(",\n"+g)+"\n"+u+"]":"["+t.join(",")+"]";g=u;return q}if(l&&typeof l==="object"){r=l.length;for(o=0;o<r;o+=1){p=l[o];if(typeof p==="string")if(q=d(p,s))t.push(b(p)+(g?": ":":")+q)}}else for(p in s)if(Object.hasOwnProperty.call(s,p))if(q=d(p,s))t.push(b(p)+(g?": ":":")+q);q=t.length===0?"{}":g?"{\n"+g+t.join(",\n"+g)+
"\n"+u+"}":"{"+t.join(",")+"}";g=u;return q}}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,g,h,k={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},l;if(typeof JSON.stringify!=="function")JSON.stringify=function(m,n,o){var p;h=g="";if(typeof o==="number")for(p=0;p<o;p+=1)h+=" ";else if(typeof o==="string")h=o;if((l=n)&&typeof n!=="function"&&(typeof n!=="object"||typeof n.length!=="number"))throw Error("JSON.stringify");return d("",
{"":m})};if(typeof JSON.parse!=="function")JSON.parse=function(m,n){function o(q,r){var u,t,s=q[r];if(s&&typeof s==="object")for(u in s)if(Object.hasOwnProperty.call(s,u)){t=o(s,u);if(t!==undefined)s[u]=t;else delete s[u]}return n.call(q,r,s)}var p;m=String(m);e.lastIndex=0;if(e.test(m))m=m.replace(e,function(q){return"\\u"+("0000"+q.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(m.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){p=eval("("+m+")");return typeof n==="function"?o({"":p},""):p}throw new SyntaxError("JSON.parse");}})();var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xSaf,xUA=navigator.userAgent.toLowerCase();
if(window.opera){var i=xUA.indexOf("opera");if(i!=-1){var v=parseInt(xUA.charAt(i+6));xOp7Up=v>=7;xOp6Dn=v<7}}else if(navigator.vendor!="KDE"&&document.all&&xUA.indexOf("msie")!=-1){xIE4Up=parseFloat(navigator.appVersion)>=4;xIE4=xUA.indexOf("msie 4")!=-1;xIE5=xUA.indexOf("msie 5")!=-1}else if(document.layers)xNN4=true;else xSaf=xUA.indexOf("applewebkit/")!=1;xMac=xUA.indexOf("mac")!=-1;
function xBackground(a,b,d){if(!(a=xGetElementById(a)))return"";var e="";if(a.style){if(xStr(b))if(xOp6Dn)a.style.background=b;else a.style.backgroundColor=b;if(xStr(d))a.style.backgroundImage=d!=""?"url("+d+")":null;e=xOp6Dn?a.style.background:a.style.backgroundColor}return e}
function xClientHeight(){var a=0;if(xOp6Dn)a=window.innerHeight;else if(document.compatMode=="CSS1Compat"&&!window.opera&&document.documentElement&&document.documentElement.clientHeight)a=document.documentElement.clientHeight;else if(document.body&&document.body.clientHeight&&!xSaf)a=document.body.clientHeight;else if(xDef(window.innerWidth,window.innerHeight,document.width)){a=window.innerHeight;if(document.width>window.innerWidth)a-=16}return a}
function xClientWidth(){var a=0;if(xOp6Dn)a=window.innerWidth;else if(document.compatMode=="CSS1Compat"&&!window.opera&&document.documentElement&&document.documentElement.clientWidth)a=document.documentElement.clientWidth;else if(document.body&&document.body.clientWidth)a=document.body.clientWidth;else if(xDef(window.innerWidth,window.innerHeight,document.height)){a=window.innerWidth;if(document.height>window.innerHeight)a-=16}return a}
function xClip(a,b,d,e,f){if(a=xGetElementById(a))if(a.style)a.style.clip=xNum(f)?"rect("+b+"px "+d+"px "+e+"px "+f+"px)":"rect(0 "+parseInt(a.style.width)+"px "+parseInt(a.style.height)+"px 0)"}function xDef(){for(var a=0;a<arguments.length;++a)if(typeof arguments[a]=="undefined")return false;return true}function xDeleteCookie(a,b){if(xGetCookie(a))document.cookie=a+"=; path="+(!b?"/":b)+"; expires="+(new Date(0)).toGMTString()}
function xDisplay(a,b){if(!(a=xGetElementById(a)))return null;if(a.style&&xDef(a.style.display)){if(xStr(b))a.style.display=b;return a.style.display}return null}function xGetCookie(a){var b=null,d=a+"=";if(document.cookie.length>0){a=document.cookie.indexOf(d);if(a!=-1){a+=d.length;b=document.cookie.indexOf(";",a);if(b==-1)b=document.cookie.length;b=unescape(document.cookie.substring(a,b))}}return b}function xGetElementById(a){return document.getElementById(a)}
function xGetElementsByAttribute(a,b,d,e){var f,g=[];d=RegExp(d,"i");f=xGetElementsByTagName(a);for(var h=0;h<f.length;++h){(a=f[h].getAttribute(b))||(a=f[h][b]);if(typeof a=="string"&&a.search(d)!=-1){g[g.length]=f[h];e&&e(f[h])}}return g}function xGetElementsByClassName(a,b,d,e){var f=[];a=RegExp("\\b"+a+"\\b","i");b=xGetElementsByTagName(d,b);for(d=0;d<b.length;++d)if(b[d].className&&b[d].className.search(a)!=-1){f[f.length]=b[d];e&&e(b[d])}return f}
function xGetElementsByTagName(a,b){var d=null;a=a||"*";b=b||document;if(xIE4||xIE5)d=a=="*"?b.all:b.all.tags(a);else if(b.getElementsByTagName)d=b.getElementsByTagName(a);return d||[]}
function xHeight(a,b){if(!(a=xGetElementById(a)))return 0;b=xNum(b)?b<0?0:Math.round(b):-1;var d=xDef(a.style);if(a==document||a.tagName.toLowerCase()=="html"||a.tagName.toLowerCase()=="body")b=xClientHeight();else if(d&&xDef(a.offsetHeight)&&xStr(a.style.height)){if(b>=0){var e=d=0,f=0,g=0;if(document.compatMode=="CSS1Compat"){var h=xGetComputedStyle;d=h(a,"padding-top",1);if(d!==null){e=h(a,"padding-bottom",1);f=h(a,"border-top-width",1);g=h(a,"border-bottom-width",1)}else if(xDef(a.offsetHeight,
a.style.height)){a.style.height=b+"px";d=a.offsetHeight-b}}b-=d+e+f+g;if(isNaN(b)||b<0)return;else a.style.height=b+"px"}b=a.offsetHeight}else if(d&&xDef(a.style.pixelHeight)){if(b>=0)a.style.pixelHeight=b;b=a.style.pixelHeight}return b}function xHide(a){return xVisibility(a,0)}function xInnerHtml(a,b){if(!(a=xGetElementById(a))||!xStr(a.innerHTML))return null;var d=a.innerHTML;if(xStr(b))a.innerHTML=b;return d}
function xLeft(a,b){if(!(a=xGetElementById(a)))return 0;var d=xDef(a.style);if(d&&xStr(a.style.left))if(xNum(b))a.style.left=b+"px";else{b=parseInt(a.style.left);if(isNaN(b))b=0}else if(d&&xDef(a.style.pixelLeft))if(xNum(b))a.style.pixelLeft=b;else b=a.style.pixelLeft;return b}function xStr(){for(var a=0;a<arguments.length;++a)if(typeof arguments[a]!="string")return false;return true}function xMoveTo(a,b,d){xLeft(a,b);xTop(a,d)}
function xName(a){return a?a.id&&a.id!=""?a.id:a.name&&a.name!=""?a.name:a.nodeName&&a.nodeName!=""?a.nodeName:a.tagName&&a.tagName!=""?a.tagName:a:a}function xNextSib(a,b){var d=a?a.nextSibling:null;if(b)for(;d&&d.nodeName!=b;)d=d.nextSibling;else for(;d&&d.nodeType!=1;)d=d.nextSibling;return d}function xNum(){for(var a=0;a<arguments.length;++a)if(isNaN(arguments[a])||typeof arguments[a]!="number")return false;return true}
function xOffsetLeft(a){if(!(a=xGetElementById(a)))return 0;return xDef(a.offsetLeft)?a.offsetLeft:0}function xOffsetTop(a){if(!(a=xGetElementById(a)))return 0;return xDef(a.offsetTop)?a.offsetTop:0}function xPageX(a){if(!(a=xGetElementById(a)))return 0;for(var b=0;a;){if(xDef(a.offsetLeft))b+=a.offsetLeft;a=xDef(a.offsetParent)?a.offsetParent:null}return b}
function xPageY(a){if(!(a=xGetElementById(a)))return 0;for(var b=0;a;){if(xDef(a.offsetTop))b+=a.offsetTop;a=xDef(a.offsetParent)?a.offsetParent:null}return b}function xResizeTo(a,b,d){xWidth(a,b);xHeight(a,d)}
function xScrollLeft(a,b){var d=0;if(!xDef(a)||b||a==document||a.tagName.toLowerCase()=="html"||a.tagName.toLowerCase()=="body"){var e=window;if(b&&a)e=a;if(e.document.documentElement&&e.document.documentElement.scrollLeft)d=e.document.documentElement.scrollLeft;else if(e.document.body&&xDef(e.document.body.scrollLeft))d=e.document.body.scrollLeft}else if((a=xGetElementById(a))&&xNum(a.scrollLeft))d=a.scrollLeft;return d}
function xScrollTop(a,b){var d=0;if(!xDef(a)||b||a==document||a.tagName.toLowerCase()=="html"||a.tagName.toLowerCase()=="body"){var e=window;if(b&&a)e=a;if(e.document.documentElement&&e.document.documentElement.scrollTop)d=e.document.documentElement.scrollTop;else if(e.document.body&&xDef(e.document.body.scrollTop))d=e.document.body.scrollTop}else if((a=xGetElementById(a))&&xNum(a.scrollTop))d=a.scrollTop;return d}
function xSetCookie(a,b,d,e){document.cookie=a+"="+escape(b)+(!d?"":"; expires="+d.toGMTString())+"; path="+(!e?"/":e)}function xShow(a){return xVisibility(a,1)}function xSlideTo(a,b,d,e){if(a=xGetElementById(a)){if(!a.timeout)a.timeout=25;a.xTarget=b;a.yTarget=d;a.slideTime=e;a.stop=false;a.yA=a.yTarget-xTop(a);a.xA=a.xTarget-xLeft(a);a.B=a.slideLinear?1/a.slideTime:Math.PI/(2*a.slideTime);a.yD=xTop(a);a.xD=xLeft(a);a.C=(new Date).getTime();a.moving||_xSlideTo(a)}}
function _xSlideTo(a){if(a=xGetElementById(a)){var b,d;d=(new Date).getTime()-a.C;if(a.stop)a.moving=false;else if(d<a.slideTime){setTimeout("_xSlideTo('"+a.id+"')",a.timeout);b=a.slideLinear?a.B*d:Math.sin(a.B*d);d=Math.round(a.xA*b+a.xD);b=Math.round(a.yA*b+a.yD);xMoveTo(a,d,b);a.moving=true}else{xMoveTo(a,a.xTarget,a.yTarget);a.moving=false}}}
function xTop(a,b){if(!(a=xGetElementById(a)))return 0;var d=xDef(a.style);if(d&&xStr(a.style.top))if(xNum(b))a.style.top=b+"px";else{b=parseInt(a.style.top);if(isNaN(b))b=0}else if(d&&xDef(a.style.pixelTop))if(xNum(b))a.style.pixelTop=b;else b=a.style.pixelTop;return b}var xVersion="4.0";function xVisibility(a,b){if(!(a=xGetElementById(a)))return null;if(a.style&&xDef(a.style.visibility)){if(xDef(b))a.style.visibility=b?"visible":"hidden";return a.style.visibility}return null}
function xWidth(a,b){if(!(a=xGetElementById(a)))return 0;b=xNum(b)?b<0?0:Math.round(b):-1;var d=xDef(a.style);if(a==document||a.tagName.toLowerCase()=="html"||a.tagName.toLowerCase()=="body")b=xClientWidth();else if(d&&xDef(a.offsetWidth)&&xStr(a.style.width)){if(b>=0){var e=d=0,f=0,g=0;if(document.compatMode=="CSS1Compat"){var h=xGetComputedStyle;d=h(a,"padding-left",1);if(d!==null){e=h(a,"padding-right",1);f=h(a,"border-left-width",1);g=h(a,"border-right-width",1)}else if(xDef(a.offsetWidth,a.style.width)){a.style.width=
b+"px";d=a.offsetWidth-b}}b-=d+e+f+g;if(isNaN(b)||b<0)return;else a.style.width=b+"px"}b=a.offsetWidth}else if(d&&xDef(a.style.pixelWidth)){if(b>=0)a.style.pixelWidth=b;b=a.style.pixelWidth}return b}
function xGetComputedStyle(a,b,d){var e="undefined",f=document.defaultView;if(f&&f.getComputedStyle){if(a=f.getComputedStyle(a,""))e=a.getPropertyValue(b)}else if(a.currentStyle){e=b.split("-");b=e[0];for(f=1;f<e.length;++f){c=e[f].charAt(0);b+=e[f].replace(c,c.toUpperCase())}e=a.currentStyle[b]}else return null;return d?parseInt(e)||0:e}
function xWindow(a,b,d,e,f,g,h,k,l,m,n){var o="left=",p="top=";this.n=a;if(document.layers){o="screenX=";p="screenY="}this.f=(b?"width="+b+",":"")+(d?"height="+d+",":"")+(e>=0?o+e+",":"")+(f>=0?p+f+",":"")+"location="+g+",menubar="+h+",resizable="+k+",scrollbars="+l+",status="+m+",toolbar="+n;this.opened=function(){return this.w&&!this.w.closed};this.close=function(){this.opened()&&this.w.close()};this.focus=function(){this.opened()&&this.w.focus()};this.load=function(q){if(this.opened())this.w.location.href=
q;else this.w=window.open(q,this.n,this.f);this.focus();return false}}var xChildWindow=null;function xWinOpen(a){if(xChildWindow&&!xChildWindow.closed)xChildWindow.location.href=a;else xChildWindow=window.open(a,"myWinName","left=0,top=0,width=600,height=500,location=0,menubar=0,resizable=1,scrollbars=1,status=0,toolbar=0");xChildWindow.focus();return false}var xWinScrollWin=null;
function xWinScrollTo(a,b,d,e){if(!a.timeout)a.timeout=25;var f=xScrollTop(a,1),g=xScrollLeft(a,1);a.xTarget=b;a.yTarget=d;a.slideTime=e;a.stop=false;a.yA=a.yTarget-f;a.xA=a.xTarget-g;a.B=Math.PI/(2*a.slideTime);a.yD=f;a.xD=g;a.C=(new Date).getTime();if(!a.moving){xWinScrollWin=a;_xWinScrollTo()}}
function _xWinScrollTo(){var a=xWinScrollWin||window,b,d;d=(new Date).getTime()-a.C;if(a.stop)a.moving=false;else if(d<a.slideTime){setTimeout("_xWinScrollTo()",a.timeout);b=Math.sin(a.B*d);d=Math.round(a.xA*b+a.xD);b=Math.round(a.yA*b+a.yD);a.scrollTo(d,b);a.moving=true}else{a.scrollTo(a.xTarget,a.yTarget);xWinScrollWin=null;a.moving=false}}function xZIndex(a,b){if(!(a=xGetElementById(a)))return 0;if(a.style&&xDef(a.style.zIndex)){if(xNum(b))a.style.zIndex=b;b=parseInt(a.style.zIndex)}return b}
function strpos(a,b,d){a=(a+"").indexOf(b,d);return a===-1?false:a}function so_clearInnerHTML(a){for(;a.firstChild;)a.removeChild(a.firstChild)}function strip_tags(a){return stripped=a.replace(/(<([^>]+)>)/ig,"")}function createCookie(a,b,d){if(d){var e=new Date;e.setTime(e.getTime()+d*24*60*60*1E3);d="; expires="+e.toGMTString()}else d="";document.cookie=a+"="+b+d+"; path=/"}
function readCookie(a){a=a+"=";for(var b=document.cookie.split(";"),d=0;d<b.length;d++){for(var e=b[d];e.charAt(0)==" ";)e=e.substring(1,e.length);if(e.indexOf(a)==0)return e.substring(a.length,e.length)}return null}function eraseCookie(a){createCookie(a,"",-1)}function addEvent(a,b,d){if(a.addEventListener){a.addEventListener(b,d,true);return true}else return a.attachEvent?a.attachEvent("on"+b,d):false}function inputfocus(a){a.style.backgroundColor="lightyellow"}
function inputblur(a){a.style.backgroundColor="#ffffff"}function popUp(a,b){if(strpos(a,"msg.php")!=false){if(typeof b==="undefined")b="Private Message";popup_ajax("<h1>"+b+'</h1><iframe src="'+a+'" width="400" height="280" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe>')}else{day=new Date;id=day.getTime();window["page"+id]=window.open(a,id,"toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=1,width=400,height=320,left = 312,top = 234")}}
function getPageSize(){var a,b;if(window.innerHeight&&window.scrollMaxY){a=document.body.scrollWidth;b=window.innerHeight+window.scrollMaxY}else if(document.body.scrollHeight>document.body.offsetHeight){a=document.body.scrollWidth;b=document.body.scrollHeight}else if(xHeight("layout")&&xHeight("layout")>document.body.offsetHeight){a=document.body.offsetWidth;b=xHeight("layout")}else{a=document.body.offsetWidth;b=document.body.offsetHeight}var d,e;if(self.innerHeight){d=self.innerWidth;e=self.innerHeight}else if(document.documentElement&&
document.documentElement.clientHeight){d=document.documentElement.clientWidth;e=document.documentElement.clientHeight}else if(document.body){d=document.body.clientWidth;e=document.body.clientHeight}pageHeight=b<e?e:b;pageWidth=a<d?d:a;return arrayPageSize=Array(pageWidth,pageHeight,d,e)}
function getPageScroll(){var a;if(self.pageYOffset)a=self.pageYOffset;else if(document.documentElement&&document.documentElement.scrollTop)a=document.documentElement.scrollTop;else if(document.body)a=document.body.scrollTop;return arrayPageScroll=Array("",a)}function selectBoxDefault(a,b){var d=xGetElementById(a),e=0,f=d.length;for(b=b.toLowerCase();e<f;){if(d.options[e].value.toLowerCase()==b){d.selectedIndex=e;break}e++}}
function banner_howto(a){popup_ajax('Copy/paste this piece of HTML: <br/><br /> <textarea cols="50" rows="7"><a href="http://grou.ps/'+a+'/join"><img src="http://grou.ps/images/newbutton.png" alt="Join This Group" border="0" width="120" height="33" border="0" /></a></textarea>')}
function banner_howto2(a){popup_ajax('Copy/paste this piece of HTML: <br/><br /> <textarea cols="50" rows="7"><a href="http://grou.ps/'+a+'/join"><img src="http://grou.ps/images/joinourgroup.gif" alt="Join Our Grou.p" border="0" width="94" height="15" border="0" /></a></textarea>')}
function getStyle(a,b){var d=document.getElementById(a)!="undefined"?document.getElementById(a):e1;if(d.currentStyle)var e=d.currentStyle[b];else if(window.getComputedStyle)e=document.defaultView.getComputedStyle(d,null).getPropertyValue(b);return e}function focusAfter(a,b){var d=window.event?event:a;(d.charCode?d.charCode:d.keyCode)==9&&window.setTimeout(function(){document.getElementById(b).focus()},100)}
function str_replace(a,b,d){var e=b instanceof Array,f=d instanceof Array,g=(a=[].concat(a)).length;b=[].concat(b);for(var h=(d=[].concat(d)).length;j=0,h--;)for(;d[h]=d[h].split(a[j]).join(e?b[j]||"":b[0]),++j<g;);return f?d:d[0]}function groups_signout(a){if(FB!="undefined"){window.setTimeout(function(){window.location.href=a},3E3);FB.Connect.ifUserConnected(function(){FB.Connect.logoutAndRedirect(a)},function(){window.location.href=a})}else window.location.href=a}
function jsGet(a){if(location.href.match(a))return location.href.split(a+"=")[1].split("&")[0]}function no_link_during_wizard(){alert("Some links are disabled while this wizard is running. Check back after you finish!")}function swapContent(a,b,d){opacity(a,100,0,b);setTimeout("_swapContent('"+a+"',"+b+",'"+d+"')",b*1.1)}function _swapContent(a,b,d){document.getElementById(a).innerHTML=d;opacity(a,0,100,b)}
var Prototype={Version:"1.6.0.1",Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf("AppleWebKit/")>-1,Gecko:navigator.userAgent.indexOf("Gecko")>-1&&navigator.userAgent.indexOf("KHTML")==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement("div").__proto__&&document.createElement("div").__proto__!==
document.createElement("form").__proto__},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(a){return a}};if(Prototype.Browser.MobileSafari)Prototype.BrowserFeatures.SpecificElementExtensions=false;
var Class={create:function(){function a(){this.initialize.apply(this,arguments)}var b=null,d=$A(arguments);if(Object.isFunction(d[0]))b=d.shift();Object.extend(a,Class.Methods);a.superclass=b;a.subclasses=[];if(b){var e=function(){};e.prototype=b.prototype;a.prototype=new e;b.subclasses.push(a)}for(b=0;b<d.length;b++)a.addMethods(d[b]);if(!a.prototype.initialize)a.prototype.initialize=Prototype.emptyFunction;return a.prototype.constructor=a}};
Class.Methods={addMethods:function(a){var b=this.superclass&&this.superclass.prototype,d=Object.keys(a);Object.keys({toString:true}).length||d.push("toString","valueOf");for(var e=0,f=d.length;e<f;e++){var g=d[e],h=a[g];if(b&&Object.isFunction(h)&&h.argumentNames().first()=="$super"){var k=h;h=Object.extend(function(l){return function(){return b[l].apply(this,arguments)}}(g).wrap(k),{valueOf:function(){return k},toString:function(){return k.toString()}})}this.prototype[g]=h}return this}};
var Abstract={};Object.extend=function(a,b){for(var d in b)a[d]=b[d];return a};
Object.extend(Object,{inspect:function(a){try{if(Object.isUndefined(a))return"undefined";if(a===null)return"null";return a.inspect?a.inspect():a.toString()}catch(b){if(b instanceof RangeError)return"...";throw b;}},toQueryString:function(a,b,d){Object.isString(d)||(d="%s");var e="";for(var f in a)a instanceof Array&&isNaN(parseInt(f))||!a.hasOwnProperty(f)||a[f]===undefined||a[f]===null||(e+=a[f].constructor==Object||a[f].constructor==Array?"&"+Object.toQueryString(a[f],b,d.format(f)+"[%s]"):"&"+
d.format(f)+"="+(b!==false?encodeURIComponent(a[f]):a[f]));return e.substr(1)},toHTML:function(a){return a&&a.toHTML?a.toHTML():String.interpret(a)},keys:function(a){var b=[];for(var d in a)a.hasOwnProperty(d)&&b.push(d);return b},values:function(a){var b=[];for(var d in a)a.hasOwnProperty(d)&&b.push(a[d]);return b},clone:function(a){return Object.extend({},a)},isElement:function(a){return a&&a.nodeType==1},isArray:function(a){return a&&a.constructor===Array},isHash:function(a){return a instanceof
Hash},isFunction:function(a){return typeof a=="function"},isString:function(a){return typeof a=="string"},isNumber:function(a){return typeof a=="number"},isUndefined:function(a){return typeof a=="undefined"}});
Object.extend(Function.prototype,{argumentNames:function(){var a=this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");return a.length==1&&!a[0]?[]:a},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0]))return this;var a=this,b=$A(arguments),d=b.shift();return function(){return a.apply(d,b.concat($A(arguments)))}},bindAsEventListener:function(){var a=this,b=$A(arguments),d=b.shift();return function(e){return a.apply(d,[e||window.event].concat(b))}},
curry:function(){if(!arguments.length)return this;var a=this,b=$A(arguments);return function(){return a.apply(this,b.concat($A(arguments)))}},delay:function(){var a=this,b=$A(arguments),d=b.shift()*1E3;return window.setTimeout(function(){return a.apply(a,b)},d)},wrap:function(a){var b=this;return function(){return a.apply(this,[b.bind(this)].concat($A(arguments)))}},methodize:function(){if(this._methodized)return this._methodized;var a=this;return this._methodized=function(){return a.apply(null,[this].concat($A(arguments)))}}});
Function.prototype.defer=Function.prototype.delay.curry(0.01);
var CSS={usable:!!document.styleSheets,_initialize:function(){if(document.styleSheets&&document.styleSheets.length&&"cssRules"in document.styleSheets[0]){CSS._rulesProperty="cssRules";CSS._deleteMethod="deleteRule"}else{CSS._rulesProperty="rules";CSS._deleteMethod="removeRule"}},_findRules:function(a,b){a=a.toLowerCase();var d=$A([]);if(CSS.usable&&document.styleSheets.length)for(var e=document.styleSheets.length-1;e>=0;--e){var f=document.styleSheets[e];if(!(!f||f.href&&b&&f.href.indexOf(b)==-1)){var g=
0,h=false;do{try{h=f[CSS._rulesProperty][g]}catch(k){h=false}h&&h.selectorText&&h.selectorText.toLowerCase()==a&&d.push({styleSheetIndex:e,ruleIndex:g});g++}while(h)}}return d},getRules:function(a,b){return CSS._findRules(a,b).map(function(d){return document.styleSheets[d.styleSheetIndex][CSS._rulesProperty][d.ruleIndex]})},deleteRules:function(a,b){var d=CSS._findRules(a,b);d.each(function(){document.styleSheets[d.styleSheetIndex][CSS._deleteMethod](d.ruleIndex)})},setRuleStyle:function(a,b,d){return CSS.getRules(a,
d).each(function(e){Element.setStyle(e,b)})}},Color={_RGBPattern:/rgb\(\s*(\d{1,3})\,\s*(\d{1,3})\,\s*(\d{1,3})\)|\#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i,_hexRGBFormat:"#%r:s%g:s%b:s",_RGBFormat:"rgb(%r:s, %g:s, %b:s)",_calcHue:function(a){var b={};b.max=Math.max(a.r,a.g,a.b);b.min=Math.min(a.r,a.g,a.b);switch(b.max){case b.min:b.h=0;break;case a.r:b.h=(60*(a.g-a.b)/(b.max-b.min)+360)%360;break;case a.g:b.h=60*(a.b-a.r)/(b.max-b.min)+120;break;case a.b:b.h=60*(a.r-a.g)/(b.max-b.min)+240;break}return b},
RGBtoString:function(a,b){a||(a={r:0,g:0,b:0});var d,e=b!==false?16:10;for(var f in a)if(a.hasOwnProperty(f)){a[f]=Math.round(a[f]).toString(e);if(e==16){d=a[f].length;if(d==1)a[f]="0"+a[f];else if(d>2)a[f]="00"}}return(e==16?Color._hexRGBFormat:Color._RGBFormat).format(a)},StringtoRGB:function(a){var b=a.length-3;if(b<2)a+=a.substr(b,3);a=Color._RGBPattern.exec(a);if(!a)return false;var d;if(a[1]){b=1;d=10}else if(a[4]){b=4;d=16}else return false;return{r:parseInt(a[b],d),g:parseInt(a[b+1],d),b:parseInt(a[b+
2],d)}},HSLtoRGB:function(a){var b=a.l<0.5?a.l*(1+a.s):a.l+a.s-a.l*a.s,d=2*a.l-b;a=a.h/360;a=[a+1/3,a,a-1/3];a.each(function(f){return f<0?f+1:f>1?f-1:f});var e=function(f){return Math.round((f<1/6?d+(b-d)*6*f:f<0.5?b:f<2/3?d+(b-d)*6*(2/3-f):d)*255)};return{r:e(a[0]),g:e(a[1]),b:e(a[2])}},RGBtoHSL:function(a){a=Color._calcHue(a);var b={h:a.h};b.l=(a.max+a.min)/510;b.s=a.max==a.min?0:b.l>0.5?(a.max-a.min)/(510-a.max-a.min):(a.max-a.min)/(a.max+a.min);return b},HSVtoRGB:function(a){var b=a.h/60,d=a.v*
255,e=Math.floor(b)%6,f=b-Math.floor(b);b=d*(1-a.s);var g=d*(1-f*a.s);a=d*(1-(1-f)*a.s);switch(e){case 0:return{r:d,g:a,b:b};case 1:return{r:g,g:d,b:b};case 2:return{r:b,g:d,b:a};case 3:return{r:b,g:g,b:d};case 4:return{r:a,g:b,b:d};case 5:return{r:d,g:b,b:g};default:return false}},RGBtoHSV:function(a){a=Color._calcHue(a);return{h:a.h,v:a.max/255,s:a.max?1-a.min/a.max:0}}},Try={these:function(){for(var a,b=0,d=arguments.length;b<d;b++){var e=arguments[b];try{a=e();break}catch(f){}}return a}};
RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(a){return String(a).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};
var PeriodicalExecuter=Class.create({initialize:function(a,b){this.callback=a;this.frequency=b;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1E3)},execute:function(){this.callback(this)},stop:function(){if(this.timer){clearInterval(this.timer);this.timer=null}},onTimerEvent:function(){if(!this.currentlyExecuting)try{this.currentlyExecuting=true;this.execute()}finally{this.currentlyExecuting=false}}});
Object.extend(String,{interpret:function(a){return a==null?"":String(a)},specialChar:{"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r","\\":"\\\\"}});
Object.extend(String.prototype,{gsub:function(a,b){var d="",e=this,f;for(b=arguments.callee.prepareReplacement(b);e.length>0;)if(f=e.match(a)){d+=e.slice(0,f.index);d+=String.interpret(b(f));e=e.slice(f.index+f[0].length)}else{d+=e;e=""}return d},sub:function(a,b,d){b=this.gsub.prepareReplacement(b);d=Object.isUndefined(d)?1:d;return this.gsub(a,function(e){if(--d<0)return e[0];return b(e)})},scan:function(a,b){this.gsub(a,b);return String(this)},truncate:function(a,b){a=a||30;b=Object.isUndefined(b)?
"...":b;return this.length>a?this.slice(0,a-b.length)+b:String(this)},strip:function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,"")},stripScripts:function(){return this.replace(RegExp(Prototype.ScriptFragment,"img"),"")},extractScripts:function(){var a=RegExp(Prototype.ScriptFragment,"img"),b=RegExp(Prototype.ScriptFragment,"im");return(this.match(a)||[]).map(function(d){return(d.match(b)||["",""])[1]})},evalScripts:function(){return this.extractScripts().map(function(a){return eval(a)})},
escapeHTML:function(){var a=arguments.callee;a.text.data=this;return a.div.innerHTML},unescapeHTML:function(){var a=new Element("div");a.innerHTML=this.stripTags();return a.childNodes[0]?a.childNodes.length>1?$A(a.childNodes).inject("",function(b,d){return b+d.nodeValue}):a.childNodes[0].nodeValue:""},toQueryParams:function(a){var b=this.strip().match(/([^?#]*)(#.*)?$/);if(!b)return{};return b[1].split(a||"&").inject({},function(d,e){if((e=e.split("="))[0]){var f=decodeURIComponent(e.shift()),g=e.length>
1?e.join("="):e[0];if(g!=undefined)g=decodeURIComponent(g);if(f in d){Object.isArray(d[f])||(d[f]=[d[f]]);d[f].push(g)}else d[f]=g}return d})},toArray:function(){return this.split("")},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)},times:function(a){return a<1?"":Array(a+1).join(this)},camelize:function(){var a=this.split("-"),b=a.length;if(b==1)return a[0];for(var d=this.charAt(0)=="-"?a[0].charAt(0).toUpperCase()+a[0].substring(1):a[0],
e=1;e<b;e++)d+=a[e].charAt(0).toUpperCase()+a[e].substring(1);return d},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()},underscore:function(){return this.gsub(/::/,"/").gsub(/([A-Z]+)([A-Z][a-z])/,"#{1}_#{2}").gsub(/([a-z\d])([A-Z])/,"#{1}_#{2}").gsub(/-/,"_").toLowerCase()},dasherize:function(){return this.gsub(/_/,"-")},inspect:function(a){var b=this.gsub(/[\x00-\x1f\\]/,function(d){var e=String.specialChar[d[0]];return e?e:"\\u00"+d[0].charCodeAt().toPaddedString(2,
16)});if(a)return'"'+b.replace(/"/g,'\\"')+'"';return"'"+b.replace(/'/g,"\\'")+"'"},format:function(){var a=/(%(\w+):s)|(%s)/g,b=0,d,e="",f=0;if(arguments.length==1&&arguments[0]!==undefined&&(arguments[0]instanceof Array||typeof arguments[0]=="object"))arguments=arguments[0];for(;d=a.exec(this);){e+=this.substring(f,d.index);e+=d[2]?d[2]in arguments?arguments[d[2]]:d[0]:arguments[b++];f=d.index+d[0].length}e+=this.substr(f);return e},BRtoLB:function(){return this.replace(/<br>|<br\s\/>/gi,"\n")},
LBtoBR:function(){return this.replace(/\r\n|\r|\n/g,"<br>")},unfilterJSON:function(a){return this.sub(a||Prototype.JSONFilter,"#{1}")},isJSON:function(){var a=this;if(a.blank())return false;a=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(a)},evalJSON:function(a){var b=this.unfilterJSON();try{if(!a||b.isJSON())return eval("("+b+")")}catch(d){}throw new SyntaxError("Badly formed JSON string: "+this.inspect());},include:function(a){return this.indexOf(a)>
-1},startsWith:function(a){return this.indexOf(a)===0},endsWith:function(a){var b=this.length-a.length;return b>=0&&this.lastIndexOf(a)===b},empty:function(){return this==""},blank:function(){return/^\s*$/.test(this)},interpolate:function(a,b){return(new Template(this,b)).evaluate(a)}});
if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},unescapeHTML:function(){return this.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">")}});String.prototype.gsub.prepareReplacement=function(a){if(Object.isFunction(a))return a;var b=new Template(a);return function(d){return b.evaluate(d)}};String.prototype.parseQuery=String.prototype.toQueryParams;
Object.extend(String.prototype.escapeHTML,{div:document.createElement("div"),text:document.createTextNode("")});with(String.prototype.escapeHTML)div.appendChild(text);
var Template=Class.create({initialize:function(a,b){this.template=a.toString();this.pattern=b||Template.Pattern},evaluate:function(a){if(Object.isFunction(a.toTemplateReplacements))a=a.toTemplateReplacements();return this.template.gsub(this.pattern,function(b){if(a==null)return"";var d=b[1]||"";if(d=="\\")return b[2];var e=a,f=b[3],g=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;b=g.exec(f);if(b==null)return d;for(;b!=null;){var h=b[1].startsWith("[")?b[2].gsub("\\\\]","]"):b[1];e=e[h];if(null==e||""==
b[3])break;f=f.substring("["==b[3]?b[1].length:b[0].length);b=g.exec(f)}return d+String.interpret(e)}.bind(this))}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;
var $break={},Enumerable={each:function(a,b){var d=0;a=a.bind(b);try{this._each(function(f){a(f,d++)})}catch(e){if(e!=$break)throw e;}return this},eachSlice:function(a,b,d){b=b?b.bind(d):Prototype.K;for(var e=-a,f=[],g=this.toArray();(e+=a)<g.length;)f.push(g.slice(e,e+a));return f.collect(b,d)},all:function(a,b){a=a?a.bind(b):Prototype.K;var d=true;this.each(function(e,f){d=d&&!!a(e,f);if(!d)throw $break;});return d},any:function(a,b){a=a?a.bind(b):Prototype.K;var d=false;this.each(function(e,f){if(d=
!!a(e,f))throw $break;});return d},collect:function(a,b){a=a?a.bind(b):Prototype.K;var d=[];this.each(function(e,f){d.push(a(e,f))});return d},detect:function(a,b){a=a.bind(b);var d;this.each(function(e,f){if(a(e,f)){d=e;throw $break;}});return d},findAll:function(a,b){a=a.bind(b);var d=[];this.each(function(e,f){a(e,f)&&d.push(e)});return d},grep:function(a,b,d){b=b?b.bind(d):Prototype.K;var e=[];if(Object.isString(a))a=RegExp(a);this.each(function(f,g){a.match(f)&&e.push(b(f,g))});return e},include:function(a){if(Object.isFunction(this.indexOf))if(this.indexOf(a)!=
-1)return true;var b=false;this.each(function(d){if(d==a){b=true;throw $break;}});return b},inGroupsOf:function(a,b){b=Object.isUndefined(b)?null:b;return this.eachSlice(a,function(d){for(;d.length<a;)d.push(b);return d})},inject:function(a,b,d){b=b.bind(d);this.each(function(e,f){a=b(a,e,f)});return a},invoke:function(a){var b=$A(arguments).slice(1);return this.map(function(d){return d[a].apply(d,b)})},max:function(a,b){a=a?a.bind(b):Prototype.K;var d;this.each(function(e,f){e=a(e,f);if(d==null||
e>=d)d=e});return d},min:function(a,b){a=a?a.bind(b):Prototype.K;var d;this.each(function(e,f){e=a(e,f);if(d==null||e<d)d=e});return d},partition:function(a,b){a=a?a.bind(b):Prototype.K;var d=[],e=[];this.each(function(f,g){(a(f,g)?d:e).push(f)});return[d,e]},pluck:function(a){var b=[];this.each(function(d){b.push(d[a])});return b},reject:function(a,b){a=a.bind(b);var d=[];this.each(function(e,f){a(e,f)||d.push(e)});return d},sortBy:function(a,b){a=a.bind(b);return this.map(function(d,e){return{value:d,
criteria:a(d,e)}}).sort(function(d,e){var f=d.criteria,g=e.criteria;return f<g?-1:f>g?1:0}).pluck("value")},toArray:function(){return this.map()},zip:function(){var a=Prototype.K,b=$A(arguments);if(Object.isFunction(b.last()))a=b.pop();var d=[this].concat(b).map($A);return this.map(function(e,f){return a(d.pluck(f))})},size:function(){return this.toArray().length},inspect:function(){return"#<Enumerable:"+this.toArray().inspect()+">"}};
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(a){if(!a)return[];if(a.toArray)return a.toArray();for(var b=a.length||0,d=Array(b);b--;)d[b]=a[b];return d}
if(Prototype.Browser.WebKit)$A=function(a){if(!a)return[];if(!(Object.isFunction(a)&&a=="[object NodeList]")&&a.toArray)return a.toArray();for(var b=a.length||0,d=Array(b);b--;)d[b]=a[b];return d};Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;
Object.extend(Array.prototype,{_each:function(a){for(var b=0,d=this.length;b<d;b++)a(this[b])},clear:function(){this.length=0;return this},first:function(){return this[0]},last:function(){return this[this.length-1]},compact:function(){return this.select(function(a){return a!=null})},flatten:function(){return this.inject([],function(a,b){return a.concat(Object.isArray(b)?b.flatten():[b])})},without:function(){var a=$A(arguments);return this.select(function(b){return!a.include(b)})},reverse:function(a){return(a!==
false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(a){return this.inject([],function(b,d,e){if(0==e||(a?b.last()!=d:!b.include(d)))b.push(d);return b})},intersect:function(a){return this.uniq().findAll(function(b){return a.detect(function(d){return b===d})})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]"}});
if(Object.isFunction(Array.prototype.forEach))Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(a,b){b||(b=0);var d=this.length;if(b<0)b=d+b;for(;b<d;b++)if(this[b]===a)return b;return-1};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(a,b){b=isNaN(b)?this.length:(b<0?this.length+b:b)+1;var d=this.slice(0,b).reverse().indexOf(a);return d<0?d:b-d-1};Array.prototype.toArray=Array.prototype.clone;
function $w(a){if(!Object.isString(a))return[];return(a=a.strip())?a.split(/\s+/):[]}if(Prototype.Browser.Opera)Array.prototype.concat=function(){for(var a=[],b=0,d=this.length;b<d;b++)a.push(this[b]);b=0;for(d=arguments.length;b<d;b++)if(Object.isArray(arguments[b]))for(var e=0,f=arguments[b].length;e<f;e++)a.push(arguments[b][e]);else a.push(arguments[b]);return a};
Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16)},succ:function(){return this+1},times:function(a){$R(0,this,true).each(a);return this},toPaddedString:function(a,b){var d=this.toString(b||10);return"0".times(a-d.length)+d}});$w("abs round ceil floor").each(function(a){Number.prototype[a]=Math[a].methodize()});function $H(a){return new Hash(a)}
var Hash=Class.create(Enumerable,function(){function a(b,d){if(Object.isUndefined(d))return b;return b+"="+encodeURIComponent(String.interpret(d))}return{initialize:function(b){this._object=Object.isHash(b)?b.toObject():Object.clone(b)},_each:function(b){for(var d in this._object){var e=this._object[d],f=[d,e];f.key=d;f.value=e;b(f)}},set:function(b,d){return this._object[b]=d},get:function(b){return this._object[b]},unset:function(b){var d=this._object[b];delete this._object[b];return d},toObject:function(){return Object.clone(this._object)},
keys:function(){return this.pluck("key")},values:function(){return this.pluck("value")},index:function(b){var d=this.detect(function(e){return e.value===b});return d&&d.key},merge:function(b){return this.clone().update(b)},update:function(b){return(new Hash(b)).inject(this,function(d,e){d.set(e.key,e.value);return d})},toQueryString:function(){return this.map(function(b){var d=encodeURIComponent(b.key);if((b=b.value)&&typeof b=="object")if(Object.isArray(b))return b.map(a.curry(d)).join("&");return a(d,
b)}).join("&")},inspect:function(){return"#<Hash:{"+this.map(function(b){return b.map(Object.inspect).join(": ")}).join(", ")+"}>"},clone:function(){return new Hash(this)}}}());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;
var ObjectRange=Class.create(Enumerable,{initialize:function(a,b,d){this.start=a;this.end=b;this.exclusive=d},_each:function(a){for(var b=this.start;this.include(b);){a(b);b=b.succ()}},include:function(a){if(a<this.start)return false;if(this.exclusive)return a<this.end;return a<=this.end}}),$R=function(a,b,d){return new ObjectRange(a,b,d)},Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||
false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(a){this.responders._each(a)},register:function(a){this.include(a)||this.responders.push(a)},unregister:function(a){this.responders=this.responders.without(a)},dispatch:function(a,b,d,e){this.each(function(f){if(Object.isFunction(f[a]))try{f[a].apply(f,[b,d,e])}catch(g){}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});
Ajax.Base=Class.create({initialize:function(a){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,a||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters))this.options.parameters=this.options.parameters.toQueryParams();else if(Object.isHash(this.options.parameters))this.options.parameters=this.options.parameters.toObject()}});
Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,b,d){$super(d);this.transport=Ajax.getTransport();this.request(b)},request:function(a){this.url=a;this.method=this.options.method;a=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){a._method=this.method;this.method="post"}this.parameters=a;if(a=Object.toQueryString(a))if(this.method=="get")this.url+=(this.url.include("?")?"&":"?")+a;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))a+=
"&_=";try{var b=new Ajax.Response(this);this.options.onCreate&&this.options.onCreate(b);Ajax.Responders.dispatch("onCreate",this,b);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);this.options.asynchronous&&this.respondToReadyState.bind(this).defer(1);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?this.options.postBody||a:null;this.transport.send(this.body);!this.options.asynchronous&&this.transport.overrideMimeType&&
this.onStateChange()}catch(d){this.dispatchException(d)}},onStateChange:function(){var a=this.transport.readyState;a>1&&!(a==4&&this._complete)&&this.respondToReadyState(this.transport.readyState)},setRequestHeaders:function(){var a={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){a["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:
"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)a.Connection="close"}if(typeof this.options.requestHeaders=="object"){var b=this.options.requestHeaders;if(Object.isFunction(b.push))for(var d=0,e=b.length;d<e;d+=2)a[b[d]]=b[d+1];else $H(b).each(function(g){a[g.key]=g.value})}for(var f in a)this.transport.setRequestHeader(f,a[f])},success:function(){var a=this.getStatus();return!a||a>=200&&a<300},getStatus:function(){try{return this.transport.status||
0}catch(a){return 0}},respondToReadyState:function(a){a=Ajax.Request.Events[a];var b=new Ajax.Response(this);if(a=="Complete"){try{this._complete=true;(this.options["on"+b.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(b,b.headerJSON)}catch(d){this.dispatchException(d)}var e=b.getHeader("Content-type");if(this.options.evalJS=="force"||this.options.evalJS&&e&&e.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))this.evalResponse()}try{(this.options["on"+
a]||Prototype.emptyFunction)(b,b.headerJSON);Ajax.Responders.dispatch("on"+a,this,b,b.headerJSON)}catch(f){this.dispatchException(f)}if(a=="Complete")this.transport.onreadystatechange=Prototype.emptyFunction},getHeader:function(a){try{return this.transport.getResponseHeader(a)||null}catch(b){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(a){this.dispatchException(a)}},dispatchException:function(a){(this.options.onException||Prototype.emptyFunction)(this,
a);Ajax.Responders.dispatch("onException",this,a)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];
Ajax.Response=Class.create({initialize:function(a){this.request=a;a=this.transport=a.transport;var b=this.readyState=a.readyState;if(b>2&&!Prototype.Browser.IE||b==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(a.responseText);this.headerJSON=this._getHeaderJSON()}if(b==4){a=a.responseXML;this.responseXML=Object.isUndefined(a)?null:a;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,
getStatusText:function(){try{return this.transport.statusText||""}catch(a){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(a){return null}},getResponseHeader:function(a){return this.transport.getResponseHeader(a)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var a=this.getHeader("X-JSON");if(!a)return null;a=decodeURIComponent(escape(a));try{return a.evalJSON(this.request.options.sanitizeJSON)}catch(b){this.request.dispatchException(b)}},
_getResponseJSON:function(){var a=this.request.options;if(!a.evalJSON||a.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json")||this.responseText.blank())return null;try{return this.responseText.evalJSON(a.sanitizeJSON)}catch(b){this.request.dispatchException(b)}}});
Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,b,d,e){this.container={success:b.success||b,failure:b.failure||(b.success?null:b)};e=Object.clone(e);var f=e.onComplete;e.onComplete=function(g,h){this.updateContent(g.responseText);Object.isFunction(f)&&f(g,h)}.bind(this);$super(d,e)},updateContent:function(a){var b=this.container[this.success()?"success":"failure"],d=this.options;d.evalScripts||(a=a.stripScripts());if(b=$(b))if(d.insertion)if(Object.isString(d.insertion)){var e=
{};e[d.insertion]=a;b.insert(e)}else d.insertion(b,a);else b.update(a)}});
Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,b,d,e){$super(e);this.onComplete=this.options.onComplete;this.frequency=this.options.frequency||2;this.decay=this.options.decay||1;this.updater={};this.container=b;this.url=d;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},
updateComplete:function(a){if(this.options.decay){this.decay=a.responseText==this.lastText?this.decay*this.options.decay:1;this.lastText=a.responseText}this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});
function $(a){if(arguments.length>1){for(var b=0,d=[],e=arguments.length;b<e;b++)d.push($(arguments[b]));return d}if(Object.isString(a))a=document.getElementById(a);return Element.extend(a)}if(Prototype.BrowserFeatures.XPath)document._getElementsByXPath=function(a,b){var d=b&&b.ownerDocument||document,e=[];d=d.evaluate(a,$(b)||d,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var f=0,g=d.snapshotLength;f<g;f++)e.push(Element.extend(d.snapshotItem(f)));return e};if(!window.Node)var Node={};
Node.ELEMENT_NODE||Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12});
(function(){var a=this.Element;this.Element=function(b,d){d=d||{};b=b.toLowerCase();var e=Element.cache;if(Prototype.Browser.IE&&d.name){b="<"+b+' name="'+d.name+'">';delete d.name;return Element.writeAttribute(document.createElement(b),d)}e[b]||(e[b]=Element.extend(document.createElement(b)));return Element.writeAttribute(e[b].cloneNode(false),d)};Object.extend(this.Element,a||{})}).call(window);Element.cache={};
Element.Methods={visible:function(a){return $(a).style.display!="none"},toggle:function(a){a=$(a);Element[Element.visible(a)?"hide":"show"](a);return a},hide:function(a){$(a).style.display="none";return a},show:function(a){$(a).style.display="";return a},remove:function(a){a=$(a);a.parentNode.removeChild(a);return a},update:function(a,b){a=$(a);if(b&&b.toElement)b=b.toElement();if(Object.isElement(b))return a.update().insert(b);b=Object.toHTML(b);a.innerHTML=b.stripScripts();b.evalScripts.bind(b).defer();
return a},replace:function(a,b){a=$(a);if(b&&b.toElement)b=b.toElement();else if(!Object.isElement(b)){b=Object.toHTML(b);var d=a.ownerDocument.createRange();d.selectNode(a);b.evalScripts.bind(b).defer();b=d.createContextualFragment(b.stripScripts())}a.parentNode.replaceChild(b,a);return a},insert:function(a,b){a=$(a);if(Object.isString(b)||Object.isNumber(b)||Object.isElement(b)||b&&(b.toElement||b.toHTML))b={bottom:b};var d,e,f;for(position in b){d=b[position];position=position.toLowerCase();e=
Element._insertionTranslations[position];if(d&&d.toElement)d=d.toElement();if(Object.isElement(d))e(a,d);else{d=Object.toHTML(d);f=(position=="before"||position=="after"?a.parentNode:a).tagName.toUpperCase();f=Element._getContentFromAnonymousElement(f,d.stripScripts());if(position=="top"||position=="after")f.reverse();f.each(e.curry(a));d.evalScripts.bind(d).defer()}}return a},wrap:function(a,b,d){a=$(a);if(Object.isElement(b))$(b).writeAttribute(d||{});else b=Object.isString(b)?new Element(b,d):
new Element("div",b);a.parentNode&&a.parentNode.replaceChild(b,a);b.appendChild(a);return b},inspect:function(a){a=$(a);var b="<"+a.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(d){var e=d.first();d=d.last();if(e=(a[e]||"").toString())b+=" "+d+"="+e.inspect(true)});return b+">"},recursivelyCollect:function(a,b){a=$(a);for(var d=[];a=a[b];)a.nodeType==1&&d.push(Element.extend(a));return d},ancestors:function(a){return $(a).recursivelyCollect("parentNode")},descendants:function(a){return $(a).getElementsBySelector("*")},
firstDescendant:function(a){for(a=$(a).firstChild;a&&a.nodeType!=1;)a=a.nextSibling;return $(a)},immediateDescendants:function(a){if(!(a=$(a).firstChild))return[];for(;a&&a.nodeType!=1;)a=a.nextSibling;if(a)return[a].concat($(a).nextSiblings());return[]},getChildrenByTagName:function(a,b){var d=[],e=a.firstChild;for(b=b.toUpperCase();e;){e.nodeType==1&&e.tagName.toUpperCase()==b&&d.push(e);e=e.nextSibling}return d},previousSiblings:function(a){return $(a).recursivelyCollect("previousSibling")},nextSiblings:function(a){return $(a).recursivelyCollect("nextSibling")},
siblings:function(a){a=$(a);return a.previousSiblings().reverse().concat(a.nextSiblings())},match:function(a,b){if(Object.isString(b))b=new Selector(b);return b.match($(a))},up:function(a,b,d){a=$(a);if(arguments.length==1)return $(a.parentNode);var e=a.ancestors();return Object.isNumber(b)?e[b]:Selector.findElement(e,b,d)},down:function(a,b,d){a=$(a);if(arguments.length==1)return a.firstDescendant();return Object.isNumber(b)?a.descendants()[b]:a.select(b)[d||0]},previous:function(a,b,d){a=$(a);if(arguments.length==
1)return $(Selector.handlers.previousElementSibling(a));var e=a.previousSiblings();return Object.isNumber(b)?e[b]:Selector.findElement(e,b,d)},next:function(a,b,d){a=$(a);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(a));var e=a.nextSiblings();return Object.isNumber(b)?e[b]:Selector.findElement(e,b,d)},select:function(){var a=$A(arguments),b=$(a.shift());return Selector.findChildElements(b,a)},adjacent:function(){var a=$A(arguments),b=$(a.shift());return Selector.findChildElements(b.parentNode,
a).without(b)},identify:function(a){a=$(a);var b=a.readAttribute("id"),d=arguments.callee;if(b)return b;do b="anonymous_element_"+d.counter++;while($(b));a.writeAttribute("id",b);return b},readAttribute:function(a,b){a=$(a);if(Prototype.Browser.IE){var d=Element._attributeTranslations.read;if(d.values[b])return d.values[b](a,b);if(d.names[b])b=d.names[b];if(b.include(":"))return!a.attributes||!a.attributes[b]?null:a.attributes[b].value}return a.getAttribute(b)},writeAttribute:function(a,b,d){a=$(a);
var e={},f=Element._attributeTranslations.write;if(typeof b=="object")e=b;else e[b]=Object.isUndefined(d)?true:d;for(var g in e){b=f.names[g]||g;d=e[g];if(f.values[g])b=f.values[g](a,d);if(d===false||d===null)a.removeAttribute(b);else d===true?a.setAttribute(b,b):a.setAttribute(b,d)}return a},getHeight:function(a){return $(a).getDimensions().height},getWidth:function(a){return $(a).getDimensions().width},classNames:function(a){return new Element.ClassNames(a)},hasClassName:function(a,b){if(a=$(a)){var d=
a.className;return d.length>0&&(d==b||RegExp("(^|\\s)"+b+"(\\s|$)").test(d))}},addClassName:function(a,b){if(a=$(a)){Element.hasClassName(a,b)||(a.className+=(a.className?" ":"")+b);return a}},removeClassName:function(a,b){if(a=$(a)){a.className=a.className.replace(RegExp("(^|\\s+)"+b+"(\\s+|$)")," ").strip();return a}},toggleClassName:function(a,b){if(a=$(a))return a[a.hasClassName(b)?"removeClassName":"addClassName"](b)},cleanWhitespace:function(a){a=$(a);for(var b=a.firstChild;b;){var d=b.nextSibling;
b.nodeType==3&&!/\S/.test(b.nodeValue)&&a.removeChild(b);b=d}return a},empty:function(a){return $(a).innerHTML.blank()},descendantOf:function(a,b){a=$(a);var d=b=$(b);if(a.compareDocumentPosition)return(a.compareDocumentPosition(b)&8)===8;if(a.sourceIndex&&!Prototype.Browser.Opera){var e=a.sourceIndex,f=b.sourceIndex,g=b.nextSibling;if(!g){do b=b.parentNode;while(!(g=b.nextSibling)&&b.parentNode)}if(g)return e>f&&e<g.sourceIndex}for(;a=a.parentNode;)if(a==d)return true;return false},scrollTo:function(a){a=
$(a);var b=a.cumulativeOffset();window.scrollTo(b[0],b[1]);return a},getStyle:function(a,b){a=$(a);b=b=="float"?"cssFloat":b.camelize();var d=a.style[b];if(!d)d=(d=document.defaultView.getComputedStyle(a,null)||a.currentStyle)?d[b]:null;if(b=="opacity")return d?parseFloat(d):1;return d=="auto"?null:d},getOpacity:function(a){return $(a).getStyle("opacity")},setStyle:function(a,b){a=$(a);var d=a.style;if(Object.isString(b)){a.style.cssText+=";"+b;return b.include("opacity")?a.setOpacity(b.match(/opacity:\s*(\d?\.?\d*)/)[1]):
a}for(var e in b)if(e=="opacity")a.setOpacity(b[e]);else d[e=="float"||e=="cssFloat"?Object.isUndefined(d.styleFloat)?"cssFloat":"styleFloat":e]=b[e];return a},setOpacity:function(a,b){a=$(a);a.style.opacity=b==1||b===""?"":b<1.0E-5?0:b;return a},getDimensions:function(a){a=$(a);var b=$(a).getStyle("display");if(b!="none"&&b!=null)return{width:a.offsetWidth,height:a.offsetHeight};b=a.style;var d=b.visibility,e=b.position,f=b.display;b.visibility="hidden";b.position="absolute";b.display="block";var g=
a.clientWidth;a=a.clientHeight;b.display=f;b.position=e;b.visibility=d;return{width:g,height:a}},makePositioned:function(a){a=$(a);var b=Element.getStyle(a,"position");if(b=="static"||!b){a._madePositioned=true;a.style.position="relative";if(window.opera){a.style.top=0;a.style.left=0}}return a},undoPositioned:function(a){a=$(a);if(a._madePositioned){a._madePositioned=undefined;a.style.position=a.style.top=a.style.left=a.style.bottom=a.style.right=""}return a},makeClipping:function(a){a=$(a);if(a._overflow)return a;
a._overflow=Element.getStyle(a,"overflow")||"auto";if(a._overflow!=="hidden")a.style.overflow="hidden";return a},undoClipping:function(a){a=$(a);if(!a._overflow)return a;a.style.overflow=a._overflow=="auto"?"":a._overflow;a._overflow=null;return a},cumulativeOffset:function(a){if(!a.ownerDocument)return false;var b=0,d=0;if(a==a.ownerDocument.documentElement)return result;if(a.getBoundingClientRect){d=a.getBoundingClientRect();a=a.ownerDocument.documentElement;b=d.left-a.clientLeft+(document.documentElement&&
document.documentElement.scrollLeft||document.body.scrollLeft||0);d=d.top-a.clientTop+(document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0)}else{do{b+=a.offsetLeft-a.scrollLeft;d+=a.offsetTop-a.scrollTop}while((a=a.offsetParent)&&a!=document.documentElement)}return Element._returnOffset(b,d)},positionedOffset:function(a){var b=0,d=0;do{b+=a.offsetTop||0;d+=a.offsetLeft||0;if(a=a.offsetParent){if(a.tagName=="BODY")break;var e=Element.getStyle(a,"position");if(e==
"relative"||e=="absolute")break}}while(a);return Element._returnOffset(d,b)},absolutize:function(a){a=$(a);if(a.getStyle("position")!="absolute"){var b=a.positionedOffset(),d=b[1];b=b[0];var e=a.clientWidth,f=a.clientHeight;a._originalLeft=b-parseFloat(a.style.left||0);a._originalTop=d-parseFloat(a.style.top||0);a._originalWidth=a.style.width;a._originalHeight=a.style.height;a.style.position="absolute";a.style.top=d+"px";a.style.left=b+"px";a.style.width=e+"px";a.style.height=f+"px";return a}},relativize:function(a){a=
$(a);if(a.getStyle("position")!="relative"){a.style.position="relative";var b=parseFloat(a.style.top||0)-(a._originalTop||0),d=parseFloat(a.style.left||0)-(a._originalLeft||0);a.style.top=b+"px";a.style.left=d+"px";a.style.height=a._originalHeight;a.style.width=a._originalWidth;return a}},cumulativeScrollOffset:function(a){var b=0,d=0;do{b+=a.scrollTop||0;d+=a.scrollLeft||0;a=a.parentNode}while(a);return Element._returnOffset(d,b)},getOffsetParent:function(a){if(a.offsetParent)return $(a.offsetParent);
if(a==document.body)return $(a);for(;(a=a.parentNode)&&a!=document.body;)if(Element.getStyle(a,"position")!="static")return $(a);return $(document.body)},viewportOffset:function(a){var b=0,d=0,e=a;do{b+=e.offsetTop||0;d+=e.offsetLeft||0;if(e.offsetParent==document.body&&Element.getStyle(e,"position")=="absolute")break}while(e=e.offsetParent);e=a;do if(!Prototype.Browser.Opera||e.tagName=="BODY"){b-=e.scrollTop||0;d-=e.scrollLeft||0}while(e=e.parentNode);return Element._returnOffset(d,b)},clonePosition:function(a,
b,d){d=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},d||{});b=$(b);var e=b.viewportOffset();a=$(a);var f=[0,0],g=null;if(Element.getStyle(a,"position")=="absolute"){g=a.getOffsetParent();f=g.viewportOffset()}if(g==document.body){f[0]-=document.body.offsetLeft;f[1]-=document.body.offsetTop}if(d.setLeft)a.style.left=e[0]-f[0]+d.offsetLeft+"px";if(d.setTop)a.style.top=e[1]-f[1]+d.offsetTop+"px";if(d.setWidth)a.style.width=b.offsetWidth+"px";if(d.setHeight)a.style.height=
b.offsetHeight+"px";return a}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};
if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(a,b,d){switch(d){case "left":case "top":case "right":case "bottom":if(a(b,"position")==="static")return null;case "height":case "width":if(!Element.visible(b))return null;var e=parseInt(a(b,d),10);if(e!==b["offset"+d.capitalize()])return e+"px";return(d==="height"?["border-top-width","padding-top","padding-bottom","border-bottom-width"]:["border-left-width","padding-left","padding-right","border-right-width"]).inject(e,
function(f,g){var h=a(b,g);return h===null?f:f-parseInt(h,10)})+"px";default:return a(b,d)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(a,b,d){if(d==="title")return b.title;return a(b,d)})}else if(Prototype.Browser.IE){$w("positionedOffset getOffsetParent viewportOffset").each(function(a){Element.Methods[a]=Element.Methods[a].wrap(function(b,d){d=$(d);var e=d.getStyle("position");if(e!="static")return b(d);d.setStyle({position:"relative"});var f=b(d);d.setStyle({position:e});
return f})});Element.Methods.getStyle=function(a,b){a=$(a);b=b=="float"||b=="cssFloat"?"styleFloat":b.camelize();var d=a.style[b];if(!d&&a.currentStyle)d=a.currentStyle[b];if(b=="opacity"){if(d=(a.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/))if(d[1])return parseFloat(d[1])/100;return 1}if(d=="auto"){if((b=="width"||b=="height")&&a.getStyle("display")!="none")return a["offset"+b.capitalize()]+"px";return null}return d};Element.Methods.setOpacity=function(a,b){a=$(a);var d=a.currentStyle;
if(d&&!d.hasLayout||!d&&a.style.zoom=="normal")a.style.zoom=1;d=a.getStyle("filter");var e=a.style;if(b==1||b===""){(d=d.replace(/alpha\([^\)]*\)/gi,""))?e.filter=d:e.removeAttribute("filter");return a}else if(b<1.0E-5)b=0;e.filter=d.replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+b*100+")";return a};Element._attributeTranslations={read:{names:parseFloat(navigator.userAgent.match(/MSIE ([0-9]{1,}[\.0-9]{0,})/)[1])<8?{"class":"className","for":"htmlFor"}:{},values:{_getAttr:function(a,b){return a.getAttribute(b,
2)},_getAttrNode:function(a,b){var d=a.getAttributeNode(b);return d?d.value:""},_getEv:function(a,b){return(b=a.getAttribute(b))?b.toString().slice(23,-2):null},_flag:function(a,b){return $(a).hasAttribute(b)?b:null},style:function(a){return a.style.cssText.toLowerCase()},title:function(a){return a.title}}}};Element._attributeTranslations.write={names:Object.clone(Element._attributeTranslations.read.names),values:{checked:function(a,b){a.checked=!!b},style:function(a,b){a.style.cssText=b?b:""}}};
Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc").each(function(a){Element._attributeTranslations.write.names[a.toLowerCase()]=a;Element._attributeTranslations.has[a.toLowerCase()]=a});(function(a){Object.extend(a,{href:a._getAttr,src:a._getAttr,type:a._getAttr,action:a._getAttrNode,disabled:a._flag,checked:a._flag,readonly:a._flag,multiple:a._flag,onload:a._getEv,onunload:a._getEv,onclick:a._getEv,ondblclick:a._getEv,
onmousedown:a._getEv,onmouseup:a._getEv,onmouseover:a._getEv,onmousemove:a._getEv,onmouseout:a._getEv,onfocus:a._getEv,onblur:a._getEv,onkeypress:a._getEv,onkeydown:a._getEv,onkeyup:a._getEv,onsubmit:a._getEv,onreset:a._getEv,onselect:a._getEv,onchange:a._getEv})})(Element._attributeTranslations.read.values)}else if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent))Element.Methods.setOpacity=function(a,b){a=$(a);a.style.opacity=b==1?0.999999:b===""?"":b<1.0E-5?0:b;return a};else if(Prototype.Browser.WebKit){Element.Methods.setOpacity=
function(a,b){a=$(a);a.style.opacity=b==1||b===""?"":b<1.0E-5?0:b;if(b==1)if(a.tagName=="IMG"&&a.width){a.width++;a.width--}else try{var d=document.createTextNode(" ");a.appendChild(d);a.removeChild(d)}catch(e){}return a};Element.Methods.cumulativeOffset=function(a){var b=0,d=0;do{b+=a.offsetTop||0;d+=a.offsetLeft||0;if(a.offsetParent==document.body)if(Element.getStyle(a,"position")=="absolute")break;a=a.offsetParent}while(a);return Element._returnOffset(d,b)}}
if(Prototype.Browser.IE||Prototype.Browser.Opera)Element.Methods.update=function(a,b){a=$(a);if(b&&b.toElement)b=b.toElement();if(Object.isElement(b))return a.update().insert(b);b=Object.toHTML(b);var d=a.tagName.toUpperCase();if(d in Element._insertionTranslations.tags){$A(a.childNodes).each(function(e){a.removeChild(e)});Element._getContentFromAnonymousElement(d,b.stripScripts()).each(function(e){a.appendChild(e)})}else a.innerHTML=b.stripScripts();b.evalScripts.bind(b).defer();return a};
if(document.createElement("div").outerHTML)Element.Methods.replace=function(a,b){a=$(a);if(b&&b.toElement)b=b.toElement();if(Object.isElement(b)){a.parentNode.replaceChild(b,a);return a}b=Object.toHTML(b);var d=a.parentNode,e=d.tagName.toUpperCase();if(Element._insertionTranslations.tags[e]){var f=a.next();e=Element._getContentFromAnonymousElement(e,b.stripScripts());d.removeChild(a);f?e.each(function(g){d.insertBefore(g,f)}):e.each(function(g){d.appendChild(g)})}else a.outerHTML=b.stripScripts();
b.evalScripts.bind(b).defer();return a};Element._returnOffset=function(a,b){var d=[a,b];d.left=a;d.top=b;return d};Element._getContentFromAnonymousElement=function(a,b){var d=new Element("div"),e=Element._insertionTranslations.tags[a];if(e){d.innerHTML=e[0]+b+e[1];e[2].times(function(){d=d.firstChild})}else d.innerHTML=b;return $A(d.childNodes)};
Element._insertionTranslations={before:function(a,b){a.parentNode.insertBefore(b,a)},top:function(a,b){a.insertBefore(b,a.firstChild)},bottom:function(a,b){a.appendChild(b)},after:function(a,b){a.parentNode.insertBefore(b,a.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};
(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD})}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(a,b){b=Element._attributeTranslations.has[b]||b;var d=$(a).getAttributeNode(b);return d&&d.specified}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);
if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement("div").__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement("div").__proto__;Prototype.BrowserFeatures.ElementExtensions=true}
Element.extend=function(){if(Prototype.BrowserFeatures.SpecificElementExtensions)return Prototype.K;var a={},b=Element.Methods.ByTag,d=Object.extend(function(e){if(!e||e._extendedByPrototype||e.nodeType!=1||e==window)return e;var f=Object.clone(a),g=e.tagName,h;b[g]&&Object.extend(f,b[g]);for(h in f){g=f[h];if(Object.isFunction(g)&&!(h in e))e[h]=g.methodize()}e._extendedByPrototype=Prototype.emptyFunction;return e},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(a,
Element.Methods);Object.extend(a,Element.Methods.Simulated)}}});d.refresh();return d}();Element.hasAttribute=function(a,b){if(a.hasAttribute)return a.hasAttribute(b);return Element.Methods.Simulated.hasAttribute(a,b)};
Element.addMethods=function(a){function b(l){l=l.toUpperCase();Element.Methods.ByTag[l]||(Element.Methods.ByTag[l]={});Object.extend(Element.Methods.ByTag[l],a)}function d(l,m,n){n=n||false;for(var o in l){var p=l[o];if(Object.isFunction(p))if(!n||!(o in m))m[o]=p.methodize()}}function e(l){var m,n={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",
Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(n[l])m="HTML"+n[l]+"Element";if(window[m])return window[m];m="HTML"+l+"Element";if(window[m])return window[m];m="HTML"+l.capitalize()+"Element";if(window[m])return window[m];window[m]={};window[m].prototype=document.createElement(l).__proto__;
return window[m]}var f=Prototype.BrowserFeatures,g=Element.Methods.ByTag;if(!a){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var h=a;a=arguments[1]}if(h)Object.isArray(h)?h.each(b):b(h);else Object.extend(Element.Methods,a||{});if(f.ElementExtensions){d(Element.Methods,
HTMLElement.prototype);d(Element.Methods.Simulated,HTMLElement.prototype,true)}if(f.SpecificElementExtensions)for(var k in Element.Methods.ByTag){f=e(k);Object.isUndefined(f)||d(g[k],f.prototype)}Object.extend(Element,Element.Methods);delete Element.ByTag;Element.extend.refresh&&Element.extend.refresh();Element.cache={}};
document.viewport={getDimensions:function(){var a={},b=Prototype.Browser;$w("width height").each(function(d){var e=d.capitalize();a[d]=b.WebKit&&!document.evaluate?self["inner"+e]:b.Opera?document.body["client"+e]:document.documentElement["client"+e]});return a},getWidth:function(){return this.getDimensions().width},getHeight:function(){return this.getDimensions().height},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,
window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};
var Selector=Class.create({initialize:function(a){this.expression=a.strip();this.compileMatcher()},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath)return false;var a=this.expression;if(Prototype.Browser.WebKit&&(a.include("-of-type")||a.include(":empty")))return false;if(/(\[[\w-]*?:|:checked)/.test(this.expression))return false;return true},compileMatcher:function(){if(this.shouldUseXPath())return this.compileXPathMatcher();var a=this.expression,b=Selector.patterns,d=Selector.criteria,
e,f;if(Selector._cache[a])this.matcher=Selector._cache[a];else{for(this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];a&&e!=a&&/\S/.test(a);){e=a;for(var g in b){f=b[g];if(f=a.match(f)){this.matcher.push(Object.isFunction(d[g])?d[g](f):(new Template(d[g])).evaluate(f));a=a.replace(f[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher}},compileXPathMatcher:function(){var a=
this.expression,b=Selector.patterns,d=Selector.xpath,e,f;if(Selector._cache[a])this.xpath=Selector._cache[a];else{for(this.matcher=[".//*"];a&&e!=a&&/\S/.test(a);){e=a;for(var g in b)if(f=a.match(b[g])){this.matcher.push(Object.isFunction(d[g])?d[g](f):(new Template(d[g])).evaluate(f));a=a.replace(f[0],"");break}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath}},findElements:function(a){a=a||document;if(this.xpath)return document._getElementsByXPath(this.xpath,a);return this.matcher(a)},
match:function(a){this.tokens=[];for(var b=this.expression,d=Selector.patterns,e=Selector.assertions,f,g;b&&f!==b&&/\S/.test(b);){f=b;for(var h in d){g=d[h];if(g=b.match(g))if(e[h]){this.tokens.push([h,Object.clone(g)]);b=b.replace(g[0],"")}else return this.findElements(document).include(a)}}b=true;for(h=0;e=this.tokens[h];h++){d=e[0];e=e[1];if(!Selector.assertions[d](a,e)){b=false;break}}return b},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+
">"}});
Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(a){if(a[1]=="*")return"";return"[local-name()='"+a[1].toLowerCase()+"' or local-name()='"+a[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(a){a[1]=a[1].toLowerCase();return(new Template("[@#{1}]")).evaluate(a)},attr:function(a){a[1]=a[1].toLowerCase();a[3]=a[5]||a[6];
return(new Template(Selector.xpath.operators[a[2]])).evaluate(a)},pseudo:function(a){var b=Selector.xpath.pseudos[a[1]];if(!b)return"";if(Object.isFunction(b))return b(a);return(new Template(Selector.xpath.pseudos[a[1]])).evaluate(a)},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},
pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",checked:"[@checked]",disabled:"[@disabled]",enabled:"[not(@disabled)]",not:function(a){for(var b=a[6],d=Selector.patterns,e=Selector.xpath,f,g,h=[];b&&f!=b&&/\S/.test(b);){f=b;for(var k in d)if(a=b.match(d[k])){g=Object.isFunction(e[k])?e[k](a):(new Template(e[k])).evaluate(a);
h.push("("+g.substring(1,g.length-1)+")");b=b.replace(a[0],"");break}}return"[not("+h.join(" and ")+")]"},"nth-child":function(a){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",a)},"nth-last-child":function(a){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",a)},"nth-of-type":function(a){return Selector.xpath.pseudos.nth("position() ",a)},"nth-last-of-type":function(a){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",a)},"first-of-type":function(a){a[6]=
"1";return Selector.xpath.pseudos["nth-of-type"](a)},"last-of-type":function(a){a[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](a)},"only-of-type":function(a){var b=Selector.xpath.pseudos;return b["first-of-type"](a)+b["last-of-type"](a)},nth:function(a,b){var d,e=b[6];if(e=="even")e="2n+0";if(e=="odd")e="2n+1";if(d=e.match(/^(\d+)$/))return"["+a+"= "+d[1]+"]";if(d=e.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(d[1]=="-")d[1]=-1;e=d[1]?Number(d[1]):1;d=d[2]?Number(d[2]):0;return(new Template("[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]")).evaluate({fragment:a,
a:e,b:d})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);   c = false;',className:'n = h.className(n, r, "#{1}", c); c = false;',id:'n = h.id(n, r, "#{1}", c);        c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}"); c = false;',attr:function(a){a[3]=a[5]||a[6];return(new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;')).evaluate(a)},pseudo:function(a){if(a[6])a[6]=a[6].replace(/"/g,'\\"');return(new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;')).evaluate(a)},
descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[([\w_-]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},
assertions:{tagName:function(a,b){return b[1].toUpperCase()==a.tagName.toUpperCase()},className:function(a,b){return Element.hasClassName(a,b[1])},id:function(a,b){return a.id===b[1]},attrPresence:function(a,b){return Element.hasAttribute(a,b[1])},attr:function(a,b){var d=Element.readAttribute(a,b[1]);return Selector.operators[b[2]](d,b[3])}},handlers:{concat:function(a,b){for(var d=0,e;e=b[d];d++)a.push(e);return a},mark:function(a){for(var b=0,d;d=a[b];b++)d._counted=true;return a},unmark:function(a){for(var b=
0,d;d=a[b];b++)d._counted=undefined;return a},index:function(a,b,d){a._counted=true;if(b){a=a.childNodes;b=a.length-1;for(var e=1;b>=0;b--){var f=a[b];if(f.nodeType==1&&(!d||f._counted))f.nodeIndex=e++}}else{b=0;e=1;for(a=a.childNodes;f=a[b];b++)if(f.nodeType==1&&(!d||f._counted))f.nodeIndex=e++}},unique:function(a){if(a.length==0)return a;for(var b=[],d,e=0,f=a.length;e<f;e++)if(!(d=a[e])._counted){d._counted=true;b.push(Element.extend(d))}return Selector.handlers.unmark(b)},descendant:function(a){for(var b=
Selector.handlers,d=0,e=[],f;f=a[d];d++)b.concat(e,f.getElementsByTagName("*"));return e},child:function(a){for(var b=0,d=[],e;e=a[b];b++)for(var f=0,g;g=e.childNodes[f];f++)g.nodeType==1&&g.tagName!="!"&&d.push(g);return d},adjacent:function(a){for(var b=0,d=[],e;e=a[b];b++)(e=this.nextElementSibling(e))&&d.push(e);return d},laterSibling:function(a){for(var b=Selector.handlers,d=0,e=[],f;f=a[d];d++)b.concat(e,Element.nextSiblings(f));return e},nextElementSibling:function(a){for(;a=a.nextSibling;)if(a.nodeType==
1)return a;return null},previousElementSibling:function(a){for(;a=a.previousSibling;)if(a.nodeType==1)return a;return null},tagName:function(a,b,d,e){var f=d.toUpperCase(),g=[],h=Selector.handlers;if(a){if(e){if(e=="descendant"){for(b=0;e=a[b];b++)h.concat(g,e.getElementsByTagName(d));return g}else a=this[e](a);if(d=="*")return a}for(b=0;e=a[b];b++)e.tagName.toUpperCase()===f&&g.push(e);return g}else return b.getElementsByTagName(d)},id:function(a,b,d,e){d=$(d);var f=Selector.handlers;if(!d)return[];
if(!a&&b==document)return[d];if(a){if(e)if(e=="child")for(b=0;e=a[b];b++){if(d.parentNode==e)return[d]}else if(e=="descendant")for(b=0;e=a[b];b++){if(Element.descendantOf(d,e))return[d]}else if(e=="adjacent")for(b=0;e=a[b];b++){if(Selector.handlers.previousElementSibling(d)==e)return[d]}else a=f[e](a);for(b=0;e=a[b];b++)if(e==d)return[d];return[]}return d&&Element.descendantOf(d,b)?[d]:[]},className:function(a,b,d,e){if(a&&e)a=this[e](a);return Selector.handlers.byClassName(a,b,d)},byClassName:function(a,
b,d){a||(a=Selector.handlers.descendant([b]));b=" "+d+" ";for(var e=0,f=[],g,h;g=a[e];e++){h=g.className;if(h.length!=0)if(h==d||(" "+h+" ").include(b))f.push(g)}return f},attrPresence:function(a,b,d){a||(a=b.getElementsByTagName("*"));b=[];for(var e=0,f;f=a[e];e++)Element.hasAttribute(f,d)&&b.push(f);return b},attr:function(a,b,d,e,f){a||(a=b.getElementsByTagName("*"));b=Selector.operators[f];f=[];for(var g=0,h;h=a[g];g++){var k=Element.readAttribute(h,d);k!==null&&b(k,e)&&f.push(h)}return f},pseudo:function(a,
b,d,e,f){if(a&&f)a=this[f](a);a||(a=e.getElementsByTagName("*"));return Selector.pseudos[b](a,d,e)}},pseudos:{"first-child":function(a){for(var b=0,d=[],e;e=a[b];b++)Selector.handlers.previousElementSibling(e)||d.push(e);return d},"last-child":function(a){for(var b=0,d=[],e;e=a[b];b++)Selector.handlers.nextElementSibling(e)||d.push(e);return d},"only-child":function(a){for(var b=Selector.handlers,d=0,e=[],f;f=a[d];d++)!b.previousElementSibling(f)&&!b.nextElementSibling(f)&&e.push(f);return e},"nth-child":function(a,
b,d){return Selector.pseudos.nth(a,b,d)},"nth-last-child":function(a,b,d){return Selector.pseudos.nth(a,b,d,true)},"nth-of-type":function(a,b,d){return Selector.pseudos.nth(a,b,d,false,true)},"nth-last-of-type":function(a,b,d){return Selector.pseudos.nth(a,b,d,true,true)},"first-of-type":function(a,b,d){return Selector.pseudos.nth(a,"1",d,false,true)},"last-of-type":function(a,b,d){return Selector.pseudos.nth(a,"1",d,true,true)},"only-of-type":function(a,b,d){var e=Selector.pseudos;return e["last-of-type"](e["first-of-type"](a,
b,d),b,d)},getIndices:function(a,b,d){if(a==0)return b>0?[b]:[];return $R(1,d).inject([],function(e,f){0==(f-b)%a&&(f-b)/a>=0&&e.push(f);return e})},nth:function(a,b,d,e,f){if(a.length==0)return[];if(b=="even")b="2n+0";if(b=="odd")b="2n+1";d=Selector.handlers;var g=[],h=[],k;d.mark(a);for(var l=0;k=a[l];l++)if(!k.parentNode._counted){d.index(k.parentNode,e,f);h.push(k.parentNode)}if(b.match(/^\d+$/)){b=Number(b);for(l=0;k=a[l];l++)k.nodeIndex==b&&g.push(k)}else if(k=b.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(k[1]==
"-")k[1]=-1;l=k[1]?Number(k[1]):1;k=k[2]?Number(k[2]):0;b=Selector.pseudos.getIndices(l,k,a.length);l=0;for(e=b.length;k=a[l];l++)for(f=0;f<e;f++)k.nodeIndex==b[f]&&g.push(k)}d.unmark(a);d.unmark(h);return g},empty:function(a){for(var b=0,d=[],e;e=a[b];b++)e.tagName=="!"||e.firstChild&&!e.innerHTML.match(/^\s*$/)||d.push(e);return d},not:function(a,b,d){var e=Selector.handlers;b=(new Selector(b)).findElements(d);e.mark(b);d=0;for(var f=[],g;g=a[d];d++)g._counted||f.push(g);e.unmark(b);return f},enabled:function(a){for(var b=
0,d=[],e;e=a[b];b++)e.disabled||d.push(e);return d},disabled:function(a){for(var b=0,d=[],e;e=a[b];b++)e.disabled&&d.push(e);return d},checked:function(a){for(var b=0,d=[],e;e=a[b];b++)e.checked&&d.push(e);return d}},operators:{"=":function(a,b){return a==b},"!=":function(a,b){return a!=b},"^=":function(a,b){return a.startsWith(b)},"$=":function(a,b){return a.endsWith(b)},"*=":function(a,b){return a.include(b)},"~=":function(a,b){return(" "+a+" ").include(" "+b+" ")},"|=":function(a,b){return("-"+
a.toUpperCase()+"-").include("-"+b.toUpperCase()+"-")}},matchElements:function(a,b){var d=(new Selector(b)).findElements(),e=Selector.handlers;e.mark(d);for(var f=0,g=[],h;h=a[f];f++)h._counted&&g.push(h);e.unmark(d);return g},findElement:function(a,b,d){if(Object.isNumber(b)){d=b;b=false}return Selector.matchElements(a,b||"*")[d||0]},findChildElements:function(a,b){var d=b.join(",");b=[];d.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(k){b.push(k[1].strip())});d=[];for(var e=Selector.handlers,
f=0,g=b.length,h;f<g;f++){h=new Selector(b[f].strip());e.concat(d,h.findElements(a))}return g>1?e.unique(d):d}});if(Prototype.Browser.IE)Selector.handlers.concat=function(a,b){for(var d=0,e;e=b[d];d++)e.tagName!=="!"&&a.push(e);return a};function $$(){return Selector.findChildElements(document,$A(arguments))}
var Form={reset:function(a){$(a).reset();return a},serializeElements:function(a,b){if(typeof b!="object")b={hash:!!b};else if(Object.isUndefined(b.hash))b.hash=true;var d,e,f=false,g=b.submit,h=a.inject({},function(k,l){if(!l.disabled&&l.name){d=l.name;e=$(l).getValue();if(e!=null&&(l.type!="submit"||!f&&g!==false&&(!g||d==g)&&(f=true)))if(d in k){Object.isArray(k[d])||(k[d]=[k[d]]);k[d].push(e)}else k[d]=e}return k});return b.hash?h:Object.toQueryString(h)}};
Form.Methods={serialize:function(a,b){return Form.serializeElements(Form.getElements(a),b)},getElements:function(a){return $A($(a).getElementsByTagName("*")).inject([],function(b,d){Form.Element.Serializers[d.tagName.toLowerCase()]&&b.push(Element.extend(d));return b})},getInputs:function(a,b,d){a=$(a);a=a.getElementsByTagName("input");if(!b&&!d)return $A(a).map(Element.extend);for(var e=0,f=[],g=a.length;e<g;e++){var h=a[e];b&&h.type!=b||d&&h.name!=d||f.push(Element.extend(h))}return f},disable:function(a){a=
$(a);Form.getElements(a).invoke("disable");return a},enable:function(a){a=$(a);Form.getElements(a).invoke("enable");return a},findFirstElement:function(a){a=$(a).getElements().findAll(function(d){return"hidden"!=d.type&&!d.disabled});var b=a.findAll(function(d){return d.hasAttribute("tabIndex")&&d.tabIndex>=0}).sortBy(function(d){return d.tabIndex}).first();return b?b:a.find(function(d){return["input","select","textarea"].include(d.tagName.toLowerCase())})},focusFirstElement:function(a){a=$(a);a.findFirstElement().activate();
return a},request:function(a,b){a=$(a);b=Object.clone(b||{});var d=b.parameters,e=a.readAttribute("action")||"";if(e.blank())e=window.location.href;b.parameters=a.serialize(true);if(d){if(Object.isString(d))d=d.toQueryParams();Object.extend(b.parameters,d)}if(a.hasAttribute("method")&&!b.method)b.method=a.method;return new Ajax.Request(e,b)}};Form.Element={focus:function(a){$(a).focus();return a},select:function(a){$(a).select();return a}};
Form.Element.Methods={serialize:function(a){a=$(a);if(!a.disabled&&a.name){var b=a.getValue();if(b!=undefined){var d={};d[a.name]=b;return Object.toQueryString(d)}}return""},getValue:function(a){a=$(a);var b=a.tagName.toLowerCase();return Form.Element.Serializers[b](a)},setValue:function(a,b){a=$(a);var d=a.tagName.toLowerCase();Form.Element.Serializers[d](a,b);return a},clear:function(a){$(a).value="";return a},present:function(a){return $(a).value!=""},activate:function(a){a=$(a);try{a.focus();
if(a.select&&(a.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(a.type)))a.select()}catch(b){}return a},disable:function(a){a=$(a);a.blur();a.disabled=true;return a},enable:function(a){a=$(a);a.disabled=false;return a}};var Field=Form.Element,$F=Form.Element.Methods.getValue;
Form.Element.Serializers={input:function(a,b){switch(a.type.toLowerCase()){case "checkbox":case "radio":return Form.Element.Serializers.inputSelector(a,b);default:return Form.Element.Serializers.textarea(a,b)}},inputSelector:function(a,b){if(Object.isUndefined(b))return a.checked?a.value:null;else a.checked=!!b},textarea:function(a,b){if(Object.isUndefined(b))return a.value;else a.value=b},select:function(a,b){if(Object.isUndefined(b))return this[a.type=="select-one"?"selectOne":"selectMany"](a);
else for(var d,e,f=!Object.isArray(b),g=0,h=a.length;g<h;g++){d=a.options[g];e=this.optionValue(d);if(f){if(e==b){d.selected=true;return}}else d.selected=b.include(e)}},selectOne:function(a){var b=a.selectedIndex;return b>=0?this.optionValue(a.options[b]):null},selectMany:function(a){var b,d=a.length;if(!d)return null;var e=0;for(b=[];e<d;e++){var f=a.options[e];f.selected&&b.push(this.optionValue(f))}return b},optionValue:function(a){return Element.extend(a).hasAttribute("value")?a.value:a.text}};
Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,b,d,e){$super(e,d);this.element=$(b);this.lastValue=this.getValue()},execute:function(){var a=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(a)?this.lastValue!=a:String(this.lastValue)!=String(a)){this.callback(this.element,a);this.lastValue=a}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});
Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});
Abstract.EventObserver=Class.create({initialize:function(a,b){this.element=$(a);this.callback=b;this.lastValue=this.getValue();this.element.tagName.toLowerCase()=="form"?this.registerFormCallbacks():this.registerCallback(this.element)},onElementEvent:function(){var a=this.getValue();if(this.lastValue!=a){this.callback(this.element,a);this.lastValue=a}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(a){if(a.type)switch(a.type.toLowerCase()){case "checkbox":case "radio":Event.observe(a,
"click",this.onElementEvent.bind(this));break;default:Event.observe(a,"change",this.onElementEvent.bind(this));break}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});if(!window.Event)var Event={};
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(a){switch(a.type){case "mouseover":a=a.fromElement;break;case "mouseout":a=a.toElement;break;default:return null}return Element.extend(a)}});
Event.Methods=function(){var a;if(Prototype.Browser.IE){var b={0:1,1:4,2:2};a=function(d,e){return d.button==b[e]}}else a=Prototype.Browser.WebKit?function(d,e){switch(e){case 0:return d.which==1&&!d.metaKey;case 1:return d.which==1&&d.metaKey;default:return false}}:function(d,e){return d.which?d.which===e+1:d.button===e};return{isLeftClick:function(d){return a(d,0)},isMiddleClick:function(d){return a(d,1)},isRightClick:function(d){return a(d,2)},element:function(d){d=Event.extend(d).target;return Element.extend(d.nodeType==
Node.TEXT_NODE?d.parentNode:d)},findElement:function(d,e){var f=Event.element(d);if(!e)return f;f=[f].concat(f.ancestors());return Selector.findElement(f,e,0)},pointer:function(d){return{x:d.pageX||d.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft),y:d.pageY||d.clientY+(document.documentElement.scrollTop||document.body.scrollTop)}},pointerX:function(d){return Event.pointer(d).x},pointerY:function(d){return Event.pointer(d).y},stop:function(d){Event.extend(d);d.preventDefault();
d.stopPropagation();d.stopped=true},wheel:function(d){var e=0;if(!d)d=window.event;if(d.wheelDelta){e=d.wheelDelta/120;if(window.opera)e=-e}else if(d.detail)e=-d.detail/3;return Math.round(e)}}}();
Event.extend=function(){var a=Object.keys(Event.Methods).inject({},function(b,d){b[d]=Event.Methods[d].methodize();return b});if(Prototype.Browser.IE){Object.extend(a,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(b){if(!b)return false;if(b._extendedByPrototype)return b;b._extendedByPrototype=Prototype.emptyFunction;var d=Event.pointer(b);Object.extend(b,{target:b.srcElement,relatedTarget:Event.relatedTarget(b),
pageX:d.x,pageY:d.y});return Object.extend(b,a)}}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,a);return Prototype.K}}();
Object.extend(Event,function(){function a(l){if(l._eventID)return l._eventID;arguments.callee.id=arguments.callee.id||1;return l._eventID=++arguments.callee.id}function b(l){if(l&&l.include(":"))return"dataavailable";return l}function d(l,m){var n=k[l]=k[l]||{};return n[m]=n[m]||[]}function e(l,m,n){var o=a(l);o=d(o,m);if(o.pluck("handler").include(n))return false;var p=function(q){if(!Event||!Event.extend||q.eventName&&q.eventName!=m)return false;Event.extend(q);n.call(l,q)};p.handler=n;o.push(p);
return p}function f(l,m,n){return d(l,m).find(function(o){return o.handler==n})}function g(l,m,n){var o=k[l]=k[l]||{};if(!o[m])return false;o[m]=o[m].without(f(l,m,n))}function h(){for(var l in k)for(var m in k[l])k[l][m]=null}var k=Event.cache;window.attachEvent&&window.attachEvent("onunload",h);return{observe:function(l,m,n){if(!Object.isFunction(n))return false;l=$(l);var o=b(m);m=e(l,m,n);if(!m)return l;l.addEventListener?l.addEventListener(o,m,false):l.attachEvent("on"+o,m);return l},stopObserving:function(l,
m,n){l=$(l);var o=a(l),p=b(m);if(!n&&m){d(o,m).each(function(r){l.stopObserving(m,r.handler)});return l}else if(!m){Object.keys(k[o]=k[o]||{}).each(function(r){l.stopObserving(r)});return l}var q=f(o,m,n);if(!q)return l;l.removeEventListener?l.removeEventListener(p,q,false):l.detachEvent("on"+p,q);g(o,m,n);return l},fire:function(l,m,n){l=$(l);if(l==document&&document.createEvent&&!l.dispatchEvent)l=document.documentElement;var o;if(document.createEvent){o=document.createEvent("HTMLEvents");o.initEvent("dataavailable",
true,true)}else{o=document.createEventObject();o.eventType="ondataavailable"}o.eventName=m;o.memo=n||{};document.createEvent?l.dispatchEvent(o):l.fireEvent(o.eventType,o);return Event.extend(o)}}}());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});
(function(){function a(){if(!document.loaded){e&&window.clearTimeout(e);document.loaded=true;document.fire("dom:loaded")}}function b(){if(document.readyState==="complete"){document.stopObserving("readystatechange",b);a()}}function d(){try{document.documentElement.doScroll("left")}catch(f){e=d.defer();return}a()}var e;if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,false);else{document.observe("readystatechange",b);if(window==top)e=d.defer()}Event.observe(window,"load",
a)})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;
var Insertion={Before:function(a,b){return Element.insert(a,{before:b})},Top:function(a,b){return Element.insert(a,{top:b})},Bottom:function(a,b){return Element.insert(a,{bottom:b})},After:function(a,b){return Element.insert(a,{after:b})}},$continue=Error('"throw $continue" is deprecated, use "return" instead'),Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||
document.body.scrollTop||0},within:function(a,b,d){if(this.includeScrollOffsets)return this.withinIncludingScrolloffsets(a,b,d);this.xcomp=b;this.ycomp=d;this.offset=Element.cumulativeOffset(a);return d>=this.offset[1]&&d<this.offset[1]+a.offsetHeight&&b>=this.offset[0]&&b<this.offset[0]+a.offsetWidth},withinIncludingScrolloffsets:function(a,b,d){var e=Element.cumulativeScrollOffset(a);this.xcomp=b+e[0]-this.deltaX;this.ycomp=d+e[1]-this.deltaY;this.offset=Element.cumulativeOffset(a);return this.ycomp>=
this.offset[1]&&this.ycomp<this.offset[1]+a.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+a.offsetWidth},overlap:function(a,b){if(!a)return 0;if(a=="vertical")return(this.offset[1]+b.offsetHeight-this.ycomp)/b.offsetHeight;if(a=="horizontal")return(this.offset[0]+b.offsetWidth-this.xcomp)/b.offsetWidth},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(a){Position.prepare();return Element.absolutize(a)},relativize:function(a){Position.prepare();
return Element.relativize(a)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(a,b,d){d=d||{};return Element.clonePosition(b,a,d)}};
if(!document.getElementsByClassName)document.getElementsByClassName=function(a){function b(d){return d.blank()?null:"[contains(concat(' ', @class, ' '), ' "+d+" ')]"}a.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(d,e){e=e.toString().strip();var f=/\s/.test(e)?$w(e).map(b).join(""):b(e);return f?document._getElementsByXPath(".//*"+f,d):[]}:function(d,e){e=e.toString().strip();var f=[],g=/\s/.test(e)?$w(e):null;if(!g&&!e)return f;var h=$(d).getElementsByTagName("*");e=" "+e+" ";for(var k=
0,l,m;l=h[k];k++)if(l.className&&(m=" "+l.className+" ")&&(m.include(e)||g&&g.all(function(n){return!n.toString().blank()&&m.include(" "+n+" ")})))f.push(Element.extend(l));return f};return function(d,e){return $(e||document.body).getElementsByClassName(d)}}(Element.Methods);Element.ClassNames=Class.create();
Element.ClassNames.prototype={initialize:function(a){this.element=$(a)},_each:function(a){this.element.className.split(/\s+/).select(function(b){return b.length>0})._each(a)},set:function(a){this.element.className=a},add:function(a){this.include(a)||this.set($A(this).concat(a).join(" "))},remove:function(a){this.include(a)&&this.set($A(this).without(a).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);
(function(a){function b(){return this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+"Z"}function d(){return this.toISOString()}if(!a.toISOString)a.toISOString=b;if(!a.toJSON)a.toJSON=d})(Date.prototype);Element.addMethods();Event.observe(document,"dom:loaded",CSS._initialize);var CookieJar=Class.create();
CookieJar.prototype={appendString:"__CJ_",initialize:function(a){this.options={expires:3600,path:"",domain:"",secure:""};Object.extend(this.options,a||{});if(this.options.expires!=""){a=new Date;a=new Date(a.getTime()+this.options.expires*1E3);this.options.expires="; expires="+a.toGMTString()}if(this.options.path!="")this.options.path="; path="+escape(this.options.path);if(this.options.domain!="")this.options.domain="; domain="+escape(this.options.domain);this.options.secure=this.options.secure==
"secure"?"; secure":""},put:function(a,b){a=this.appendString+a;cookie=this.options;switch(typeof b){case "undefined":case "function":case "unknown":return false;case "boolean":case "string":case "number":b=String(b.toString())}var d=a+"="+escape(JSON.stringify(b));try{document.cookie=d+cookie.expires+cookie.path+cookie.domain+cookie.secure}catch(e){return false}return true},remove:function(a){a=this.appendString+a;cookie=this.options;try{var b=new Date;b.setTime(b.getTime()-36E5);var d="; expires="+
b.toGMTString();document.cookie=a+"="+d+cookie.path+cookie.domain+cookie.secure}catch(e){return false}return true},get:function(a){a=this.appendString+a;return(a=document.cookie.match(a+"=(.*?)(;|$)"))?JSON.parse(unescape(a[1])):null},empty:function(){keys=this.getKeys();size=keys.size();for(i=0;i<size;i++)this.remove(keys[i])},getPack:function(){pack={};keys=this.getKeys();size=keys.size();for(i=0;i<size;i++)pack[keys[i]]=this.get(keys[i]);return pack},getKeys:function(){keys=$A();keyRe=/[^=; ]+(?=\=)/g;
str=document.cookie;for(CJRe=RegExp("^"+this.appendString);(match=keyRe.exec(str))!=undefined;)CJRe.test(match[0].strip())&&keys.push(match[0].strip().gsub("^"+this.appendString,""));return keys}};Object.extend(Array.prototype,{isSimilar:function(a){return this.toString()==a.toString()},complement:function(a){for(var b=0,d=this.length;b<d;b++)this[b]=this[b]!=undefined?this[b]:a[b]||null;return this}});
var ProtoHistoryManager=Class.create({options:{observeDelay:100,stateSeparator:";",iframeSrc:"/includes/js_lib/prototype/blank.html",onStart:Prototype.emptyFunction,onRegister:Prototype.emptyFunction,onUnregister:Prototype.emptyFunction,onStart:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction,onStateChange:Prototype.emptyFunction,onObserverChange:Prototype.emptyFunction},dataOptions:{skipDefaultMatch:true,defaults:[],regexpParams:""},initialize:function(a){if(this.modules)return this;this.setOptions(a);
this.modules=$H({});this.count=history.length;this.states=[];this.states[this.count]=this.getHash();this.state=null;return this},setOptions:function(a){Object.extend(this,this.options);Object.extend(this,a);return this},start:function(){new PeriodicalExecuter(this.observe.bind(this),this.options.observeDelay/1E3);this.started=true;this.observe();this.onStart.apply(this,[this.state]);return this},register:function(a,b,d,e,f,g){this.modules||this.initialize();g=Object.extend(this.dataOptions,g||{});
Object.extend(g,{defaults:b,onMatch:d,onGenerate:e,regexp:f});g.regexp=g.regexp||a+"-([\\w_-]*)";if(typeof g.regexp=="string")g.regexp=RegExp(g.regexp,g.regexpParams);g.onGenerate=g.onGenerate||function(h){return a+"-"+h[0]};g.values=g.defaults.clone();this.modules.set(a,g);this.onUnregister.apply(this,[a,g]);return{setValues:function(h){return this.setValues(a,h)}.bind(this),setValue:function(h,k){return this.setValue(a,h,k)}.bind(this),generate:function(h){return this.generate(a,h)}.bind(this),
unregister:function(){return this.unregister(a)}.bind(this)}},unregister:function(a){this.onRegister.apply(this,[a]);this.modules.unset(a)},setValues:function(a,b){var d=this.modules.get(a);if(!d||d.values.isSimilar(b))return this;d.values=b;this.update();return this},setValue:function(a,b,d){a=this.modules.get(a);if(!a||a.values[b]==d)return this;a.values[b]=d;this.update();return this},generate:function(a,b){var d=this.modules.get(a),e=d.values.clone();d.values=b;var f=this.generateState();d.values=
e;return"#"+f},observe:function(){if(!this.timeout){var a=this.getState();if(this.state!=a){this.state=a;this.modules.each(function(b){var d=a.match(b.value.regexp);if(d){d.splice(0,1);d.complement(b.value.defaults);if(!d.isSimilar(b.value.defaults))b.value.values=d}else b.value.values=b.value.defaults.clone();b.value.onMatch(b.value.values,b.value.defaults)});this.onStateChange.apply(this,[a]);this.onObserverChange.apply(this,[a])}}},generateState:function(){var a=[];this.modules.each(function(b){a.push(b.value.onGenerate(b.value.values))});
return a.join(this.options.stateSeparator)},update:function(){if(!this.started)return this;var a=this.generateState();if(!this.state&&!a||this.state==a)return this;this.setState(a);this.onStateChange.apply(this,[a]);this.onUpdate.apply(this,[a]);return this},observeTimeout:function(){this.timeout=this.timeout?clearInterval(this.timeout):this.observeTimeout.bind(this).delay(0.2)},getHash:function(){var a=document.location.href,b=a.indexOf("#")+1;return b?a.substr(b):""},getState:function(){var a=this.getHash();
if(this.iframe){var b=this.iframe.contentWindow.document;if(b&&b.body.id=="state"){b=b.body.innerText;if(this.state==a)return b;this.istateOld=true}else return this.istate}return a},setState:function(a,b){a=a!=undefined?a:"";document.location.hash=a||"#";if(Prototype.Browser.IE&&(!b||this.istateOld)){if(!this.iframe){this.iframe=new Element("iframe",{src:this.options.iframeSrc,styles:"display: none;",width:"1",height:"1"});document.body.appendChild(this.iframe);this.istate=this.state}try{var d=this.iframe.contentWindow.document;
d.open();d.write("<html><head><title>"+document.title+'</title></head><body id="state">'+a+"</body></html>");d.close();this.istateOld=false}catch(e){}}this.state=a},extend:Object.extend});if(!window.languageStrings){window.HistoryManager=new ProtoHistoryManager;Event.observe(window,"load",HistoryManager.start.bind(HistoryManager))}var ProtoTabs=Class.create();
ProtoTabs.prototype={initialize:function(a,b){this.options=Object.extend({defaultPanel:"",contentInfo:{},contentLoadingText:"Loading...",contentIdFormat:"%s-content",historyKey:"tab-"+(a.id||a)},b||{});this.currentTab="";this.element=$(a);this.listElements=$A(this.element.getElementsByTagName("LI"));for(i=0;i<this.listElements.length;i++){tabLI=this.listElements[i];tabLI.itemId=this.options.contentIdFormat.format(tabLI.id);tabLI.linkedPanel=$(tabLI.itemId);tabLI.linkedPanel.style.clear="both";Element.hasClassName(tabLI,
"selected")||this.options.defaultPanel!=""&&this.options.defaultPanel==tabLI.itemId?this.openPanel(tabLI):$($(tabLI).linkedPanel).hide();$(tabLI).observe("click",function(e){a=Event.findElement(e,"LI");this.openPanel(a);Event.stop(e)}.bind(this))}this.currentTab||this.openPanel(this.listElements[0]);var d=this;this.history=HistoryManager.register(this.options.historyKey,[this.currentTab.id],function(e){d.openPanel(e[0])},function(e){return d.options.historyKey+"="+e[0]},this.options.historyKey+"=([\\w._\\-+*]+)")},
openPanel:function(a){a=$(a);if(this.currentTab!=""){this.currentTab.linkedPanel.hide();this.currentTab.removeClassName("selected");this.currentTab.firstDescendant().removeClassName("special_bg_reverse");this.currentTab.firstDescendant().removeClassName("special_border")}this.currentTab=a;a.linkedPanel.show();a.addClassName("selected");a.firstDescendant().addClassName("special_bg_reverse").addClassName("special_border");var b=this.options.contentInfo[a.itemId];if(!a.linkedPanel.innerHTML&&b){a.linkedPanel.innerHTML=
groups.i18n(this.options.contentLoadingText);new groups.common.ContentFetcher(b.contentId,{replacements:b.replacements,onComplete:function(d){a.linkedPanel.innerHTML=d;groups._fixSelects()}},b.module)}this.history&&this.history.setValue(0,a.id)}};document.observe("dom:loaded",function(){for(var a=$$(".tabs10Cont"),b=0,d=a.length;b<d;b++)new ProtoTabs(a[b].select("ul")[0])});
var Scriptaculous={Version:"1.8.1",require:function(a){document.write('<script type="text/javascript" src="'+a+'"><\/script>')},REQUIRED_PROTOTYPE:"1.6.0",load:function(){function a(b){b=b.split(".");return parseInt(b[0])*1E5+parseInt(b[1])*1E3+parseInt(b[2])}if(typeof Prototype=="undefined"||typeof Element=="undefined"||typeof Element.Methods=="undefined"||a(Prototype.Version)<a(Scriptaculous.REQUIRED_PROTOTYPE))throw"script.aculo.us requires the Prototype JavaScript framework >= "+Scriptaculous.REQUIRED_PROTOTYPE;
$A(document.getElementsByTagName("script")).findAll(function(b){return b.src&&b.src.match(/scriptaculous\.js(\?.*)?$/)}).each(function(b){var d=b.src.replace(/scriptaculous\.js(\?.*)?$/,"");b=b.src.match(/\?.*load=([a-z,]*)/);(b?b[1]:"builder,effects,dragdrop,controls,slider,sound").split(",").each(function(e){Scriptaculous.require(d+e+".js")})})}};Scriptaculous.load();
var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(a,b,d){a=a.toUpperCase();var e=document.createElement(this.NODEMAP[a]||"div");try{e.innerHTML="<"+a+"></"+a+">"}catch(f){}var g=e.firstChild||null;if(g&&g.tagName.toUpperCase()!=a)g=g.getElementsByTagName(a)[0];g||(g=document.createElement(a));if(g){if(b)if(this._isStringOrNumber(b)||
b instanceof Array||b.tagName)this._children(g,b);else{var h=this._attributes(b);if(h.length){try{e.innerHTML="<"+a+" "+h+"></"+a+">"}catch(k){}g=e.firstChild||null;if(!g){g=document.createElement(a);for(attr in b)g[attr=="class"?"className":attr]=b[attr]}if(g.tagName.toUpperCase()!=a)g=e.getElementsByTagName(a)[0]}}d&&this._children(g,d);return g}},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{className:"class",htmlFor:"for"},_attributes:function(a){var b=[];for(attribute in a)b.push((attribute in
this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML().gsub(/"/,"&quot;")+'"');return b.join(" ")},_children:function(a,b){if(b.tagName)a.appendChild(b);else if(typeof b=="object")b.flatten().each(function(d){if(typeof d=="object")a.appendChild(d);else Builder._isStringOrNumber(d)&&a.appendChild(Builder._text(d))});else Builder._isStringOrNumber(b)&&a.appendChild(Builder._text(b))},_isStringOrNumber:function(a){return typeof a=="string"||typeof a=="number"},build:function(a){var b=
this.node("div");$(b).update(a.strip());return b.down()},dump:function(a){if(typeof a!="object"&&typeof a!="function")a=window;"A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR".split(/\s+/).each(function(b){a[b]=
function(){return Builder.node.apply(Builder,[b].concat($A(arguments)))}})}};String.prototype.parseColor=function(a){var b="#";if(this.slice(0,4)=="rgb("){var d=this.slice(4,this.length-1).split(","),e=0;do b+=parseInt(d[e]).toColorPart();while(++e<3)}else if(this.slice(0,1)=="#"){if(this.length==4)for(e=1;e<4;e++)b+=(this.charAt(e)+this.charAt(e)).toLowerCase();if(this.length==7)b=this.toLowerCase()}return b.length==7?b:a||this};
Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return b.nodeType==3?b.nodeValue:b.hasChildNodes()?Element.collectTextNodes(b):""}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(a,b){return $A($(a).childNodes).collect(function(d){return d.nodeType==3?d.nodeValue:d.hasChildNodes()&&!Element.hasClassName(d,b)?Element.collectTextNodesIgnoreClass(d,b):""}).flatten().join("")};
Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:b/100+"em"});Prototype.Browser.WebKit&&window.scrollBy(0,0);return a};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var b=document.createTextNode(" ");a.appendChild(b);a.removeChild(b)}catch(d){}};
var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(a){return-Math.cos(a*Math.PI)/2+0.5},reverse:function(a){return 1-a},flicker:function(a){a=-Math.cos(a*Math.PI)/4+0.75+Math.random()/4;return a>1?1:a},wobble:function(a){return-Math.cos(a*Math.PI*9*a)/2+0.5},pulse:function(a,b){b=b||5;return(a%(1/b)*b).round()==0?a*b*2-(a*b*2).floor():
1-(a*b*2-(a*b*2).floor())},spring:function(a){return 1-Math.cos(a*4.5*Math.PI)*Math.exp(-a*6)},none:function(){return 0},full:function(){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(a){var b="position:relative";if(Prototype.Browser.IE)b+=";zoom:1";a=$(a);$A(a.childNodes).each(function(d){if(d.nodeType==3){d.nodeValue.toArray().each(function(e){a.insertBefore((new Element("span",{style:b})).update(e==" "?String.fromCharCode(160):
e),d)});Element.remove(d)}})},multiple:function(a,b,d){a=(typeof a=="object"||Object.isFunction(a))&&a.length?a:$(a).childNodes;var e=Object.extend({speed:0.1,delay:0},d||{}),f=e.delay;$A(a).each(function(g,h){new b(g,Object.extend(e,{delay:h*e.speed+f}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(a,b,d){a=$(a);b=(b||"appear").toLowerCase();d=Object.extend({queue:{position:"end",scope:a.id||"global",limit:1}},d||{});Effect[a.visible()?
Effect.PAIRS[b][1]:Effect.PAIRS[b][0]](a,d)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;
Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(a){var b=(new Date).getTime();switch(Object.isString(a.options.queue)?a.options.queue:a.options.queue.position){case "front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=a.finishOn;d.finishOn+=a.finishOn});break;case "with-last":b=this.effects.pluck("startOn").max()||b;break;case "end":b=this.effects.pluck("finishOn").max()||
b;break}a.startOn+=b;a.finishOn+=b;if(!a.options.queue.limit||this.effects.length<a.options.queue.limit)this.effects.push(a);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){for(var a=(new Date).getTime(),b=0,d=this.effects.length;b<d;b++)this.effects[b]&&this.effects[b].loop(a)}});
Effect.Queues={instances:$H(),get:function(a){if(!Object.isString(a))return a;return this.instances.get(a)||this.instances.set(a,new Effect.ScopedQueue)}};Effect.Queue=Effect.Queues.get("global");
Effect.Base=Class.create({position:null,start:function(a){function b(d,e){return(d[e+"Internal"]?"this.options."+e+"Internal(this);":"")+(d[e]?"this.options."+e+"(this);":"")}if(a&&a.transition===false)a.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1E3;this.finishOn=this.startOn+this.options.duration*1E3;this.fromToDelta=this.options.to-this.options.from;this.totalTime=
this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if (this.state=="idle"){this.state="running";'+b(this.options,"beforeSetup")+(this.setup?"this.setup();":"")+b(this.options,"afterSetup")+'};if (this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+b(this.options,"beforeUpdate")+(this.update?"this.update(pos);":"")+b(this.options,"afterUpdate")+"}}");this.event("beforeStart");
this.options.sync||Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)},loop:function(a){if(a>=this.startOn)if(a>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");this.finish&&this.finish();this.event("afterFinish")}else{a=(a-this.startOn)/this.totalTime;var b=(a*this.totalFrames).round();if(b>this.currentFrame){this.render(a);this.currentFrame=b}}},cancel:function(){this.options.sync||Effect.Queues.get(Object.isString(this.options.queue)?
"global":this.options.queue.scope).remove(this);this.state="finished"},event:function(a){this.options[a+"Internal"]&&this.options[a+"Internal"](this);this.options[a]&&this.options[a](this)},inspect:function(){var a=$H();for(property in this)Object.isFunction(this[property])||a.set(property,this[property]);return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}});
Effect.Parallel=Class.create(Effect.Base,{initialize:function(a,b){this.effects=a||[];this.start(b)},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");b.finish&&b.finish(a);b.event("afterFinish")})}});
Effect.Tween=Class.create(Effect.Base,{initialize:function(a,b,d){a=Object.isString(a)?$(a):a;var e=$A(arguments),f=e.last();e=e.length==5?e[3]:null;this.method=Object.isFunction(f)?f.bind(a):Object.isFunction(a[f])?a[f].bind(a):function(g){a[f]=g};this.start(Object.extend({from:b,to:d},e||{}))},update:function(a){this.method(a)}});Effect.Event=Class.create(Effect.Base,{initialize:function(a){this.start(Object.extend({duration:0},a||{}))},update:Prototype.emptyFunction});
Effect.Opacity=Class.create(Effect.Base,{initialize:function(a,b){this.element=$(a);if(!this.element)throw Effect._elementDoesNotExistError;Prototype.Browser.IE&&!this.element.currentStyle.hasLayout&&this.element.setStyle({zoom:1});this.start(Object.extend({from:this.element.getOpacity()||0,to:1},b||{}))},update:function(a){this.element.setOpacity(a)}});
Effect.Move=Class.create(Effect.Base,{initialize:function(a,b){this.element=$(a);if(!this.element)throw Effect._elementDoesNotExistError;this.start(Object.extend({x:0,y:0,mode:"relative"},b||{}))},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x-=this.originalLeft;this.options.y-=this.originalTop}},update:function(a){this.element.setStyle({left:(this.options.x*
a+this.originalLeft).round()+"px",top:(this.options.y*a+this.originalTop).round()+"px"})}});Effect.MoveBy=function(a,b,d,e){return new Effect.Move(a,Object.extend({x:d,y:b},e||{}))};
Effect.Scale=Class.create(Effect.Base,{initialize:function(a,b,d){this.element=$(a);if(!this.element)throw Effect._elementDoesNotExistError;this.start(Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:b},d||{}))},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=
this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box")this.dims=[parseFloat(this.element.getStyle("height")),parseFloat(this.element.getStyle("width"))];if(/^content/.test(this.options.scaleMode))this.dims=
[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(a){a=this.options.scaleFrom/100+this.factor*a;this.options.scaleContent&&this.fontSize&&this.element.setStyle({fontSize:this.fontSize*a+this.fontSizeType});this.setDimensions(this.dims[0]*a,this.dims[1]*a)},finish:function(){this.restoreAfterFinish&&this.element.setStyle(this.originalStyle)},setDimensions:function(a,b){var d={};
if(b<0)b=0;if(a<0)a=0;if(this.options.scaleX)d.width=b.round()+"px";if(this.options.scaleY)d.height=a.round()+"px";if(this.options.scaleFromCenter){var e=(a-this.dims[0])/2,f=(b-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY)d.top=this.originalTop-e+"px";if(this.options.scaleX)d.left=this.originalLeft-f+"px"}else{if(this.options.scaleY)d.top=-e+"px";if(this.options.scaleX)d.left=-f+"px"}}this.element.setStyle(d)}});
Effect.Highlight=Class.create(Effect.Base,{initialize:function(a,b){this.element=$(a);if(!this.element)throw Effect._elementDoesNotExistError;this.start(Object.extend({startcolor:"#ffff99"},b||{}))},setup:function(){if(this.element.getStyle("display")=="none")this.cancel();else{this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor)this.options.endcolor=
this.element.getStyle("background-color").parseColor("#ffffff");if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle("background-color");this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))}},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,d,e){return b+
(this._base[e]+this._delta[e]*a).round().toColorPart()}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(a,b){var d=b||{},e=document.viewport.getScrollOffsets(),f=$(a).cumulativeOffset(),g=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(d.offset)f[1]+=d.offset;return new Effect.Tween(null,e.top,f[1]>g?g:f[1],d,function(h){scrollTo(e.left,h.round())})};
Effect.Fade=function(a,b){a=$(a);var d=a.getInlineOpacity(),e=Object.extend({from:a.getOpacity()||1,to:0,afterFinishInternal:function(f){f.options.to==0&&f.element.hide().setStyle({opacity:d})}},b||{});return new Effect.Opacity(a,e)};
Effect.Appear=function(a,b){a=$(a);var d=Object.extend({from:a.getStyle("display")=="none"?0:a.getOpacity()||0,to:1,afterFinishInternal:function(e){e.element.forceRerendering()},beforeSetup:function(e){e.element.setOpacity(e.options.from).show()}},b||{});return new Effect.Opacity(a,d)};
Effect.Puff=function(a,b){a=$(a);var d={opacity:a.getInlineOpacity(),position:a.getStyle("position"),top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height};return new Effect.Parallel([new Effect.Scale(a,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true,scaleMode:"content"}),new Effect.Opacity(a,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(e){Position.absolutize(e.effects[0].element)},afterFinishInternal:function(e){e.effects[0].element.hide().setStyle(d)}},
b||{}))};
Effect.Unpuff=function(a,b){a=$(a);var d={opacity:a.getInlineOpacity(),position:a.getStyle("position"),top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height};return new Effect.Parallel([new Effect.Scale(a,100,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true,scaleFrom:200,scaleMode:"content"}),new Effect.Opacity(a,{sync:true,to:1,from:0})],Object.extend({duration:1,beforeSetupInternal:function(e){Position.absolutize(e.effects[0].element);e.effects[0].element.show()},afterFinishInternal:function(e){e.effects[0].element.setStyle(d)}},
b||{}))};Effect.BlindUp=function(a,b){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(d){d.element.hide().undoClipping()}},b||{}))};
Effect.BlindDown=function(a,b){a=$(a);var d=a.getDimensions();return new Effect.Scale(a,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:d.height,originalWidth:d.width},restoreAfterFinish:true,afterSetup:function(e){e.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(e){e.element.undoClipping()}},b||{}))};
Effect.SwitchOff=function(a,b){a=$(a);var d=a.getInlineOpacity();return new Effect.Appear(a,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(e){new Effect.Scale(e.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(f){f.element.makePositioned().makeClipping()},afterFinishInternal:function(f){f.element.hide().undoClipping().undoPositioned().setStyle({opacity:d})}})}},b||{}))};
Effect.DropOut=function(a,b){a=$(a);var d={top:a.getStyle("top"),left:a.getStyle("left"),opacity:a.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(a,{x:0,y:100,sync:true}),new Effect.Opacity(a,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(e){e.effects[0].element.makePositioned()},afterFinishInternal:function(e){e.effects[0].element.hide().undoPositioned().setStyle(d)}},b||{}))};
Effect.Shake=function(a,b){a=$(a);var d=Object.extend({distance:20,duration:0.5},b||{}),e=parseFloat(d.distance),f=parseFloat(d.duration)/10,g={top:a.getStyle("top"),left:a.getStyle("left")};return new Effect.Move(a,{x:e,y:0,duration:f,afterFinishInternal:function(h){new Effect.Move(h.element,{x:-e*2,y:0,duration:f*2,afterFinishInternal:function(k){new Effect.Move(k.element,{x:e*2,y:0,duration:f*2,afterFinishInternal:function(l){new Effect.Move(l.element,{x:-e*2,y:0,duration:f*2,afterFinishInternal:function(m){new Effect.Move(m.element,
{x:e*2,y:0,duration:f*2,afterFinishInternal:function(n){new Effect.Move(n.element,{x:-e,y:0,duration:f,afterFinishInternal:function(o){o.element.undoPositioned().setStyle(g)}})}})}})}})}})}})};
Effect.SlideDown=function(a,b){a=$(a).cleanWhitespace();var d=a.down().getStyle("bottom"),e=a.getDimensions();return new Effect.Scale(a,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:e.height,originalWidth:e.width},restoreAfterFinish:true,afterSetup:function(f){f.element.makePositioned();f.element.down().makePositioned();window.opera&&f.element.setStyle({top:""});f.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(f){f.element.down().setStyle({bottom:f.dims[0]-
f.element.clientHeight+"px"})},afterFinishInternal:function(f){f.element.undoClipping().undoPositioned();f.element.down().undoPositioned().setStyle({bottom:d})}},b||{}))};
Effect.SlideUp=function(a,b){a=$(a).cleanWhitespace();var d=a.down().getStyle("bottom"),e=a.getDimensions();return new Effect.Scale(a,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:e.height,originalWidth:e.width},restoreAfterFinish:true,afterSetup:function(f){f.element.makePositioned();f.element.down().makePositioned();window.opera&&f.element.setStyle({top:""});f.element.makeClipping().show()},afterUpdateInternal:function(f){f.element.down().setStyle({bottom:f.dims[0]-
f.element.clientHeight+"px"})},afterFinishInternal:function(f){f.element.hide().undoClipping().undoPositioned();f.element.down().undoPositioned().setStyle({bottom:d})}},b||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};
Effect.Grow=function(a,b){a=$(a);var d=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},b||{}),e={top:a.style.top,left:a.style.left,height:a.style.height,width:a.style.width,opacity:a.getInlineOpacity()},f=a.getDimensions(),g,h,k,l;switch(d.direction){case "top-left":g=h=k=l=0;break;case "top-right":g=f.width;h=l=0;k=-f.width;break;case "bottom-left":g=k=0;h=f.height;l=-f.height;break;
case "bottom-right":g=f.width;h=f.height;k=-f.width;l=-f.height;break;case "center":g=f.width/2;h=f.height/2;k=-f.width/2;l=-f.height/2;break}return new Effect.Move(a,{x:g,y:h,duration:0.01,beforeSetup:function(m){m.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(m){new Effect.Parallel([new Effect.Opacity(m.element,{sync:true,to:1,from:0,transition:d.opacityTransition}),new Effect.Move(m.element,{x:k,y:l,sync:true,transition:d.moveTransition}),new Effect.Scale(m.element,
100,{scaleMode:{originalHeight:f.height,originalWidth:f.width},sync:true,scaleFrom:window.opera?1:0,transition:d.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(n){n.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(n){n.effects[0].element.undoClipping().undoPositioned().setStyle(e)}},d))}})};
Effect.Shrink=function(a,b){a=$(a);var d=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},b||{}),e={top:a.style.top,left:a.style.left,height:a.style.height,width:a.style.width,opacity:a.getInlineOpacity()},f=a.getDimensions(),g,h;switch(d.direction){case "top-left":g=h=0;break;case "top-right":g=f.width;h=0;break;case "bottom-left":g=0;h=f.height;break;case "bottom-right":g=f.width;h=
f.height;break;case "center":g=f.width/2;h=f.height/2;break}return new Effect.Parallel([new Effect.Opacity(a,{sync:true,to:0,from:1,transition:d.opacityTransition}),new Effect.Scale(a,window.opera?1:0,{sync:true,transition:d.scaleTransition,restoreAfterFinish:true}),new Effect.Move(a,{x:g,y:h,sync:true,transition:d.moveTransition})],Object.extend({beforeStartInternal:function(k){k.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(k){k.effects[0].element.hide().undoClipping().undoPositioned().setStyle(e)}},
d))};Effect.Pulsate=function(a,b){a=$(a);var d=b||{},e=a.getInlineOpacity(),f=d.transition||Effect.Transitions.sinoidal,g=function(h){return f(1-Effect.Transitions.pulse(h,d.pulses))};g.bind(f);return new Effect.Opacity(a,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(h){h.element.setStyle({opacity:e})}},d),{transition:g}))};
Effect.Fold=function(a,b){a=$(a);var d={top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height};a.makeClipping();return new Effect.Scale(a,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(){new Effect.Scale(a,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(e){e.element.hide().undoClipping().setStyle(d)}})}},b||{}))};
Effect.Morph=Class.create(Effect.Base,{initialize:function(a,b){this.element=$(a);if(!this.element)throw Effect._elementDoesNotExistError;var d=Object.extend({style:{}},b||{});if(Object.isString(d.style))if(d.style.include(":"))this.style=d.style.parseStyle();else{this.element.addClassName(d.style);this.style=$H(this.element.getStyles());this.element.removeClassName(d.style);var e=this.element.getStyles();this.style=this.style.reject(function(f){return f.value==e[f.key]});d.afterFinishInternal=function(f){f.element.addClassName(f.options.style);
f.transforms.each(function(g){f.element.style[g.style]=""})}}else this.style=$H(d.style);this.start(d)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b))b="#ffffff";b=b.parseColor();return $R(0,2).map(function(d){return parseInt(b.slice(d*2+1,d*2+3),16)})}this.transforms=this.style.map(function(b){var d=b[0];b=b[1];var e=null;if(b.parseColor("#zzzzzz")!="#zzzzzz"){b=b.parseColor();e="color"}else if(d=="opacity"){b=parseFloat(b);Prototype.Browser.IE&&!this.element.currentStyle.hasLayout&&
this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(b)){e=b.match(/^([\+\-]?[0-9\.]+)(.*)$/);b=parseFloat(e[1]);e=e.length==3?e[2]:null}var f=this.element.getStyle(d);return{style:d.camelize(),originalValue:e=="color"?a(f):parseFloat(f||0),targetValue:e=="color"?a(b):b,unit:e}}.bind(this)).reject(function(b){return b.originalValue==b.targetValue||b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))})},update:function(a){for(var b={},d,e=this.transforms.length;e--;)b[(d=this.transforms[e]).style]=
d.unit=="color"?"#"+Math.round(d.originalValue[0]+(d.targetValue[0]-d.originalValue[0])*a).toColorPart()+Math.round(d.originalValue[1]+(d.targetValue[1]-d.originalValue[1])*a).toColorPart()+Math.round(d.originalValue[2]+(d.targetValue[2]-d.originalValue[2])*a).toColorPart():(d.originalValue+(d.targetValue-d.originalValue)*a).toFixed(3)+(d.unit===null?"":d.unit);this.element.setStyle(b,true)}});
Effect.Transform=Class.create({initialize:function(a,b){this.tracks=[];this.options=b||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){b=$H(b);var d=b.values().first();this.tracks.push($H({ids:b.keys().first(),effect:Effect.Morph,options:{style:d}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var b=a.get("ids"),d=a.get("effect"),e=a.get("options");return[$(b)||$$(b)].flatten().map(function(f){return new d(f,Object.extend({sync:true},
e))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");
Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");
String.prototype.parseStyle=function(){var a,b=$H();if(Prototype.Browser.WebKit)a=(new Element("div",{style:this})).style;else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';a=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(d){a[d]&&b.set(d,a[d])});Prototype.Browser.IE&&this.include("opacity")&&b.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);return b};
Element.getStyles=document.defaultView&&document.defaultView.getComputedStyle?function(a){var b=document.defaultView.getComputedStyle($(a),null);return Element.CSS_PROPERTIES.inject({},function(d,e){d[e]=b[e];return d})}:function(a){a=$(a);var b=a.currentStyle,d;d=Element.CSS_PROPERTIES.inject({},function(e,f){e[f]=b[f];return e});if(!d.opacity)d.opacity=a.getOpacity();return d};
Effect.Methods={morph:function(a,b,d){a=$(a);new Effect.Morph(a,Object.extend({style:b},d||{}));return a},visualEffect:function(a,b,d){a=$(a);b=b.dasherize().camelize();b=b.charAt(0).toUpperCase()+b.substring(1);new Effect[b](a,d);return a},highlight:function(a,b){a=$(a);new Effect.Highlight(a,b);return a}};
$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(a){Effect.Methods[a]=function(b,d){b=$(b);Effect[a.charAt(0).toUpperCase()+a.substring(1)](b,d);return b}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(a){Effect.Methods[a]=Element[a]});Element.addMethods(Effect.Methods);
Effect.Transitions.Elastic=function(a){return-1*Math.pow(4,-8*a)*Math.sin((a*6-1)*2*Math.PI/2)+1};Effect.Transitions.SwingFromTo=function(a){var b=1.70158;if((a/=0.5)<1)return 0.5*a*a*(((b*=1.525)+1)*a-b);return 0.5*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)};Effect.Transitions.SwingFrom=function(a){return a*a*(2.70158*a-1.70158)};Effect.Transitions.SwingTo=function(a){return(a-=1)*a*(2.70158*a+1.70158)+1};
Effect.Transitions.Bounce=function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+0.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+0.9375:7.5625*(a-=2.625/2.75)*a+0.984375};Effect.Transitions.BouncePast=function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?2-(7.5625*(a-=1.5/2.75)*a+0.75):a<2.5/2.75?2-(7.5625*(a-=2.25/2.75)*a+0.9375):2-(7.5625*(a-=2.625/2.75)*a+0.984375)};Effect.Transitions.EaseFromTo=function(a){if((a/=0.5)<1)return 0.5*Math.pow(a,4);return-0.5*((a-=2)*Math.pow(a,3)-2)};
Effect.Transitions.EaseFrom=function(a){return Math.pow(a,4)};Effect.Transitions.EaseTo=function(a){return Math.pow(a,0.25)};if(Object.isUndefined(Effect))throw"dragdrop.js requires including script.aculo.us' effects.js library";
var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(b){return b.element==$(a)})},add:function(a,b){a=$(a);var d=Object.extend({greedy:true,hoverclass:null,tree:false},b||{});if(d.containment){d._containers=[];var e=d.containment;Object.isArray(e)?e.each(function(f){d._containers.push($(f))}):d._containers.push($(e))}if(d.accept)d.accept=[d.accept].flatten();Element.makePositioned(a);d.element=a;this.drops.push(d)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i)if(Element.isParent(a[i].element,
deepest.element))deepest=a[i];return deepest},isContained:function(a,b){var d;d=b.tree?a.treeNode:a.parentNode;return b._containers.detect(function(e){return d==e})},isAffected:function(a,b,d){return d.element!=b&&(!d._containers||this.isContained(b,d))&&(!d.accept||Element.classNames(b).detect(function(e){return d.accept.include(e)}))&&Position.within(d.element,a[0],a[1])},deactivate:function(a){a.hoverclass&&Element.removeClassName(a.element,a.hoverclass);this.last_active=null},activate:function(a){a.hoverclass&&
Element.addClassName(a.element,a.hoverclass);this.last_active=a},show:function(a,b){if(this.drops.length){var d,e,f=[];this.drops.each(function(g){Droppables.isAffected(a,b,g)&&f.push(g)});if(f.length>0)d=Droppables.findDeepestChild(f);this.last_active&&this.last_active!=d&&this.deactivate(this.last_active);if(d){Position.within(d.element,a[0],a[1]);if(d.onHover)e=d.onHover(b,d.element);e!==false&&d!=this.last_active&&Droppables.activate(d)}}},fire:function(a,b){if(this.last_active){Position.prepare();
if(this.isAffected([Event.pointerX(a),Event.pointerY(a)],b,this.last_active))if(this.last_active.onDrop){this.last_active.onDrop(b,this.last_active.element,a);return true}}},reset:function(){this.last_active&&this.deactivate(this.last_active)}},Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);
Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)}this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(b){return b==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay)this._timeout=
setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay);else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(this.activeDraggable){var b=[Event.pointerX(a),Event.pointerY(a)];if(!(this._lastPointer&&this._lastPointer.inspect()==b.inspect())){this._lastPointer=b;this.activeDraggable.updateDrag(a,b)}}},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=
null}if(this.activeDraggable){this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null}},keyPress:function(a){this.activeDraggable&&this.activeDraggable.keyPress(a)},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(b){return b.element==a});this._cacheObserverCallbacks()},notify:function(a,b,d){this[a+"Count"]>0&&this.observers.each(function(e){e[a]&&e[a](a,b,d)});b.options[a]&&
b.options[a](b,d)},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(a){Draggables[a+"Count"]=Draggables.observers.select(function(b){return b[a]}).length})}},Draggable=Class.create({initialize:function(a,b){var d={handle:false,reverteffect:function(e,f,g){new Effect.Move(e,{x:-g,y:-f,duration:Math.sqrt(Math.abs(f^2)+Math.abs(g^2))*0.02,queue:{scope:"_draggable",position:"end"}})},endeffect:function(e){var f=Object.isNumber(e._opacity)?e._opacity:1;new Effect.Opacity(e,
{duration:0.2,from:0.7,to:f,queue:{scope:"_draggable",position:"end"},afterFinish:function(){Draggable._dragging[e]=false}})},zindex:1E3,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!b||Object.isUndefined(b.endeffect))Object.extend(d,{starteffect:function(e){e._opacity=Element.getOpacity(e);Draggable._dragging[e]=true;new Effect.Opacity(e,{duration:0.2,from:e._opacity,to:0.7})}});d=Object.extend(d,b||{});this.element=$(a);if(d.handle&&Object.isString(d.handle))this.handle=
this.element.down("."+d.handle,0);if(!this.handle)this.handle=$(d.handle);if(!this.handle)this.handle=this.element;if(d.scroll&&!d.scroll.scrollTo&&!d.scroll.outerHTML){d.scroll=$(d.scroll);this._isScrollChild=Element.childOf(this.element,d.scroll)}Element.makePositioned(this.element);this.options=d;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,
"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return[parseInt(Element.getStyle(this.element,"left")||"0"),parseInt(Element.getStyle(this.element,"top")||"0")]},initDrag:function(a){if(!(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]))if(Event.isLeftClick(a))if(!((tag_name=Event.element(a).tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA"))){var b=
[Event.pointerX(a),Event.pointerY(a)],d=Element.cumulativeOffset(this.element);this.offset=[0,1].map(function(e){return b[e]-d[e]});Draggables.activate(this);Event.stop(a)}},startDrag:function(a){this.dragging=true;if(!this.delta)this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);(this._originallyAbsolute=this.element.getStyle("position")==
"absolute")||Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element)}if(this.options.scroll)if(this.options.scroll==window){var b=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=b.left;this.originalScrollTop=b.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}Draggables.notify("onStart",this,a);this.options.starteffect&&this.options.starteffect(this.element)},updateDrag:function(a,
b){this.dragging||this.startDrag(a);if(!this.options.quiet){Position.prepare();Droppables.show(b,this.element)}Draggables.notify("onDrag",this,a);this.draw(b);this.options.change&&this.options.change(this);if(this.options.scroll){this.stopScrolling();var d;if(this.options.scroll==window)with(this._getWindowScroll(this.options.scroll))d=[left,top,left+width,top+height];else{d=Position.page(this.options.scroll);d[0]+=this.options.scroll.scrollLeft+Position.deltaX;d[1]+=this.options.scroll.scrollTop+
Position.deltaY;d.push(d[0]+this.options.scroll.offsetWidth);d.push(d[1]+this.options.scroll.offsetHeight)}var e=[0,0];if(b[0]<d[0]+this.options.scrollSensitivity)e[0]=b[0]-(d[0]+this.options.scrollSensitivity);if(b[1]<d[1]+this.options.scrollSensitivity)e[1]=b[1]-(d[1]+this.options.scrollSensitivity);if(b[0]>d[2]-this.options.scrollSensitivity)e[0]=b[0]-(d[2]-this.options.scrollSensitivity);if(b[1]>d[3]-this.options.scrollSensitivity)e[1]=b[1]-(d[3]-this.options.scrollSensitivity);this.startScrolling(e)}Prototype.Browser.WebKit&&
window.scrollBy(0,0);Event.stop(a)},finishDrag:function(a,b){this.dragging=false;if(this.options.quiet){Position.prepare();var d=[Event.pointerX(a),Event.pointerY(a)];Droppables.show(d,this.element)}if(this.options.ghosting){this._originallyAbsolute||Position.relativize(this.element);delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null}d=false;if(b)(d=Droppables.fire(a,this.element))||(d=false);d&&this.options.onDropped&&this.options.onDropped(this.element);Draggables.notify("onEnd",
this,a);var e=this.options.revert;if(e&&Object.isFunction(e))e=e(this.element);var f=this.currentDelta();if(e&&this.options.reverteffect){if(d==0||e!="failure")this.options.reverteffect(this.element,f[1]-this.delta[1],f[0]-this.delta[0])}else this.delta=f;if(this.options.zindex)this.element.style.zIndex=this.originalZ;this.options.endeffect&&this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode==Event.KEY_ESC){this.finishDrag(a,false);
Event.stop(a)}},endDrag:function(a){if(this.dragging){this.stopScrolling();this.finishDrag(a,true);Event.stop(a)}},draw:function(a){var b=Element.cumulativeOffset(this.element);if(this.options.ghosting){var d=Position.realOffset(this.element);b[0]+=d[0]-Position.deltaX;b[1]+=d[1]-Position.deltaY}d=this.currentDelta();b[0]-=d[0];b[1]-=d[1];if(this.options.scroll&&this.options.scroll!=window&&this._isScrollChild){b[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;b[1]-=this.options.scroll.scrollTop-
this.originalScrollTop}d=[0,1].map(function(f){return a[f]-b[f]-this.offset[f]}.bind(this));if(this.options.snap)d=Object.isFunction(this.options.snap)?this.options.snap(d[0],d[1],this):Object.isArray(this.options.snap)?d.map(function(f,g){return(f/this.options.snap[g]).round()*this.options.snap[g]}.bind(this)):d.map(function(f){return(f/this.options.snap).round()*this.options.snap}.bind(this));var e=this.element.style;if(!this.options.constraint||this.options.constraint=="horizontal")e.left=d[0]+
"px";if(!this.options.constraint||this.options.constraint=="vertical")e.top=d[1]+"px";if(e.visibility=="hidden")e.visibility=""},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(a[0]||a[1]){this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date;this.scrollInterval=setInterval(this.scroll.bind(this),10)}},scroll:function(){var a=
new Date,b=a-this.lastScrolled;this.lastScrolled=a;if(this.options.scroll==window)with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){a=b/1E3;this.options.scroll.scrollTo(left+a*this.scrollSpeed[0],top+a*this.scrollSpeed[1])}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*b/1E3;this.options.scroll.scrollTop+=this.scrollSpeed[1]*b/1E3}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=
Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*b/1E3;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*b/1E3;if(Draggables._lastScrollPointer[0]<0)Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer)}this.options.change&&this.options.change(this)},_getWindowScroll:function(a){var b,d,e;with(a.document){if(a.document.documentElement&&
documentElement.scrollTop){b=documentElement.scrollTop;d=documentElement.scrollLeft}else if(a.document.body){b=body.scrollTop;d=body.scrollLeft}if(a.innerWidth){e=a.innerWidth;a=a.innerHeight}else if(a.document.documentElement&&documentElement.clientWidth){e=documentElement.clientWidth;a=documentElement.clientHeight}else{e=body.offsetWidth;a=body.offsetHeight}}return{top:b,left:d,width:e,height:a}}});Draggable._dragging={};
var SortableObserver=Class.create({initialize:function(a,b){this.element=$(a);this.observer=b;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();this.lastValue!=Sortable.serialize(this.element)&&this.observer(this.element)}}),Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){for(;a.tagName.toUpperCase()!="BODY";){if(a.id&&Sortable.sortables[a.id])return a;
a=a.parentNode}},options:function(a){if(a=Sortable._findRootElement($(a)))return Sortable.sortables[a.id]},destroy:function(a){a=$(a);if(a=Sortable.sortables[a.id]){Draggables.removeObserver(a.element);a.droppables.each(function(b){Droppables.remove(b)});a.draggables.invoke("destroy");delete Sortable.sortables[a.element.id]}},create:function(a,b){a=$(a);var d=Object.extend({element:a,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:a,handle:false,
only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction,onHover:Prototype.emptyFunction,onEnd:Prototype.emptyFunction},b||{});this.destroy(a);var e={revert:true,quiet:d.quiet,scroll:d.scroll,scrollSpeed:d.scrollSpeed,scrollSensitivity:d.scrollSensitivity,delay:d.delay,ghosting:d.ghosting,constraint:d.constraint,handle:d.handle,
onEnd:d.onEnd};if(d.starteffect)e.starteffect=d.starteffect;if(d.reverteffect)e.reverteffect=d.reverteffect;else if(d.ghosting)e.reverteffect=function(h){h.style.top=0;h.style.left=0};if(d.endeffect)e.endeffect=d.endeffect;if(d.zindex)e.zindex=d.zindex;var f={overlap:d.overlap,containment:d.containment,tree:d.tree,hoverclass:d.hoverclass,onHover:Sortable.onHover},g={onHover:Sortable.onEmptyHover,overlap:d.overlap,containment:d.containment,hoverclass:d.hoverclass};Element.cleanWhitespace(a);d.draggables=
[];d.droppables=[];if(d.dropOnEmpty||d.tree){Droppables.add(a,g);d.droppables.push(a)}(d.elements||this.findElements(a,d)||[]).each(function(h,k){var l=d.handles?$(d.handles[k]):d.handle?$(h).select("."+d.handle)[0]:h;d.draggables.push(new Draggable(h,Object.extend(e,{handle:l})));Droppables.add(h,f);if(d.tree)h.treeNode=a;d.droppables.push(h)});if(d.tree)(Sortable.findTreeElements(a,d)||[]).each(function(h){Droppables.add(h,g);h.treeNode=a;d.droppables.push(h)});this.sortables[a.id]=d;Draggables.addObserver(new SortableObserver(a,
d.onUpdate))},findElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.tag)},findTreeElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.treeTag)},onHover:function(a,b){var d=Sortable.options(b),e=Element.overlap(a,b,d.overlap);if(d.onHover(a,b)===false)return false;if(e>=0.5){Sortable.mark(b,"before");if(b.previousSibling!=a){d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,b);b.parentNode!=d&&Sortable.options(d).onChange(a);
Sortable.options(b.parentNode).onChange(a)}}else{Sortable.mark(b,"after");e=b.nextSibling||null;if(e!=a){d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,e);b.parentNode!=d&&Sortable.options(d).onChange(a);Sortable.options(b.parentNode).onChange(a)}}},onEmptyHover:function(a,b){var d=a.parentNode,e=Sortable.options(b);if(e.onHover(a,b)===false)return false;var f=Sortable.findElements(b,{tag:e.tag,only:e.only}),g=null;if(f){var h=Element.cumulativeOffset(a),k=e.overlap=="vertical"?
"top":"left";for(i=0;i<f.length;i+=1)if(Element.overlap(a,f[i],e.overlap)>=0.33){var l=Element.cumulativeOffset(f[i]);if(h[k]<=l[k])g=f[i];else if(i<f.length-1)g=f[i+1]}}b.insertBefore(a,g);Sortable.options(d).onChange(a);e.onChange(a)},unmark:function(){Sortable._marker&&Sortable._marker.hide()},mark:function(a,b){var d=Sortable.options(a.parentNode);if(!(d&&!d.ghosting)){if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});
document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)}var e=Element.cumulativeOffset(a);Sortable._marker.setStyle({left:e[0]+"px",top:e[1]+"px"});if(b=="after")d.overlap=="horizontal"?Sortable._marker.setStyle({left:e[0]+a.clientWidth+"px"}):Sortable._marker.setStyle({top:e[1]+a.clientHeight+"px"});Sortable._marker.show()}},_tree:function(a,b,d){for(var e=Sortable.findElements(a,b)||[],f=0;f<e.length;++f){var g=e[f].id.match(b.format);if(g){g={id:encodeURIComponent(g?g[1]:null),
element:a,parent:d,self:e[f],children:[],position:d.children.length,container:$(e[f]).down(b.treeTag)};g.container&&this._tree(g.container,b,g);d.children.push(g)}}return d},tree:function(a,b){a=$(a);var d=this.options(a);d=Object.extend({tag:d.tag,treeTag:d.treeTag,only:d.only,name:a.id,format:d.format},b||{});return Sortable._tree(a,d,{id:null,parent:null,children:[],container:a,position:0})},_constructIndex:function(a){var b="";do if(a.id)b="["+a.position+"]"+b;while((a=a.parent)!=null);return b},
sequence:function(a,b){a=$(a);var d=Object.extend(this.options(a),b||{});return $(this.findElements(a,d)||[]).map(function(e){return e.id.match(d.format)?e.id.match(d.format)[1]:""})},setSequence:function(a,b,d){a=$(a);var e=Object.extend(this.options(a),d||{}),f={};this.findElements(a,e).each(function(g){if(g.id.match(e.format))f[g.id.match(e.format)[1]]=[g,g.parentNode];g.parentNode.removeChild(g)});b.each(function(g){var h=f[g];if(h){h[1].appendChild(h[0]);delete f[g]}})},serialize:function(a,
b){a=$(a);var d=Object.extend(Sortable.options(a),b||{}),e=encodeURIComponent(b&&b.name?b.name:a.id);return d.tree?Sortable.tree(a,b).children.map(function(f){return[e+Sortable._constructIndex(f)+"[id]="+encodeURIComponent(f.id)].concat(f.children.map(arguments.callee))}).flatten().join("&"):Sortable.sequence(a,b).map(function(f){return e+"[]="+encodeURIComponent(f)}).join("&")},objectize:function(a,b){a=$(a);var d=Object.extend(Sortable.options(a),b||{});Object.isFunction(b)||(b=function e(f){if(f.children&&
f.children.length)f.children=f.children.map(e);return f});return d.tree?Sortable.tree(a,b).children.map(b):Sortable.sequence(a,b).map(b)}};Element.isParent=function(a,b){if(!a.parentNode||a==b)return false;if(a.parentNode==b)return true;return Element.isParent(a.parentNode,b)};
Element.findChildren=function(a,b,d,e){if(!a.hasChildNodes())return null;e=e.toUpperCase();if(b)b=[b].flatten();var f=[];$A(a.childNodes).each(function(g){if(g.tagName&&g.tagName.toUpperCase()==e&&(!b||Element.classNames(g).detect(function(h){return b.include(h)})))f.push(g);if(d)(g=Element.findChildren(g,b,d,e))&&f.push(g)});return f.length>0?f.flatten():[]};Element.offsetSize=function(a,b){return a["offset"+(b=="vertical"||b=="height"?"Height":"Width")]};
Element.overlap=function(a,b,d){if(!d)return 0;var e=Element.cumulativeOffset(a),f=Element.cumulativeOffset(b);if(d=="vertical")return(Math.min(e.top+a.offsetHeight,f.top+b.offsetHeight)-Math.max(e.top,f.top))/Math.min(a.offsetHeight,b.offsetHeight);if(d=="horizontal")return(Math.min(e.left+a.offsetWidth,f.left+b.offsetWidth)-Math.max(e.left,f.left))/Math.min(a.offsetWidth,b.offsetWidth)};if(typeof Effect=="undefined")throw"controls.js requires including script.aculo.us' effects.js library";
var Autocompleter={};
Autocompleter.Base=Class.create({baseInitialize:function(a,b,d){this.element=a=$(a);this.update=$(b);this.active=this.changed=this.hasFocus=false;this.entryCount=this.index=0;this.oldElementValue=this.element.value;if(this.setOptions)this.setOptions(d);else this.options=d||{};this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=
this.options.onShow||function(e,f){if(!f.style.position||f.style.position=="absolute"){f.style.position="absolute";Position.clone(e,f,{setHeight:false,offsetTop:e.offsetHeight})}Effect.Appear(f,{duration:0.15})};this.options.onHide=this.options.onHide||function(e,f){new Effect.Fade(f,{duration:0.15})};if(typeof this.options.tokens=="string")this.options.tokens=Array(this.options.tokens);this.options.tokens.include("\n")||this.options.tokens.push("\n");this.observer=null;this.element.setAttribute("autocomplete",
"off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){Element.getStyle(this.update,"display")=="none"&&this.options.onShow(this.element,this.update);if(!this.iefix&&Prototype.Browser.IE&&Element.getStyle(this.update,"position")=="absolute"){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
this.iefix=$(this.update.id+"_iefix")}this.iefix&&setTimeout(this.fixIEOverlapping.bind(this),50)},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:!this.update.style.height});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();Element.getStyle(this.update,"display")!="none"&&this.options.onHide(this.element,this.update);this.iefix&&Element.hide(this.iefix)},startIndicator:function(){this.options.indicator&&Element.show(this.options.indicator)},
stopIndicator:function(){this.options.indicator&&Element.hide(this.options.indicator)},onKeyPress:function(a){if(this.active)switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(a);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}else if(a.keyCode==Event.KEY_TAB||
a.keyCode==Event.KEY_RETURN||Prototype.Browser.WebKit>0&&a.keyCode==0)return;this.hasFocus=this.changed=true;this.observer&&clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1E3)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(a){var b=Event.findElement(a,"LI");if(this.index!=b.autocompleteIndex){this.index=b.autocompleteIndex;this.render()}Event.stop(a)},onClick:function(a){this.index=
Event.findElement(a,"LI").autocompleteIndex;this.selectEntry();this.hide()},onBlur:function(){setTimeout(this.hide.bind(this),250);this.active=this.hasFocus=false},render:function(){if(this.entryCount>0){for(var a=0;a<this.entryCount;a++)this.index==a?Element.addClassName(this.getEntry(a),"selected"):Element.removeClassName(this.getEntry(a),"selected");if(this.hasFocus){this.show();this.active=true}}else{this.active=false;this.hide()}},markPrevious:function(){if(this.index>0)this.index--;else this.index=
this.entryCount-1;this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1)this.index++;else this.index=0;this.getEntry(this.index).scrollIntoView(false)},getEntry:function(a){return this.update.firstChild.childNodes[a]},getCurrentEntry:function(){return this.getEntry(this.index)},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry())},updateElement:function(a){if(this.options.updateElement)this.options.updateElement(a);else{var b=
"";if(this.options.select){var d=$(a).select("."+this.options.select)||[];if(d.length>0)b=Element.collectTextNodes(d[0],this.options.select)}else b=Element.collectTextNodesIgnoreClass(a,"informal");d=this.getTokenBounds();if(d[0]!=-1){var e=this.element.value.substr(0,d[0]),f=this.element.value.substr(d[0]).match(/^\s+/);if(f)e+=f[0];this.element.value=e+b+this.element.value.substr(d[1])}else this.element.value=b;this.oldElementValue=this.element.value;this.element.focus();this.options.afterUpdateElement&&
this.options.afterUpdateElement(this.element,a)}},updateChoices:function(a){if(!this.changed&&this.hasFocus){this.update.innerHTML=a;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(a=0;a<this.entryCount;a++){var b=this.getEntry(a);b.autocompleteIndex=a;this.addObservers(b)}}else this.entryCount=0;this.stopIndicator();this.index=0;if(this.entryCount==1&&
this.options.autoSelect){this.selectEntry();this.hide()}else this.render()}},addObservers:function(a){Event.observe(a,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(a,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars)this.getUpdatedChoices();else{this.active=false;this.hide()}this.oldElementValue=this.element.value},getToken:function(){var a=this.getTokenBounds();
return this.element.value.substring(a[0],a[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds)return this.tokenBounds;var a=this.element.value;if(a.strip().empty())return[-1,0];for(var b=arguments.callee.getFirstDifferencePos(a,this.oldElementValue),d=b==this.oldElementValue.length?1:0,e=-1,f=a.length,g,h=0,k=this.options.tokens.length;h<k;++h){g=a.lastIndexOf(this.options.tokens[h],b+d-1);if(g>e)e=g;g=a.indexOf(this.options.tokens[h],b+d);if(-1!=g&&g<f)f=g}return this.tokenBounds=[e+
1,f]}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(a,b){for(var d=Math.min(a.length,b.length),e=0;e<d;++e)if(a[e]!=b[e])return e;return d};
Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(a,b,d,e){this.baseInitialize(a,b,e);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=d},getUpdatedChoices:function(){this.startIndicator();var a=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,a):a;if(this.options.defaultParams)this.options.parameters+=
"&"+this.options.defaultParams;new Ajax.Request(this.url,this.options)},onComplete:function(a){this.updateChoices(a.responseText)}});
Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(a,b,d,e){this.baseInitialize(a,b,e);this.options.array=d},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(a){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(b){for(var d=[],e=[],f=b.getToken(),g=0;g<b.options.array.length&&d.length<b.options.choices;g++)for(var h=b.options.array[g],k=b.options.ignoreCase?
h.toLowerCase().indexOf(f.toLowerCase()):h.indexOf(f);k!=-1;){if(k==0&&h.length!=f.length){d.push("<li><strong>"+h.substr(0,f.length)+"</strong>"+h.substr(f.length)+"</li>");break}else if(f.length>=b.options.partialChars&&b.options.partialSearch&&k!=-1)if(b.options.fullSearch||/\s/.test(h.substr(k-1,1))){e.push("<li>"+h.substr(0,k)+"<strong>"+h.substr(k,f.length)+"</strong>"+h.substr(k+f.length)+"</li>");break}k=b.options.ignoreCase?h.toLowerCase().indexOf(f.toLowerCase(),k+1):h.indexOf(f,k+1)}if(e.length)d=
d.concat(e.slice(0,b.options.choices-d.length));return"<ul>"+d.join("")+"</ul>"}},a||{})}});Field.scrollFreeActivate=function(a){setTimeout(function(){Field.activate(a)},1)};
Ajax.InPlaceEditor=Class.create({initialize:function(a,b,d){this.url=b;this.element=a=$(a);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(d);Object.extend(this.options,d||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId))this.options.formId=""}if(this.options.externalControl)this.options.externalControl=$(this.options.externalControl);if(!this.options.externalControl)this.options.externalControlOnly=
false;this._originalBackground=this.element.getStyle("background-color")||"transparent";this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(a){if(!(!this._editing||
a.ctrlKey||a.altKey||a.shiftKey))if(Event.KEY_ESC==a.keyCode)this.handleFormCancellation(a);else Event.KEY_RETURN==a.keyCode&&this.handleFormSubmission(a)},createControl:function(a,b,d){var e=this.options[a+"Control"];b=this.options[a+"Text"];if("button"==e){d=document.createElement("input");d.type="submit";d.value=b;d.className="editor_"+a+"_button";if("cancel"==a)d.onclick=this._boundCancelHandler;this._form.appendChild(d);this._controls[a]=d}else if("link"==e){e=document.createElement("a");e.href=
"#";e.appendChild(document.createTextNode(b));e.onclick="cancel"==a?this._boundCancelHandler:this._boundSubmitHandler;e.className="editor_"+a+"_link";if(d)e.className+=" "+d;this._form.appendChild(e);this._controls[a]=e}},createEditField:function(){var a=this.options.loadTextURL?this.options.loadingText:this.getText(),b;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){b=document.createElement("input");b.type="text";var d=this.options.size||this.options.cols||0;if(0<d)b.size=d}else{b=document.createElement("textarea");
b.rows=1>=this.options.rows?this.options.autoRows:this.options.rows;b.cols=this.options.cols||40}b.name=this.options.paramName;b.value=a;b.className="editor_field";if(this.options.submitOnBlur)b.onblur=this._boundSubmitHandler;this._controls.editor=b;this.options.loadTextURL&&this.loadExternalText();this._form.appendChild(this._controls.editor)},createForm:function(){function a(d,e){var f=b.options["text"+d+"Controls"];!f||e===false||b._form.appendChild(document.createTextNode(f))}var b=this;this._form=
$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();"textarea"==this._controls.editor.tagName.toLowerCase()&&this._form.appendChild(document.createElement("br"));this.options.onFormCustomization&&this.options.onFormCustomization(this,this._form);a("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);a("Between",
this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");a("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML)this.element.innerHTML=this._oldInnerHTML;this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(a){if(!(this._saving||this._editing)){this._editing=true;this.triggerCallback("onEnterEditMode");this.options.externalControl&&this.options.externalControl.hide();
this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);this.options.loadTextURL||this.postProcessEditField();a&&Event.stop(a)}},enterHover:function(){this.options.hoverClassName&&this.element.addClassName(this.options.hoverClassName);this._saving||this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML},handleAJAXFailure:function(a){this.triggerCallback("onFailure",a);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;
this._oldInnerHTML=null}},handleFormCancellation:function(a){this.wrapUp();a&&Event.stop(a)},handleFormSubmission:function(a){var b=this._form,d=$F(this._controls.editor);this.prepareSubmission();b=this.options.callback(b,d)||"";if(Object.isString(b))b=b.toQueryParams();b.editorId=this.element.id;if(this.options.htmlResponse){d=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(d,{parameters:b,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},
this.url,d)}else{d=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(d,{parameters:b,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,d)}a&&Event.stop(a)},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();this.options.externalControl&&this.options.externalControl.show();this._editing=
this._saving=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")},leaveHover:function(){this.options.hoverClassName&&this.element.removeClassName(this.options.hoverClassName);this._saving||this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),
onComplete:Prototype.emptyFunction,onSuccess:function(b){this._form.removeClassName(this.options.loadingClassName);b=b.responseText;if(this.options.stripLoadedTextTags)b=b.stripTags();this._controls.editor.value=b;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,a)},postProcessEditField:function(){var a=this.options.fieldPostCreation;if(a)$(this._controls.editor)["focus"==a?"focus":"activate"]()},
prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(a){Object.extend(this.options,a)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};var a;$H(Ajax.InPlaceEditor.Listeners).each(function(b){a=this[b.value].bind(this);this._listeners[b.key]=
a;this.options.externalControlOnly||this.element.observe(b.key,a);this.options.externalControl&&this.options.externalControl.observe(b.key,a)}.bind(this))},removeForm:function(){if(this._form){this._form.remove();this._form=null;this._controls={}}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(a,
b){"function"==typeof this.options[a]&&this.options[a](this,b)},unregisterListeners:function(){$H(this._listeners).each(function(a){this.options.externalControlOnly||this.element.stopObserving(a.key,a.value);this.options.externalControl&&this.options.externalControl.stopObserving(a.key,a.value)}.bind(this))},wrapUp:function(a){this.leaveEditMode();this._boundComplete(a,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});
Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,b,d,e){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(b,d,e)},createEditField:function(){var a=document.createElement("select");a.name=this.options.paramName;a.size=1;this._controls.editor=a;this._collection=this.options.collection||[];this.options.loadCollectionURL?this.loadCollection():this.checkForExternalText();this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);
this.showLoadingText(this.options.loadingCollectionText);var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){b=b.responseText.strip();if(!/^\[.*\]$/.test(b))throw"Server returned an invalid collection representation.";this._collection=eval(b);this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,a)},
showLoadingText:function(a){this._controls.editor.disabled=true;var b=this._controls.editor.firstChild;if(!b){b=document.createElement("option");b.value="";this._controls.editor.appendChild(b);b.selected=true}b.update((a||"").stripScripts().stripTags())},checkForExternalText:function(){this._text=this.getText();this.options.loadTextURL?this.loadExternalText():this.buildOptionList()},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var a=Object.extend({method:"get"},this.options.ajaxOptions);
Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){this._text=b.responseText.strip();this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,a)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(e){return 2===e.length?e:[e,e].flatten()});var a="value"in this.options?this.options.value:this._text,
b=this._collection.any(function(e){return e[0]==a}.bind(this));this._controls.editor.update("");var d;this._collection.each(function(e,f){d=document.createElement("option");d.value=e[0];d.selected=b?e[0]==a:0==f;d.appendChild(document.createTextNode(e[1]));this._controls.editor.appendChild(d)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)}});
Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(a){function b(d,e){d in a||e===undefined||(a[d]=e)}if(a){b("cancelControl",a.cancelLink?"link":a.cancelButton?"button":a.cancelLink==a.cancelButton==false?false:undefined);b("okControl",a.okLink?"link":a.okButton?"button":a.okLink==a.okButton==false?false:undefined);b("highlightColor",a.highlightcolor);b("highlightEndColor",a.highlightendcolor)}};
Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",
savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(a){return Form.serialize(a)},onComplete:function(a,b){new Effect.Highlight(b,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(a){a.element.style.backgroundColor=a.options.highlightColor;a._effect&&a._effect.cancel()},onFailure:function(a){alert("Error communication with the server: "+
a.responseText.stripTags())},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(a){a._effect=new Effect.Highlight(a.element,{startcolor:a.options.highlightColor,endcolor:a.options.highlightEndColor,restorecolor:a._originalBackground,keepBackgroundImage:true})}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};
Form.Element.DelayedObserver=Class.create({initialize:function(a,b,d){this.delay=b||0.5;this.element=$(a);this.callback=d;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))},delayedListener:function(){if(this.lastValue!=$F(this.element)){this.timer&&clearTimeout(this.timer);this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1E3);this.lastValue=$F(this.element)}},onTimerEvent:function(){this.timer=null;this.callback(this.element,
$F(this.element))}});if(!Control)var Control={};
Control.Slider=Class.create({initialize:function(a,b,d){var e=this;this.handles=Object.isArray(a)?a.collect(function(f){return $(f)}):[$(a)];this.track=$(b);this.options=d||{};this.axis=this.options.axis||"horizontal";this.increment=this.options.increment||1;this.step=parseInt(this.options.step||"1");this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(f){return $(f)}):false;this.options.startSpan=
$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,
""):this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,"");this.disabled=this.dragging=this.active=false;this.options.disabled&&this.setDisabled();if(this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max()}this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);
this.handles.each(function(f,g){g=e.handles.length-1-g;e.setValue(parseFloat((Object.isArray(e.options.sliderValue)?e.options.sliderValue[g]:e.options.sliderValue)||e.range.start),g);f.makePositioned().observe("mousedown",e.eventMouseDown)});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true},dispose:function(){var a=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);
Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(b){Event.stopObserving(b,"mousedown",a.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(a){if(this.allowedValues){if(a>=this.allowedValues.max())return this.allowedValues.max();if(a<=this.allowedValues.min())return this.allowedValues.min();var b=Math.abs(this.allowedValues[0]-
a),d=this.allowedValues[0];this.allowedValues.each(function(e){var f=Math.abs(e-a);if(f<=b){d=e;b=f}});return d}if(a>this.range.end)return this.range.end;if(a<this.range.start)return this.range.start;return a},setValue:function(a,b){if(!this.active){this.activeHandleIdx=b||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles()}b=b||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if(b>0&&a<this.values[b-1])a=this.values[b-1];if(b<this.handles.length-1&&a>this.values[b+
1])a=this.values[b+1]}a=this.getNearestValue(a);this.values[b]=a;this.value=this.values[0];this.handles[b].style[this.isVertical()?"top":"left"]=this.translateToPx(a);this.drawSpans();if(!this.dragging||!this.event)this.updateFinished()},setValueBy:function(a,b){this.setValue(this.values[b||this.activeHandleIdx||0]+a,b||this.activeHandleIdx||0)},translateToPx:function(a){return Math.round((this.trackLength-this.handleLength)/(this.range.end-this.range.start)*(a-this.range.start))+"px"},translateToValue:function(a){return a/
(this.trackLength-this.handleLength)*(this.range.end-this.range.start)+this.range.start},getRange:function(a){var b=this.values.sortBy(Prototype.K);a=a||0;return $R(b[a],b[a+1])},minimumOffset:function(){return this.isVertical()?this.alignY:this.alignX},maximumOffset:function(){return this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-
this.alignX},isVertical:function(){return this.axis=="vertical"},drawSpans:function(){var a=this;this.spans&&$R(0,this.spans.length-1).each(function(b){a.setSpan(a.spans[b],a.getRange(b))});if(this.options.startSpan)this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value));if(this.options.endSpan)this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum))},setSpan:function(a,b){if(this.isVertical()){a.style.top=
this.translateToPx(b.start);a.style.height=this.translateToPx(b.end-b.start+this.range.start)}else{a.style.left=this.translateToPx(b.start);a.style.width=this.translateToPx(b.end-b.start+this.range.start)}},updateStyles:function(){this.handles.each(function(a){Element.removeClassName(a,"selected")});Element.addClassName(this.activeHandle,"selected")},startDrag:function(a){if(Event.isLeftClick(a)){if(!this.disabled){this.active=true;var b=Event.element(a),d=[Event.pointerX(a),Event.pointerY(a)];if(b==
this.track){b=Element.cumulativeOffset(this.track);this.event=a;this.setValue(this.translateToValue((this.isVertical()?d[1]-b[1]:d[0]-b[0])-this.handleLength/2));b=Element.cumulativeOffset(this.activeHandle);this.offsetX=d[0]-b[0];this.offsetY=d[1]-b[1]}else{for(;this.handles.indexOf(b)==-1&&b.parentNode;)b=b.parentNode;if(this.handles.indexOf(b)!=-1){this.activeHandle=b;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();b=Element.cumulativeOffset(this.activeHandle);
this.offsetX=d[0]-b[0];this.offsetY=d[1]-b[1]}}}Event.stop(a)}},update:function(a){if(this.active){if(!this.dragging)this.dragging=true;this.draw(a);Prototype.Browser.WebKit&&window.scrollBy(0,0);Event.stop(a)}},draw:function(a){var b=[Event.pointerX(a),Event.pointerY(a)],d=Element.cumulativeOffset(this.track);b[0]-=this.offsetX+d[0];b[1]-=this.offsetY+d[1];this.event=a;this.setValue(this.translateToValue(this.isVertical()?b[1]:b[0]));if(this.initialized&&this.options.onSlide)this.options.onSlide(this.values.length>
1?this.values:this.value,this)},endDrag:function(a){if(this.active&&this.dragging){this.finishDrag(a,true);Event.stop(a)}this.dragging=this.active=false},finishDrag:function(){this.dragging=this.active=false;this.updateFinished()},updateFinished:function(){if(this.initialized&&this.options.onChange)this.options.onChange(this.values.length>1?this.values:this.value,this);this.event=null}});
Sound={tracks:{},_enabled:true,template:new Template('<audio id="sound_#{track}_#{id}" autoplay><source  src="#{url}.mp3"><source src="#{url}.ogg"></audio>'),enable:function(){Sound._enabled=true},disable:function(){Sound._enabled=false},play:function(a,b){if(Sound._enabled){var d=Object.extend({track:"global",url:a,replace:false},b||{});if(d.replace&&this.tracks[d.track]){$R(0,this.tracks[d.track].id).each(function(e){e=$("sound_"+d.track+"_"+e);e.Stop&&e.Stop();e.remove()});this.tracks[d.track]=
null}if(this.tracks[d.track])this.tracks[d.track].id++;else this.tracks[d.track]={id:0};d.id=this.tracks[d.track].id;$$("body")[0].insert(Prototype.Browser.IE?new Element("bgsound",{id:"sound_"+d.track+"_"+d.id,src:d.url+".mp3",loop:1,autostart:true}):Sound.template.evaluate(d))}}};
var CropDraggable=Class.create(Draggable,{initialize:function(a,b){this.options=Object.extend({drawMethod:function(){}},b||{});this.handle=this.element=$(a);this.delta=this.currentDelta();this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},draw:function(a){var b=Element.cumulativeOffset(this.element),d=this.currentDelta();b[0]-=d[0];b[1]-=d[1];this.options.drawMethod([0,1].map(function(e){return a[e]-
b[e]-this.offset[e]}.bind(this)))}}),Cropper={};
Cropper.Img=Class.create({initialize:function(a,b){this.options=Object.extend({ratioDim:{x:0,y:0},minWidth:0,minHeight:0,displayOnInit:false,onEndCrop:Prototype.emptyFunction,captureKeys:true,onloadCoords:null,maxWidth:0,maxHeight:0},b||{});this.img=$(a);this.clickCoords={x:0,y:0};this.resizing=this.dragging=false;this.isWebKit=/Konqueror|Safari|KHTML/.test(navigator.userAgent);this.isIE=/MSIE/.test(navigator.userAgent);this.isOpera8=/Opera\s[1-8]/.test(navigator.userAgent);this.ratioY=this.ratioX=
0;this.attached=false;this.fixedWidth=this.options.maxWidth>0&&this.options.minWidth>=this.options.maxWidth;this.fixedHeight=this.options.maxHeight>0&&this.options.minHeight>=this.options.maxHeight;if(typeof this.img!="undefined"){if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){var d=this.getGCD(this.options.ratioDim.x,this.options.ratioDim.y);this.ratioX=this.options.ratioDim.x/d;this.ratioY=this.options.ratioDim.y/d}this.subInitialize();this.img.complete||this.isWebKit?this.onLoad():Event.observe(this.img,
"load",this.onLoad.bindAsEventListener(this))}},getGCD:function(a,b){if(b===0)return a;return this.getGCD(b,a%b)},onLoad:function(){var a=this.img.parentNode,b="";if(this.isOpera8)b=" opera8";this.imgWrap=new Element("div",{"class":"imgCrop_wrap"+b});this.north=(new Element("div",{"class":"imgCrop_overlay imgCrop_north"})).insert(new Element("span"));this.east=(new Element("div",{"class":"imgCrop_overlay imgCrop_east"})).insert(new Element("span"));this.south=(new Element("div",{"class":"imgCrop_overlay imgCrop_south"})).insert(new Element("span"));
this.west=(new Element("div",{"class":"imgCrop_overlay imgCrop_west"})).insert(new Element("span"));b=[this.north,this.east,this.south,this.west];this.dragArea=new Element("div",{"class":"imgCrop_dragArea"});b.each(function(d){this.dragArea.insert(d)},this);this.handleN=new Element("div",{"class":"imgCrop_handle imgCrop_handleN"});this.handleNE=new Element("div",{"class":"imgCrop_handle imgCrop_handleNE"});this.handleE=new Element("div",{"class":"imgCrop_handle imgCrop_handleE"});this.handleSE=new Element("div",
{"class":"imgCrop_handle imgCrop_handleSE"});this.handleS=new Element("div",{"class":"imgCrop_handle imgCrop_handleS"});this.handleSW=new Element("div",{"class":"imgCrop_handle imgCrop_handleSW"});this.handleW=new Element("div",{"class":"imgCrop_handle imgCrop_handleW"});this.handleNW=new Element("div",{"class":"imgCrop_handle imgCrop_handleNW"});this.selArea=new Element("div",{"class":"imgCrop_selArea"});[(new Element("div",{"class":"imgCrop_marqueeHoriz imgCrop_marqueeNorth"})).insert(new Element("span")),
(new Element("div",{"class":"imgCrop_marqueeVert imgCrop_marqueeEast"})).insert(new Element("span")),(new Element("div",{"class":"imgCrop_marqueeHoriz imgCrop_marqueeSouth"})).insert(new Element("span")),(new Element("div",{"class":"imgCrop_marqueeVert imgCrop_marqueeWest"})).insert(new Element("span")),this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW,new Element("div",{"class":"imgCrop_clickArea"})].each(function(d){this.selArea.insert(d)},
this);this.imgWrap.appendChild(this.img);this.imgWrap.appendChild(this.dragArea);this.dragArea.appendChild(this.selArea);this.dragArea.appendChild(new Element("div",{"class":"imgCrop_clickArea"}));a.appendChild(this.imgWrap);this.startDragBind=this.startDrag.bindAsEventListener(this);Event.observe(this.dragArea,"mousedown",this.startDragBind);this.onDragBind=this.onDrag.bindAsEventListener(this);Event.observe(document,"mousemove",this.onDragBind);this.endCropBind=this.endCrop.bindAsEventListener(this);
Event.observe(document,"mouseup",this.endCropBind);this.resizeBind=this.startResize.bindAsEventListener(this);this.handles=[this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW];this.registerHandles(true);if(this.options.captureKeys){this.keysBind=this.handleKeys.bindAsEventListener(this);Event.observe(document,"keypress",this.keysBind)}new CropDraggable(this.selArea,{drawMethod:this.moveArea.bindAsEventListener(this)});this.setParams()},registerHandles:function(a){for(var b=
0;b<this.handles.length;b++){var d=$(this.handles[b]);if(a){var e=false;if(this.fixedWidth&&this.fixedHeight)e=true;else if(this.fixedWidth||this.fixedHeight){var f=d.className.match(/([S|N][E|W])$/),g=d.className.match(/(E|W)$/),h=d.className.match(/(N|S)$/);if(f||this.fixedWidth&&g||this.fixedHeight&&h)e=true}e?d.hide():Event.observe(d,"mousedown",this.resizeBind)}else{d.show();Event.stopObserving(d,"mousedown",this.resizeBind)}}},setParams:function(){this.imgW=this.img.width;this.imgH=this.img.height;
$(this.north).setStyle({height:0});$(this.east).setStyle({width:0,height:0});$(this.south).setStyle({height:0});$(this.west).setStyle({width:0,height:0});$(this.imgWrap).setStyle({width:this.imgW+"px",height:this.imgH+"px"});$(this.selArea).hide();var a={x1:0,y1:0,x2:0,y2:0},b=false;if(this.options.onloadCoords!==null){a=this.cloneCoords(this.options.onloadCoords);b=true}else if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){a.x1=Math.ceil((this.imgW-this.options.ratioDim.x)/2);a.y1=Math.ceil((this.imgH-
this.options.ratioDim.y)/2);a.x2=a.x1+this.options.ratioDim.x;a.y2=a.y1+this.options.ratioDim.y;b=true}this.setAreaCoords(a,false,false,1);if(this.options.displayOnInit&&b){this.selArea.show();this.drawArea();this.endCrop()}this.attached=true},remove:function(){if(this.attached){this.attached=false;this.imgWrap.parentNode.insertBefore(this.img,this.imgWrap);this.imgWrap.parentNode.removeChild(this.imgWrap);Event.stopObserving(this.dragArea,"mousedown",this.startDragBind);Event.stopObserving(document,
"mousemove",this.onDragBind);Event.stopObserving(document,"mouseup",this.endCropBind);this.registerHandles(false);this.options.captureKeys&&Event.stopObserving(document,"keypress",this.keysBind)}},reset:function(){this.attached?this.setParams():this.onLoad();this.endCrop()},handleKeys:function(a){var b={x:0,y:0};if(!this.dragging){switch(a.keyCode){case 37:b.x=-1;break;case 38:b.y=-1;break;case 39:b.x=1;break;case 40:b.y=1;break}if(b.x!==0||b.y!==0){if(a.shiftKey){b.x*=10;b.y*=10}this.moveArea([this.areaCoords.x1+
b.x,this.areaCoords.y1+b.y]);this.endCrop();Event.stop(a)}}},calcW:function(){return this.areaCoords.x2-this.areaCoords.x1},calcH:function(){return this.areaCoords.y2-this.areaCoords.y1},moveArea:function(a){this.setAreaCoords({x1:a[0],y1:a[1],x2:a[0]+this.calcW(),y2:a[1]+this.calcH()},true,false);this.drawArea()},cloneCoords:function(a){return{x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}},setAreaCoords:function(a,b,d,e,f){if(b){d=a.x2-a.x1;e=a.y2-a.y1;if(a.x1<0){a.x1=0;a.x2=d}if(a.y1<0){a.y1=0;a.y2=e}if(a.x2>
this.imgW){a.x2=this.imgW;a.x1=this.imgW-d}if(a.y2>this.imgH){a.y2=this.imgH;a.y1=this.imgH-e}}else{if(a.x1<0)a.x1=0;if(a.y1<0)a.y1=0;if(a.x2>this.imgW)a.x2=this.imgW;if(a.y2>this.imgH)a.y2=this.imgH;if(e!==null){if(this.ratioX>0)this.applyRatio(a,{x:this.ratioX,y:this.ratioY},e,f);else d&&this.applyRatio(a,{x:1,y:1},e,f);b=[this.options.minWidth,this.options.minHeight];f=[this.options.maxWidth,this.options.maxHeight];if(b[0]>0||b[1]>0||f[0]>0||f[1]>0){var g={a1:a.x1,a2:a.x2};a={a1:a.y1,a2:a.y2};
var h={min:0,max:this.imgW},k={min:0,max:this.imgH};if((b[0]!==0||b[1]!==0)&&d)if(b[0]>0)b[1]=b[0];else if(b[1]>0)b[0]=b[1];if((f[0]!==0||f[0]!==0)&&d)if(f[0]>0&&f[0]<=f[1])f[1]=f[0];else if(f[1]>0&&f[1]<=f[0])f[0]=f[1];b[0]>0&&this.applyDimRestriction(g,b[0],e.x,h,"min");b[1]>1&&this.applyDimRestriction(a,b[1],e.y,k,"min");f[0]>0&&this.applyDimRestriction(g,f[0],e.x,h,"max");f[1]>1&&this.applyDimRestriction(a,f[1],e.y,k,"max");a={x1:g.a1,y1:a.a1,x2:g.a2,y2:a.a2}}}}this.areaCoords=a},applyDimRestriction:function(a,
b,d,e,f){if(f=="min"?a.a2-a.a1<b:a.a2-a.a1>b){if(d==1)a.a2=a.a1+b;else a.a1=a.a2-b;if(a.a1<e.min){a.a1=e.min;a.a2=b}else if(a.a2>e.max){a.a1=e.max-b;a.a2=e.max}}},applyRatio:function(a,b,d,e){if(e=="N"||e=="S"){b=this.applyRatioToAxis({a1:a.y1,b1:a.x1,a2:a.y2,b2:a.x2},{a:b.y,b:b.x},{a:d.y,b:d.x},{min:0,max:this.imgW});a.x1=b.b1;a.y1=b.a1;a.x2=b.b2;a.y2=b.a2}else{b=this.applyRatioToAxis({a1:a.x1,b1:a.y1,a2:a.x2,b2:a.y2},{a:b.x,b:b.y},{a:d.x,b:d.y},{min:0,max:this.imgH});a.x1=b.a1;a.y1=b.b1;a.x2=b.a2;
a.y2=b.b2}},applyRatioToAxis:function(a,b,d,e){a=Object.extend(a,{});var f=Math.floor((a.a2-a.a1)*b.b/b.a),g=null,h=g=null;if(d.b==1){g=a.b1+f;if(g>e.max){g=e.max;h=g-a.b1}a.b2=g}else{g=a.b2-f;if(g<e.min){g=e.min;h=g+a.b2}a.b1=g}if(h!==null){g=Math.floor(h*b.a/b.b);if(d.a==1)a.a2=a.a1+g;else a.a1=a.a1=a.a2-g}return a},drawArea:function(){var a=this.calcW(),b=this.calcH(),d=[this.areaCoords.x1+"px",this.areaCoords.y1+"px",a+"px",b+"px",this.areaCoords.x2+"px",this.areaCoords.y2+"px",this.img.width-
this.areaCoords.x2+"px",this.img.height-this.areaCoords.y2+"px"],e=this.selArea.style;e.left=d[0];e.top=d[1];e.width=d[2];e.height=d[3];a=Math.ceil((a-6)/2)+"px";b=Math.ceil((b-6)/2)+"px";this.handleN.style.left=a;this.handleE.style.top=b;this.handleS.style.left=a;this.handleW.style.top=b;this.north.style.height=d[1];b=this.east.style;b.top=d[1];b.height=d[3];b.left=d[4];b.width=d[6];b=this.south.style;b.top=d[5];b.height=d[7];b=this.west.style;b.top=d[1];b.height=d[3];b.width=d[0];this.subDrawArea();
this.forceReRender()},forceReRender:function(){if(this.isIE||this.isWebKit){var a=document.createTextNode(" "),b,d,e;if(this.isIE)fixEl=this.selArea;else if(this.isWebKit){fixEl=document.getElementsByClassName("imgCrop_marqueeSouth",this.imgWrap)[0];b=new Element("div");b.style.visibility="hidden";var f=["SE","S","SW"];for(e=0;e<f.length;e++){d=document.getElementsByClassName("imgCrop_handle"+f[e],this.selArea)[0];d.childNodes.length&&d.removeChild(d.childNodes[0]);d.appendChild(b)}}fixEl.appendChild(a);
fixEl.removeChild(a)}},startResize:function(a){this.startCoords=this.cloneCoords(this.areaCoords);this.resizing=true;this.resizeHandle=Event.element(a).classNames().toString().replace(/([^N|NE|E|SE|S|SW|W|NW])+/,"");Event.stop(a)},startDrag:function(a){this.selArea.show();this.clickCoords=this.getCurPos(a);this.setAreaCoords({x1:this.clickCoords.x,y1:this.clickCoords.y,x2:this.clickCoords.x,y2:this.clickCoords.y},false,false,null);this.dragging=true;this.onDrag(a);Event.stop(a)},getCurPos:function(a){for(var b=
this.imgWrap,d=Element.cumulativeOffset(b);b.nodeName!="BODY";){d[1]-=b.scrollTop||0;d[0]-=b.scrollLeft||0;b=b.parentNode}return{x:Event.pointerX(a)-d[0],y:Event.pointerY(a)-d[1]}},onDrag:function(a){if(this.dragging||this.resizing){var b=null,d=this.getCurPos(a),e=this.cloneCoords(this.areaCoords),f={x:1,y:1};if(this.dragging){if(d.x<this.clickCoords.x)f.x=-1;if(d.y<this.clickCoords.y)f.y=-1;this.transformCoords(d.x,this.clickCoords.x,e,"x");this.transformCoords(d.y,this.clickCoords.y,e,"y")}else if(this.resizing){b=
this.resizeHandle;if(b.match(/E/)){this.transformCoords(d.x,this.startCoords.x1,e,"x");if(d.x<this.startCoords.x1)f.x=-1}else if(b.match(/W/)){this.transformCoords(d.x,this.startCoords.x2,e,"x");if(d.x<this.startCoords.x2)f.x=-1}if(b.match(/N/)){this.transformCoords(d.y,this.startCoords.y2,e,"y");if(d.y<this.startCoords.y2)f.y=-1}else if(b.match(/S/)){this.transformCoords(d.y,this.startCoords.y1,e,"y");if(d.y<this.startCoords.y1)f.y=-1}}this.setAreaCoords(e,false,a.shiftKey,f,b);this.drawArea();Event.stop(a)}},
transformCoords:function(a,b,d,e){var f=[a,b];a>b&&f.reverse();d[e+"1"]=f[0];d[e+"2"]=f[1]},endCrop:function(){this.resizing=this.dragging=false;this.options.onEndCrop(this.areaCoords,{width:this.calcW(),height:this.calcH()})},subInitialize:function(){},subDrawArea:function(){}});
Cropper.ImgWithPreview=Class.create(Cropper.Img,{subInitialize:function(){this.hasPreviewImg=false;if(typeof this.options.previewWrap!="undefined"&&this.options.minWidth>0&&this.options.minHeight>0){this.previewWrap=$(this.options.previewWrap);this.previewImg=this.img.cloneNode(false);this.previewImg.id="imgCrop_"+this.previewImg.id;this.hasPreviewImg=this.options.displayOnInit=true;this.previewWrap.addClassName("imgCrop_previewWrap");this.previewWrap.setStyle({width:this.options.minWidth+"px",height:this.options.minHeight+
"px"});this.previewWrap.appendChild(this.previewImg)}},subDrawArea:function(){if(this.hasPreviewImg){var a=this.calcW(),b=this.calcH(),d={x:this.imgW/a,y:this.imgH/b};a={x:a/this.options.minWidth,y:b/this.options.minHeight};d={w:Math.ceil(this.options.minWidth*d.x)+"px",h:Math.ceil(this.options.minHeight*d.y)+"px",x:"-"+Math.ceil(this.areaCoords.x1/a.x)+"px",y:"-"+Math.ceil(this.areaCoords.y1/a.y)+"px"};a=this.previewImg.style;a.width=d.w;a.height=d.h;a.left=d.x;a.top=d.y}}});
if(window.groups)throw Error('"groups" namespace is already in use!');groups={_config:{},_info:{module:{}},langStrings:{},warnOnLeave:0};if(window.CookieJar)groups.CookieJar=new CookieJar({expires:31536E3,path:"/"});groups.namespace=function(a,b,d){if(groups[a])throw Error("Namespace already exists!");groups[a]=d||{};if(b)groups._config[a]=Object.extend(b,groups._config[a]||{})};groups.i18n=function(a){return a in groups.langStrings?groups.langStrings[a]:a};
groups.ajaxCall=function(a,b,d,e){groups.warnOnLeave++;b.push(function(f){groups.warnOnLeave--;(e||groups.ajaxCall._defaulCallback)(f)});groups.notifier.show("loader",d||"Sending information...");return _S(a,b)};
groups.ajaxCall._defaulCallback=function(a){var b=a instanceof Array?a[0]:a;if(b){groups.modalBox.hide();if(!groups.warnOnLeave&&window.nicEditors&&nicEditors.editors)for(var d=nicEditors.editors.length-1;d>=0;d--)for(var e=nicEditors.editors[d].nicInstances.length-1;e>=0;e--)nicEditors.editors[d].nicInstances[e].oldHash=SHA256.hash(nicEditors.editors[d].nicInstances[e].getContent())}if(b>=1||b===true)if(a[1])document.location.href=a[1];else document.location.reload(true);else groups.notifier.show(b&&
"success"||"error",a[1]||"Oops, an error occured. Mind trying again?")};groups._fixSelects=function(){for(var a=Element.select(groups.modalBox._content,"select"),b=a.length-1;b>=0;b--)a[b].value=a[b].getAttribute("data-default")||a[b].getAttribute("value")};if(!window.groups)throw Error("Cannot find groups namespace!");groups.mini={};
if(!String.prototype.format)String.prototype.format=function(){var a=/(%(\w+):s)|(%s)/g,b=0,d,e="",f=0;if(arguments.length==1&&arguments[0]!==undefined&&(arguments[0]instanceof Array||typeof arguments[0]=="object"))arguments=arguments[0];for(;d=a.exec(this);){e+=this.substring(f,d.index);e+=d[2]?d[2]in arguments?arguments[d[2]]:d[0]:arguments[arguments.length-1>b?b++:b];f=d.index+d[0].length}e+=this.substr(f);return e};
if(!Array.prototype.indexOf)Array.prototype.indexOf=function(a,b){b||(b=0);var d=this.length;if(b<0)b=d+b;for(;b<d;b++)if(this[b]===a)return b;return-1};
groups.mini.ObjecttoQueryString=function(a,b,d){if(typeof b!="string")b="%s";var e="";for(var f in a)a.constructor==Array&&isNaN(parseInt(f))||!a.hasOwnProperty(f)||a[f]===undefined||a[f]===null||(e+=a[f].constructor==Object||a[f].constructor==Array?"&"+groups.mini.ObjecttoQueryString(a[f],b.format(f)+"[%s]",d):"&"+b.format(f)+"="+(d!==false?encodeURIComponent(a[f]):a[f]));return e.substr(1)};
groups.mini.ajaxRequest=function(a,b,d,e,f){var g=false;if(window.XMLHttpRequest)try{g=new XMLHttpRequest}catch(h){}if(!g)return false;if(d&&d.constructor==Object)d=groups.mini.ObjecttoQueryString(d);a=a.toUpperCase();if(a!="POST")b=b+"?"+d;g.open(a.toUpperCase(),b,true);if(!(e instanceof Function))e=groups.mini._dummyFunction;g.onreadystatechange=function(){if(g.readyState==4){if(--groups.mini._activeRequestCount==0&&groups.mini._gLoader)groups.mini._gLoader.style.visibility="hidden";if(Math.floor((g.status||
200)/100)==2)if(f){var k=eval("("+g.responseText+")");return k[0]===true?e(k[2],g):k[0]!==false?e(k,g):groups.notifier.show("error",k[1])}else return e(g);groups.notifier&&groups.notifier.show("error","Oops, an error occured. Mind trying again?")}};a=="POST"&&g.setRequestHeader("Content-type","application/x-www-form-urlencoded");if(groups.mini._gLoader=document.getElementById("gLoader"))groups.mini._gLoader.style.visibility="visible";groups.mini._activeRequestCount++;g.send(d);return g};
groups.mini._activeRequestCount=0;groups.mini.addEvent=function(a,b,d){if(!d.$$guid)d.$$guid=groups.mini.addEvent.guid++;if(!a.events)a.events={};var e=a.events[b];if(!e){e=a.events[b]={};if(a["on"+b])e[0]=a["on"+b]}e[d.$$guid]=d;a["on"+b]=groups.mini.handleEvent};groups.mini.addEvent.guid=1;groups.mini.removeEvent=function(a,b,d){a.events&&a.events[b]&&delete a.events[b][d.$$guid]};
groups.mini.fixEvent=function(a){a.target=a.srcElement;a.preventDefault=groups.mini.fixEvent.preventDefault;a.stopPropagation=groups.mini.fixEvent.stopPropagation;return a};groups.mini.fixEvent.preventDefault=function(){this.returnValue=false};groups.mini.fixEvent.stopPropagation=function(){this.cancelBubble=true};
groups.mini.handleEvent=function(a){var b=true;a=a||groups.mini.fixEvent(window.event);var d=this.events[a.type];for(var e in d){this.$$handleEvent=d[e];if(this.$$handleEvent(a)===false)b=false}return b};groups.mini.setOpacity=document.all?function(a,b){a.style.filter="alpha(opacity="+b*100+")"}:function(a,b){a.style.opacity=b};
groups.mini.opacityEffect=function(a,b,d,e){if(typeof a=="string")a=document.getElementById(a);if(!a||typeof b!="number")return false;if(typeof d!="number")d=b>0.5?0:1;if(a.__opacityTicker){a.__opacityTicker.stop();delete a.__opacityTicker}e instanceof Function||(e=function(){});b>0.5&&groups.mini.setOpacity(a,d);a.__opacityTicker=new groups.mini._animationTicker([d],[b],function(f){groups.mini.setOpacity(a,f.currentVal[0]);if(f.done){a.__opacityTicker=undefined;e(a)}})};
groups.mini._converger=function(a,b,d){this.step=0;this.steps=d;this.increment=5/this.steps;this.c=a;this.m=b-a;this.next=function(){this.step++;return(1-Math.exp(-this.step*this.increment))*this.m+this.c}};
groups.mini._animationTicker=function(a,b,d,e,f){a instanceof Array||(a=[a]);b instanceof Array||(b=[b]);this.startVal=this.currentVal=a;this.endVal=b;if(this.startVal.length!=this.endVal.length)return false;this.tickCallback=d;this.interval=f||50;this.duration=e||500;this.convergers=[];for(d=0;d<a.length;d++)this.convergers.push(new groups.mini._converger(a[d],b[d],Math.round(this.duration/this.interval)));var g=this;this.start=function(){return this.ticker=window.setInterval(this.tickerFunction,
this.interval)};this.stop=function(){if(this.ticker){window.clearInterval(this.ticker);delete this.ticker}};this.tickerFunction=function(){for(var h=g.currentVal.length-1;h>=0;h--)g.currentVal[h]=g.convergers[h].next();if(g.convergers[0].step==g.convergers[0].steps){for(h=g.currentVal.length-1;h>=0;h--)g.currentVal[h]=g.endVal[h];g.done=true;g.stop()}g.tickCallback(g)};this.start()};
groups.mini._clearOnFocus=function(a){a=a.target||a.element();if(a.value==(a.getAttribute("placeholder")||a.getAttribute("data-default"))){a.value="";window.Element&&Element.removeClassName&&Element.removeClassName(a,"groups_sample")}};
groups.mini.initClearOnFocusFields=function(){for(var a=$$("[data-default],[placeholder]"),b=a.length-1;b>=0;b--){if(!a[b].value){a[b].value=a[b].getAttribute("placeholder")||a[b].getAttribute("data-default");Element.addClassName(a[b],"groups_sample")}Event.observe(a[b],"focus",groups.mini._clearOnFocus)}};window.Prototype&&Event.observe(document,"dom:loaded",groups.mini.initClearOnFocusFields);groups.mini._dummyFunction=function(){};
if(!window.groups)throw Error("Cannot find groups namespace!");groups._config.cfScroll=Object.extend({excludedTags:["hr","br","b","i","u","strong","em","span"],duration:0.75,effectDelay:0,transition:"SwingTo"},groups._config.cfScroll||{});groups.cfScroll={};
groups.cfScroll._findAdjacentElement=function(a,b,d,e){if(!a||b!="next"&&b!="previous")return false;if(typeof e!="string"||!(e instanceof Array))e=groups._config.cfScroll.excludedTags;for(b+="Sibling";a&&a!=d&&(!a[b]||a[b].nodeType!=1||e.indexOf(a[b].tagName.toLowerCase())>-1);)a=a[b]?a[b]:a.parentNode;if(a!=d)return a[b]};
groups.cfScroll._scrollTo=function(a,b,d){var e=a.cumulativeOffset(),f={left:0,top:0};if(!b||b==a){d=d=="next"?1:0;f.left=d*a.scrollWidth;f.top=d*a.scrollHeight}else{f=Element.cumulativeOffset(b);f.left=f.left-e.left-(a.clientWidth-b.offsetWidth)/2+a.scrollLeft;f.top=f.top-e.top-(a.clientHeight-b.offsetHeight)/2+a.scrollTop;if(Prototype.Browser.WebKit){f.left-=a.scrollLeft;f.top-=a.scrollTop}a.cfScrollCachedElement=b}a.cfScrollEffect=new Effect.Parallel([new Effect.Tween(a,a.scrollLeft,f.left,{sync:true},
"scrollLeft"),new Effect.Tween(a,a.scrollTop,f.top,{sync:true},"scrollTop")],{duration:groups._config.cfScroll.duration,transition:Effect.Transitions[groups._config.cfScroll.transition],delay:groups._config.cfScroll.effectDelay});return b||a};
groups.cfScroll.scrollElement=function(a,b){a=$(a);if(!a||b!="next"&&b!="previous")return false;var d,e=a.cumulativeOffset();if(a.cfScrollEffect&&a.cfScrollEffect.state!="finished"){a.cfScrollEffect.cancel();d=a.cfScrollCachedElement}else{d=document.viewport.getScrollOffsets();e={x:e.left,y:e.top};e.x=e.x+a.offsetWidth/2-d.left;e.y=e.y+a.offsetHeight/2-d.top;d=document.elementFromPoint(e.x,e.y)}d=groups.cfScroll._findAdjacentElement(d,b,a);return groups.cfScroll._scrollTo(a,d,b)};
if(!window.groups)throw Error("Cannot find groups namespace!");groups._config.infoBox=Object.extend({containerId:"groupsInfoBoxCont",contentId:"groupsInfoBox",offsetTop:1,offsetRigt:50,timeout:5E3,hideEffectDuration:0.5,showEffectDuration:1},groups._config.infoBox||{});groups.infoBox={};groups.infoBox.clearTimer=function(){groups.infoBox.hideTimer&&window.clearTimeout(groups.infoBox.hideTimer)};
groups.infoBox.hide=function(){groups.infoBox.clearTimer();Element.getStyle(groups.infoBox.containerElement,"display")!="none"&&new Effect.Fade(groups.infoBox.containerElement,{duration:groups._config.infoBox.hideEffectDuration})};
groups.infoBox.show=function(a,b,d,e){groups.infoBox.clearTimer();if(b){groups.infoBox.contentElement.innerHTML=b;a=$(a);b=a.cumulativeOffset();b.top+=a.offsetHeight+groups._config.infoBox.offsetTop;if(typeof d!="number")d=groups._config.infoBox.timeout;a=document.viewport.getScrollOffsets();var f=document.viewport.getDimensions();groups.infoBox.containerElement.className="arrowLeft";if(b.left+groups.infoBox.containerElement.offsetWidth>f.width){b.left-=groups.infoBox.containerElement.offsetWidth-
groups._config.infoBox.offsetRight;groups.infoBox.containerElement.className="arrowRight"}groups.infoBox.containerElement.setStyle({left:b.left+"px",top:a.top+f.height+"px",display:"block"});if(e!==false)new Effect.Move(groups.infoBox.containerElement,{y:b.top,x:b.left,mode:"absolute",duration:groups._config.infoBox.showEffectDuration,transition:Effect.Transitions.Bounce});else{groups.infoBox.containerElement.setStyle({display:"none",top:b.top+"px"});new Effect.Appear(groups.infoBox.containerElement,
{duration:groups._config.infoBox.hideEffectDuration})}if(d>0)groups.infoBox.hideTimer=window.setTimeout(groups.infoBox.hide,d)}};groups.infoBox._tipElementMouseOverHandler=function(a){a=Event.findElement(a,"[data-tip]");groups.infoBox.show(a,a.getAttribute("data-tip"),null,false)};
groups.infoBox.init=function(){groups.infoBox.containerElement=document.getElementById(groups._config.infoBox.containerId);groups.infoBox.contentElement=document.getElementById(groups._config.infoBox.contentId);if(!groups.infoBox.containerElement)throw Error("Cannot find container element!");if(!groups.infoBox.contentElement)throw Error("Cannot find content element!");Event.observe(groups.infoBox.containerElement,"click",groups.infoBox.hide);Element.setStyle(groups.infoBox.containerElement,{display:"none",
visibility:"visible"});for(var a=$$("[data-tip]"),b=0,d=a.length;b<d;b++)Event.observe(a[b],"mouseover",groups.infoBox._tipElementMouseOverHandler)};document.observe("dom:loaded",groups.infoBox.init);if(!window.groups)throw Error("Cannot find groups namespace!");groups._config.scroller=Object.extend({moveMultiplier:0.8,kineticDecerelation:1.2E-4,kineticTransition:"EaseTo",motionStartTimeout:25},groups._config.scroller||{});
groups.scroller=function(a,b){if(!(this.element=$(a)))return false;this.options=Object.extend(groups._config.scroller,b||{});this.element.addClassName("groupsGrab");this.element.scroller=this;Event.observe(a,"mousedown",groups.scroller.mouseDownHandler);return this};
groups.scroller.mouseDownHandler=function(a){groups.scroller.activeScroller=a.findElement(".groupsGrab");if(groups.scroller.activeScroller.scroller){if(groups.scroller.activeScroller.scroller.kineticEffect){groups.scroller.activeScroller.scroller.kineticEffect.cancel();groups.scroller.activeScroller.scroller.kineticEffect=undefined}groups.scroller.activeScroller.addClassName("groupsGrabActive");groups.scroller.activeScroller.scroller.initialScroll=groups.scroller.activeScroller.scrollTop;groups.scroller.activeScroller.scroller.lastPos=
groups.scroller.activeScroller.scroller.initialPos=a.pointerY();groups.scroller._setMotionStart();Event.observe(document,"mousemove",groups.scroller.mouseMoveHandler);Event.observe(document,"mouseup",groups.scroller.mouseUpHandler);groups.scroller.activeScroller.scroller.lastMoveTime=(new Date).getTime();a.stop()}};groups.scroller._setMotionStart=function(){groups.scroller.activeScroller.scroller.motionDetector=undefined};
groups.scroller._resetMotionDetector=function(){window.clearTimeout(groups.scroller.activeScroller.scroller.motionDetector);groups.scroller.activeScroller.scroller.motionDetector=window.setTimeout(groups.scroller._setMotionStart,groups.scroller.activeScroller.scroller.options.motionStartTimeout)};
groups.scroller.mouseMoveHandler=function(a){a=a.pointerY();if(!groups.scroller.activeScroller.scroller.motionDetector){groups.scroller.activeScroller.scroller.lastPos=a;groups.scroller.activeScroller.scroller.lastMoveTime=(new Date).getTime()}groups.scroller._resetMotionDetector();groups.scroller.activeScroller.scrollTop=groups.scroller.activeScroller.scroller.initialScroll-(a-groups.scroller.activeScroller.scroller.initialPos)*groups.scroller.activeScroller.scroller.options.moveMultiplier};
groups.scroller._findMinPositiveRoot=function(a,b,d){var e=b*b-4*a*d;if(e<0)return NaN;e=Math.sqrt(e);a*=2;d=[];var f=(-b+e)/a;a=(-b-e)/a;f>=0&&d.push(f);a>=0&&d.push(a);return Math.max.apply(Math,d)};
groups.scroller.mouseUpHandler=function(a){window.clearTimeout(groups.scroller.activeScroller.scroller.motionDetector);var b=(groups.scroller.activeScroller.scroller.lastPos-a.pointerY())/((new Date).getTime()-groups.scroller.activeScroller.scroller.lastMoveTime),d=b*b/2/groups.scroller.activeScroller.scroller.options.kineticDecerelation;a=groups.scroller.activeScroller.scrollTop+(b>0?1:-1)*d;var e=groups.scroller.activeScroller;if(a>=groups.scroller.activeScroller.scrollHeight){a=groups.scroller.activeScroller.scrollHeight;
scrollLength=a-groups.scroller.activeScroller.scrollTop}else if(a<=0){a=0;d=groups.scroller.activeScroller.scrollTop}b=groups.scroller._findMinPositiveRoot(groups.scroller.activeScroller.scroller.options.kineticDecerelation/2,Math.abs(b),-d);groups.scroller.activeScroller.scroller.kineticEffect=new Effect.Tween(e,groups.scroller.activeScroller.scrollTop,a,{duration:b/1E3,transition:Effect.Transitions[groups.scroller.activeScroller.scroller.options.kineticTransition]},"scrollTop");groups.scroller.activeScroller.removeClassName("groupsGrabActive");
groups.scroller.activeScroller.scroller.lastPos=NaN;groups.scroller.activeScroller=undefined;Event.stopObserving(document,"mousemove",groups.scroller.mouseMoveHandler);Event.stopObserving(document,"mouseup",groups.scroller.mouseUpHandler)};groups.scroller._stopEventIfActive=function(a){groups.scroller.activeScroller&&a.stop()};Event.observe(document,"selectstart",groups.scroller._stopEventIfActive);Event.observe(document,"dragstart",groups.scroller._stopEventIfActive);
if(!window.groups)throw Error("Cannot find groups namespace!");
groups._config.share=Object.extend({shareElementSelector:".groups_share_element",linkContainerId:"groups_share_links_container",services:{"E-Mail":{shareURL:"mailto:yourfriend@mail.com?subject=%title:s&body=%url:s",icon:"/images/fugue/mail.png"},Facebook:{baseURL:"http://www.facebook.com",shareURL:"http://www.facebook.com/sharer.php?u=%url:s&t=%title:s",icon:"http://www.facebook.com/favicon.ico"},Twitter:{baseURL:"http://twitter.com",shareURL:"http://twitter.com/?status=%title:s+%url:s",icon:"http://twitter.com/favicon.ico"},
FriendFeed:{baseURL:"http://friendfeed.com",shareURL:"http://friendfeed.com/?url=%url:s&title=%title:s",icon:"http://friendfeed.com/favicon.ico"},Delicious:{baseURL:"http://delicious.com",shareURL:"http://delicious.com/save?v=5&url=%url:s&title=%title:s",icon:"http://delicious.com/favicon.ico"},StumbleUpon:{baseURL:"http://www.stumbleupon.com",shareURL:"http://www.stumbleupon.com/submit?url=%url:s&title=%title:s",icon:"http://www.stumbleupon.com/favicon.ico"},MySpace:{baseURL:"http://www.myspace.com",
shareURL:"http://www.myspace.com/index.cfm?fuseaction=postto&u=%url:s&t=%title:s",icon:"http://www.myspace.com/favicon.ico"},"Google Buzz":{baseURL:"http://www.google.com/buzz",shareURL:"http://www.google.com/buzz/post?url=%url:s",icon:"http://www.gstatic.com/buzz/api/images/buzz-link.png"}}},groups._config.share||{});groups.share={};groups.share.init=function(){for(var a=$$(groups._config.share.shareElementSelector),b=a.length-1;b>=0;b--)Event.observe(a[b],"click",groups.share.showPopup)};
groups.share.showPopup=function(a){var b=a.findElement("a"),d=b.getAttribute("href");b=b.getAttribute("title");var e;if(!d||d=="#"||d.match(/^javascript\:/))d=document.location.href;b||(b=document.title.replace(RegExp(RegExp.escape([groups._info.titleSeperator,groups._info.moduleTitle,groups._info.titleSeperator,groups._info.title].join(""))+"$"),""));e={url:encodeURIComponent(d),title:encodeURIComponent(b)};groups.modalBox.show("share",{afterShow:function(){var f=$(groups._config.share.linkContainerId),
g,h;for(var k in groups._config.share.services)if(groups._config.share.services.hasOwnProperty(k)){g=document.createElement("LI");h=g.appendChild(document.createElement("A"));h.setAttribute("target","_blank");h.href=groups._config.share.services[k].shareURL.format(e);h.appendChild(document.createTextNode(k));h.style.background='url("%s") no-repeat center left'.format(groups._config.share.services[k].icon);h.onclick=groups.modalBox.hide;f.appendChild(g)}}},"_common");Event.stop(a);return false};
Event.observe(document,"dom:loaded",groups.share.init);groups._config.slidingTabs=Object.extend({autoSlideTimeout:8E3,idFormat:"%s-content"},groups._config.slidingTabs||{});
groups.slidingTabs=function(a,b){a=$(a);var d=a.select(".tabsContentContainer")[0],e=a.getElementsByTagName("UL")[0].getElementsByTagName("LI"),f=d.select(".panel"),g=d.clientWidth,h,k,l=0;i=0;for(length=f.length;i<length;i++){k=f[i].offsetWidth-parseInt(Element.getStyle(f[i],"width"));h=g-k;f[i].style.width=h+"px";l+=h+k+parseInt(Element.getStyle(f[i],"margin-left"))+parseInt(Element.getStyle(f[i],"margin-right"))}d.select(".tabsContentWrapper")[0].style.width=l+"px";var m=function(n){if(Object.isElement(n))n=
n;else{n=n.findElement("LI");if(d.autoSlide){clearInterval(d.autoSlide);d.autoSlide=undefined}}d.selectedTab.removeClassName("selected");d.selectedTab.firstDescendant().removeClassName("special_bg_reverse special_border");n.addClassName("selected");n.firstDescendant().addClassName("special_bg_reverse special_border");d.selectedTab=n;groups.cfScroll._scrollTo(d,document.getElementById(groups._config.slidingTabs.idFormat.format(n.id)))};i=0;for(length=e.length;i<length;i++){e[i]=$(e[i]);e[i].observe("mouseover",
m)}d.selectedTab=e[0];if(typeof b!="number")b=groups._config.slidingTabs.autoSlideTimeout;if(b>0)d.autoSlide=window.setInterval(function(){m(d.selectedTab.next()||e[0])},b)};if(!window.groups)throw Error("Cannot find groups namespace!");
groups._config.bar=Object.extend({containerId:"groups_bar",buttonClassName:"button",activeClassName:"active",panelClassName:"panel",countClassName:"count",countOverlayUrl:"/images/groups_bar/overlay.png",countOverlayClassName:"groups_bar_overlay"},groups._config.bar||{});groups.bar={_eventHandlers:{}};
groups.bar.activateButton=function(a){groups.bar._activeButton&&Element.removeClassName(groups.bar._activeButton,groups._config.bar.activeClassName);if(groups.bar._activeButton!=a){Element.addClassName(a,groups._config.bar.activeClassName);groups.bar._activeButton=a;Event.fire(a,"bar:buttonActivate")}else groups.bar._activeButton=undefined;groups.bar._container.className=groups.bar._container.className};
groups.bar._eventHandlers.buttonClick=function(a){var b=Event.findElement(a,"."+groups._config.bar.buttonClassName);groups.bar.activateButton(b);Event.stop(a);return false};groups.bar._eventHandlers.documentClick=function(a){if(groups.bar._activeButton&&Event.findElement(a,"#"+groups._config.bar.containerId)!=groups.bar._container){Element.removeClassName(groups.bar._activeButton,groups._config.bar.activeClassName);groups.bar._activeButton=undefined;groups.bar._container.className=groups.bar._container.className}};
groups.bar._eventHandlers.documentKeyDown=function(a){if((a.ctrlKey||a.metaKey)&&a.keyCode==32||a.keyCode==27){if(a.keyCode!=27||groups.bar._activeButton)Event.stop(a);groups.bar.activateButton(a.keyCode==27?groups.bar._activeButton:groups.bar._activeButton&&Element.next(groups.bar._activeButton,"."+groups._config.bar.buttonClassName)||Element.firstDescendant(groups.bar._container))}};
groups.bar.addButton=function(a,b,d,e){Element.addClassName(a,groups._config.bar.buttonClassName);if(b){Element.addClassName(b,groups._config.bar.panelClassName);groups.bar._container.insertBefore(b,d)}groups.bar._container.insertBefore(a,b||d);groups.bar.init();e&&groups.bar.activateButton(a);return a};
groups.bar.removeButton=function(a){a=$(a);var b=a.next();if(groups.bar._activeButton==a)groups.bar._activeButton=undefined;groups.bar._container.removeChild(a);b&&b.hasClassName(groups._config.bar.panelClassName)&&groups.bar._container.removeChild(b);groups.bar.initButtons()};
groups.bar.initButtons=function(){for(var a=groups.bar._container.children||groups.bar._container.childNodes,b=groups._config.bar.buttonClassName,d,e,f=0,g=a.length;f<g;f++)if((d=a[f])&&Element.hasClassName(d,b))if((e=Element.next(d))&&Element.hasClassName(e,groups._config.bar.panelClassName)){Event.observe(d,"click",groups.bar._eventHandlers.buttonClick);if(e.hasClassName(groups._config.bar.panelClassName))e.style.right=groups.bar._container.clientWidth-d.offsetLeft-d.offsetWidth-1+"px"}};
groups.bar.init=function(){groups.bar._container=$(groups._config.bar.containerId);if(groups.bar._container){Event.observe(document,"click",groups.bar._eventHandlers.documentClick);Event.observe(document,"keydown",groups.bar._eventHandlers.documentKeyDown);groups.bar.initButtons()}};Event.observe(document,"dom:loaded",groups.bar.init);if(!window.groups)throw Error("Cannot find groups namespace!");
groups._config.comments=Object.extend({api:{URL:"/api2.php",functions:{add:"addComment","delete":"deleteComment"}},fields:{comment_namesurname:{rule:/^[^\s]{2,}/,paramName:"name_surname"},comment_email:{rule:/^[\w._%+-]+@[\w.-]+\.[\w]{2,6}$/,paramName:"email"},comment_website:{rule:/(^$)|(^[\w.-]+)/,paramName:"website"},comment_message:{rule:/[^\s]+/,paramName:"comment",clearAfterSuccess:true},comment_object_id:{rule:/.+/,paramName:"object_id"},comment_follow_comments:{paramName:"follow_comments"}},
formats:{commentContainerId:"comment_%s",commentDeleteId:"delete_comment_%s"},deleteButtonPattern:/^delete_comment_(\d+)$/,ids:{commentsList:"comments_list",addCommentForm:"comment_form",addCommentButton:"comment_send_button"}},groups._config.comments||{});groups.comments={_eventHandlers:{}};
groups.comments._eventHandlers.add=function(){var a,b={},d=[];for(var e in groups._config.comments.fields)if(groups._config.comments.fields.hasOwnProperty(e)&&(a=document.getElementById(e))&&(a.type!="checkbox"||a.checked))if(a.value!=a.getAttribute("data-default")&&(!groups._config.comments.fields[e].rule||a.value.match(groups._config.comments.fields[e].rule))){b[groups._config.comments.fields[e].paramName]=a.value;groups._config.comments.fields[e].clearAfterSuccess&&d.push(a)}else{groups.notifier.show("error",
"You should fill all the fields correctly to add a comment. (%s)".format(groups._config.comments.fields[e].paramName));return false}groups.comments.add(b,d);return false};
groups.comments.add=function(a,b){a.groupName=groups._info.groupName;a.module=groups._info.module.name;a["function"]=groups._config.comments.api.functions.add;a.format="json";var d=groups.mini.ajaxRequest("post",groups._config.comments.api.URL,a,groups.comments._addCallback,true);d.clearList=b;groups.notifier.show("loader","Adding your comment...");document.getElementById(groups._config.comments.ids.addCommentButton).disabled=true;return d};
groups.comments._addCallback=function(a,b){groups.notifier.show("success","Your comment is added successfully.");for(var d=b.clearList.length-1;d>=0;d--)b.clearList[d].value="";document.getElementById(groups._config.comments.ids.addCommentButton).disabled=false;a.path=document.location.pathname;new groups.common.ContentFetcher("comment",{replacements:a,onComplete:groups.comments._commentReady},"_common")};groups.comments._commentReady=function(a){groups.comments._commentsArea.innerHTML+=a};
groups.comments["delete"]=function(a){if(confirm("Are you sure you want to delete this comment?")){a.groupName=groups._info.groupName;a.module=groups._info.module.name;a["function"]=groups._config.comments.api.functions["delete"];a.format="json";groups.mini.ajaxRequest("post",groups._config.comments.api.URL,a,groups.comments._deleteCallback,true).commentId=a.comment_id;groups.notifier.show("loader","Deleting the comment...")}};
groups.comments._deleteCallback=function(a,b){groups.notifier.show("success","The comment is deleted successfully.");window.Effect&&Effect.DropOut(document.getElementById(groups._config.comments.formats.commentContainerId.format(b.commentId)),{delay:0.1});return true};
groups.comments.init=function(){groups.comments._addCommentForm=document.getElementById(groups._config.comments.ids.addCommentForm);if(groups.comments._addCommentForm){groups.comments._commentsArea=document.getElementById(groups._config.comments.ids.commentsList);Event.observe(document.getElementById(groups._config.comments.ids.addCommentButton),"click",groups.comments._eventHandlers.add)}};Event.observe(document,"dom:loaded",groups.comments.init);
groups._contentToType=function(a){if(a.content=="D"){a.small="";a.detailed="checked"}else{a.small="checked";a.detailed=""}return a};
groups.namespace("common",{contentProvider:"/popup_content_generator.php",api:{url:"/api2.php",options:{onComplete:function(a){var b,d;if(Math.floor(a.status/100)==2){b="success";d="Operation completed successfully.";groups.modalBox.hide()}else{b="error";d="Oops, an error occurred. Mind trying again?"}groups.notifier.show(b,a.responseJSON&&a.responseJSON.msg||d)}}},editBlocks:{popupIdPattern:"editBlock_%s",preProcessors:{tab_admins:function(a){if(a.content=="simple"){a.small="checked";a.detailed=
""}else{a.small="";a.detailed="checked"}return a},tab_photos:groups._contentToType,tab_talks:groups._contentToType,tab_blogs:groups._contentToType,tab_calendar:groups._contentToType,tab_groups:groups._contentToType,tab_birthdays:groups._contentToType}},movables:{WithSidebar:{col_sidebar:{}},MovableWithSidebar:{col_main:{constraint:"vertical",containment:["col_main"],onUpdate:function(a){groups.common.apiCall("module_blocks","saveBlocks",{module_name:groups._info.module.name,object:groups._info.module.subgroupId,
modules:Sortable.objectize(a)},"Saving page design...")}},col_sidebar:{constraint:"vertical",containment:["col_sidebar"]}},"default":{col_1:{},col_2:{},col_3:{}}}});groups.common.apiCall=function(a,b,d,e,f){f=Object.extend(groups._config.common.api.options,f||{});d.groupName=groups._info.groupName;d.module=a;d["function"]=b;f.parameters=d;new Ajax.Request(groups._config.common.api.url,f);e&&groups.notifier.show("loader",e)};
groups.common.processTemplate=function(a){for(var b=[],d=0,e=a.items.length;d<e;d++)b.push(a.template.format(a.items[d]));return b.join("")};
groups.common.ContentFetcher=function(a,b,d){this.options=Object.extend({replacements:{},onComplete:Prototype.emptyFunction,onContentReady:Prototype.emptyFunction},b||{});this.contentId=a;this.module=d||groups._info.module.name;Object.isFunction(this.options.replacements)?this.options.replacements(this._replacementsReady.bind(this)):this._replacementsReady(this.options.replacements);a=groups._info.languageRevision||{main:1,custom:1,name:"english"};var e=this;this._loader=new Ajax.Request(groups._config.common.contentProvider,
{method:"get",parameters:{groupName:groups._info.groupName||"",module:this.module,id:this.contentId,language:groups._info.language,rm:a.main,rc:a.custom,language:a.name},onSuccess:function(f){e._content=f.responseText;e.options.onContentReady.call(e,f);e._finish()}})};
groups.common.ContentFetcher.prototype._replacementsReady=function(a){if(Object.isString(a))a=eval("("+a+")");if(!Object.isArray(a))for(var b in a)if(a.hasOwnProperty(b)&&!Object.isString(a[b])&&a[b].items&&a[b].template)a[b]=groups.common.processTemplate(a[b]);this.options.replacements=a;this._finish()};
groups.common.ContentFetcher.prototype._finish=function(){if(this.options.replacements&&typeof this.options.replacements=="object"&&this._loader&&this._loader._complete){var a="";a=Object.isArray(this.options.replacements)?groups.common.processTemplate({template:this._content,items:this.options.replacements}):this._content.format(this.options.replacements);this.options.onComplete.call(this,a)}};groups.common.ContentFetcher.prototype.stop=function(){this._loader&&!this._loader._complete&&this._loader.transport.abort()};
groups.common.toggleAdminBar=function(a){if($("bottom_administrate_link")&&$("topbar_admin")){if(typeof a!="boolean")a=(a=groups.CookieJar.get("adminBarOpen"))&&a.state||false;if(!(groups.common.toggleAdminBar.activeEffect&&groups.common.toggleAdminBar.activeEffect.state!="finished")){var b=[];if(a){b.push(new Effect.SlideDown("topbar_admin",{transition:Effect.Transitions.SwingFromTo,sync:true,scaleMode:"contents"}));b.push(new Effect.Fade("bottom_administrate_link",{sync:true}));$("bottom_administrate_zeus")&&
b.push(new Effect.Morph("bottom_administrate_zeus",{style:{bottom:"-115px"},transition:Effect.Transitions.SwingFromTo,sync:true}));if(groups.modalBox._standardScroll)document.documentElement.scrollTop=0;else document.body.scrollTop=0}else{b.push(new Effect.SlideUp("topbar_admin",{transition:Effect.Transitions.SwingFromTo,sync:true}));b.push(new Effect.Appear("bottom_administrate_link",{sync:true}));$("bottom_administrate_zeus")&&b.push(new Effect.Morph("bottom_administrate_zeus",{style:{bottom:"-10px"},
transition:Effect.Transitions.SwingFromTo,sync:true}))}groups.common.toggleAdminBar.activeEffect=new Effect.Parallel(b,{duration:0.5});groups.CookieJar.put("adminBarOpen",{state:a})}}};groups.toggleAdminBar=groups.common.toggleAdminBar;
groups.common.toggleZeusHints=function(a){if(!(groups.common.toggleZeusHints.activeEffect&&groups.common.toggleZeusHints.activeEffect.state!="finished")){var b=$("bottom_speech_bubble"),d=$("show_hints");if(a===undefined)a=!b.visible();var e=[];if(a){e.push(new Effect.Appear(b,{sync:true}));e.push(new Effect.Fade(d,{sync:true}))}else{e.push(new Effect.Fade(b,{sync:true}));e.push(new Effect.Appear(d,{sync:true}))}groups.common.toggleZeusHints.activeEffect=new Effect.Parallel(e,{duration:0.3})}};
groups.common.initMovables=function(){if(groups._info.module.designMode){var a=groups._config.common.movables[groups._info.module.layout]||groups._config.common.movables["default"],b,d;groups._info.movableContainers=Object.keys(a);for(var e=0,f=groups._info.movableContainers.length;e<f;e++){b=groups._info.movableContainers[e];d=a[b];container=$(b);container.style.minHeight="300px";Sortable.create(container,{tag:"div",dropOnEmpty:true,containment:d.containment||groups._info.movableContainers,only:"movable",
constraint:d.constraint,ghosting:false,handle:"box_top",scroll:window,onUpdate:d.onUpdate||groups.common.savePageDesign})}}};
groups.common.savePageDesign=function(){var a=groups.common.savePageDesign._r,b=[];a&&a.readyState!=4&&a.abort();a=0;for(var d=groups._info.movableContainers.length;a<d;a++)b.push(Sortable.serialize(groups._info.movableContainers[a]));b=b.join("xxxCOLUMNxxx");groups.common.savePageDesign._r=groups._info.module.name=="home"?groups.ajaxCall("saveHomePageDesign",[b],"Saving page design...",groups.common._savePageDesignCallback):groups.ajaxCall("ExtraBlocks_savePageDesign",[groups._info.module.name,b,
groups._info.module.mode],"Saving page design...",groups.common._savePageDesignCallback)};groups.common._savePageDesignCallback=function(a){a[0]?groups.notifier.show("success","Page design saved."):groups.notifier.show("error",a[1]||"Oops, an error occured. Mind trying again?")};
groups.common.removeBlock=function(a){if(confirm("Are you sure you want to remove the block?"))groups._info.module.name=="home"?groups.ajaxCall("removeBlock",[a],"Removing block...",groups.common._removeBlockCallback):groups.ajaxCall("ExtraBlocks_removeBlock",[groups._info.module.name,a,groups._info.module.mode],"Removing block...",groups.common._removeBlockCallback)};
groups.common._removeBlockCallback=function(a){if(a[0]){groups.notifier.hide();Effect.DropOut("top_block_no_"+a[1])}else groups.notifier.show("error",a[1])};groups.common.selectBlock=function(a){groups._info.module.name=="home"?groups.ajaxCall("selectBlock",[a],"Getting block info...",editBlockForm):groups.ajaxCall("ExtraBlocks_selectBlock",[groups._info.module.name,a],"Getting block info...",editBlockForm)};
groups.common.initBlockButtons=function(){for(var a=$$(".groups_block_button"),b=a.length-1;b>=0;b--){Event.observe(a[b],"click",groups.common._blockButtonClickHandler);Event.observe(a[b],"mousedown",groups.common._blockButtonMouseDownHandler)}};groups.common._blockButtonClickHandler=function(a){var b=a.findElement("a");groups.common[b.getAttribute("data-action")+"Block"](b.getAttribute("data-blockid"));Event.stop(a);return false};
groups.common._blockButtonMouseDownHandler=function(a){Event.stop(a);return false};function reportIssue(a,b){groups.modalBox.show("reportIssue",{replacements:{cpLink:a,url:b||document.location.href}},"_common")}groups.common.reportIssuePost=function(a,b){(b=b&&b.strip())&&b.length>=5?groups.ajaxCall("reportIssue",[b,a],"Reporting issue...",groups.common._reportIssueCallback):groups.notifier.show("error","You should provide a valid reason to report an issue.")};
groups.common._reportIssueCallback=function(a){if(a){groups.modalBox.hide();groups.notifier.show("success","Reported to the admin, thanks!")}else groups.notifier.show("error","Please fill the form correctly.")};groups.common.sendMessage=function(a,b){var d=(b||groups._info.module.profileOwnerName||"").truncate();groups.modalBox.show("sendMessage",{replacements:{id:a,name:d}},"_common")};
groups.common._postMessage=function(a){var b=document.getElementById("send_message_msg").value.strip();if(!b){groups.notifier.show("error","You cannot send an empty message.");return false}groups.common.apiCall("imsg","sendMessage",{to:a,msg:b},"Sending message...")};groups.common.poke=function(a,b){groups.common.apiCall("members","poke",{who:a},groups.i18n("Poking %s...").format(b||groups._info.module.profileOwnerName||""))};
groups.common.addAsFriend=function(a,b){groups.modalBox.show("addAsFriend",{replacements:{memberName:a,name:b||groups._info.module.profileOwnerName||""}},"_common")};groups.common._addAsFriendPost=function(a,b,d){groups.common.apiCall("members","addAsFriend",{member_name:a,message:d,actions:b},"Adding to friend list...",{onSuccess:groups.common._addAsFriendSuccess})};
groups.common._addAsFriendSuccess=function(a){if(groups.toaster&&groups.toaster._cache)groups.toaster._cache={};(a=$("link_friendlist")||$("friend_request_"+a.request.parameters.member_name))&&Effect.DropOut(a)};groups.common._autoSelectClickHandler=function(a){(a=Event.findElement(a,"input"))&&a.select&&a.select()};groups.common.initAutoSelects=function(){for(var a=$$("input.autoselect"),b=0,d=a.length;b<d;b++)Event.observe(a[b],"click",groups.common._autoSelectClickHandler)};
groups.common.HTMLtoDocumentFragment=function(a,b){b||(b=document);var d=b.createDocumentFragment(),e=b.createElement("DIV");for(e.innerHTML=a;e.firstChild;)d.appendChild(e.firstChild);return d};Event.observe(document,"dom:loaded",groups.toggleAdminBar);Event.observe(document,"dom:loaded",function(){var a=$("topbar_admin");a&&a.observe("click",function(b){Event.element(b).tagName.toLowerCase()!="a"&&groups.common.toggleAdminBar(false)})});Event.observe(document,"dom:loaded",groups.common.initBlockButtons);
Event.observe(document,"dom:loaded",groups.common.initMovables);Event.observe(document,"dom:loaded",groups.common.initAutoSelects);
window.onbeforeunload=function(){var a=window.event&&$(document.elementFromPoint(window.event.clientX,window.event.clientY));a=(a=a&&[a].concat(a.ancestors()))&&(Selector.matchElements(a,'a[href^="javascript:"]').length||Selector.matchElements(a,'input[type="submit"]').length);var b=0;if(!a&&!groups.warnOnLeave&&window.nicEditors&&nicEditors.editors)for(var d=nicEditors.editors.length-1;d>=0;d--)for(var e=nicEditors.editors[d].nicInstances.length-1;e>=0;e--)!nicEditors.editors[d].nicInstances[e].ignoreHash&&
SHA256.hash(nicEditors.editors[d].nicInstances[e].getContent())!=nicEditors.editors[d].nicInstances[e].oldHash&&b++;if(!a&&(groups.warnOnLeave>0||b>0))return groups.i18n("Leaving this page will cancel any ongoing operations on the page and you will loose any changes you did not save.")};window.groups||(groups={_config:{}});
groups._config.gGadgets=Object.extend({proxyURL:"http://grou.ps/includes/iframe.proxy.php?page=",gGadgetGalleryURL:"http://www.google.com/ig/directory?synd=open",iframeId:"gGadgetsFrame"},groups._config.gGadgets||{});groups.gGadgets={};
groups.gGadgets.init=function(){groups.gGadgets.iFrameElement=document.getElementById(groups._config.gGadgets.iframeId);if(!groups.gGadgets.iFrameElement)return false;$(groups.gGadgets.iFrameElement).observe("readystatechange",groups.gGadgets._readyStateChangeHandler);$(groups.gGadgets.iFrameElement).observe("load",groups.gGadgets._pageLoadHandler);groups.gGadgets.iFrameElement.src=groups._config.gGadgets.proxyURL+encodeURIComponent(groups._config.gGadgets.gGadgetGalleryURL)};
groups.gGadgets._readyStateChangeHandler=function(a){groups.gGadgets.iFrameElement.contentWindow.document.readyState=="complete"&&groups.gGadgets._pageLoadHandler(a)};
groups.gGadgets._pageLoadHandler=function(){groups.gGadgets.iFrameElement.contentWindow.XMLHttpRequest=groups.gGadgets.proxyXHR;groups.gGadgets.iFrameElement.contentWindow.updatePreviewWithoutChecks=groups.gGadgets._updatePreviewWithoutChecks;groups.gGadgets.iFrameElement.contentWindow._addToWebpage=groups.gGadgets._addToWebpage;groups.gGadgets.iFrameElement.contentWindow.getTheCode=groups.gGadgets._getTheCode;if(groups.gGadgets.iFrameElement.contentWindow.document.forms.f)for(var a=groups.gGadgets.iFrameElement.contentWindow.document.forms.f,
b=0,d=a.length;b<d;b++)if(a[b].value=="Get the Code"){a[b].value="Add to Your Group";break}if(groups.gGadgets.iFrameElement.contentWindow._gel("f1"))groups.gGadgets.iFrameElement.contentWindow._gel("f1").parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.display="none";if(groups.gGadgets.iFrameElement.contentWindow._gel("lang_selector"))groups.gGadgets.iFrameElement.contentWindow._gel("lang_selector").style.display="none";a=groups.gGadgets.iFrameElement.contentWindow.document.getElementsByTagName("iframe");
b=0;for(d=a.length;b<d;b++)a[b].src=groups._config.gGadgets.proxyURL+encodeURIComponent(a[b].src);groups.gGadgets.iFrameElement.contentWindow.updatePreview&&groups.gGadgets.iFrameElement.contentWindow.updatePreview()};groups.gGadgets._addToWebpage=function(a,b){var d=groups.gGadgets.iFrameElement.contentWindow.config.open.igCreatorUrl;d+="?synd=open";d+="&url="+encodeURIComponent(a);d+="&lang="+b;groups.gGadgets.iFrameElement.contentWindow.document.location.href=groups._config.gGadgets.proxyURL+encodeURIComponent(d)};
groups.gGadgets._getTheCode=function(){var a=groups.gGadgets.iFrameElement.contentWindow.document.getElementById("title").value||"Google Gadget",b=groups.gGadgets.iFrameElement.contentWindow.document.getElementById("thecode").value.replace(/&amp;title\=[^&?]*&amp;/,"&amp;").replace(/&amp;border\=[^&?]*&amp;/,"&amp;border=none&amp;");if(window.x_addBlock)groups.ajaxCall("addBlock",["extra_box",a,b],"Adding gadget...");else window.x_ExtraBlocks_addBlock&&groups.ajaxCall("ExtraBlocks_addBlock",[current_module,
"extra_box",a,b,"",0],"Adding gadget...")};groups.gGadgets.proxyXHR=function(){var a=new XMLHttpRequest;a._open=a.open;a.open=function(b,d,e,f,g){if(d.charAt(0)=="/")d="http://www.gmodules.com"+d;d=groups._config.gGadgets.proxyURL+encodeURIComponent(d);this._open(b,d,e,f,g)};return a};groups.gGadgets._proxifyURL=function(a,b,d){return b+'="'+groups._config.gGadgets.proxyURL+encodeURIComponent(d)};
groups.gGadgets._sendx=function(a,b,d,e){var f=groups.gGadgets.proxyXHR();f.open(e?"POST":"GET",a,groups.gGadgets.iFrameElement.contentWindow.ig_a);if(b)f.onreadystatechange=function(){if(f.readyState==4)b(d&&f.responseXML?f.responseXML:f.responseText)};f.send(e||groups.gGadgets.iFrameElement.contentWindow.ig_)};
groups.gGadgets._updatePreviewWithoutChecks=function(){var a=groups.gGadgets.iFrameElement.contentWindow.gatherUserprefs(),b=groups.gGadgets.iFrameElement.contentWindow._gel,d=groups.gGadgets.iFrameElement.contentWindow._esc,e=groups.gGadgets._sendx,f=groups.gGadgets.iFrameElement.contentWindow.urlparams;if(a!="")b("settings").style.display="block";var g=parseInt(b("width").value),h=parseInt(b("height").value),k="url="+groups.gGadgets.iFrameElement.contentWindow.document.getElementsByTagName("BASE")[0].href.match(/&url=([^&?]+)&/)[1]+
"&"+a+"synd=open&w="+g+"&h="+h;a=b("title").value;k+="&title="+d(a).replace(/%20/g,"+");if(f.nocache!=null)k+="&nocache="+parseInt(f.nocache);if(f.brand!=null)k+="&brand="+d(f.brand);a=b("locale");if(a!=null){a=a.value.split(" ");if(a.length==2){k+="&lang="+a[0]+"&country="+a[1];a=a[0].toLowerCase();g="en".toLowerCase();if(a!="all"&&g!="all"&&a!=g)top.location="creator?"+k}}a=false;for(g=0;g<groups.gGadgets.iFrameElement.contentWindow.document.f.border.length;g++)if(groups.gGadgets.iFrameElement.contentWindow.document.f.border[g].checked){k+=
"&border="+d(b("radio"+groups.gGadgets.iFrameElement.contentWindow.document.f.border[g].value).value).replace(/%20/g,"+");a=true;break}if(!a&&f.border!=null)k+="&border="+d(f.border).replace(/%20/g,"+");var l="/ig/borderedgadget?"+k;e(l,function(m){b("preview").innerHTML="";if(f.deb=="1"){b("preview").innerHTML="<font size=-2><a href="+l.replace(/&/g,"&amp;")+">iframe link</a></font>";b("preview").innerHTML+="<br>";b("preview").innerHTML+="<font size=-2>"+l.replace(/&/g,"<br>&")+"</font>"}m=m.replace(/__LOCATION__/g,
encodeURIComponent(groups.gGadgets.iFrameElement.contentWindow.location.href)).replace(/(<iframe[^>]+src)="(https?\:\/\/[^"]+)/i,groups.gGadgets._proxifyURL);b("preview").innerHTML+=m;b("thecode").value='<script src="http://www.gmodules.com/ig/ifr?'+k.replace(/&/g,"&amp;")+'&amp;output=js"><\/script>';b("link_to_this_page1").href=b("link_to_this_page2").href="http://www.gmodules.com/ig/creator?"+k},false,null);b("preview-bottom").style.width=b("width").value-20;b("preview-right").style.height=b("height").value-
20};if(!window.groups)throw Error("Cannot find groups namespace!");groups._config.modalBox=Object.extend({bgOverlayId:"bg_differentiation",containerId:"ajax_popup",contentId:"ajax_popup_content",loadingHTML:'<img src="http://grou.ps/images/loadinfo.gif" style="display: block; margin: auto" />',effects:{show:{name:"Appear",duration:0.5},hide:{name:"Fade",duration:0.25}}},groups._config.modalBox||{});groups.modalBox={};groups.modalBox.stopLoader=function(){groups.modalBox._loader&&groups.modalBox._loader.stop()};
groups.modalBox.show=function(a,b,d){groups.modalBox.stopLoader();groups.modalBox.options=undefined;b=Object.extend({showLoading:true,replacements:{},afterShow:Prototype.emptyFunction},b||{});b.showLoading&&groups.modalBox.showLoading();groups.modalBox.options=b;groups.modalBox._loader=new groups.common.ContentFetcher(a,{replacements:b.replacements,onComplete:groups.modalBox.showHTML},d)};
groups.modalBox.showHTML=function(a){groups.modalBox._content.innerHTML=a;groups.modalBox._afterShow();if(groups.modalBox._container.style.display=="none"){Element.show(groups.modalBox._bgOverlay);Element.show(groups.modalBox._container);if(groups.modalBox._standardScroll){groups.modalBox._oldScrollTop=document.documentElement.scrollTop;document.documentElement.scrollTop=0}else{groups.modalBox._oldScrollTop=document.body.scrollTop;document.body.scrollTop=0}}};groups.modalBox.showLoading=function(){groups.modalBox.showHTML(groups._config.modalBox.loadingHTML)};
groups.modalBox._afterShow=function(){setTimeout(groups._fixSelects,0);groups.mini.initClearOnFocusFields();if(groups.modalBox.options&&groups.modalBox.options.afterShow){groups.modalBox.options.afterShow();groups.modalBox.options.afterShow=null}};
groups.modalBox.hide=function(a){if(groups.modalBox._container.style.display=="none")return false;groups.modalBox.stopLoader();if(groups.modalBox._standardScroll)document.documentElement.scrollTop=groups.modalBox._oldScrollTop;else document.body.scrollTop=groups.modalBox._oldScrollTop;Effect[groups._config.modalBox.effects.hide.name](groups.modalBox._container,{afterFinish:function(){Element.hide(groups.modalBox._bgOverlay);for(var b=$$("#%s .nicEdit-main".format(groups._config.modalBox.contentId)),
d,e=b.length-1;e>=0;e--){d=b[e].parentNode.nextSibling.id;nicEditors.findEditor(d).ne.removeInstance(d)}if(a!==false)groups.modalBox._content.innerHTML=""},duration:groups._config.modalBox.effects.hide.duration})};groups.modalBox._handleEscKey=function(a){if(a.keyCode==27)return!groups.modalBox.hide()};
groups.modalBox.init=function(){groups.modalBox._bgOverlay=document.getElementById(groups._config.modalBox.bgOverlayId);groups.modalBox._container=document.getElementById(groups._config.modalBox.containerId);groups.modalBox._content=document.getElementById(groups._config.modalBox.contentId);groups.modalBox._standardScroll=!Prototype.Browser.WebKit;Event.observe(window,"keydown",groups.modalBox._handleEscKey)};Event.observe(document,"dom:loaded",groups.modalBox.init);
if(!window.groups)throw Error("Cannot find groups namespace!");groups._config.newsFeed={maxLikes:4,listJoiner:", ",typeMap:{0:"actions",1:"actions",2:"people"}};groups.newsFeed={};groups.newsFeed.like=function(a,b){var d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"like",format:"json",object:a,objectType:b},groups.newsFeed._likeCallback,true);d.objectId=a;d.objectType=b;d.like=true;return d};
groups.newsFeed.unlike=function(a,b){var d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"unlike",format:"json",object:a,objectType:b},groups.newsFeed._likeCallback,true);d.objectId=a;d.objectType=b;d.unlike=true;return d};
groups.newsFeed.deleteComment=function(a){if(!confirm(groups.langStrings["Are sure you want to delete this comment?"]))return false;var b=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"deleteComment",format:"json",commentId:a},groups.newsFeed._deleteCommentCallback,true);b.commentId=a;return b};
groups.newsFeed.deleteAction=function(a,b){if(!confirm(groups.langStrings["Are sure you want to delete this entry and all related data with it?"]))return false;var d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"deleteAction",format:"json",object:a,objectType:b},groups.newsFeed._deleteActionCallback,true);d.objectId=a;d.objectType=b;d.unlike=true;return d};
groups.newsFeed._removeLikeInfo=function(a,b){var d=document.getElementById("likeBox"+a+"-"+b);d&&d.parentNode&&d.parentNode.removeChild(d)};
groups.newsFeed._setLikeInfo=function(a,b,d){var e=document.getElementById("likeInfo"+a+"-"+b);if(!e){var f=document.createElement("DIV");f.id="likeBox"+a+"-"+b;f.className="userBox special_bg special_text radius";e=f.appendChild(document.createElement("img"));e.className="icon";e.src="http://grou.ps/images/famfamfam/emoticon_smile.png";e=f.appendChild(document.createElement("span"));e.id="likeInfo"+a+"-"+b;e.innerHTML=groups.i18n("Liked by %s.").format('<span id="likePeople'+a+"-"+b+'"></span>');
e=document.getElementById("actions"+a+"-"+b).parentNode;e.parentNode.insertBefore(f,e.nextSibling)}f=document.createDocumentFragment();e=0;for(var g=d.length,h;e<g;e++){h=document.createElement("A");h.href=d[e].userProfileLink||groups._info.domName+"/people/person/"+d[e].userName;h.appendChild(document.createTextNode(d[e].userProfileName));f.appendChild(h);f.appendChild(document.createTextNode(", "))}f.removeChild(f.lastChild);for(a=document.getElementById("likePeople"+a+"-"+b);a.firstChild;)a.removeChild(a.firstChild);
a.appendChild(f)};
groups.newsFeed._likeCallback=function(a,b){a.length?groups.newsFeed._setLikeInfo(b.objectId,b.objectType,a):groups.newsFeed._removeLikeInfo(b.objectId,b.objectType);if(b.like){var d=document.getElementById("like"+b.objectId+"-"+b.objectType);d.innerHTML="";d.appendChild(document.createTextNode(groups.langStrings.Unlike));d.id="unlike"+b.objectId+"-"+b.objectType}else if(b.unlike){d=document.getElementById("unlike"+b.objectId+"-"+b.objectType);d.innerHTML="";d.appendChild(document.createTextNode(groups.langStrings.Like));d.id=
"like"+b.objectId+"-"+b.objectType}};
groups.newsFeed.addComment=function(a,b){var d=document.getElementById("msgCont"+a+"-"+b),e=document.getElementById("addComment"+a+"-"+b);if(e){e.style.display="";var f=document.getElementById("addCommentTextbox"+a+"-"+b);f.value=f.getAttribute("data-default")}else{e=document.createElement("div");f=document.createElement("textarea");var g=document.createElement("input");e.className="userBox special_bg special_text radius";e.id="addComment"+a+"-"+b;f.className="w100";f.id="addCommentTextbox"+a+"-"+
b;f.value=groups.langStrings["Write a reply"];f.setAttribute("data-default",f.value);groups.mini.addEvent(f,"focus",groups.mini._clearOnFocus);g.className="replyButton";g.type="button";g.value=groups.langStrings.Reply;g.id="addCommentButton"+a+"-"+b;groups.mini.addEvent(g,"click",groups.newsFeed._addCommentButtonClickHandler);e.appendChild(f);e.appendChild(g);d.appendChild(e)}};
groups.newsFeed._addCommentButtonClickHandler=function(a){var b=groups.newsFeed._actionLinkHandler.matcher.exec(a.target.id);objectId=b[2];objectType=b[3];commentTextbox=document.getElementById("addCommentTextbox"+objectId+"-"+objectType);groups.mini._clearOnFocus({target:commentTextbox});if(!commentTextbox.value)return false;groups.newsFeed.postComment(objectId,objectType,commentTextbox.value);a.target.disabled=commentTextbox.disabled=true};
groups.newsFeed.postComment=function(a,b,d){d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"addComment",format:"json",object:a,objectType:b,comment:d},groups.newsFeed._postCommentCallback,true);d.objectId=a;d.objectType=b;return d};
groups.newsFeed._postCommentCallback=function(a,b){var d=document.getElementById("addCommentTextbox"+b.objectId+"-"+b.objectType),e=document.getElementById("addCommentButton"+b.objectId+"-"+b.objectType);groups.newsFeed.createComment(b.objectId,b.objectType,a);e.disabled=d.disabled=false;groups.newsFeed.addComment(b.objectId,b.objectType)};
groups.newsFeed.createComment=function(a,b,d){var e=document.getElementById("comments"+a+"-"+b),f=document.createElement("div"),g=f.appendChild(document.createElement("a")),h=f.appendChild(document.createElement("div")),k=document.createElement("div");userProfileName=document.createElement("a");timeInfo=k.appendChild(document.createElement("span"));if(!e){e=document.createElement("div");e.id="comments"+a+"-"+b;document.getElementById("msgCont"+a+"-"+b).insertBefore(e,document.getElementById("addComment"+
a+"-"+b))}f.className="userCommentStream special_bg special_text radius userBox";f.id="comment"+d.commentId;g.href=d.userProfileLink;g.innerHTML='<img src="%s" height="32" width="32" alt="%1:s" title="%1:s">'.format(d.userAvatar,d.userProfileName);g.className="pic";h.className="msg";h.innerHTML=" "+d.comment;userProfileName.className="name";userProfileName.href=d.userProfileLink;userProfileName.appendChild(document.createTextNode(d.userProfileName));h.insertBefore(userProfileName,h.firstChild);k.className=
"msgFooter";timeInfo.className="time";timeInfo.appendChild(document.createTextNode(d.addTime));h.appendChild(k);if(d.deletable!="none"){a=k.appendChild(document.createElement("span"));b=a.appendChild(document.createElement("a"));a.className="actions";a.id="commentActions"+d.commentId;b.id="deleteComment"+d.commentId;b.href="javascript:;";b.appendChild(document.createTextNode(groups.langStrings.Delete));groups.newsFeed.initLinks(a)}return e.appendChild(f)};
groups.newsFeed.getWhoLiked=function(a,b){var d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"getWhoLiked",format:"json",object:a,objectType:b},groups.newsFeed._likeCallback,true);d.objectId=a;d.objectType=b;return d};groups.newsFeed.newComment=function(a,b){var d=groups.newsFeed.getComments(a,b);d.newComment=true;return d};
groups.newsFeed.getComments=function(a,b){var d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"getComments",format:"json",object:a,objectType:b},groups.newsFeed._getCommentsCallback,true);d.objectId=a;d.objectType=b;return d};
groups.newsFeed.loadMsgs=function(a,b){var d=document.getElementById("newsfeed_content_limit");d=groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"getGroupActions",format:"json",offset:a,tidy:1,isMobile:groups._info.isMobile,limit:d?d.value:0},groups.newsFeed._loadMsgsCallback,true);d.objectId=a;d.objectType=b};
groups.newsFeed._findLastMemberActions=function(){for(var a={wallOffset:0,actionOffset:0},b,d=document.getElementById("newsfeed").lastChild;!(a.wallOffset&&a.actionOffset)&&d;){if(b=groups.newsFeed._actionLinkHandler.matcher.exec(d.id))if(b[3]==2&&!a.wallOffset)a.wallOffset=b[2];else if(!a.actionOffset)a.actionOffset=b[2];d=d.previousSibling}return a};
groups.newsFeed.loadMemberActions=function(){var a=groups.newsFeed._findLastMemberActions();return groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:"actions","function":"getMemberActions",format:"json",wallOffset:a.wallOffset,actionOffset:a.actionOffset,userId:groups._info.module.profileOwnerId,tidy:1,isMobile:groups._info.isMobile},groups.newsFeed._loadMemberActionsCallback,true)};
groups.newsFeed.postMessage=function(a){var b=document.getElementById("status_msg"),d=document.getElementById("status_on_facebook"),e=d&&d.checked?1:0,f=(d=document.getElementById("status_on_twitter"))&&d.checked?1:0,g=function(){return groups.mini.ajaxRequest("post","/api2.php",{groupName:groups._info.groupName,module:groups._config.newsFeed.typeMap[a||0],"function":"sendMessage",format:"json",msg:b.value,userId:groups._info.module.profileOwnerId,tidy:1,isMobile:groups._info.isMobile,shareOnFacebook:e,
shareOnTwitter:f},groups.newsFeed._postMessageCallback,true)};if(!b.value)return false;e?FB.Facebook.apiClient.users_hasAppPermission("publish_stream",function(h){h?g():FB.Connect.showPermissionDialog("publish_stream",function(k){k&&g()})}):g()};groups.newsFeed._postMessageCallback=function(a){var b=document.getElementById("newsfeed");b.innerHTML=a+b.innerHTML;groups.newsFeed.initLinks(b);document.getElementById("status_msg").value="";document.getElementById("status_form_actions").style.display="none"};
groups.newsFeed._loadMsgsCallback=function(a,b){var d=document.getElementById("newsfeed"),e=document.getElementById("loadMsgs"+b.objectId+"-"+b.objectType);if(!a.length){e.style.display="none";return false}d.innerHTML+=a.join("");groups.newsFeed.initLinks(d);if(d=groups.newsFeed._actionLinkHandler.matcher.exec(d.lastChild.id))e.id="loadMsgs"+d[2]+"-"+d[3]};
groups.newsFeed._loadMemberActionsCallback=function(a){var b=document.getElementById("newsfeed"),d=document.getElementById("loadMsgs");if(!a.length){d.style.display="none";return false}b.innerHTML+=a.join("");groups.newsFeed.initLinks(b)};
groups.newsFeed._getCommentsCallback=function(a,b){var d=document.getElementById("comments"+b.objectId+"-"+b.objectType);if(d)d.innerHTML="";d=0;for(var e=a.length;d<e;d++)groups.newsFeed.createComment(b.objectId,b.objectType,a[d]);groups._info.isMember&&groups.newsFeed.addComment(b.objectId,b.objectType)};groups.newsFeed._deleteCommentCallback=function(a,b){var d=document.getElementById("comment"+b.commentId);d.parentNode.removeChild(d)};
groups.newsFeed._deleteActionCallback=function(a,b){var d=document.getElementById("msg"+b.objectId+"-"+b.objectType);d.parentNode.removeChild(d)};groups.newsFeed._actionLinkHandler=function(a){if((a=groups.newsFeed._actionLinkHandler.matcher.exec(a.target.id))&&a[1]in groups.newsFeed){groups.newsFeed[a[1]](a[2],a[3]);return false}};groups.newsFeed._actionLinkHandler.matcher=/^([a-zA-Z]+)(\d+)(?:-(\d)$|$)/;
groups.newsFeed._statusAreaFocusHandler=function(a){document.getElementById("status_form_actions").style.display=a.type=="focus"?"block":"none"};groups.newsFeed.initLinks=function(a){a=(a||document).getElementsByTagName("a");for(var b=0,d=a.length;b<d;b++)a[b].href=="javascript:;"&&groups.mini.addEvent(a[b],"click",groups.newsFeed._actionLinkHandler)};
groups.newsFeed.init=function(){var a=document.getElementById("status_msg");groups._info.isMobile===""&&delete groups._info.isMobile;a&&groups.mini.addEvent(a,"focus",groups.newsFeed._statusAreaFocusHandler);groups.newsFeed.initLinks()};window.Prototype?Event.observe(document,"dom:loaded",groups.newsFeed.init):groups.mini.addEvent(window,"load",groups.newsFeed.init);if(!window.groups)throw Error("Cannot find groups namespace!");
groups._config.notifier=Object.extend({containerId:"groupsNotifierCont",contentId:"groupsNotifier",types:["error","info","warning","success","loader"],defaultType:"info",persistentTypes:["loader"],timeout:5E3,hideEffectDuration:0.5,showEffectDuration:0.5},groups._config.notifier||{});groups.notifier={};groups.notifier.clearTimer=function(){groups.notifier.hideTimer&&window.clearTimeout(groups.notifier.hideTimer);groups.notifier.activeEffect&&groups.notifier.activeEffect.state!="finished"&&groups.notifier.activeEffect.cancel()};
groups.notifier.hide=function(){groups.notifier.clearTimer();if(Element.getStyle(groups.notifier.containerElement,"display")!="none")groups.notifier.activeEffect=new Effect.Fade(groups.notifier.containerElement,{duration:groups._config.notifier.hideEffectDuration})};
groups.notifier.show=function(a,b,d){groups.notifier.clearTimer();if(b){b=groups.i18n(b);groups.notifier.contentElement.className="msg_"+(groups._config.notifier.types.indexOf(a)>-1?a:groups._config.notifier.defaultType);groups.notifier.contentElement.innerHTML=b;if(typeof d!="number"&&groups._config.notifier.persistentTypes.indexOf(a)<0)d=groups._config.notifier.timeout;if(Element.getStyle(groups.notifier.containerElement,"display")=="none")groups.notifier.activeEffect=new Effect.Appear(groups.notifier.containerElement,
{duration:groups._config.notifier.showEffectDuration});if(d>0)groups.notifier.hideTimer=window.setTimeout(groups.notifier.hide,d)}};
groups.notifier.init=function(){groups.notifier.containerElement=document.getElementById(groups._config.notifier.containerId);groups.notifier.contentElement=document.getElementById(groups._config.notifier.contentId);if(!groups.notifier.containerElement)throw Error("Cannot find container element!");if(!groups.notifier.contentElement)throw Error("Cannot find content element!");Event.observe(groups.notifier.containerElement,"click",groups.notifier.hide);Element.setStyle(groups.notifier.containerElement,
{display:"none",visibility:"visible",position:"fixed"})};document.observe("dom:loaded",groups.notifier.init);if(!window.groups)throw Error("Cannot find groups namespace!");groups._config.search=Object.extend({formId:"search_form",textFieldId:"top_search_text",searchListId:"search_types_box",searchTextFormat:"Search in %s"},groups._config.comments||{});groups.search={_eventHandlers:{}};groups.search.showList=function(){new Effect.SlideDown(groups.search._textField._searchList,{duration:0.2})};
groups.search._eventHandlers.textFieldFocus=function(){groups.search._textField.value!=""&&groups.search.showList()};groups.search._eventHandlers.textFieldBlur=function(){new Effect.SlideUp(groups.search._textField._searchList,{duration:0.35})};
groups.search._eventHandlers.textFieldKeyDown=function(a,b){var d=a.keyCode||a.which;d==27&&a.stop();if(d!=13&&(d<37||d>40)&&!(b>-1))groups.search._textField._searchList.style.display=="none"&&groups.search.showList();else{if(groups.search._textField._searchList.selectedIndex>-1)groups.search._textField._searchList.childNodes[groups.search._textField._searchList.selectedIndex].className="";else groups.search._textField._searchList.selectedIndex=-1;if(d==38||d==40||b>-1){if(b>-1)groups.search._textField._searchList.selectedIndex=
b;else groups.search._textField._searchList.selectedIndex+=d-39;groups.search._textField._searchList.selectedIndex=(groups.search._textField._searchList.childNodes.length+groups.search._textField._searchList.selectedIndex)%groups.search._textField._searchList.childNodes.length;d=groups.search._textField._searchList.childNodes[groups.search._textField._searchList.selectedIndex];d.className="selected";if(groups.search._textField._searchList.scrollTop>d.offsetTop)groups.search._textField._searchList.scrollTop=
d.offsetTop;else if(groups.search._textField._searchList.scrollTop+groups.search._textField._searchList.clientHeight<d.offsetTop+d.offsetHeight)groups.search._textField._searchList.scrollTop=d.offsetTop-groups.search._textField._searchList.clientHeight+d.offsetHeight+2;$(groups._config.search.formId).setAttribute("action",groups._info.searchTypes[d.getAttribute("data-name")].actionURL)}else d==13&&groups.search._textField.form.submit()}};
groups.search._eventHandlers.itemMouseOver=function(a){groups.search._eventHandlers.textFieldKeyDown({},a.findElement("li")._itemIndex)};groups.search._eventHandlers.itemClick=function(){groups.search._textField.form.submit()};
groups.search.init=function(){groups.search._textField=$(groups._config.search.textFieldId);if(groups.search._textField){groups.search._textField._searchList=document.createElement("UL");groups.search._textField._searchList.selectedIndex=-1;groups.search._textField._searchList.id=groups._config.search.searchListId;var a,b=0;for(var d in groups._info.searchTypes)if(groups._info.searchTypes.hasOwnProperty(d)){a=document.createElement("LI");a.setAttribute("data-name",d);a._itemIndex=b++;a.appendChild(document.createTextNode(groups._config.search.searchTextFormat.format(groups._info.searchTypes[d].title)));
Event.observe(a,"mouseover",groups.search._eventHandlers.itemMouseOver);Event.observe(a,"click",groups.search._eventHandlers.itemClick);groups.search._textField._searchList.appendChild(a)}Element.setStyle(groups.search._textField._searchList,{position:"absolute",display:"none",left:groups.search._textField.offsetLeft+"px",top:groups.search._textField.offsetTop+"px"});Event.observe(groups.search._textField,"focus",groups.search._eventHandlers.textFieldFocus);Event.observe(groups.search._textField,
"blur",groups.search._eventHandlers.textFieldBlur);Event.observe(groups.search._textField,"keydown",groups.search._eventHandlers.textFieldKeyDown);groups.search._textField.parentNode.appendChild(groups.search._textField._searchList)}};Event.observe(document,"dom:loaded",groups.search.init);
groups.namespace("toaster",{api:{url:"/api2.php",parameters:{module:"members","function":"getMemberInfo"}},events:{click:{toaster_vcard_send_message:function(){groups.common.sendMessage(groups.toaster._lastUserData.userName,groups.toaster._lastUserData.name)},toaster_vcard_poke:function(){groups.common.poke(groups.toaster._lastUserData.userName,groups.toaster._lastUserData.name)},toaster_vcard_add_as_friend:function(){groups.common.addAsFriend(groups.toaster._lastUserData.userName,groups.toaster._lastUserData.name)}}},
containerId:"groups_toaster_vcard",delay:750,retryDelay:500,offsets:{left:0,top:5},templates:{toaster_vCard:null}},{callbacks:{},_cache:{},_fetchers:{}});groups.toaster.callbacks.templateLoad=function(a){groups._config.toaster.templates[this.contentId]=a;--groups.toaster._loadingTemplates||Event.observe(document.body,"mousemove",groups.toaster.callbacks.mousemove)};
groups.toaster.callbacks.mousemove=function(a){var b=Event.findElement(a,"[data-userid]"),d=b&&b.getAttribute("data-userid");if(!d&&Element.visible(groups.toaster.container)&&!(groups.toaster._timer&&groups.toaster._timer.hide)){groups.toaster.clearTimer();groups.toaster._timer=window.setTimeout(groups.toaster.hide,groups._config.toaster.delay/2);groups.toaster._timer.hide=true}else{groups.toaster.clearTimer();if(!(!d||groups.toaster._lastUserId==d&&Element.visible(groups.toaster.container))){a=groups._config.toaster.api;
if(!groups.toaster._cache[d]&&!groups.toaster._fetchers[d])groups.toaster._fetchers[d]=new Ajax.Request(a.url,{method:"GET",parameters:Object.extend({groupName:groups._info.groupName,member_id:d},a.parameters),onSuccess:function(e){groups.toaster._cache[d]=e.responseJSON},onComplete:function(){delete groups.toaster._fetchers[d]}});groups.toaster._timer=window.setTimeout(function(){groups.toaster.show(b,d)},groups._config.toaster.delay)}}};
groups.toaster.callbacks.containerClick=function(a){var b=Event.element(a),d=b.id,e=groups._config.toaster.events.click;!d||!(d in e)||!e.hasOwnProperty(d)||e[d].call(b,a)};
groups.toaster.show=function(a,b){b||(b=a.getAttribute("data-userid"));groups.toaster.clearTimer();if(groups.toaster._cache[b]){groups.toaster._lastUserId=b;groups.toaster._lastUserData=groups.toaster._cache[b];var d=Element.cumulativeOffset(a),e=document.viewport.getDimensions(),f=document.viewport.getScrollOffsets(),g=groups._config.toaster.offsets,h=groups.toaster.container,k,l;h.innerHTML=groups._config.toaster.templates.toaster_vCard.format(groups.toaster._cache[b]);Element.setStyle(h,{visibility:"hidden",
display:"block"});k=d.left+g.left;l=d.top+g.top+a.offsetHeight;if(k+h.offsetWidth-f.left>e.width)k-=h.offsetWidth+2*g.left;if(l+h.offsetHeight-f.top>e.height)l=d.top-h.offsetHeight-g.top;Element.setStyle(h,{top:l+"px",left:k+"px",display:"none",visibility:""});new Effect.Appear(h,{duration:0.5})}else groups.toaster._timer=window.setTimeout(function(){groups.toaster.show(a,b)},groups._config.toaster.retryDelay)};
groups.toaster.hide=function(){groups.toaster.clearTimer();new Effect.Fade(groups.toaster.container,{duration:0.25});groups.toaster._lastUserId=null};groups.toaster.clearTimer=function(){if(groups.toaster._timer){window.clearTimeout(groups.toaster._timer);groups.toaster._timer=null}};
groups.toaster.init=function(a){var b=$(groups._config.toaster.containerId);if(!b)throw Error("Toaster container not found!");groups.toaster.container=b;b.style.display="none";b.style.position="absolute";Event.observe(b,"click",groups.toaster.callbacks.containerClick);if(!("_loadingTemplates"in groups.toaster)||a!==false){groups.toaster._loadingTemplates=0;for(var d in groups._config.toaster.templates)if(groups._config.toaster.templates.hasOwnProperty(d)&&!groups._config.toaster.templates[d]){new groups.common.ContentFetcher(d,
{onComplete:groups.toaster.callbacks.templateLoad},"_common");groups.toaster._loadingTemplates++}}};Event.observe(document,"dom:loaded",groups.toaster.init);function popup_ajax(a){close_busy_popup();groups.modalBox.showHTML(a);a=0;for(var b=window.frames.lenght;a<b;a++)window.frames[a].close=close_ajax_popup;self.close=close_ajax_popup}function close_ajax_popup(){window.groups&&groups.notifier&&groups.notifier.hide();groups.modalBox.hide(false);close_busy_popup()}
function make_ajax_popup_bigger(){window.console&&console.warning("Do not use this function, its empty!",arguments.callee)}function normalize_ajax_popup_size(){window.console&&console.warning("Do not use this function, its empty!",arguments.callee)}function make_busy(){var a=$("loader");if(a)a.style.visibility="visible";groups.modalBox.hide(false);($("layout")||document.body).style.cursor="wait"}
function close_busy_popup(){var a;if(a=$("loader"))a.style.visibility="hidden";($("layout")||document.body).style.cursor="default"}function facebookconnectlogin(a,b,d,e){make_busy();a.disabled=true;x_facebookconnect_control(d,e,document.location.href,facebookconnectsignupsuccessfulmsg)}
function facebookconnectsignupsuccessfulmsg(a){var b=a[1]+"";if(a[0]){var d=document.domain;if(d=="grou.ps"){var e=window.location.href.slice(15),f=e.indexOf("/");e=f<0?e:e.substring(0,f);var g="http://"+d+"/"+e}else g="http://"+d;if(b=="signed_up"){if(g.substr(g.length-1,1)=="/")g=g.substr(0,g.length-1);g+="/joinform";FB.Facebook.apiClient.users_hasAppPermission("email,offline_access",function(h){if(h)window.location.href=g;else FB.Connect.showPermissionDialog("email,offline_access",function(){window.location.href=
a[5]||g})})}else{b=a[3];d=a[4];if(a[2]||d)g+="/people/"+b;window.location.href=a[5]||g}}else{groups.notifier.show("error","Could not connect to Facebook.");groups.modalBox.hide()}}function validateCompleteForm(a,b){return _validateInternal(a,b,0)}function validateStandard(a,b){return _validateInternal(a,b,1)}
function _validateInternal(a,b,d){var e="",f=null;if(d==0)e=a.err?a.err:_getLanguageText("err_form");a=_GenerateFormFields(a);for(var g=0;g<a.length;++g){var h=a[g];if(h.IsValid(a))h.ResetClass();else{h.SetClass(b);if(d==1){_throwError(h);return false}else{if(f==null)f=h;e=_handleError(h,e);bError=true}}}if(f!=null){alert(e);try{f.element.focus()}catch(k){}return false}return true}
function _getLanguageText(a){objTextsInternal=new _jsVal_Language;objTexts=null;try{objTexts=new jsVal_Language}catch(b){}switch(a){case "err_form":strResult=!objTexts||!objTexts.err_form?objTextsInternal.err_form:objTexts.err_form;break;case "err_enter":strResult=!objTexts||!objTexts.err_enter?objTextsInternal.err_enter:objTexts.err_enter;break;case "err_select":strResult=!objTexts||!objTexts.err_select?objTextsInternal.err_select:objTexts.err_select;break}return strResult}
function _GenerateFormFields(a){for(var b=[],d=0;d<a.length;++d){var e=a.elements[d],f=_getElementIndex(b,e);if(f==-1)b[b.length]=new FieldGX(e,a);else b[f].Merge(e)}return b}function _getElementIndex(a,b){if(b.name)for(var d=b.name.toLowerCase(),e=0;e<a.length;++e)if(a[e].element.name)if(a[e].element.name.toLowerCase()==d)return e;return-1}
function _jsVal_Language(){this.err_form="Please enter/select values for the following fields:\n\n";this.err_select='Please select a valid "%FIELDNAME%"';this.err_enter='Please enter a valid "%FIELDNAME%"'}
function FieldGX(a){this.type=a.type;this.element=a;this.exclude=a.exclude||a.getAttribute("exclude");this.err=a.err||a.getAttribute("err");this.required=_parseBoolean(a.required||a.getAttribute("required"));this.realname=a.realname||a.getAttribute("realname");this.elements=[];switch(this.type){case "textarea":case "password":case "text":case "file":case "hidden":this.value=a.value.strip();this.minLength=a.minlength||a.getAttribute("minlength");this.maxLength=a.maxlength||a.getAttribute("maxlength");
this.regexp=this._getRegEx(a);this.minValue=a.minvalue||a.getAttribute("minvalue");this.maxValue=a.maxvalue||a.getAttribute("maxvalue");this.equals=a.equals||a.getAttribute("equals");this.callback=a.callback||a.getAttribute("callback");break;case "select-one":case "select-multiple":this.values=[];for(var b=0;b<a.options.length;++b)if(a.options[b].selected&&(!this.exclude||a.options[b].value!=this.exclude))this.values[this.values.length]=a.options[b].value;this.min=a.min||a.getAttribute("min");this.max=
a.max||a.getAttribute("max");this.equals=a.equals||a.getAttribute("equals");break;case "checkbox":this.min=a.min||a.getAttribute("min");this.max=a.max||a.getAttribute("max");case "radio":this.required=_parseBoolean(this.required||a.getAttribute("required"));this.values=[];if(a.checked)this.values[0]=a.value;this.elements[0]=a;break}}
FieldGX.prototype.Merge=function(a){if(_parseBoolean(a.getAttribute("required")))this.required=true;if(!this.err)this.err=a.getAttribute("err");if(!this.equals)this.equals=a.getAttribute("equals");if(!this.callback)this.callback=a.getAttribute("callback");if(!this.realname)this.realname=a.getAttribute("realname");if(!this.max)this.max=a.getAttribute("max");if(!this.min)this.min=a.getAttribute("min");if(!this.regexp)this.regexp=this._getRegEx(a);if(a.checked)this.values[this.values.length]=a.value;
this.elements[this.elements.length]=a};FieldGX.prototype.IsValid=function(a){switch(this.type){case "textarea":case "password":case "text":case "file":case "hidden":return this._ValidateText(a);case "select-one":case "select-multiple":case "radio":case "checkbox":return this._ValidateGroup(a);default:return true}};
FieldGX.prototype.SetClass=function(a){if(a&&a!="")if(this.elements&&this.elements.length>0)for(var b=0;b<this.elements.length;++b){if(this.elements[b].className!=a){this.elements[b].oldClassName=this.elements[b].className;this.elements[b].className=a}}else if(this.element.className!=a){this.element.oldClassName=this.element.className;this.element.className=a}};
FieldGX.prototype.ResetClass=function(){if(this.type!="button"&&this.type!="submit"&&this.type!="reset")if(this.elements&&this.elements.length>0)for(var a=0;a<this.elements.length;++a)if(this.elements[a].oldClassName)this.elements[a].className=this.elements[a].oldClassName;else this.element.className="";else this.element.className=this.elements.oldClassName?this.element.oldClassName:""};
FieldGX.prototype._getRegEx=function(a){regex=a.regexp||a.getAttribute("regexp");if(regex==null)return null;retype=typeof regex;if(retype.toUpperCase()=="FUNCTION")return regex;else if(retype.toUpperCase()=="STRING"&&regex!="JSVAL_RX_DATE"&&regex!="JSVAL_RX_URL"&&regex!="JSVAL_RX_EMAIL"&&regex!="JSVAL_RX_TEL"&&regex!="JSVAL_RX_PC"&&regex!="JSVAL_RX_ZIP"&&regex!="JSVAL_RX_MONEY"&&regex!="JSVAL_RX_CREDITCARD"&&regex!="JSVAL_RX_POSTALZIP"){nEnd=nBegin=0;if(regex.charAt(0)=="/")nBegin=1;if(regex.charAt(regex.length-
1)=="/")nEnd=0;return RegExp(regex.slice(nBegin,nEnd))}else return regex};
FieldGX.prototype._ValidateText=function(a){if(this.required&&this.callback){nCurId=this.element.id?this.element.id:"";nCurName=this.element.name?this.element.name:"";eval("bResult = "+this.callback+"('"+nCurId+"', '"+nCurName+"', '"+this.value+"');");if(bResult==false)return false}else{if(this.required&&!this.value)return false;if(this.value&&this.minLength&&this.value.length<this.minLength)return false;if(this.value&&this.maxLength&&this.value.length>this.maxLength)return false;if(this.regexp)if(_checkRegExp(this.regexp,
this.value))return true;else{if(!this.required&&this.value)return false;if(this.required)return false}if(this.equals)for(var b=0;b<a.length;++b){var d=a[b];if(d.element.name==this.equals||d.element.id==this.equals){if(d.element.value!=this.value)return false;break}}if(this.required){a=parseFloat(this.value);if((this.minValue||this.maxValue)&&isNaN(a))return false;if(this.minValue&&a<this.minValue)return false;if(this.maxValue&&a>this.maxValue)return false}}return true};
FieldGX.prototype._ValidateGroup=function(){if(this.required&&this.values.length==0)return false;if(this.required&&this.min&&this.min>this.values.length)return false;if(this.required&&this.max&&this.max<this.values.length)return false;return true};function _handleError(a,b){var d=a.element;return strNewMessage=b+(a.realname?a.realname:d.id?d.id:d.name)+"\n"}
function _throwError(a){var b=a.element;switch(a.type){case "text":case "password":case "textarea":case "file":alert(_getError(a,"err_enter"));try{b.focus()}catch(d){}break;case "select-one":case "select-multiple":case "radio":case "checkbox":alert(_getError(a,"err_select"));break}}
function _getError(a,b){var d=a.element;strErrorTemp=a.err?a.err:_getLanguageText(b);for(idx=strErrorTemp.indexOf("\\n");idx>-1;){strErrorTemp=strErrorTemp.replace("\\n","\n");idx=strErrorTemp.indexOf("\\n")}return strErrorTemp.replace("%FIELDNAME%",a.realname?a.realname:d.id?d.id:d.name)}function _parseBoolean(a){return!(!a||a==0||a=="0"||a=="false")}
function _checkRegExp(a,b){switch(a){case "JSVAL_RX_DATE":return/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/.test(b);case "JSVAL_RX_URL":return/^[hH][tT][tT][pP][sS]?:\/\/.+\..+$/.test(b);case "JSVAL_RX_EMAIL":return/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(b);case "JSVAL_RX_TEL":return/^1?[\-]?\(?\d{3}\)?[\-]?\d{3}[\-]?\d{4}$/.test(b);case "JSVAL_RX_PC":return/^[a-z]\d[a-z]?\d[a-z]\d$/i.test(b);case "JSVAL_RX_ZIP":return/^\d{5}$/.test(b);case "JSVAL_RX_MONEY":return/^\d+([\.]\d\d)?$/.test(b);
case "JSVAL_RX_CREDITCARD":return!isNaN(b);case "JSVAL_RX_POSTALZIP":if(b.length==6||b.length==7)return/^[a-zA-Z]\d[a-zA-Z] ?\d[a-zA-Z]\d$/.test(b);if(b.length==5||b.length==10)return/^\d{5}(\-\d{4})?$/.test(b);break;default:return a.test(b)}}var Menu=Class.create();
Menu.prototype={initialize:function(a,b,d){this.name=b;this.type="menu";this.closingMenuItem=this.closeDelayTimer=null;this.config();if(typeof d=="function"){this.customConfig=d;this.customConfig()}this.rootContainer=new MenuContainer(a,this)},config:function(){this.quickCollapse=this.collapseBorders=true;this.closeDelayTime=500}};var MenuContainer=Class.create();
MenuContainer.prototype={initialize:function(a,b){this.type="menuContainer";this.menuItems=[];this.init(a,b)},init:function(a,b){this.element=$(a);this.parent=b;this.parentMenu=this.type=="menuContainer"?b?b.parent:null:b;this.root=b instanceof Menu?b:b.root;this.id=this.element.id;if(this.type=="menuContainer"){var d=/\blevel(\d+)\b/.exec(this.element.className);d=d?parseInt(d[1]):1;if(d==1)this.menuType="horizontal";else if(d==2)this.menuType="dropdown";else if(d>2)this.menuType="flyout";if(this.menuType==
"flyout"||this.menuType=="dropdown"){this.isOpen=false;Element.setStyle(this.element,{position:"absolute",top:"0px",left:"0px",visibility:"hidden"})}else this.isOpen=true}else this.isOpen=this.parentMenu.isOpen;d=this.element.childNodes;if(d!=null)for(var e=0;e<d.length;e++){var f=d[e];if(f.nodeType==1)if(this.type=="menuContainer")f.tagName.toLowerCase()=="li"&&this.menuItems.push(new MenuItem(f,this));else if(f.tagName.toLowerCase()=="ul")this.subMenu=new MenuContainer(f,this)}},getBorders:function(){for(var a=
["Left","Top","Right","Bottom"],b={},d=0;d<a.length;++d){var e=this.element.currentStyle?parseInt(this.element.currentStyle["border"+a[d]+"Width"]):window.getComputedStyle?parseInt(window.getComputedStyle(this.element,"").getPropertyValue("border-"+a[d].toLowerCase()+"-width")):parseInt(this.element.style["border"+a[d]]);b[a[d].toLowerCase()]=isNaN(e)?0:e}return b},open:function(){this.root.closeDelayTimer&&window.clearTimeout(this.root.closeDelayTimer);this.parentMenu.closeAll(this);this.isOpen=
true;if(this.menuType=="dropdown")Element.setStyle(this.element,{left:Position.positionedOffset(this.parent.element)[0]+"px",top:Position.positionedOffset(this.parent.element)[1]+Element.getHeight(this.parent.element)+"px"});else if(this.menuType=="flyout"){var a=this.parentMenu?this.parentMenu.getBorders():{},b=this.getBorders();Position.positionedOffset(this.parentMenu.element)[0]+this.parentMenu.element.offsetWidth+this.element.offsetWidth+20>(window.innerWidth?window.innerWidth:document.body.offsetWidth)?
Element.setStyle(this.element,{left:-this.element.offsetWidth-(this.root.collapseBorders?0:a.left)+"px"}):Element.setStyle(this.element,{left:this.parentMenu.element.offsetWidth-a.left-(this.root.collapseBorders?Math.min(a.right,b.left):0)+"px"});Element.setStyle(this.element,{top:this.parent.element.offsetTop-a.top-this.menuItems[0].element.offsetTop+"px"})}Element.setStyle(this.element,{visibility:"visible"})},close:function(){Element.setStyle(this.element,{visibility:"hidden"});this.isOpen=false;
this.closeAll()},closeAll:function(a){for(var b=0;b<this.menuItems.length;++b)this.menuItems[b].closeItem(a)}};var MenuItem=Class.create();
Object.extend(Object.extend(MenuItem.prototype,MenuContainer.prototype),{initialize:function(a,b){var d=this;this.type="menuItem";this.init(a,b);if(this.subMenu)this.element.onmouseover=function(){d.subMenu.open()};else if(this.root.quickCollapse)this.element.onmouseover=function(){d.parentMenu.closeAll()};var e=this.element.getElementsByTagName("A")[0];if(e){e.onfocus=this.element.onmouseover;this.link=e;this.text=e.text}if(this.subMenu)this.element.onmouseout=function(){d.root.openDelayTimer&&window.clearTimeout(d.root.openDelayTimer);
d.root.closeDelayTimer&&window.clearTimeout(d.root.closeDelayTimer);d.root.closeDelayTimer=window.setTimeout(function(){d.subMenu.close()},d.root.closeDelayTime)}},openItem:function(){this.isOpen=true;this.subMenu&&this.subMenu.open()},closeItem:function(a){this.isOpen=false;this.subMenu&&this.subMenu!=a&&this.subMenu.close()}});var menu;function configMenu(){this.closeDelayTime=300}function initMenu(){menu=new Menu("nav","menu",configMenu)}document.observe("dom:loaded",initMenu,false);
window.SHA256={};
SHA256.hash=function(a){var b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,
3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],d=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];a+=String.fromCharCode(128);for(var e=Math.ceil((a.length/4+2)/16),f=Array(e),g=0;g<e;g++){f[g]=Array(16);for(var h=0;h<16;h++)f[g][h]=a.charCodeAt(g*64+h*4)<<24|a.charCodeAt(g*64+h*4+1)<<16|a.charCodeAt(g*
64+h*4+2)<<8|a.charCodeAt(g*64+h*4+3)}f[e-1][14]=(a.length-1)*8/Math.pow(2,32);f[e-1][14]=Math.floor(f[e-1][14]);f[e-1][15]=(a.length-1)*8&4294967295;a=Array(64);var k,l,m,n,o,p,q;for(g=0;g<e;g++){for(var r=0;r<16;r++)a[r]=f[g][r];for(r=16;r<64;r++)a[r]=SHA256.sigma1(a[r-2])+a[r-7]+SHA256.sigma0(a[r-15])+a[r-16]&4294967295;h=d[0];k=d[1];l=d[2];m=d[3];n=d[4];o=d[5];p=d[6];q=d[7];for(r=0;r<64;r++){var u=q+SHA256.Sigma1(n)+SHA256.Ch(n,o,p)+b[r]+a[r],t=SHA256.Sigma0(h)+SHA256.Maj(h,k,l);q=p;p=o;o=n;n=
m+u&4294967295;m=l;l=k;k=h;h=u+t&4294967295}d[0]=d[0]+h&4294967295;d[1]=d[1]+k&4294967295;d[2]=d[2]+l&4294967295;d[3]=d[3]+m&4294967295;d[4]=d[4]+n&4294967295;d[5]=d[5]+o&4294967295;d[6]=d[6]+p&4294967295;d[7]=d[7]+q&4294967295}return d[0].toHexStr()+d[1].toHexStr()+d[2].toHexStr()+d[3].toHexStr()+d[4].toHexStr()+d[5].toHexStr()+d[6].toHexStr()+d[7].toHexStr()};SHA256.ROTR=function(a,b){return b>>>a|b<<32-a};SHA256.Sigma0=function(a){return SHA256.ROTR(2,a)^SHA256.ROTR(13,a)^SHA256.ROTR(22,a)};
SHA256.Sigma1=function(a){return SHA256.ROTR(6,a)^SHA256.ROTR(11,a)^SHA256.ROTR(25,a)};SHA256.sigma0=function(a){return SHA256.ROTR(7,a)^SHA256.ROTR(18,a)^a>>>3};SHA256.sigma1=function(a){return SHA256.ROTR(17,a)^SHA256.ROTR(19,a)^a>>>10};SHA256.Ch=function(a,b,d){return a&b^~a&d};SHA256.Maj=function(a,b,d){return a&b^a&d^b&d};Number.prototype.toHexStr=function(){for(var a="",b,d=7;d>=0;d--){b=this>>>d*4&15;a+=b.toString(16)}return a};
