if(window.Λ){throw new Error("Λ have already been loaded")};
Λ=function(A){Λ.$o=A;return Λ[A.$xcn||(A.$xcn=Object.prototype.toString.call(A).slice(8,-1))]};Λ.global=this;
(function(){var A=function(X,Z){if(X.indexOf){return X.indexOf(Z)}for(var Y=0;Y<X.length;++Y){if(Z===X[Y]){return Y}}return -1};var U=function(X,Z){if(X.forEach){return X.forEach(Z)}for(var Y=0;Y<X.length;++Y){Z(X[Y],Y)}};var N=(function(){var X=document.createElement("div");var Y=X.appendChild(document.createTextNode(""));return function(Z){Y.data=Z;return X.innerHTML}})();var O=function(X){return Array.prototype.slice.apply(X)};var P=function(Y,X){return new Array(X).join(Y)};var E=function(X){return X.replace(/^\s\s*/,"").replace(/\s\s*$/,"")};var K={};(function(){var a=[];var Y=function(b){if(a[9]){a.shift()}a.push(String.fromCharCode(b).toLowerCase());var d=a.join("");for(var c in K){if(d.indexOf(c.toLowerCase())!==-1){a.splice(0,a.length);K[c]();return }}};var X=function(b,d,e,c){Y(b)};var Z=function(b){X(b.keyCode?b.keyCode:b.which?b.which:b.charCode,b.shiftKey,b.ctrlKey,b.altKey)};if(document.addEventListener){document.addEventListener("keypress",Z,false)}else{if(document.attachEvent){document.attachEvent("onkeypress",Z)}}})();var W=document.all?"\r\n":"\n";var B=150;var C=function(a,Z,Y,X){Z=Z||[];Y=Y||0;X=X||0;if(X>2){return"..."}var f,b;switch(typeof a){case"object":case"function":switch(Object.prototype.toString.call(a).slice(8,-1)){case"String":case"Number":case"Boolean":case"Date":case"Error":case"RegExp":case"builtins":return a;case"Function":f=a.toString().replace(/[\n\r\t]/g," ","g").replace(/\s\s\s+/g,"  ","g");if(f.length>B){f=f.slice(0,B)+"... }"}return f;case"Array":if(A(Z,a)!==-1){return"[...]"}Z.push(a);b=[];for(var c=0;c<a.length;++c){b.push(C(a[c],Z,Y,X+1))}return"["+b.join(", ")+"]";case"Object":case"KeyEvent":try{if(!a.nodeName){if(A(Z,a)!==-1){return"{...}"}Z.push(a);b=[];var g;for(var c in a){g=c+": "+P(" ",Math.max(0,20-c.length));try{g+=C(a[c],Z,Y+1,X+1)}catch(d){g+="Error: "+E(d.message)}b.push(g)}return"{"+W+"  "+b.join(","+W+"  "+P(" ",Y*2))+W+P(" ",Y*2)+"}"}}catch(d){}default:try{if(a.nodeName&&a.nodeType){switch(a.nodeType){case 1:f=a.nodeName;if(a.id){f+="#"+a.id}if(a.className){f+="."+a.className.split(" ").join(".")}if(a.sourceIndex){f+=":"+a.sourceIndex}return f;case 3:case 4:return a.nodeName+"'"+a.data+"'";default:return a.nodeName}}}catch(d){}}default:return a}};var I=function(Y){var X=[];for(var Z=0;Z<Y.length;++Z){X.push(C(Y[Z]))}return X};var S=function(X){return I(X).join(W)+W};var L=function(){var X=document.createElement("div");var b=X.style;b.position="fixed";b.display="none";b.bottom="5px";b.width="90%";b.left=b.right="4%";b.zIndex="5000000";b.backgroundColor="white";b.borderStyle="solid";b.borderWidth="1px";b.borderColor="#888";b.overflow="hidden";b.fontFamily="Tahoma, Geneva, sans-serif";b.fontSize="14px";X.id="jsconsole";X.innerHTML='			<div class="header" style="background:#ccc; padding: 5px;"">				<div class="heading">JavaScript Console</div>				<div class="controls">				</div>			</div>			<ul style="font-size: 10px; margin: 0; padding: 0; height: 400px;				overflow: auto; list-style: none; white-space: pre;">			</ul>		';var a=X.getElementsByTagName("ul")[0];var Z=a.getElementsByTagName("li");var d=function(h,k){try{if(Z.length>1000){a.removeChild(Z[0])}}catch(l){return }var f=document.createElement("li");var g=f.style;g.padding="5px";g.margin="0";g.borderBottomStyle="solid";g.borderWidth="1px";g.borderColor="#ccc";g.whiteSpace="pre";if(k){for(var j in k){g[j]=k[j]}}f.appendChild(document.createTextNode(S(h)));a.appendChild(f)};if(window.ScriptEngineMajorVersion&&window.attachEvent&&(document.readyState!=="complete")){document.attachEvent("onreadystatechange",function(){if((document.readyState==="complete")&&document.body){document.body.appendChild(X);document.detachEvent("onreadystatechange",arguments.callee)}})}else{if(document.body){document.body.appendChild(X)}else{var Y=setInterval(function(){if(document.body){document.body.appendChild(X);clearInterval(Y)}},1)}}var c=function(g){g=g||event;var f=g.keyCode?g.keyCode:g.which?g.which:g.charCode;switch(f){case 123:b.display=b.display?"":"none"}};document.addEventListener?document.addEventListener("keydown",c,false):document.attachEvent("onkeydown",c);return{debug:function(){d(arguments)},info:function(){d(arguments,{color:"#1B1EFD"})},warn:function(){d(arguments,{backgroundColor:"#59FBFB"})},error:function(){d(arguments,{backgroundColor:"#FFFEE0",color:"red"})}}};var T=navigator.userAgent;var V=["log","debug","info","warn","error"];if(window.console){var H=function(X){Λ.log={};U(V,function(Y){if(console[Y]){Λ.log[Y]=function(){console[Y](X(arguments))}}})};if((T.indexOf("Chrome/")>-1)||(T.indexOf("MSIE")>-1)){H(S)}else{Λ.log=window.console}var G;for(var R=0;R<V.length;++R){if(Λ.log[V[R]]){G=Λ.log[V[R]];break}}if(!G){Λ.log=L();return }for(var R=0;R<V.length;++R){if(!Λ.log[V[R]]){Λ.log[V[R]]=G}}if(window.addEventListener){window.addEventListener("focus",function(){try{Λ.log.debug()}catch(Z){var X=0,Y=function(){};while(name=V[X++]){Λ.log[name]=Y}this.removeEventListener("focus",arguments.callee,false)}},false)}}else{if(window.opera&&opera.postError){Λ.log={};U(V,function(X){Λ.log[X]=function(){opera.postError(S(arguments))}})}else{Λ.log=L()}}if(window.location&&location.search&&!!location.search.match(/(^\?|&)logcache(=|&|$)/)){var J=[];var F={};var Q=function(X){F[X]=Λ.log[X];return function(){J.push([X,I(arguments)])}};for(var R=0,D;D=V[R];++R){Λ.log[D]=Q(D)}var M=function(){var X;while(X=J.shift()){F[X[0]].apply(Λ.log,X[1])}};K.cac=M}})();
Λ.getStackTrace=(function(){var B;try{(0)()}catch(A){B=A.stack?"Firefox":window.opera?"Opera":"Other"}switch(B){case"Firefox":return function(){try{(0)()}catch(C){return C.stack.replace(/^.*?\n/,"").replace(/(?:\n@:0)?\s+$/m,"").replace(/^\(/gm,"{anonymous}(").split("\n")}};case"Opera":return function(){try{(0)()}catch(I){var E=I.message.split("\n"),D="{anonymous}",H=/Line\s+(\d+).*?in\s+(http\S+)(?:.*?in\s+function\s+(\S+))?/i,G,F,C;for(G=4,F=0,C=E.length;G<C;G+=2){if(H.test(E[G])){E[F++]=(RegExp.$3?RegExp.$3+"()@"+RegExp.$2+RegExp.$1:D+RegExp.$2+":"+RegExp.$1)+" -- "+E[G+1].replace(/^\s+/,"")}}E.splice(F,E.length-F);return E}};default:return function(){var L=arguments.callee.caller,D="function",C="{anonymous}",K=/^function\s*([a-z_A-Z0-9]*)\s*([\w\-$]+)?\s*\([^)]*\)\s*\{\s*(.+)/i,I=[],E=0,H,G,F,J;while(L){J=L.toString().match(K);H=J?J[1]||C:C;G=I.slice.call(L.arguments);F=G.length;while(F--){switch(typeof G[F]){case"string":G[F]='"'+G[F].replace(/"/g,'\\"')+'"';break;case"function":G[F]=D;break}}I[E++]=H+"("+G.join()+") { "+(J?J[3].replace(/[\n\r\t]/g," ","g").replace(/\s\s\s+/g,"  ","g").slice(0,150):"}");L=L.caller}return I}}})();
(function(){var A=function(B){return function(){var D=Array.prototype.slice.call(arguments);var C=D.pop();return function(E){return B(E.apply(null,D),C)}}};Λ.test={equal:A(function(B,C){return B===C}),arrayEqual:A(function(B,C){if(resut.length!==C.length){return false}for(var D=0;D<C.length;++D){if(C[D]!==B[D]){return false}}return true})}})();
if(!Array.isArray){Array.isArray=function(A){return Object.prototype.toString.call(A)==="[object Array]"}};
if(!Array.prototype.every){Array.prototype.every=function(B,D){var A=this.length;if(typeof B!="function"){throw new TypeError()}for(var C=0;C<A;C++){if(C in this&&!B.call(D,this[C],C,this)){return false}}return true}};
if(!Array.prototype.filter){Array.prototype.filter=function(B,E){var A=this.length;if(typeof B!="function"){throw new TypeError()}var D=[];for(var C=0;C<A;C++){if(C in this){var F=this[C];if(B.call(E,F,C,this)){D.push(F)}}}return D}};
if(!Array.prototype.forEach){Array.prototype.forEach=function(B,D){var A=this.length;if(typeof B!="function"){throw new TypeError()}for(var C=0;C<A;C++){if(C in this){B.call(D,this[C],C,this)}}}};
if(!Array.prototype.indexOf){Array.prototype.indexOf=function(B,C){var A=this.length;C=Number(C)?((C<0)?Math.ceil(C):Math.floor(C)):0;if(C<0){C+=A}for(;C<A;C++){if(C in this&&(this[C]===B)){return C}}return -1}};
if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(B,C){var A=this.length;if(Number(C)){C=(C<0)?Math.ceil(C):Math.floor(C);if(C<0){C+=A}else{if(C>=A){C=A-1}}}else{C=A-1}for(;C>-1;C--){if(C in this&&this[C]===B){return C}}return -1}};
if(!Array.prototype.map){Array.prototype.map=function(B,E){var A=this.length;if(typeof B!="function"){throw new TypeError()}var D=new Array(A);for(var C=0;C<A;C++){if(C in this){D[C]=B.call(E,this[C],C,this)}}return D}};
if(!Array.prototype.some){Array.prototype.some=function(B,D){var A=this.length;if(typeof B!="function"){throw new TypeError()}for(var C=0;C<A;C++){if(C in this&&B.call(D,this[C],C,this)){return true}}return false}};
Λ.conf={};Λ.conf.flashExpressInstallSrc="/d/expressinstall.swf";Λ.conf.flashClipboardSrc="/d/clipboard.swf";Λ.conf.flashClipboard2Src="/d/clipboard2.swf";Λ.conf.mp3PlayerSrc="/d/mp3playersmall1_3.swf";Λ.conf.buttonDecoration="";Λ.conf.devel=location.port&&(location.port!="80")&&(location.port!="1081");Λ.conf.corner16Border7and9BoxAppend="";Λ.alert=function(B,A){alert(B)};Λ.doubleLoadPrevent=function(A){var B={};Λ.doubleLoadPrevent=function(C){if(B[C]){throw"File '"+C+".js' have already been loaded"}B[C]=true};Λ.doubleLoadPrevent(A)};if(!Λ.conf.devel&&!/(^\?|&)log(=|&|$)/.test(location.search)){Λ.log.debug=Λ.log.info=Λ.log.warn=Λ.log.error=function(){}};
Λ.Array={unique:function(){return Λ.$o.filter(function(B,A){return Λ.$o.indexOf(B)===A})}};Λ.Array.unique.$ut=[Λ.test.arrayEqual([1,2,3,4,2,5,4],[1,2,3,4,5]),Λ.test.arrayEqual(["dwa","dwa","trzy","raz","trzy","trzy","test","test"],["dwa","trzy","raz","test"])];
Λ.bit={first:function(B){B=Number(B);if(B===0||isNaN(B)){return null}var A=1;while(!(A&B)){A*=2}return A},toArray:function(C){var A=[];var B=1;while(C){if(B&C){A[A.length]=B;C=C^B}B*=2}return A},isSingle:function(A){while(A>1){A=A/2}return(A===1)}};Λ.bit.first.$ut=[];
Λ.regexp={SINGLE_QUOTE:/'([^\\']*|\\.)*'/,DOUBLE_QUOTE:/"([^\\"]*|\\.)*"/};
Λ.str=(function(){var A={"\u0105":97.5,"\u0104":65.5,"\u0107":99.5,"\u0106":67.5,"\u0119":101.5,"\u0118":69.5,"\u0142":108.5,"\u0141":76.5,"\u0144":110.5,"\u0143":78.5,"\u00f3":111.5,"\u00d3":79.5,"\u015b":115.5,"\u015a":83.5,"\u017A":122.3,"\u0179":90.3,"\u017c":122.7,"\u017b":90.7};var B=function(E,C){var D=E.match(RegExp("'|\"|["+Λ.str.regexp.escape(C)+"]"));if(C.indexOf(D[0])===-1){if(D[0]=="'"){D=E.match(Λ.regexp.SINGLE_QUOTE);return[E.indexOf(D[0]),D[0].length]}else{D=E.match(Λ.regexp.DOUBLE_QUOTE);return[E.indexOf(D[0]),D[0].length]}}return null};return{trim:function(C){return C.replace(/^\s+|\s+$/g,"")},firstToLowerCase:function(C){return C.length?(C.charAt(0).toLowerCase()+C.substr(1)):C},trimOverflow:function(D,C){if(D.length<=C){return D}else{return D.substr(0,C-1)+"\u2026"}},ltrim:function(C){return C.replace(/^\s+/g,"")},rtrim:function(C){return C.replace(/\s+$/g,"")},pad:function(E,C,D){E+="";return this.repeat(D,Math.floor(Math.max(0,C-E.length)/D.length))+E},splitQuoted:function(G,D){var C=[],F="",E;while(G.indexOf(D)!==-1){while(match=B(G,D)){F=G.substr(0,match[0]+match[1]);G=G.substr(match[0]+match[1]);if(G.indexOf(D)===-1){C[C.length]=F+G;return C}}E=G.indexOf(D);C[C.length]=F+G.substr(0,E);F="";G=G.substr(E+1)}C[C.length]=G;return C},regexp:{escape:function(C){return C.replace(/(\/|\\|\:|\(|\)|\|)/,"\\$1","gm")},parens:function(G,F){if((G.indexOf("(")===-1)||(G.indexOf(")")===-1)){return null}var D,I=0,E=1,C;while(F&&(D=B(G,"("))){I+=(C=D[0]+D[1]);G=G.substr(C);if(isNaN(I)){return }if((G.indexOf("(")===-1)||(G.indexOf(")")===-1)){return null}}I+=(C=G.indexOf("("));G=G.substr(C+1);var H=true;while(true){H=true;while(F&&(D=B(G,"()"))){E+=(C=D[0]+D[1]);G=G.substr(C);if(isNaN(E)){return }if((G.indexOf(")")===-1)){return null}}while(G.match(/\(|\)/)[0]==="("){D=arguments.callee(G,F);E+=D[0]+D[1];G=G.substr(D[0]+D[1]);if(G.indexOf(")")===-1){return null}H=false}if(H){break}}E+=G.indexOf(")")+1;return[I,E]}},repeat:function(E,D){var C="";while(D--){C+=E}return C},validate:{url:function(D){var C=/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_\-]*)(\.[a-z0-9][a-z0-9_\-]*)+)(:(\d+))?(\/[a-z0-9_.~!*'();@&=+$,\/?%#\[\]\-]*)*$/i.test(D);return C},email:function(D){var C=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(D);return C},empty:function(D,C){return(!C===(D===""))}},stripPolish:function(C){return C.replace(/(\u0104|\u0105|\u0106|\u0107|\u0118|\u0119|\u0141|\u0142|\u0143|\u0144|\u00d3|\u00f3|\u015a|\u015b|\u0179|\u017a|\u017b|\u017c)/g,function(D){switch(D){case"\u0104":return"A";case"\u0105":return"a";case"\u0118":return"E";case"\u0119":return"e";case"\u0141":return"L";case"\u0142":return"l";case"\u0143":return"N";case"\u0144":return"n";case"\u00d3":return"O";case"\u00f3":return"o";case"\u015a":return"S";case"\u015b":return"s";case"\u0179":case"\u017b":return"Z";case"\u017a":case"\u017c":return"z"}})},comparePolishChars:function(D,C){return((A[D]||D.charCodeAt(0))-(A[C]||C.charCodeAt(0)))},comparePolishStrings:function(G,F){var E=0,D,C;do{if((D=G.charAt(E))===""){return(F.charAt(E)==="")?0:1}else{if((C=F.charAt(E))===""){return -1}else{if(D!==C){return Λ.str.comparePolishChars(D,C)}}}}while(++E)},random:function(G,F){F=F||"abcdefghijkmnopqrstuvwxyz";G=G||8;var C="";for(var E=0;E<G;++E){var D=Math.floor(Math.random()*F.length);C+=F.substring(D,D+1)}return C}}})();
(function(){var A=["constructor","toString","valueOf"];Λ.func={bind:function(D,C){var B=Array.prototype.slice.call(arguments);D=B.shift();C=B.shift();return function(){return D.apply(C,B.concat(Array.prototype.slice.call(arguments)))}},bindAll:function(C){for(var B in C){if(C[B].constructor===Function){C[B]=this.bind(C[B],C)}}},partial:function(D,C){var B=Array.prototype.slice.call(arguments,1);return function(){return D.apply(this,B.concat(Array.prototype.slice.call(arguments)))}},pass:function(B){return function(C){C[B]()}},passValue:function(B,C){return function(D){D[B]=C}},override:function(C,B){return function(){var D=this.base;this.base=B;var E=C.apply(this,arguments);this.base=D;return E}},extend:function(D,C){for(var B in C.prototype){if((typeof D.prototype[B]=="function")&&(typeof C.prototype[B]=="function")){D.prototype[B]=Λ.func.override(D.prototype[B],C.prototype[B])}else{if(typeof D.prototype[B]=="undefined"){D.prototype[B]=C.prototype[B]}}}return D},empty:function(){}};if(!Function.prototype.bind){Function.prototype.bind=function(B){return Λ.func.bind.apply(this,[this].concat(Array.prototype.slice.call(arguments)))}}Λ.$bind=Λ.func.bind})();
(function(){var B,A;var C=function(G,E,F,D){if(typeof G[E]=="undefined"){G[E]=F}else{if((typeof G[E]=="function")&&(typeof F=="function")){if(D){G[E]=Λ.func.override(F,G[E])}else{G[E]=Λ.func.override(G[E],F)}}}};Λ.obj={extend:function(G,F,E){for(var D in F){C(G,D,F[D],E)}return G},is:function(D){return Object.prototype.toString.call(D)==="[object Object]"},toArray:function(G){try{return Array.prototype.slice.apply(G,Array.prototype.slice.call(arguments,1))}catch(F){var D=[];for(var E=0;E<G.length;++E){D[E]=G[E]}return D}},override:function(D,F){for(var E in F){D[E]=F[E]}return D},implement:function(D,F){for(var E in F){if(typeof D[E]==="undefined"){D[E]=F[E]}}return D},clone:function(F){var D={};for(var E in F){D[E]=F[E]}return D}}})();
Λ.array={forEach:function(D,B,C){var A=D.length;if(typeof B!="function"){throw new TypeError()}for(var E=0;E<A;E++){if(E in D){B.call(C,D[E],E,D)}}}};
Λ.hash=(function(){var A=function(G,C){var I={};var E=0;for(var D=0;D<G.length;D+=(1+E)){var H=G[D].split("=");var B=H.shift();if(!B){continue}else{B=C?B:decodeURIComponent(B)}var F=H.length?H.join("="):null;if(!C&&F){F=decodeURIComponent(F)}if(I[B]){if(!Array.isArray(I[B])){I[B]=[I[B]]}I[B].push(F)}else{I[B]=F}}return I};return{isEmpty:function(C){for(var B in C){return false}return true},empty:function(C){for(var B in C){delete C[B]}},shift:function(D){for(var B in D){var C=D[B];delete D[B];return C}},search:function(B,D){for(var C in B){if(B[C]===D){return C}}},first:function(C){for(var B in C){return C[B]}},firstIndex:function(C){for(var B in C){return B}},forEach:function(C,D){for(var B in C){D(C[B],B)}},clone:function(D){var B={};for(var C in D){B[C]=D[C]}return B},getLength:function(D){var C=0;for(var B in D){++C}return C},getStrings:function(D){var B=[];for(var C in D){if(typeof D[C]==="string"){B[B.length]=D[C]}else{if(Array.isArray(D[C])){D[C].forEach(function(E){if(typeof E==="string"){B[B.length]=E}})}else{if(typeof D[C]==="object"){B.splice(B.length,0,Λ.hash.getStrings(D[C]))}}}}return B},toArray:function(D){var C=[];for(var B in D){C.push(D[B])}return C},strictContent:function(D,B){for(var C in D){if(B.indexOf(C)===-1){delete D[C]}}return D},toQueryString:function(F){var E=[];for(var D in F){if(Array.isArray(F[D])){var C=encodeURIComponent(D);for(var B=0;B<F[D].length;++B){E.push(C+"="+(F[D][B]===null?"":encodeURIComponent(F[D][B])))}}else{E.push(encodeURIComponent(D)+"="+(F[D]===null?"":encodeURIComponent(F[D])))}}return E.join("&")},fromQueryString:function(B,C){return A(B.replace(/\+/g,"%20").split("&"),C)},fromSemicolonString:function(B,C){return A(B.replace(/\+/g,"%20").split(/;\s*/),C)}}})();
Λ.dateTime=(function(){var B=["January","February","March","April","May","June","July","August","September","October","November","December"];var C=/^-?\d+-(0\d|1[012])-([012]\d|3[01])$/;var A=/^(0\d|1[012])-([012]\d|3[01])$/;return{toISODate:function(D){return D.getFullYear()+"-"+Λ.num.pad(D.getMonth()+1,2)+"-"+Λ.num.pad(D.getDate(),2)},ISOToDate:function(F){var E,D;if(C.test(F)){D=F.split("-");switch(D[1]){case"02":if(D[2]>28){if(D[2]==="29"){if(D[0]%4){E=true}}else{E=true}}break;case"04":case"06":case"09":case"11":if(D[2]==="31"){E=true}break}}else{E=true}if(E){Λ.log.debug("ISOToDate Error: Passed string doesn't represent ISODate",F);throw new TypeError("ISOToDate Error: Passed string doesn't represent ISODate")}return new Date(D[0],D[1]-1,D[2],12)},getMonthLastDayByMonth:function(D,E){if(!E){throw new TypeError("dateTime.GetMonthLastDayByMonth error: year not given")}switch(D){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;case 4:case 6:case 9:case 11:return 30;case 2:return E%4?28:29;default:throw new TypeError("dateTime.getMonthLastDayByMonth error: index doesn't match any month: "+D)}},getMonthLastDay:function(D){return Λ.dateTime.getMonthLastDayByMonth(D.getMonth()+1,D.getFullYear())},getMonthName:function(E){if(Λ.i18n.isSet("calendar.months")){var D=Λ._("calendar.months").split("|");if(D.length!==12){Λ.log.error("dateTime error: invalid local month names, default names were used");D=B}}else{D=B}this.getMonthName=function(F){return D[F]};return this.getMonthName(E)},getPreviousMonth:function(D){var E=D.getMonth();return(E==0)?11:E-1},parse:function(J){J=Λ.str.trim(J.toLowerCase());if(C.test(J)){return Λ.dateTime.ISOToDate(J)}var F=new Date();var G=new Date();F.setHours(0,0,0,0);if(A.test(J)){return Λ.dateTime.ISOToDate(F.getFullYear()+"-"+J)}var I=F.getTime();var E=24*60*60*1000;Λ.log.debug(I,E,new Date(I+(E*7*"2")));switch(J){case"today":return F;case"tomorrow":return new Date(I+E);case"yesterday":return new Date(I-E)}var H;if(H=J.match(/^([-+])(\d+)\s*(days?|weeks?|months?|years?|hours?|minutes?|seconds?)$/)){var D=H[1]=="-"?-1:1;H[2]=parseInt(H[2],10);switch(H[3]){case"day":case"days":return new Date(I+D*(E*H[2]));case"week":case"weeks":return new Date(I+D*(E*7*H[2]));case"month":case"months":F.setMonth(F.getMonth()+D*H[2]);return F;case"year":case"years":F.setFullYear(F.getFullYear()+D*H[2]);return F;case"hour":case"hours":G.setHours(F.getHours()+D*H[2]);return G;case"minute":case"minutes":G.setMinutes(F.getMinutes()+D*H[2]);return G;case"second":case"seconds":G.setSeconds(F.getSeconds()+D*H[2]);return G}}throw new TypeError("Cannot parse data: bad string: "+J)},parseToISO:function(D){return Λ.dateTime.toISODate(Λ.dateTime.parse(D))}}})();
Λ.json=(function(){var string=function(o){return('"'+o.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")};var number=function(o){return o+""};return{serialize:function(o){var objtype=typeof (o);if(objtype=="number"||objtype=="boolean"){return o+""}else{if(o===null){return"null"}else{if(objtype=="string"){return string(o)}}}var me=arguments.callee;var newObj;if(typeof (o.__json__)=="function"){newObj=o.__json__();if(o!==newObj){return me(newObj)}}if(typeof (o.json)=="function"){newObj=o.json();if(o!==newObj){return me(newObj)}}var res,val;if(objtype!="function"&&typeof (o.length)=="number"){res=[];for(var i=0;i<o.length;i++){if(typeof o[i]==="undefined"){val="undefined"}else{val=me(o[i]);if(typeof (val)!="string"){val="undefined"}}res.push(val)}return"["+res.join(", ")+"]"}if(objtype=="undefined"){throw new TypeError("undefined can not be serialized as JSON")}if(objtype=="function"){return null}res=[];for(var k in o){var useKey;if(typeof (k)=="number"){useKey='"'+k+'"'}else{if(typeof (k)=="string"){useKey=string(k)}else{continue}}val=me(o[k]);if(typeof (val)!="string"){continue}res.push(useKey+":"+val)}return"{"+res.join(", ")+"}"},parse:function(text){if(/^\s*$/.test(text)){return null}else{return eval("("+text+")")}}}})();
Λ.timer=(function(){return{data:{},log:false,add:function(A,C,B){this.data[A]={time:C,message:B};if(this.log){Λ.log.info("TIME: ",A,B?"("+B+")":"",C)}}}})();Λ.timer.add("lib",(new Date()-window.$X_initLibTime));
(function(){var A=[];var B=function(){interval=setInterval(function(){var D,C=0;while(D=A[C++]){D()}},300);B=Λ.func.empty};Λ.time={delayInterval:function(I,H,E,F,D){var G=new Date();F=F||2000;D=D||100;var C=setInterval(function(){if(I()){clearInterval(C);H()}else{if((new Date()-G)>F){clearInterval(C);if(E){throw new TypeError(E)}}}},D)},limitInterval:function(E,C){var D=0;return function(){var F=(new Date()).getTime();if((F-D)>C){D=F;return E.apply(this,arguments)}}},delayTimeout:function(E,C){var D;return function(){if(D){clearTimeout(D)}D=setTimeout(E,C)}},interval:function(C){B();A.push(C)}}})();
(function(){var A=[];var B=function(D){document.body.appendChild(document.createElement("div")).appendChild(document.createTextNode(D));document.body.appendChild(document.createTextNode("\n"))};var C=false;Λ.debug={domExtendedName:function(E){var D=E.nodeName;if(E.id){D+="#"+E.id}if(E.className){D+="."+E.className}return D},logToDom:function(D){if(Λ.$isDOMContentLoaded){B(D)}else{A.push(D);if(!C){C=true;Λ.$onDOMContentLoaded(function(){var E;while(E=A.shift()){B(E)}})}}},domDict:function(E){for(var D in E){Λ.debug.logToDom(D+": "+((E[D]&&E[D].nodeName)?Λ.debug.domExtendedName(E[D]):E[D]))}},list:function(D){var E=0,F;while(F=D[E++]){Λ.debug.logToDom(F)}}}})();
(function(){var A={item:function(B){return this[B]}};Λ.List=function(B){return Λ.obj.extend(B||[],A)}})();
Λ.Base=(function(){var D,H;var C=function(O,M){var N=function(){H=this.base;this.base=M;D=O.apply(this,arguments);this.base=H;return D};N.overriden=M;return N};var I=["constructor","toString","valueOf"];var G=Object.prototype;var K=function(O,N){for(var M in N){if(!G[M]&&!I[M]){O[M]=N[M]}}};var E=function(N,O,M){if(N[M]&&(typeof N[M]=="function")&&(typeof O=="function")){N[M]=C(O,N[M])}else{N[M]=O}};var L=function(Q,P){var M=I.length,N,O;while(N=I[--M]){if(P[N]!==G[N]){Q[N]=C(P[N],Q[N])}}for(N in P){if(!G[N]){if(N.charAt(0)==="@"){if(detect(N.slice(1))){for(O in P[N]){E(Q,P[N][O],O)}}}else{E(Q,P[N],N)}}}};var B={};var F=function(){};F.extend=function(N,O){var P;var M=function(){if(arguments[0]!==B){if(this!==Λ.global){return P.apply(this,arguments)}else{throw new Error("Class cannot be called this way. You probably forgot 'new' operator")}}};M.ancestor=this;M.extend=F.extend;M.implement=F.implement;K(M,this);if(O){K(M,O)}M.prototype=new this(B);if(N){L(M.prototype,N)}P=M.prototype.constructor;M.prototype.constructor=M;return M};var J=["ancestor","prototype","extend","implement"];var A=function(N,M){return function(){var O=Λ.obj.toArray(arguments);O.unshift(this);return N[M].apply(N,O)}};F.implement=function(N){for(var M in N){if(!G[M]&&!I[M]&&!J[M]){if(typeof N[M]=="function"){this.prototype[M]=A(N,M)}else{if(typeof this.prototype[M]=="undefined"){this.prototype[M]=N[M]}}}}if(!this._implemented){this._implemented=[N]}else{this._implemented.push(N)}if(N._implemented){this._implemented.push.apply(this._implemented,N._implemented)}return this};F.prototype._implements=function(M){var N=this.constructor;do{if(N._implemented&&(N._implemented.indexOf(M)!==-1)){return true}}while(N=N.ancestor);return false};return F})();Λ.base=(function(){var A=function(C,B){C.parent=function(D,E){B.apply(D,E||[])}};return{extend:function(F){var E;var D=this;var C=F.initialize||this.prototype.initialize||function(){};var B=function(){for(var G=0,H;(H=this._interfaceConstructors[G]);++G){H.apply(this)}C.apply(this,Array.prototype.slice.call(arguments))};B.prototype={};if(this.prototype){for(E in this.prototype){B.prototype[E]=this.prototype[E]}B.prototype._interfaceConstructors=[].concat(B.prototype._interfaceConstructors);for(E in F){B.prototype[E]=F[E];if(this.prototype[E]&&(typeof F[E]=="function")){(function(G){F[G].parent=function(H,I){D.prototype[G].apply(H,I||[])};F[G].parent.parent=D.prototype[G].parent})(E)}}}else{for(E in F){B.prototype[E]=F[E]}B.prototype._interfaceConstructors=[]}B.extend=Λ.base.extend;B.implement=Λ.base.implement;B.decorate=Λ.base.decorate;return B},implement:function(){for(var C=0,D;(D=arguments[C]);++C){if(D.initialize){this.prototype._interfaceConstructors.push(D.initialize)}for(var B in D){if(B!=="initialize"){if(!this.prototype[B]){this.prototype[B]=D[B]}else{A(this.prototype[B],D[B])}}}}},decorate:function(){var C=arguments;this.prototype._loadDecorators=function(){for(var G=0,F;(F=C[G]);++G){if(F.initialize){F.initialize.apply(this)}}};for(var E=0,B;(B=C[E]);++E){for(var D in B){if(D!=="initialize"){if((typeof B[D]=="function")&&this.prototype[D]){A(B[D],this.prototype[D])}this.prototype[D]=B[D]}}}},staticExtend:function(D,C){for(var B in C){if(D[B]){A(D[B],C[B])}else{D[B]=C[B]}}return D}}})();
Λ.Abstract=Λ.Base.extend({constructor:function(){throw new TypeError("Abstract class cannot be instantiated.")}});
Λ.Module=Λ.Abstract.extend(null,(function(){var D=["constructor","toString","valueOf"];var C=Object.prototype;var F=function(I,H){for(var G in H){if(!C[G]&&!D[G]){I[G]=H[G]}}};var A=["ancestor","prototype","extend","implement"];var E=function(H,G){return function(){var I=Λ.obj.toArray(arguments);I.unshift(this);return H[G].apply(H,I)}};var B={extend:function(H,I){var G=function(K){if(this.constructor===G){throw new TypeError("Class cannot be called this way.")}else{if(!K){K={}}for(var J in G){if(!C[J]&&!D[J]&&!A[J]){K[J]=E(G,J)}}return K}};G.extend=B.extend;G.implement=B.implement;F(G,H);return G},implement:function(G){F(this,G);if(!this._implemented){this._implemented=[G]}else{this._implemented.push(_inteface)}if(G._implemented){this._implemented.push.apply(this._implemented,G._implemented)}}};return B})());
Λ.EventsHandler=Λ.Module.extend({addEventListener:function(E,C,D,B){if(!E.$X_events){E.$X_events={};E.$X_scopes={};E.$X_events[C]=[];E.$X_scopes[C]=[]}else{if(!E.$X_events[C]){E.$X_events[C]=[];E.$X_scopes[C]=[]}else{var A=0;while(((A=E.$X_events[C].indexOf(D,A))!==-1)){if(E.$X_scopes[C][A++]===(B||E)){return }}}}E.$X_events[C].push(D);E.$X_scopes[C].push(B||E)},removeEventListener:function(F,D,E,B){var C;if(!F.$X_events||!(C=F.$X_events[D])){Λ.log.debug("bad listener",D,E,E.toString());throw new Error("Listener is not listening on this object")}var A;if(((A=C.indexOf(E))!==-1)&&((B||F)===F.$X_scopes[D][A])){C.splice(A,1);F.$X_scopes[D].splice(A,1)}else{Λ.log.debug("bad listener",D,E,E.toString());throw new Error("Listener is not listening on this object")}},dispatchEvent:function(H,E){if(H.$X_events&&H.$X_events[E]&&H.$X_events[E].length){var D=H.$X_events[E];var C=[].concat(D);var F=[].concat(H.$X_scopes[E]);var A=Λ.obj.toArray(arguments,2);var B=0,G;while(G=C[B++]){if(D.indexOf(G)!==-1){G.apply(F[B-1],A)}}}}});
(function(){Λ.Async=Λ.Module.extend({inProgress:false,isSuccess:null,isComplete:false});Λ.Async.implement(Λ.EventsHandler);Λ.AsyncObj=Λ.Base.extend({className:"AsyncObj",begin:function(){if(this.inProgress){return false}this.inProgress=true;this.isSuccess=null;this.isComplete=false;if(this.className){Λ[this.className].begin(this)}this.dispatchEvent.apply(this,["begin"].concat(Λ.obj.toArray(arguments)));return true},onSuccess:function(){this.isSuccess=true;this.dispatchEvent.apply(this,["success"].concat(Λ.obj.toArray(arguments)))},onFailure:function(){this.isSuccess=false;this.dispatchEvent.apply(this,["failure"].concat(Λ.obj.toArray(arguments)))},onComplete:function(){this.inProgress=false;this.isComplete=true;this.dispatchEvent.apply(this,["complete"].concat(Λ.obj.toArray(arguments)));if(this.className){Λ[this.className].onComplete(this)}}});Λ.AsyncObj.implement(Λ.Async);Λ.AsyncSingleton=Λ.AsyncObj.extend({constructor:function(B){this.base();this.parent=B},opened:0,className:null,parent:null,begin:function(B){if(this.opened++){return false}if(this.parent){this.parent.begin.apply(this.parent,Λ.obj.toArray(arguments))}return this.base.apply(this,Λ.obj.toArray(arguments))},onComplete:function(B){if(--this.opened){return }this.onSuccess.apply(this,Λ.obj.toArray(arguments));this.base.apply(this,Λ.obj.toArray(arguments));if(this.parent){this.parent.onComplete.apply(this.parent,Λ.obj.toArray(arguments))}}});var A=new Λ.AsyncSingleton();Λ.obj.extend(Λ.AsyncObj,A)})();
Λ.num=(function(){return{pad:function(B,A){return Λ.str.pad(B,A,"0")},mod:function(A,B){return Math.round(A-(Math.floor(A/B)*B))},isInt:function(A){return ~~A==A}}})();Λ.Point=Λ.Base.extend({constructor:function(A,B){this.x=A||0;this.y=B||0},distance:function(A){return Math.sqrt(Math.pow(this.x-A.x,2)+Math.pow(this.y-A.y,2))},add:function(A){this.x+=A.x;this.y+=A.y}});Λ.Circle=Λ.Base.extend({constructor:function(B,C,A){this.center=new Λ.Point(B,C);this.radius=A},isWithin:function(A){return this.center.distance(A)<this.radius}});Λ.Rectangle=Λ.Base.extend({constructor:function(C,B,D,A){this.topLeft=new Λ.Point((C.x<=B.x)?C.x:B.x,(C.y<=B.y)?C.y:B.y);this.bottomRight=new Λ.Point((C.x<B.x)?B.x:C.x,(C.y<B.y)?B.y:C.y);this.target=D;this.reference=A},isWithin:function(A){return(A.x>=this.topLeft.x)&&(A.x<=this.bottomRight.x)&&(A.y>=this.topLeft.y)&&(A.y<=this.bottomRight.y)},contains:function(A){if(A instanceof Λ.Point){return(A.x>=this.topLeft.x)&&(A.x<=this.bottomRight.x)&&(A.y>=this.topLeft.y)&&(A.y<=this.bottomRight.y)}else{if(A instanceof Λ.Rectangle){return(A.topLeft.x>=this.topLeft.x)&&(A.bottomRight.x<=this.bottomRight.x)&&(A.topLeft.y>=this.topLeft.y)&&(A.bottomRight.y<=this.bottomRight.y)}else{throw new TypeError("Rectangle error: expected Point or Rectangle instance, got: '"+(typeof A)+"'")}}},expand:function(C,D,A,B){if(typeof B=="undefined"){if(typeof A=="undefined"){if(typeof D=="undefined"){D=A=B=C}else{A=C;B=D}}else{B=D}}this.topLeft.x+=B;this.topLeft.y+=C;this.bottomRight.x+=D;this.bottomRight.y+=A}});
Λ.i18n=(function(){var A={};return{add:function(C){for(var B in C){A[B]=C[B]}},get:function(B){if(typeof A[B]!="undefined"){return A[B]}else{Λ.log.error("locale for '"+B+"' not found");Λ.i18n.dispatchEvent("error",B);return B}},isSet:function(){return typeof A[name]!="undefined"},getHash:function(D){var E={};for(var C=0,B;(B=D[C]);++C){E[B]=this.get(B)}return E}}})();Λ.EventsHandler(Λ.i18n);Λ._=Λ.i18n.get;
Λ.IE=window.ScriptEngineMinorVersion?window.ScriptEngineMinorVersion():false;if(Λ.IE){Λ.IE=parseInt(navigator.userAgent.match(/MSIE\s+(\d+)\./)[1],10)}Λ.JSCRIPT=window.ScriptEngine&&(window.ScriptEngine()=="JScript");Λ.WEBKIT=(navigator.userAgent.indexOf("AppleWebKit/")>-1);Λ.GECKO=((navigator.userAgent.indexOf("Gecko")>-1)&&(navigator.userAgent.indexOf("KHTML")==-1));Λ.OPERA=(navigator.userAgent.indexOf("Opera")>-1);Λ.CHROME=(navigator.userAgent.indexOf("Chrome/")>-1);Λ.DESKTOP=window.navigator&&navigator.platform&&((navigator.platform.indexOf("Win32")===0)||(navigator.platform.indexOf("Mac")===0)||(navigator.platform.indexOf("Linux")===0));
(function(){var B={_initialize:function(){if(this.target.hasClass("disabled")){this.disabled=true}},disabled:false,disable:function(){this.target.addClass("disabled");this.disabled=true;return this},enable:function(){this.target.removeClass("disabled");this.disabled=false;return this}};var C=Λ.obj.extend({_initialize:function(){if(this.target.disabled){this.target.addClass("disabled")}this.base()},disable:function(D){if(this.disabled&&!D){return }this.target.disabled=true;return this.base()},enable:function(D){if(!this.disabled&&!D){return }this.target.disabled=false;return this.base()}},B);var A=Λ.obj.extend({hrefCache:null,disable:function(){if(this.disabled){return }if(href=this.target.getAttribute("href")){this.hrefCache=href;this.target.removeAttribute("href")}return this.base()},enable:function(){if(!this.disabled){return }if(this.hrefCache){this.target.setAttribute("href",this.hrefCache);this.hrefCache=null}return this.base()}},B);Λ.HTMLElement=Λ.Base.extend({constructor:function(D){if(!D){throw new TypeError("HTMLELement error: element not given!")}else{if(D.$element){return D.$element}else{this.target=Λ.$b(D);D.$element=this;this.tp=new Λ.TweenProcessor();switch(D.nodeName.toLowerCase()){case"input":case"button":case"select":case"textarea":Λ.obj.extend(this,C,true);this._initialize();break;case"a":Λ.obj.extend(this,A,true);this._initialize();break}if(this.hidden=(D.style.display==="none")){this._styleDisplayCache=""}}}},hidden:false,_styleDisplayCache:null,first:function(){return this.target},appendTo:function(D){if(D instanceof Λ.HTMLElement){D=D.target}D.appendChild(this.target)},prependTo:function(D){if(D instanceof Λ.HTMLElement){D=D.target}D.insertBefore(this.target,D.firstChild)},insertBefore:function(D){if(D instanceof Λ.HTMLElement){D=D.target}D.parentNode.insertBefore(this.target,D)},getHeight:function(){return this.target.clientHeight||this.target.offsetHeight},getWidth:function(){return this.target.clientWidth||this.target.offsetWidth},setOpacity:function(D){Λ.style.setOpacity(this.target,D)},hide:function(){if(!this.hidden){switch(this.target.getAttribute("data-transition")){case"reveal":this.tp.add(Λ.HTMLTransition.cover(this,200)).addEventListener("complete",function(){this._styleDisplayCache=this.target.style.display;this.target.style.display="none"}.bind(this),false);break;default:this._styleDisplayCache=this.target.style.display;this.target.style.display="none"}this.hidden=true}return this},show:function(){if(this.hidden){switch(this.target.getAttribute("data-transition")){case"reveal":this.tp.add(Λ.HTMLTransition.reveal(this,null,200)).addEventListener("complete",function(){this.target.style.display=this._styleDisplayCache}.bind(this),false);break;default:this.target.style.display=this._styleDisplayCache}this.hidden=false}return this},toggle:function(){if(this.hidden){this.show()}else{this.hide()}},setHidden:function(D){this._styleDisplayCache=D||"block";this.hidden=true;return this},destroy:function(){if(Λ.DOMModObserver){Λ.DOMModObserver.process(this.target)}switch(this.target.getAttribute("data-transition")){case"reveal":this.target.removeAttribute("data-transition");var D=Λ.HTMLTransition.cover(this,200);D.addEventListener("complete",function(){Λ.dom.destroy(this.target);this.target.$element=Λ.UNDEFINED;this.target=null}.bind(this));var E=new Λ.TweenProcessor();E.add(D);break;default:Λ.dom.destroy(this.target);this.target.$element=Λ.UNDEFINED;this.target=null}},destroyContent:function(){Λ.dom.destroyContent(this.target)}})})();
(function(){Λ.Location=Λ.Base.extend({constructor:function(B){this.parse(B)},protocol:null,hostname:null,port:null,pathname:"",searchQuery:null,hashId:null,host:function(){return this.hostname+(this.port?":"+this.port:"")},search:function(){return this.searchQuery?"?"+GRONO.hash.toQueryString(this.searchQuery):""},hash:function(){return(this.hashId===null)?"":"#"+this.hashId},realPort:function(){return(this.port===null)?"80":this.port},href:function(){if(this.protocol){return this.protocol+"//"+this.host()+this.pathname+this.search()+this.hash()}else{return this.pathname+this.search()+this.hash()}},parse:function(B){var C=B.match(Λ.location.fullUrlRegExp);if(!C){C=B.match(Λ.location.innerUrlRegExp);if(!C){throw new TypeError("Location error: wrong url: "+B)}this.pathname=C[1];if(C[2]){this.searchQuery=GRONO.hash.fromQueryString(C[3])}else{this.searchQuery=null}if(C[4]){this.hashId=C[5]}else{this.hashId=null}}else{this.protocol=C[1];this.hostname=C[2];this.port=typeof C[4]==="string"?C[4]:null;this.pathname=C[5];if(C[6]){this.searchQuery=GRONO.hash.fromQueryString(C[7])}else{this.searchQuery=null}if(C[8]){this.hashId=C[9]}else{this.hashId=null}}}});var A="[a-z][a-z0-9.+-]*";Λ.location={isGET:function(B){return !!location.search.match(new RegExp("(^\\?|&)"+B+"(=|&|$)"))},getGET:function(C){var B=location.search.match(new RegExp("(^\\?|&)"+C+"(=([^&]*)|&|$)"));return B?(B[3]?B[3]:""):null},fullUrlRegExp:/^([a-z]+:)\/\/([^:\/\s]+)(\:(\d+))?(\/[^?#]*)(\?([^#]+))?(#(.*))?$/,innerUrlRegExp:/^([^?#]*)(\?([^#]+))?(#(.*))?$/,hasSchemeRegExp:new RegExp("^"+A+"\\://"),realPort:function(){return location.port?location.port:"80"},getAnchor:function(B){if(typeof B==="undefined"){B=location.href}var C=B.indexOf("#");return(C>0)?B.substring(C+1):null},getAbsolute:function(B){B=Λ.str.trim(B);if(Λ.location.hasSchemeRegExp.test(B)){var C=new Λ.Location(B);if((C.protocol==location.protocol)&&(C.hostname==location.hostname)&&(C.realPort()==Λ.location.realPort())){return C.pathname}else{return B}}if((B.indexOf("/")===0)){return B}else{if(B===""){return location.href}else{return((location.pathname.indexOf("/")!==-1)?location.pathname.substr(0,location.pathname.lastIndexOf("/")+1):"/")+B}}}}})();
Λ.selectors=(function(){var O=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,H=0,D=Object.prototype.toString,M=false;var B=function(d,T,a,V){a=a||[];var Q=T=T||document;if(T.nodeType!==1&&T.nodeType!==9){return[]}if(!d||typeof d!=="string"){return a}var b=[],c,Y,g,f,Z,S,R=true,W=N(T);O.lastIndex=0;while((c=O.exec(d))!==null){b.push(c[1]);if(c[2]){S=RegExp.rightContext;break}}if(b.length>1&&I.exec(d)){if(b.length===2&&E.relative[b[0]]){Y=F(b[0]+b[1],T)}else{Y=E.relative[b[0]]?[T]:B(b.shift(),T);while(b.length){d=b.shift();if(E.relative[d]){d+=b.shift()}Y=F(d,Y)}}}else{if(!V&&b.length>1&&T.nodeType===9&&!W&&E.match.ID.test(b[0])&&!E.match.ID.test(b[b.length-1])){var h=B.find(b.shift(),T,W);T=h.expr?B.filter(h.expr,h.set)[0]:h.set[0]}if(T){var h=V?{expr:b.pop(),set:A(V)}:B.find(b.pop(),b.length===1&&(b[0]==="~"||b[0]==="+")&&T.parentNode?T.parentNode:T,W);Y=h.expr?B.filter(h.expr,h.set):h.set;if(b.length>0){g=A(Y)}else{R=false}while(b.length){var U=b.pop(),X=U;if(!E.relative[U]){U=""}else{X=b.pop()}if(X==null){X=T}E.relative[U](g,X,W)}}else{g=b=[]}}if(!g){g=Y}if(!g){throw"Syntax error, unrecognized expression: "+(U||d)}if(D.call(g)==="[object Array]"){if(!R){a.push.apply(a,g)}else{if(T&&T.nodeType===1){for(var e=0;g[e]!=null;e++){if(g[e]&&(g[e]===true||g[e].nodeType===1&&G(T,g[e]))){a.push(Y[e])}}}else{for(var e=0;g[e]!=null;e++){if(g[e]&&g[e].nodeType===1){a.push(Y[e])}}}}}else{A(g,a)}if(S){B(S,Q,a,V);B.uniqueSort(a)}return a};B.uniqueSort=function(R){if(C){M=false;R.sort(C);if(M){for(var Q=1;Q<R.length;Q++){if(R[Q]===R[Q-1]){R.splice(Q--,1)}}}}};B.matches=function(Q,R){return B(Q,null,null,R)};B.find=function(X,Q,Y){var W,U;if(!X){return[]}for(var T=0,S=E.order.length;T<S;T++){var V=E.order[T],U;if((U=E.match[V].exec(X))){var R=RegExp.leftContext;if(R.substr(R.length-1)!=="\\"){U[1]=(U[1]||"").replace(/\\/g,"");W=E.find[V](U,Q,Y);if(W!=null){X=X.replace(E.match[V],"");break}}}}if(!W){W=Q.getElementsByTagName("*")}return{set:W,expr:X}};B.filter=function(a,Z,d,T){var S=a,f=[],X=Z,V,Q,W=Z&&Z[0]&&N(Z[0]);while(a&&Z.length){for(var Y in E.filter){if((V=E.match[Y].exec(a))!=null){var R=E.filter[Y],e,c;Q=false;if(X==f){f=[]}if(E.preFilter[Y]){V=E.preFilter[Y](V,X,d,f,T,W);if(!V){Q=e=true}else{if(V===true){continue}}}if(V){for(var U=0;(c=X[U])!=null;U++){if(c){e=R(c,V,U,X);var b=T^!!e;if(d&&e!=null){if(b){Q=true}else{X[U]=false}}else{if(b){f.push(c);Q=true}}}}}if(e!==undefined){if(!d){X=f}a=a.replace(E.match[Y],"");if(!Q){return[]}break}}}if(a==S){if(Q==null){throw"Syntax error, unrecognized expression: "+a}else{break}}S=a}return X};var E=B.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(Q){return Q.getAttribute("href")}},relative:{"+":function(X,Q,W){var U=typeof Q==="string",Y=U&&!/\W/.test(Q),V=U&&!Y;if(Y&&!W){Q=Q.toUpperCase()}for(var T=0,S=X.length,R;T<S;T++){if((R=X[T])){while((R=R.previousSibling)&&R.nodeType!==1){}X[T]=V||R&&R.nodeName===Q?R||false:R===Q}}if(V){B.filter(Q,X,true)}},">":function(W,R,X){var U=typeof R==="string";if(U&&!/\W/.test(R)){R=X?R:R.toUpperCase();for(var S=0,Q=W.length;S<Q;S++){var V=W[S];if(V){var T=V.parentNode;W[S]=T.nodeName===R?T:false}}}else{for(var S=0,Q=W.length;S<Q;S++){var V=W[S];if(V){W[S]=U?V.parentNode:V.parentNode===R}}if(U){B.filter(R,W,true)}}},"":function(T,R,V){var S=H++,Q=P;if(!/\W/.test(R)){var U=R=V?R:R.toUpperCase();Q=L}Q("parentNode",R,S,T,U,V)},"~":function(T,R,V){var S=H++,Q=P;if(typeof R==="string"&&!/\W/.test(R)){var U=R=V?R:R.toUpperCase();Q=L}Q("previousSibling",R,S,T,U,V)}},find:{ID:function(R,S,T){if(typeof S.getElementById!=="undefined"&&!T){var Q=S.getElementById(R[1]);return Q?[Q]:[]}},NAME:function(S,V,W){if(typeof V.getElementsByName!=="undefined"){var R=[],U=V.getElementsByName(S[1]);for(var T=0,Q=U.length;T<Q;T++){if(U[T].getAttribute("name")===S[1]){R.push(U[T])}}return R.length===0?null:R}},TAG:function(Q,R){return R.getElementsByTagName(Q[1])}},preFilter:{CLASS:function(T,R,S,Q,W,X){T=" "+T[1].replace(/\\/g,"")+" ";if(X){return T}for(var U=0,V;(V=R[U])!=null;U++){if(V){if(W^(V.className&&(" "+V.className+" ").indexOf(T)>=0)){if(!S){Q.push(V)}}else{if(S){R[U]=false}}}}return false},ID:function(Q){return Q[1].replace(/\\/g,"")},TAG:function(R,Q){for(var S=0;Q[S]===false;S++){}return Q[S]&&N(Q[S])?R[1]:R[1].toUpperCase()},CHILD:function(Q){if(Q[1]=="nth"){var R=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(Q[2]=="even"&&"2n"||Q[2]=="odd"&&"2n+1"||!/\D/.test(Q[2])&&"0n+"+Q[2]||Q[2]);Q[2]=(R[1]+(R[2]||1))-0;Q[3]=R[3]-0}Q[0]=H++;return Q},ATTR:function(U,R,S,Q,V,W){var T=U[1].replace(/\\/g,"");if(!W&&E.attrMap[T]){U[1]=E.attrMap[T]}if(U[2]==="~="){U[4]=" "+U[4]+" "}return U},PSEUDO:function(U,R,S,Q,W){if(U[1]==="not"){var V=O.exec(U[3]);if((V&&V.length>1)||/^\w/.test(U[3])){U[3]=B(U[3],null,null,R)}else{var T=B.filter(U[3],R,S,true^W);if(!S){Q.push.apply(Q,T)}return false}}else{if(E.match.POS.test(U[0])||E.match.CHILD.test(U[0])){return true}}return U},POS:function(Q){Q.unshift(true);return Q}},filters:{enabled:function(Q){return Q.disabled===false&&Q.type!=="hidden"},disabled:function(Q){return Q.disabled===true},checked:function(Q){return Q.checked===true},selected:function(Q){Q.parentNode.selectedIndex;return Q.selected===true},parent:function(Q){return !!Q.firstChild},empty:function(Q){return !Q.firstChild},has:function(S,R,Q){return !!B(Q[3],S).length},header:function(Q){return/h\d/i.test(Q.nodeName)},text:function(Q){return"text"===Q.type},radio:function(Q){return"radio"===Q.type},checkbox:function(Q){return"checkbox"===Q.type},file:function(Q){return"file"===Q.type},password:function(Q){return"password"===Q.type},submit:function(Q){return"submit"===Q.type},image:function(Q){return"image"===Q.type},reset:function(Q){return"reset"===Q.type},button:function(Q){return"button"===Q.type||Q.nodeName.toUpperCase()==="BUTTON"},input:function(Q){return/input|select|textarea|button/i.test(Q.nodeName)}},setFilters:{first:function(R,Q){return Q===0},last:function(S,R,Q,T){return R===T.length-1},even:function(R,Q){return Q%2===0},odd:function(R,Q){return Q%2===1},lt:function(S,R,Q){return R<Q[3]-0},gt:function(S,R,Q){return R>Q[3]-0},nth:function(S,R,Q){return Q[3]-0==R},eq:function(S,R,Q){return Q[3]-0==R}},filter:{PSEUDO:function(V,R,S,W){var Q=R[1],T=E.filters[Q];if(T){return T(V,S,R,W)}else{if(Q==="contains"){return(V.textContent||V.innerText||"").indexOf(R[3])>=0}else{if(Q==="not"){var U=R[3];for(S=0,l=U.length;S<l;S++){if(U[S]===V){return false}}return true}}}},CHILD:function(Q,T){var W=T[1],R=Q;switch(W){case"only":case"first":while((R=R.previousSibling)){if(R.nodeType===1){return false}}if(W=="first"){return true}R=Q;case"last":while((R=R.nextSibling)){if(R.nodeType===1){return false}}return true;case"nth":var S=T[2],Z=T[3];if(S==1&&Z==0){return true}var V=T[0],Y=Q.parentNode;if(Y&&(Y.sizcache!==V||!Q.nodeIndex)){var U=0;for(R=Y.firstChild;R;R=R.nextSibling){if(R.nodeType===1){R.nodeIndex=++U}}Y.sizcache=V}var X=Q.nodeIndex-Z;if(S==0){return X==0}else{return(X%S==0&&X/S>=0)}}},ID:function(R,Q){return R.nodeType===1&&R.getAttribute("id")===Q},TAG:function(R,Q){return(Q==="*"&&R.nodeType===1)||R.nodeName===Q},CLASS:function(R,Q){return(" "+(R.className||R.getAttribute("class"))+" ").indexOf(Q)>-1},ATTR:function(V,T){var S=T[1],Q=E.attrHandle[S]?E.attrHandle[S](V):V[S]!=null?V[S]:V.getAttribute(S),W=Q+"",U=T[2],R=T[4];return Q==null?U==="!=":U==="="?W===R:U==="*="?W.indexOf(R)>=0:U==="~="?(" "+W+" ").indexOf(R)>=0:!R?W&&Q!==false:U==="!="?W!=R:U==="^="?W.indexOf(R)===0:U==="$="?W.substr(W.length-R.length)===R:U==="|="?W===R||W.substr(0,R.length+1)===R+"-":false},POS:function(U,R,S,V){var Q=R[2],T=E.setFilters[Q];if(T){return T(U,S,R,V)}}}};var I=E.match.POS;for(var K in E.match){E.match[K]=new RegExp(E.match[K].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var A=function(R,Q){R=Array.prototype.slice.call(R,0);if(Q){Q.push.apply(Q,R);return Q}return R};try{Array.prototype.slice.call(document.documentElement.childNodes,0)}catch(J){A=function(U,T){var R=T||[];if(D.call(U)==="[object Array]"){Array.prototype.push.apply(R,U)}else{if(typeof U.length==="number"){for(var S=0,Q=U.length;S<Q;S++){R.push(U[S])}}else{for(var S=0;U[S];S++){R.push(U[S])}}}return R}}var C;if(document.documentElement.compareDocumentPosition){C=function(R,Q){var S=R.compareDocumentPosition(Q)&4?-1:R===Q?0:1;if(S===0){M=true}return S}}else{if("sourceIndex" in document.documentElement){C=function(R,Q){var S=R.sourceIndex-Q.sourceIndex;if(S===0){M=true}return S}}else{if(document.createRange){C=function(T,R){var S=T.ownerDocument.createRange(),Q=R.ownerDocument.createRange();S.selectNode(T);S.collapse(true);Q.selectNode(R);Q.collapse(true);var U=S.compareBoundaryPoints(Range.START_TO_END,Q);if(U===0){M=true}return U}}}}(function(){var R=document.createElement("div"),S="script"+(new Date).getTime();R.innerHTML="<a name='"+S+"'/>";var Q=document.documentElement;Q.insertBefore(R,Q.firstChild);if(!!document.getElementById(S)){E.find.ID=function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?T.id===U[1]||typeof T.getAttributeNode!=="undefined"&&T.getAttributeNode("id").nodeValue===U[1]?[T]:undefined:[]}};E.filter.ID=function(V,T){var U=typeof V.getAttributeNode!=="undefined"&&V.getAttributeNode("id");return V.nodeType===1&&U&&U.nodeValue===T}}Q.removeChild(R);Q=R=null})();(function(){var Q=document.createElement("div");Q.appendChild(document.createComment(""));if(Q.getElementsByTagName("*").length>0){E.find.TAG=function(R,V){var U=V.getElementsByTagName(R[1]);if(R[1]==="*"){var T=[];for(var S=0;U[S];S++){if(U[S].nodeType===1){T.push(U[S])}}U=T}return U}}Q.innerHTML="<a href='#'></a>";if(Q.firstChild&&typeof Q.firstChild.getAttribute!=="undefined"&&Q.firstChild.getAttribute("href")!=="#"){E.attrHandle.href=function(R){return R.getAttribute("href",2)}}Q=null})();if(document.querySelectorAll){(function(){var Q=B,S=document.createElement("div");S.innerHTML="<p class='TEST'></p>";if(S.querySelectorAll&&S.querySelectorAll(".TEST").length===0){return }B=function(W,V,T,U){V=V||document;if(!U&&V.nodeType===9&&!N(V)){try{return A(V.querySelectorAll(W),T)}catch(X){}}return Q(W,V,T,U)};for(var R in Q){B[R]=Q[R]}S=null})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var Q=document.createElement("div");Q.innerHTML="<div class='test e'></div><div class='test'></div>";if(Q.getElementsByClassName("e").length===0){return }Q.lastChild.className="e";if(Q.getElementsByClassName("e").length===1){return }E.order.splice(1,0,"CLASS");E.find.CLASS=function(R,S,T){if(typeof S.getElementsByClassName!=="undefined"&&!T){return S.getElementsByClassName(R[1])}};Q=null})()}function L(R,W,V,a,X,Z){var Y=R=="previousSibling"&&!Z;for(var T=0,S=a.length;T<S;T++){var Q=a[T];if(Q){if(Y&&Q.nodeType===1){Q.sizcache=V;Q.sizset=T}Q=Q[R];var U=false;while(Q){if(Q.sizcache===V){U=a[Q.sizset];break}if(Q.nodeType===1&&!Z){Q.sizcache=V;Q.sizset=T}if(Q.nodeName===W){U=Q;break}Q=Q[R]}a[T]=U}}}function P(R,W,V,a,X,Z){var Y=R=="previousSibling"&&!Z;for(var T=0,S=a.length;T<S;T++){var Q=a[T];if(Q){if(Y&&Q.nodeType===1){Q.sizcache=V;Q.sizset=T}Q=Q[R];var U=false;while(Q){if(Q.sizcache===V){U=a[Q.sizset];break}if(Q.nodeType===1){if(!Z){Q.sizcache=V;Q.sizset=T}if(typeof W!=="string"){if(Q===W){U=true;break}}else{if(B.filter(W,[Q]).length>0){U=Q;break}}}Q=Q[R]}a[T]=U}}}var G=document.compareDocumentPosition?function(R,Q){return R.compareDocumentPosition(Q)&16}:function(R,Q){return R!==Q&&(R.contains?R.contains(Q):true)};var N=function(Q){return Q.nodeType===9&&Q.documentElement.nodeName!=="HTML"||!!Q.ownerDocument&&Q.ownerDocument.documentElement.nodeName!=="HTML"};var F=function(Q,X){var T=[],U="",V,S=X.nodeType?[X]:X;while((V=E.match.PSEUDO.exec(Q))){U+=V[0];Q=Q.replace(E.match.PSEUDO,"")}Q=E.relative[Q]?Q+"*":Q;for(var W=0,R=S.length;W<R;W++){B(Q,S[W],T)}return B.filter(U,T)};return{query:B,match:function(R,Q){return !!B.matches(Q,[R]).length}}})();
(function(){var B=function(){return new Λ.DOMList(this.base.apply(this,arguments))};var C=function(E){var H=[],F=0,D,F,G,I;while(D=E[F++]){if(typeof D==="string"){I=document.createElement("div");I.innerHTML=D;H=H.concat(Λ.dom.children(I))}else{if(D.nodeName){H[H.length]=D}else{if(typeof D.length==="number"){if(D.length){if(!(D instanceof Array)){D=Λ.obj.toArray(D)}H=H.concat(D)}}else{throw new TypeError("Unrecognized type for DOMList: "+(typeof D))}}}}return H};var A={first:function(){return this[0]},filter:function(J,G){var I=!!G;if(typeof J=="string"){selector=J;J=function(K){return !I==K.matchesSelector(selector)};G=Λ.UNDEFINED}else{if(typeof J.length!=="undefined"){var H=J,F,E;J=function(K){F=0;while(E=H[F++]){if(Λ.dom.contains(E,K)){return !I}}return I};G=Λ.UNDEFINED}else{if(J.attributes){var E=J;J=function(K){if(Λ.dom.contains(E,K)){return !I}}}}}var D=G?this.base(J,G):this.base(J);return new Λ.DOMList(D)},hidden:false,hide:function(D){if(D){this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}E.$element.hide()})}else{if(!this.hidden){this.hidden=true;this.hiddenCache=[];this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}if(!E.$element.hidden){this.hiddenCache[this.hiddenCache.length]=E.$element;E.$element.hide()}},this)}}return this},cache:function(){this.forEach(Λ.dom.addToCache)},show:function(D){if(D){this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}E.$element.show()})}else{if(this.hidden){this.hidden=false;this.hiddenCache.forEach(function(E){E.show()})}}return this},toggle:function(D){if(D){this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}E.$element.toggle()})}else{if(this.hidden){this.show()}else{this.hide()}}},addClass:function(F){var D=0,E;while(E=this[D++]){E.addClass(F)}return this},removeClass:function(F){var D=0,E;while(E=this[D++]){E.removeClass(F)}return this},appendTo:function(D){if(D instanceof Λ.HTMLElement){D=D.target}this.forEach(function(E){D.appendChild(E)});return this},prependTo:function(D){if(D instanceof Λ.HTMLElement){D=D.target}var E=D.firstChild;this.forEach(function(F){D.insertBefore(F,E)});return this},getWidth:function(){var D=0;this.forEach(function(E){D+=E.clientWidth});return D},setOpacity:function(D){this.forEach(function(E){Λ.style.setOpacity(E,D)})},insertBefore:function(D){if(D instanceof Λ.HTMLElement){D=D.target}var E=D.parentNode;this.forEach(function(F){E.insertBefore(F,D)});return this},concat:function(){return new Λ.DOMList(this.base(C(arguments)))},contains:function(F){var D=0,E;while(E=this[D++]){if(Λ.dom.contains(E,F)){return true}}return false},destroy:function(){var D;while(D=this.shift()){if(!D.$element){new Λ.HTMLElement(D)}D.$element.destroy()}},disable:function(D){if(D){this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}if(E.$element.disable){E.$element.disable()}})}else{if(!this.disabled){this.disabled=true;this.disabledCache=[];this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}if(E.$element.disable&&!E.$element.disabled){this.disabledCache[this.disabledCache.length]=E.$element;E.$element.disable()}},this)}}return this},enable:function(D){if(D){this.forEach(function(E){if(!E.$element){new Λ.HTMLElement(E)}if(E.$element.enable){E.$element.enable()}})}else{if(this.disabled){this.disabled=false;this.disabledCache.forEach(function(E){E.enable()})}}return this},disabled:false,slice:B,splice:B};Λ.DOMList=function(){return Λ.obj.extend(C(arguments),A,true)}})();
Λ.style=function(){if(!window.getComputedStyle&&document.documentElement.currentStyle){document.defaultView=window;window.getComputedStyle=function(B){return B.currentStyle}}var A;if(document.createStyleSheet){if(document.styleSheets.length>29){A=document.styleSheets[document.styleSheets.length-1]}else{A=document.createStyleSheet()}}else{A=document.getElementsByTagName("head")[0].appendChild(document.createElement("style"));A.setAttribute("type","text/css")}return{getViewportDimensions:function(){if(window.innerWidth){return{w:window.innerWidth,h:window.innerHeight}}else{if(document.body.parentElement.clientWidth){return{w:document.body.parentElement.clientWidth,h:document.body.parentElement.clientHeight}}else{if(document.body.clientWidth){return{w:document.body.clientWidth,h:document.body.clientHeight}}}}},getElementDimensions:function(B){if(!B.attributes){throw"style.getElementDimensions error: given argument is not HTML element"}return{w:B.offsetWidth||0,h:B.offsetHeight||0}},getElementPosition:function(D,E){if(!D.attributes){throw"style.getElementPosition error: given argument is not HTML element"}if(!D.x&&!D.y){if(!D.parentNode||!D.parentNode.attributes){throw"style.getElementPosition error: given argument is not within DOM tree"}else{if(D.style.display=="none"){throw'style.getElementPosition error: given argument has display set to "none"'}}}var J={x:0,y:0};var F=null;var M=null;var I=document;var L=I.documentElement;var K=I.body;if(D.getBoundingClientRect){F=D.getBoundingClientRect();J.x+=F.left+(L.scrollLeft||K.scrollLeft)-(L.clientLeft||0);J.y+=F.top+(L.scrollTop||K.scrollTop)-(L.clientTop||0)}else{if(D.offsetParent){J.x+=D.offsetLeft;J.y+=D.offsetTop;M=D.offsetParent;if(M!=D){while(M){J.x+=M.offsetLeft;J.y+=M.offsetTop;M=M.offsetParent}}var B=navigator.userAgent.toLowerCase();if((typeof (opera)!="undefined"&&parseFloat(opera.version())<9)||(B.indexOf("AppleWebKit")!=-1&&(window.getComputedStyle(D,null).position=="absolute"))){J.x-=K.offsetLeft;J.y-=K.offsetTop}}}if(typeof (E)!="undefined"){E=arguments.callee(E);if(E){J.x-=(E.x||0);J.y-=(E.y||0)}}if(D.parentNode){M=D.parentNode}else{M=null}while(M){if(!M.tagName){break}var C=M.tagName.toUpperCase();if(C==="BODY"||C==="HTML"){break}var N;var G=1000;while(typeof N=="undefined"){try{N=window.getComputedStyle(M,null).display}catch(H){}if(!--G){throw"error";break}}if(N!="inline"&&N!="table-row"){J.x-=M.scrollLeft;J.y-=M.scrollTop}if(M.parentNode){M=M.parentNode}else{M=null}}return J},toggleDisplay:function(B,C){if(window.getComputedStyle(B,null).display=="none"){B.style.display=C||"block"}else{B.style.display="none"}},isVisible:function(B){do{if(window.getComputedStyle(B,null).display=="none"){return false}}while((B=B.parentNode)&&B.style);return true},addCSS:document.createStyleSheet?function(B){if(B.cssAdded){return }B.cssAdded=true;A.cssText+=B}:function(B){if(B.cssAdded){return }B.cssAdded=true;A.appendChild(document.createTextNode(B))},setOpacity:window.ActiveXObject?function(B,C){B.style.filter="alpha(opacity="+Math.round(C*100)+")"}:function(B,C){B.style.opacity=C}}}();
(function(){var B=false;var A=[];var D=function(){if(!B){Λ.$isDOMContentLoaded=B=true;var G,E=Λ.obj.toArray(arguments);var F=0;while(G=A.shift()){setTimeout(Λ.func.bind.apply(this,[G,this].concat(E)),0)}}};if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);D()}});if(document.documentElement.doScroll){try{window.frameElement;if(!window.frameElement){(function(){if(B){return }try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return }D()})()}}catch(C){}}window.attachEvent("load",function(){window.detachEvent("load",arguments.callee);D()})}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);D()},false);window.addEventListener("load",function(){window.removeEventListener("load",arguments.callee,false);D()},false)}if(document.readyState){(function(){if(B){return }if(/loaded|complete/.test(document.readyState)){D();return }setTimeout(arguments.callee,0)})()}Λ.$onDOMContentLoaded=function(E){if(B){E()}else{A.push(E)}}})();
(function(){if(!document.addEventListener&&document.attachEvent){var D={abort:1,error:1,select:1,change:1,resize:1,scroll:1,click:1,mousedown:1,mouseup:1,mouseover:1,mousemove:1,mouseout:1,keydown:1,keyup:1,submit:1,reset:1};var B={click:1,mousedown:1,mouseup:1,mouseover:1,mousemove:1,mouseout:1,keydown:1,keyup:1,submit:1,reset:1};var H=function(){if(this.cancelable!==false){this.returnValue=false}};var J=function(){this.cancelBubble=true};var G={};var F=function(){Λ.hash.empty(G)};var K=function(L){G[L.type].returnValue=L.returnValue;G[L.type].cancelBubble=L.cancelBubble};var C=function(L){if(!L.timeStamp){L.timeStamp=new Date().valueOf();L.bubbles=!!D[L.type];L.cancelable=!!B[L.type]}if(!L.target){L.target=L.srcElement}L.relatedTarget=L.fromElement||null;if(!L.preventDefault){L.preventDefault=H}if(!L.stopPropagation){L.stopPropagation=J}G[L.type]={};K(L);setTimeout(F,1)};var I=[];var E=function(P,O){var M,L,N,Q;P.attachEvent("on"+O,P["$ DOMEEvents"].$DOMEventListeners[O].listener=function(R){if(G[R.type]){R.returnValue=G[R.type].returnValue;R.cancelBubble=G[R.type].cancelBubble;return }C(R);if(!R.bubbles||!R.target||!R.target.attributes){M=0;while(Q=P["$ DOMEEvents"].$DOMEventListeners[O][M++]){Q.apply(P,arguments)}}else{var T=R.target;var S=Λ.dom.ancestors(T).filter(function(U){return !!(U["$ DOMEEvents"]&&U["$ DOMEEvents"].$DOMEventListeners&&U["$ DOMEEvents"].$DOMEventListeners[O])});R.eventPhase=1;for(M=S.length-1;M>=0;--M){N=S[M]["$ DOMEEvents"].$DOMEventListeners[O];useCaptureMap=S[M]["$ DOMEEvents"].$DOMEventUserCaptureMap[O];for(L=0;Q=N[L];++L){if(useCaptureMap[L]){Q.apply(S[M],arguments)}}if(R.cancelBubble){K(R);return }}R.eventPhase=2;if(N=T["$ DOMEEvents"]&&T["$ DOMEEvents"].$DOMEventListeners&&T["$ DOMEEvents"].$DOMEventListeners[O]){M=0;while(Q=N[M++]){Q.apply(T,arguments)}if(R.cancelBubble){K(R);return }}R.eventPhase=3;S=Λ.dom.ancestors(T).filter(function(U){return !!(U["$ DOMEEvents"]&&U["$ DOMEEvents"].$DOMEventListeners&&U["$ DOMEEvents"].$DOMEventListeners[O])});for(M=0;M<S.length;++M){N=S[M]["$ DOMEEvents"].$DOMEventListeners[O];useCaptureMap=S[M]["$ DOMEEvents"].$DOMEventUserCaptureMap[O];for(L=0;Q=N[L];++L){if(!useCaptureMap[L]){Q.apply(S[M],arguments)}}if(R.cancelBubble){K(R);return }}}K(R)});I[I.length]=[P,O,P["$ DOMEEvents"].$DOMEventListeners[O].listener]};Λ.$addEventListener=function(L,S,N,M){if(L["$ DOMEEvents"]){L["$ DOMEEvents"].addEventListener(S,N,M);return }var P=L["$ DOMEEvents"]={};var T=P.$DOMEventListeners={},O=P.$DOMEventUserCaptureMap={},Q,R;P.$clearEvents=function(U){if(U){var W=X.children;for(var V=0,X;X=W[V];++V){if(X["$ DOMEEvents"]){X["$ DOMEEvents"].$clearEvents(true)}}}for(V in T){X.detachEvent("on"+V,T[V].listener)}T=X["$ DOMEEvents"]=Λ.UNDEFINED};L["$ DOMEEvents"].addEventListener=function(V,W,U){if(!T[V]){T[V]=[W];O[V]=[U];E(L,V,T[V],O[V])}else{T[V][T[V].length]=W;O[V][O[V].length]=U}};L["$ DOMEEvents"].removeEventListener=function(V,W,U){if(T[V]){R=T[V].indexOf(W);if((R!=-1)&&(O[V][R]==U)){T[V].splice(R,1);O[V].splice(R,1)}}};L["$ DOMEEvents"].addEventListener(S,N,M)};Λ.$removeEventListener=function(N,M,O,L){if(N["$ DOMEEvents"]){N["$ DOMEEvents"].removeEventListener(M,O,L)}};var A=document.getElementsByTagName("form");setInterval(function(){for(var L=0,M;M=A[L];++L){if(M["$ DOMEEvents Form Setup"]){continue}Λ.$addEventListener(M,"submit",Λ.func.empty,false);M["$ DOMEEvents Form Setup"]=true}},300);window.attachEvent("onunload",function(){var L;while(L=I.shift()){L[0].detachEvent("on"+L[1],L[2])}})}else{Λ.$addEventListener=function(N,M,O,L){if(!N){Λ.log.debug("ERROR INFO",arguments);throw new TypeError("$addEventListener error: no element given")}N.addEventListener(M,O,L)};Λ.$removeEventListener=function(N,M,O,L){if(!N){Λ.log.debug("ERROR INFO",arguments);throw new TypeError("$removeEventListener error: no element given")}N.removeEventListener(M,O,L)}}})();
(function(){var A=/^((\s*(\+|>|~)\s*)|\s+)/;var B=/^([^\+>~\s]+)/;Λ.dom={replaceContent:function(D){D.innerHTML="";var C=0;while(arguments[++C]){addElementContent(D,arguments[C])}},previousElementSibling:function(C){do{C=C.previousSibling}while(C&&!C.attributes);return C?Λ.$b(C):C},nextElementSibling:function(C){do{C=C.nextSibling}while(C&&!C.attributes);return C?Λ.$b(C):C},classRegExp:function(D,E){var C=D.className.match(new RegExp("(^|\\s)("+E.toString().slice(1,-1)+")(\\s|$)"));return C?((typeof C[4]=="undefined")?C[2]:((typeof C[5]=="undefined")?C[3]:C[2].match(new RegExp(E)))):null},idRegExp:function(D,E){var C=D.id.match(new RegExp("^("+E.toString().slice(1,-1)+")$"));return C?((typeof C[2]=="undefined")?C[1]:((typeof C[3]=="undefined")?C[2]:C[1].match(new RegExp(E)))):null},fireOnLoad:function(D,C){return document.addEventListener("DOMContentLoaded",D,!!C)},textContent:function(E){if(typeof E.textContent!="undefined"){return E.textContent}else{if(E.attributes){var D="";for(var C=0;C<E.childNodes.length;++C){D+=Λ.dom.textContent(E.childNodes[C])}return D}else{if(E.nodeType===3){return E.nodeValue}}}},extendedName:function(D){var C=D.nodeName;if(D.id){C+="#"+D.id}if(D.className){C+="."+D.className}return C},treeExtendedName:function(C){var D=Λ.dom.extendedName(C);while((C=C.parentNode)){D=Λ.dom.extendedName(C)+" > "+D}return D},getAncestorBySelector:function(D,C){if(!D.attributes){throw new TypeError("dom.getAncestorBySelector type error: Child should be a HTML element")}if(typeof C!=="string"){throw new TypeError("dom.getAncestorBySelector type error: Selector should be string")}do{D=(D.parentNode&&(D.parentNode.nodeType==1))?Λ.$b(D.parentNode):null}while(D&&!D.matchesSelector(C));return D},getSelfOrAncestorBySelector:function(D,C){return(D.matchesSelector(C)&&D)||Λ.dom.getAncestorBySelector(D,C)},getFollowingSiblingBySelector:function(D,C){do{D=Λ.$b(Λ.dom.nextElementSibling(D))}while(D&&!D.matchesSelector(C));return D},getPrecedingSiblingBySelector:function(D,C){do{D=Λ.$b(Λ.dom.previousElementSibling(D))}while(D&&!D.matchesSelector(C));return D},getLastBySelector:function(C,D){var E=GRONO.$$(C,D||document);return E[E.length-1]},getElementsBySelectorReverse:function(H,J,M){var F=J;H=Λ.str.trim(H);var E,I,L,G,D,O;var C=[];var N=function(P){do{P=P.previousSibling}while(P&&!P.attributes);return P?Λ.$b(P):null};var K=function(P){return(P.parentNode&&P.parentNode.attributes)?Λ.$b(P.parentNode):null};while(H){H=" "+H;L=A.exec(H);E=Λ.str.trim(L[1]);H=H.substr(L[1].length);L=B.exec(H);I=L[1];H=Λ.str.ltrim(H.substr(L[1].length));switch(E){case">":G=true;getNext=K;break;case"+":G=true;getNext=N;break;case"~":G=false;getNext=N;break;default:G=false;getNext=K}if(G){J=getNext(J);if(H){return arguments.callee(J,H,M)}else{if(!J||!J.matchesSelector(I)){return M?null:[]}return J}}else{while(J=getNext(J)){if(J.matchesSelector(I)){if(H){if(M){return arguments.callee(J,H,M)}else{C=C.concat(arguments.callee(J,H))}}else{if(M){return J}else{C=C.concat([J])}}}}if(M){return null}else{return C.length?Λ(C).unique():[]}}}return M?J:Λ(C.concat([J])).unique()},nextNode:function(C){while(C){if(C.nextSibling){return C.nextSibling}C=C.parentNode}return null},children:function(D){var C=0,F=[],E;while(E=D.childNodes[C++]){if(E.attributes){F[F.length]=Λ.$b(E)}}return F},ancestors:function(C){var D=[];while(C=C.parentNode){D[D.length]=Λ.$b?Λ.$b(C):C}return D},selfAndAncestors:function(C){var D=Λ.dom.ancestors(C);D.unshift(C);return D},firstChildElement:!Λ.IE?function(C){return C.getElementsByTagName("*")[0]}:function(D){for(var C=0;C<D.children.length;++C){if(D.children[0].attributes){return Λ.$b(D.children[0])}}return null},sort:function(D,C){return 3-(Λ.dom.comparePosition(D,C)&6)},getTextNode:function(C){if((C.childNodes.length>1)||(C.childNodes.length&&C.firstChild.nodeType!==3)){throw new TypeError("Could not return text node: expected element with none or one text node child")}return C.firstChild?C.firstChild:C.appendChild(document.createTextNode(""))},getAttributeNode:function(E,D){var C=E.getAttributeNode(D);if(C){return C}else{E.setAttribute(D,"");return E.getAttributeNode(D)}},contains:function(D,C){if(D.contains){try{return(D!=C&&D.contains(C))}catch(E){return false}}else{if(D.compareDocumentPosition){try{return !!(D.compareDocumentPosition(C)&16)}catch(E){Λ.log.debug(D,C,Λ.dom.isInDocument(D),Λ.dom.isInDocument(C));Λ.log.debug("DOM contains error");return false}}}if(D===document){if(C===document){return false}else{if(C===document.documentElement){return true}else{return arguments.callee(document.documentElement,C)}}}},isInDocument:function(C,E){E=E||document;while(C){if(C===document){return true}try{C=C.parentNode}catch(D){return false}}return false},isOrContains:function(D,C){return(D==C)||Λ.dom.contains(D,C)},comparePosition:function(D,C){return D.compareDocumentPosition?D.compareDocumentPosition(C):D.contains?(D!=C&&D.contains(C)&&16)+(D!=C&&C.contains(D)&&8)+(D.sourceIndex>=0&&C.sourceIndex>=0?(D.sourceIndex<C.sourceIndex&&4)+(D.sourceIndex>C.sourceIndex&&2):1)+0:0},isAncestor:function(D,C){while((D=D.parentNode)){if(D===C){return true}}return false},isSelfOrAncestor:function(D,C){return(D===C)||Λ.dom.isAncestor(D,C)},moveContent:function(D,C){C=C||document.createElement("div");while(D.firstChild){C.appendChild(D.firstChild)}return C},moveContentToDocumentFragment:function(D,C){return Λ.dom.moveContent(D,C||document.createDocumentFragment())},timeoutClass:function(C,D,E){C.addClass(D);setTimeout(C.removeClass.bind(C,D),E||2000)},getClickable:function(C){while(C){switch(C.nodeName.toLowerCase()){case"button":case"a":return C;case"input":switch(C.type.toLowerCase()){case"button":case"submit":case"image":return C}}C=C.parentNode}return null},scrollToBottom:function(E,D,F){if(typeof D==="undefined"){D=40}var C=((E.scrollTop+E.offsetHeight+D)>=E.scrollHeight);if(F){F(E)}if(C){E.scrollTop=E.scrollHeight}},editInPlace:function(C,J,D,F){var G;if(D){G=document.createElement("textarea");G.style.height=(C.clientHeight||C.offsetHeight)+"px"}else{G=document.createElement("input")}G.style.width=(C.clientWidth||C.offsetWidth)+"px";G.className="edit-in-place";G.value=J.value;C.parentNode.insertBefore(G,C);var E=C.style.display;C.style.display="none";var H=false;var K=function(){H=true;C.style.display=E;G.parentNode.removeChild(G)};var I=function(){if(H){return }C.innerHTML="";var L=G.value.split("\n");for(var M=0;M<(L.length-1);++M){C.appendChild(document.createTextNode(L[M]));C.appendChild(document.createElement("br"))}C.appendChild(document.createTextNode(L[L.length-1]));J.value=G.value;K()};G.addEventListener("blur",I,false);G.addEventListener("keypress",Λ.event.key.onEnter(I),false);G.addEventListener("keyup",Λ.event.key.onEsc(K),false);setTimeout(function(){G.focus();if(F){Λ.form.selectAll(G)}},1)}}})();
Λ.obj.override(Λ.dom,(function(){var M={};var J,F;M.addClass=function(R){if(!this.hasClass(R)){this.className+=(this.className?" ":"")+R}return this};M.hasClass=function(R){var S=new RegExp("(^|\\s)"+R+"(\\s|$)");return S.test(this.className)};M.removeClass=function(R){var S=new RegExp("(^|\\s)"+R+"(\\s|$)","g");this.className=this.className.replace(S,"$2");return this};M.toggleClass=function(R){if(this.hasClass(R)){this.removeClass(R);return true}else{this.addClass(R);return false}};if(document.querySelectorAll){try{document.querySelectorAll("affsfs").item(100)}catch(I){var P=function(){try{return this.base.apply(this,arguments)}catch(R){if(R.message.indexOf("INDEX_SIZE_ERR")===0){return null}throw R}};var C=function(){var R=this.base.apply(this,arguments);R.item=Λ.func.override(P,R.item);return R};HTMLDocument.prototype.querySelectorAll=Λ.func.override(C,HTMLDocument.prototype.querySelectorAll);HTMLElement.prototype.querySelectorAll=Λ.func.override(C,HTMLElement.prototype.querySelectorAll)}}if(!document.querySelector){document.querySelector=M.querySelector=function(R){return Λ.selectors.query(R,this)[0]};document.querySelectorAll=M.querySelectorAll=function(R){return new Λ.List(Λ.selectors.query(R,this))};if(!window.HTMLElement||!HTMLElement.prototype){document.querySelector=M.querySelector=Λ.func.override(function(S){var R=this.base(S);return R?J(R):R},M.querySelector);document.querySelectorAll=M.querySelectorAll=Λ.func.override(function(S){var R=this.base(S);R.forEach(J);return R},M.querySelectorAll)}document.matchSingle=M.matchSingle=M.querySelector;document.matchAll=M.matchAll=M.querySelectorAll}else{if(!window.HTMLElement||!HTMLElement.prototype){document.querySelector=Λ.func.override(M.querySelector=function(T){var R;try{R=this.base(T)}catch(S){R=Λ.selectors.query(T,this)[0]}return R?J(R):R},document.querySelector);document.querySelectorAll=Λ.func.override(M.querySelectorAll=function(U){var R;try{R=this.base(U)}catch(T){R=new Λ.List(Λ.selectors.query(U,this))}for(var S=0;S<R.length;++S){J(R.item(S))}return R},document.querySelectorAll);document.matchSingle=M.matchSingle=function(R){return this.querySelector(R)};document.matchAll=M.matchAll=function(S){var R=this.querySelectorAll(S);R.forEach=Array.prototype.forEach;return R}}else{document.matchSingle=M.matchSingle=function(R){return this.querySelector(R)};document.matchAll=M.matchAll=function(S){var R=this.querySelectorAll(S);R.forEach=Array.prototype.forEach;return R}}}M.matchesSelector=function(R){R=Λ.str.trim(R);if(R.charAt(0)==="*"){R=R.substr(1);if(R===""){return true}}return Λ.selectors.match(this,R)};if(!document.addEventListener&&document.attachEvent){M.addEventListener=document.addEventListener=window.addEventListener=function(S,T,R){Λ.$addEventListener(this,S,T,R)};M.removeEventListener=document.removeEventListener=window.removeEventListener=function(S,T,R){Λ.$removeEventListener(this,S,T,R)}}if(!document.documentElement.hasAttribute){M.hasAttribute=function(R){return this.getAttribute(R)!=null}}if(Λ.IE){var N=function(T){if(T.$clearEvents){T.$clearEvents()}var R;for(var S in T){R=S.charAt(0);if((R==="$")||(R==="#")){T[S]=Λ.UNDEFINED}}Λ.$b(T)};M.cloneNode=function(S){var R=this.base(S);N(R);if(S){var U=R.getElementsByTagName("*");for(var T=0;T<U.length;++T){if(U[T].attributes){N(U[T])}}}return R};var L=/^(href|src)$/;var E=["accesskey","cellpadding","cellspacing","class","colspan","datetime","enctype","for","frameborder","longdesc","maxlength","readonly","rowspan","tabindex","valign"];var K=["accessKey","cellPadding","cellSpacing","className","colSpan","dateTime","encType","htmlFor","frameBorder","longDesc","maxLength","readOnly","rowSpan","tabIndex","vAlign"];M.getAttribute=function(S){if(S=="style"){return this.style.cssText}var T=this.getAttributeNode(S);if(T&&(T.specified||S=="value")){if(L.test(S)){return this.base(S,2)}else{return T.nodeValue}}else{if(S=="type"&&this.nodeName=="INPUT"){var U=this.outerHTML;U=U.slice(0,U.indexOf(">")+1);var R=U.match(/type="?([^\s">]*)"?/i);return R?R[1]:this.attributes.type.value}}return null};M.setAttribute=function(S,T){if(S=="style"){this.style.cssText=T}else{var R=E.indexOf(S);if(R!==-1){this[K[R]]=T}else{this.base(S,T)}}}}if(window.HTMLElement&&HTMLElement.prototype){for(F in M){HTMLElement.prototype[F]=HTMLElement.prototype[F]?Λ.func.override(M[F],HTMLElement.prototype[F]):M[F]}J=function(R){return R}}else{J=function(T){if(!T||T.$X_binded){return T}var R=T.nodeName.toLowerCase();for(var S in M){if(T[S]){if((R!=="object")&&(R!=="embed")){T[S]=Λ.func.override(M[S],T[S])}}else{T[S]=M[S]}}T.$X_binded=Λ.func.empty;return T};J(document.documentElement);if(!document.body){var B=setInterval(function(){if(document.body){J(document.body);clearInterval(B)}},10)}else{J(document.body)}document.$X_orgCreateElement=document.createElement;document.createElement=function(R){return J(document.$X_orgCreateElement(R))}}document.$X_binded=window.$X_binded=true;var D=document.addEventListener;document.addEventListener=function(S,T,R){if(S!="DOMContentLoaded"){return D.apply(this,arguments)}Λ.$onDOMContentLoaded(T)};var A=function(S,T){if((typeof T=="string")||(typeof T=="number")){S.appendChild(document.createTextNode(T))}else{if(T.constructor===Array){for(var R=0;R<T.length;++R){A(S,T[R])}}else{if(typeof T=="object"){S.appendChild(T)}else{throw"dom.elementContent error: unrecognized type of content object: '"+typeof T+"'"}}}};var O=function(T,R){for(var S in R){if(S.substr(0,2)=="on"){T[S]=R[S]}else{T.setAttribute(S,R[S])}}};var Q=function(R,S,U){var T=document.createElement(R);if(S[U]){if((S[U].constructor===Object)&&!S[U].childNodes){O(T,S[U]);++U}while(typeof S[U]!=="undefined"){A(T,S[U++])}}return T};var H=function(S){for(var R=0;R<this.length;++R){S(this.item(R))}};Λ.style.addCSS("div.dom-cache { display:none; }");var G=document.createElement("div").addClass("dom-cache");window.addEventListener("load",function(){if(document.body){document.body.appendChild(G)}},false);return{buildElement:function(R){return Q(R,arguments,1)},builder:function(){var S={};var T=["abbr","address","blockquote","br","cite","code","dfn","div","em","h1","h2","h3","h4","h5","h6","kbd","p","pre","q","samp","span","strong","var","a","dl","dt","dd","ol","ul","li","hr","sub","sup","del","ins","form","input","label","select","option","textarea","button","fieldset","legend","optgroup","caption","table","td","th","tr","col","colgroup","tbody","thead","tfoot","img"];for(var R=0;R<T.length;++R){(function(){var U=T[R];S[U]=function(){return Q(U,arguments,0)}})()}return S}(),removeChildren:function(R){while(R.firstChild){R.removeChild(R.firstChild)}},matchesSelector:function(S,R){return M.matchesSelector.call(S,R)},cacheContent:function(R){return Λ.dom.moveContent(R,G.appendChild(document.createElement("div")))},addToCache:function(R){G.appendChild(R)},hideContent:function(R){return Λ.dom.cacheContent(R)},cloneContent:function(S){var T=document.createDocumentFragment();for(var R=0;(child=S.childNodes[R]);++R){switch(child.nodeType){case 1:T.appendChild(child.cloneNode(true));break;case 3:T.appendChild(document.createTextNode(child.data));break;case 4:T.appendChild(document.createCDATASection(child.data));break;case 8:T.appendChild(document.createComment(child.data));break;default:throw new TypeError("Unexpected type for dom.cloneContent")}}return T},destroy:function(S,R){if(S.$clearEvents){S.$clearEvents(true)}if(S.parentNode){if(R){S.parentNode.replaceChild(R,S)}else{S.parentNode.removeChild(S)}}},destroyContent:function(R){var S;while(S=R.firstChild){Λ.dom.destroy(S)}},bind:J,getElementById:function(S){if(typeof S!="string"){throw"wrong id - expected string"}var R=document.getElementById(S);return R?J(R):null},getElementsByTagName:function(R,T){var S=(T||document).getElementsByTagName(R);S.forEach=Array.prototype.forEach;S.forEach(J);F=0;while(el=S[F++]){J(el)}return new Λ.List(S)}}})());Λ.$b=Λ.dom.bind;Λ.$id=Λ.dom.getElementById;Λ.$tag=Λ.dom.getElementsByTagName;Λ.$=function(A,D){if(typeof D==="undefined"){try{return document.querySelector(A)}catch(E){return Λ.selectors.query(A,document)[0]}}else{if(D.nodeName){try{return D.querySelector(A)}catch(E){return Λ.selectors.query(A,D)[0]}}else{if(D.length){var C=0,B;while(el=D[C++]){try{B=el.querySelector(A)}catch(E){B=Λ.selectors.query(A,el)[0]}if(B){return B}}return null}}}};Λ.$$=function(A,E){if(!E){try{return new Λ.DOMList(document.querySelectorAll(A))}catch(F){return Λ.DOMList(new Λ.List(Λ.selectors.query(A,document)))}}else{if(E.nodeName){try{return new Λ.DOMList(E.querySelectorAll(A))}catch(F){return new Λ.DOMList(Λ.List(Λ.selectors.query(A,E)))}}else{if(typeof E.length==="number"){var G=new Λ.DOMList(),C=0,D,B;while(D=E[C++]){try{B=D.querySelectorAll(A)}catch(F){B=new Λ.List(Λ.selectors.query(A,D))}G=G.concat(B)}return G}else{Λ.log.error("Wrong type for elements: "+typeof E);throw new TypeError("Wrong type for elements: "+typeof E)}}}};Λ.$R=function(A,B){return Λ.dom.getElementsBySelectorReverse(A,B,true)};Λ.$$R=function(A,B){return new Λ.DOMList(Λ.dom.getElementsBySelectorReverse(A,B))};Λ.dom.cacheContainer=document.getElementsByTagName("head")[0].appendChild(document.createElement("div")).addClass("dom-cache");
(function(){var C=function(I,H){var G,F,E,J;for(F in I){G=I[F].method(H,F);E=0;while(J=I[F][E++]){J(G)}}};var B={selector:function(G,E){Λ.log.debug("READY SELECTOR",E,G);var F;if((G!==document)&&Λ.dom.matchesSelector(G,E)){return[G]}else{if(F=G.querySelector(E)){return[F]}else{return[]}}},selectorAll:function(F,E){if((F!==document)&&Λ.dom.matchesSelector(F,E)){return Λ.obj.toArray(F.querySelectorAll(E)).concat(F)}else{return F.querySelectorAll(E)}},id:function(F,G){G=G.substr(1);var E;if((F!==document)&&(F.id==G)){return[F]}else{if((E=document.getElementById(G))&&((F===document)||Λ.dom.contains(F,E))){return[E]}else{return[]}}},nameAll:function(F,E){if((F!==document)&&(F.nodeName.toLowerCase()===E.toLowerCase())){return Λ.obj.toArray(F.getElementsByTagName(E)).concat(F)}else{return F.getElementsByTagName(E)}},name:function(G,E){var F;if((G!==document)&&(G.nodeName.toLowerCase()===E.toLowerCase())){return[G]}else{if(F=G.getElementsByTagName(E)[0]){return[F]}else{return[]}}}};var D=0;var A=function(I,E){var F,G,H=++D;return E?function(J){for(F=0;G=J[F];++F){G=J[F];if(!G["#call-done "+H]){G["#call-done "+H]=true;Λ.DOMReady.element(Λ.$b(G),I)}}}:function(J){for(F=0;(G=J[F]);++F){Λ.DOMReady.element(Λ.$b(G),I)}}};Λ.DOMScanner=Λ.Base.extend({constructor:function(){this.scopes=[];this.callbacks=[]},runOnce:true,process:function(F){if((typeof F.length==="number")&&(F!==document)&&!F.attributes){var E,G=0;while(E=F[G++]){this.process(E)}}else{if(F instanceof Λ.HTMLElement){F=F.target}var G=-1,H;while(H=this.scopes[++G]){if((H===F)||Λ.dom.contains(F,H)){C(this.callbacks[G],H)}else{if((H===document)||Λ.dom.contains(H,F)){C(this.callbacks[G],F)}else{}}}}},setup:function(H,F,G,L,K,J){var E,I;H=H||document;if((E=this.scopes.indexOf(H))===-1){this.scopes[E=this.scopes.length]=H;I=this.callbacks[E]={}}else{I=this.callbacks[E]}if(!I[F]){I=I[F]=[];if(/^[a-zA-Z-]+$/.test(F)){I.method=G?B.nameAll:B.name}else{if(/^#[a-zA-Z0-9-]+$/.test(F)){I.method=B.id}else{if(/^\s*([a-zA-Z0-9-]+\s*,\s*)+[a-zA-Z0-9-]+\s*$/.test(F)){delete this.callbacks[E][F];F.split(/\s*,\s*/).forEach(function(M){this.setup(H,M,G,L,K,J)},this);return }else{I.method=G?B.selectorAll:B.selector}}}}else{I=I[F]}I[I.length]=K?L:A(L,this.runOnce);if(J){I[I.length-1](I.method(H,F))}},selector:function(E,I,F,H){if(I){this.setup(F,E,false,I,false,H)}else{var G={el:null};this.setup(F,E,false,function(J){G.el=J[0]},true,H);return G}},selectorAll:function(E,I,G,H){if(I){this.setup(G,E,true,I,false,H)}else{var F=new Λ.DOMList();this.setup(G,E,true,function(J){F.splice(0,F.length);F.push.apply(F,(J instanceof Array)?J:Λ.obj.toArray(J))},true,H);return F}}})})();(function(){var E=[];var A=function(){var G=E.length;while(data=E[--G]){if(Λ.$isDOMContentLoaded||Λ.dom.nextNode(data.element)){E.splice(G,1);data.callback(Λ.$b(data.element))}}};var C=0;var F=function(){if(!Λ.$isDOMContentLoaded){var G=setInterval(function(){var H=new Date();A();Λ.DOMReady.process(document);C+=(new Date()-H);if(Λ.$isDOMContentLoaded){clearInterval(G);Λ.log.debug("DOMReady TOTAL TIME: "+C)}},100)}F=function(){}};var D=new Λ.DOMScanner();var B=function(H,J,I){var G=this.base(H,J,I,true);F();return G};Λ.DOMReady=new Λ.DOMScanner();Λ.DOMReady.selector=Λ.func.override(B,Λ.DOMReady.selector);Λ.DOMReady.selectorAll=Λ.func.override(B,Λ.DOMReady.selectorAll);Λ.DOMReady.element=function(G,H){if(Λ.$isDOMContentLoaded||Λ.dom.nextNode(G)){H(G)}else{E[E.length]={callback:H,element:G};F()}}})();Λ.DOMModObserver=new Λ.DOMScanner();Λ.DOMModObserver.runOnce=false;
Λ.event={currentFocus:null,addListener:function(C,A,B){if(!C.$G_uEvents){C.$G_uEvents={}}if(!C.$G_uEvents[A]){C.$G_uEvents[A]=[]}C.$G_uEvents[A].push(B);return C},removeListener:function(D,B,C){if(!D.$G_uEvents||!D.$G_uEvents[B]){return }for(var A=0;A<D.$G_uEvents[B].length;++A){if(D.$G_uEvents[B][A]===C){D.$G_uEvents[B].splice(A,1);return }}},dispatch:function(D,C,A){if(D.$G_uEvents&&D.$G_uEvents[C]){for(var B=0;B<D.$G_uEvents[C].length;++B){D.$G_uEvents[C][B].apply(D,A||[])}}},getPosition:function(B,C){var D=new Λ.Point();if(Λ.IE){D.x=B.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;D.y=B.clientY+document.body.scrollTop+document.documentElement.scrollTop}else{D.x=B.pageX;D.y=B.pageY}if(C&&(C!==document)){var A=Λ.domPosition.getPosition(C,document);D.x-=A.x;D.y-=A.y}return D},mouse:{leave:Λ.IE?function(B,C,A){B.addEventListener("mouseleave",C,A||false)}:function(B,C,A){B.addEventListener("mouseout",function(E){var D=E.relatedTarget;if((this!==D)&&(!D||!Λ.dom.contains(this,D))){C.call(this,E)}},A||false)},enter:Λ.IE?function(B,C,A){B.addEventListener("mouseenter",C,A||false)}:function(B,C,A){B.addEventListener("mouseover",function(E){var D=E.relatedTarget;if((this!==D)&&(!D||!Λ.dom.contains(this,D))){C.call(this,E)}},A||false)},onleave:function(A){return function(C){var B=C.relatedTarget;if((this!==B)&&!Λ.dom.contains(this,B)){A.call(this,C)}}},getClickableTarget:function(A){return Λ.dom.getClickable(A?A.target:Λ.event.mouse.currentClick)},currentOver:null,currentClick:null},key:{get:function(A){return A.keyCode?A.keyCode:A.which?A.which:A.charCode},is:function(B,A){return(this.get(B)==A)},isEnter:function(A){return this.is(A,13)},isDelete:function(A){return this.is(A,46)},isBackspace:function(A){return this.is(A,8)},isEsc:function(A){return this.is(A,27)},isTab:function(A){return this.is(A,9)},isUp:function(A){return this.is(A,38)},isRight:function(A){return this.is(A,39)},isDown:function(A){return this.is(A,40)},isLeft:function(A){return this.is(A,37)},charMode:function(B){var A=this.get(B);if((A==13)||(A==32)||((A>=48)&&(A<=90))||((A>=96)&&(A<=111))||((A>=186)&&(A<=192))||((A>=219)&&(A<=222))||(window.opera&&((A==39)||((A>=42)&&(A<=47))||(A==115)||(A==118)||(A==120)||(A==122)))){return 1}else{if((A==8)||(A==46)){return 2}else{return 0}}},preventEnter:function(A,B){if(Λ.event.key.isEnter(A)){if(A.preventDefault){A.preventDefault()}if(B){B(A)}return false}return true},on:function(B,C,A){return function(D){if(Λ.event.key.is(D,B)){if(A){D.preventDefault()}C(D)}}},onEnter:function(A){return Λ.event.key.on(13,A,true)},onEsc:function(A){return Λ.event.key.on(27,A)}}};Λ.EventsHandler(Λ.event.mouse);Λ.EventsHandler(Λ.event.key);Λ.EventsHandler(Λ.event);Λ.$addEventListener(document,"mouseover",function(A){if(!A.target){return }if(A.target!==Λ.event.mouse.currentOver){Λ.event.mouse.currentOver=A.target;Λ.event.mouse.dispatchEvent("changeover",A.target)}},false);Λ.$addEventListener(document,"keyup",function(A){if(!A.target){return }if(A.target!==Λ.event.key.currentOver){Λ.event.key.currentOver=A.target;Λ.event.key.dispatchEvent("changeover",A.target)}},false);Λ.$addEventListener(document,"keypress",function(A){A.$realTimeStamp=new Date();Λ.event.key.lastKeypress=A},false);(function(){var A=function(C){if(Λ.event.currentFocus!==C.target){Λ.event.currentFocus=C.target;Λ.event.dispatchEvent("focus",C.target)}};var B=function(C){if(Λ.event.currentFocus===C.target){Λ.event.currentFocus=null;Λ.event.dispatchEvent("blur",C.target)}};Λ.DOMReady.selectorAll("a, input, textarea, select, button",function(C){if((C.nodeName.toLowerCase()!=="input")||(C.type!=="hidden")){Λ.$addEventListener(C,"focus",A,false);Λ.$addEventListener(C,"blur",B,false)}})})();(function(){var A=function(){Λ.event.mouse.currentClick=null};Λ.$addEventListener(document,"click",function(B){if(!B.target){return }Λ.event.mouse.currentClick=B.target;setTimeout(A,0)},true);Λ.$addEventListener(document,"submit",function(B){B.$submitControl=Λ.event.mouse.currentClick&&Λ.dom.getClickable(Λ.event.mouse.currentClick)},true)})();Λ.event.windowFocused=true;Λ.$addEventListener(window,"blur",function(A){Λ.event.windowFocused=false},false);Λ.$addEventListener(window,"focus",function(A){Λ.event.windowFocused=true},false);Λ.EventsHandler_old=(function(){return{initialize:function(){this.$X_events={}},addEventListener:function(A,B){if(!this.$X_events[A]){this.$X_events[A]=[]}this.$X_events[A][this.$X_events[A].length]=B},removeEventListener:function(B,C){if(!this.$X_events||!this.$X_events[B]){throw new TypeError("Event was not attached to object")}var A;if((A=this.$X_events[B].indexOf(C))!==-1){this.$X_events[B].splice(A,1)}else{throw new TypeError("Event was not attached to object")}},dispatchEvent:function(D,A){if(this.$X_events&&this.$X_events[D]){var C=[].concat(this.$X_events[D]);var A=Array.prototype.slice.call(arguments,2);for(var B=0;B<C.length;++B){if(this.$X_events[D].indexOf(C[B])!==-1){C[B].apply(this,A)}}}}}})();
(function(){setupFocusBlur=function(M){var B=[];var I=[];var F=false;var C;var H=false;var O=function(){if(F){return }F=true;I.forEach(function(P){P(M)})};var D=function(){Λ.log.debug("BLUR CALLBACK");C=null;F=false;B.forEach(function(P){P(M)})};var J=function(){H=false};var N=function(P){currentFocus=P.target;O();if(C){clearTimeout(C);C=null}};var L=function(P){O();if(!H&&!C){C=setTimeout(D,0)}};var G=function(P){O()};Λ.$addEventListener(M,"mousedown",function(P){if(C){clearTimeout(C);C=null}H=true;setTimeout(J,0)},false);var E=function(){if(F&&!C){C=setTimeout(D,0)}};Λ.$addEventListener(document,"click",function(P){if(!P.target){return }if(!Λ.dom.isOrContains(M,P.target)){E()}},true);var K=Λ.$$("input:not(input[type=hidden]), button, select, textarea",M);K.forEach(function(P){P.addEventListener("blur",L,false);P.addEventListener("focus",N,false);P.addEventListener("mousedown",G,false)});M.$onblur=function(P){B.push(P)};M.$onfocus=function(P){I.push(P)};M.$blur=function(){if(Λ.event.currentFocus&&!Λ.dom.isOrContains(M,Λ.event.currentFocus)){Λ.event.currentFocus.blur()}E()}};var A=new String("    textarea.autogrow {      overflow: hidden;    }  ");Λ.form={buildHash:function(D,H){var G={},C,E,F;var B=D.querySelectorAll('input[type=text], input[type=hidden], input[type=password], input[type=submit], input[type=image], input[type="checkbox"]:checked, input[type="radio"]:checked, textarea, select, button[type=submit]');for(C=0;(E=B.item(C));++C){if(Λ.form.isSubmitControl(E)){if(H){if(E!==H){continue}}else{H=E}}if((E.name!=="")&&E.name){if((F=Λ.form.getValue(E))!==null){if(G[E.name] instanceof Array){G[E.name][G[E.name].length]=F}else{if(typeof G[E.name]!=="undefined"){G[E.name]=[G[E.name],F]}else{G[E.name]=F}}}}}return G},isSubmitControl:function(B){switch(B.nodeName.toLowerCase()){case"button":if(B.type.toLowerCase()=="submit"){return true}break;case"input":switch(B.type.toLowerCase()){case"submit":case"image":return true;break}break}return false},getValue:function(B){switch(B.nodeName.toLowerCase()){case"input":switch(B.type.toLowerCase()){case"":case"text":case"password":case"hidden":case"submit":return B.value;case"checkbox":case"radio":if(B.checked){return B.value}}return null;case"button":case"textarea":return B.value;case"select":if(B.type=="select-one"){if(B.selectedIndex>=0){return B.value}}else{var C=Λ.form.getSelectValue(B);if(C.length){return C}}}return null},getSelectValue:function(B){if(B.type=="select-one"){return B.value}else{var C=[];for(var D=0;D<B.length;++D){if(B.options[D].selected){C.push(B.options[D].value)}}return C}},setSelectionRange:function(C,D,E){if(C.setSelectionRange){C.focus();if(D===E){C.setSelectionRange(-1,0)}C.setSelectionRange(D,E)}else{if(C.createTextRange){if(D>E){D=E}var B=C.createTextRange();B.collapse(true);B.moveEnd("character",E);B.moveStart("character",D);B.select()}}},selectAll:function(B){return Λ.form.setSelectionRange(B,0,B.value.length)},setCaretPosition:function(C,B){this.setSelectionRange(C,B,B)},replaceSelectionText:function(E,B){if(E.setSelectionRange){var F=E.selectionStart,G=E.selectionEnd;E.value=E.value.substring(0,F)+B+E.value.substring(G);if(F!==G){this.setSelectionRange(E,F,F+B.length)}else{this.setCaretToPos(E,F+B.length)}}else{if(document.selection){var D=document.selection.createRange();if(D.parentElement()===E){var C=D.text==="";D.text=B;if(!C){D.moveStart("character",-B.length);D.select()}}}}},getSelectionText:function(B){if(B.setSelectionRange){return B.value.substring(B.selectionStart,B.selectionEnd)}else{if(document.selection){return document.selection.createRange().text}}},isSelection:function(B){return B.setSelectionRange?!!(B.selectionEnd-B.selectionStart):!!document.selection.createRange().text.length},textareaInsertAtCursor:function(B,F){if(Λ.IE){B.focus();var E=document.selection.createRange();E.text=F}else{if(B.selectionStart||B.selectionStart===0){var D=B.selectionStart;var C=B.selectionEnd;B.value=B.value.substring(0,D)+F+B.value.substring(C);B.focus()}else{B.value+=F}}},textareaMaxlength:function(C,B){var D=function(){if(this.value.length>this.$size){this.value=this.value.substr(0,this.$size)}};C.$size=B;C.addEventListener("keyup",D,false);C.addEventListener("mouseup",D,false)},submit:function(D,B){Λ.log.debug("FORM SUBTMIT:",D);if(document.createEvent){if(!D.$forceSubmitCallback&&!B){D.addEventListener("submit",D.submit,false);D.$forceSubmitCallback=true}var C=document.createEvent("HTMLEvents");C.initEvent("submit",true,true);D.dispatchEvent(C)}else{if(D.fireEvent){if(!D.$forceSubmitCallback&&!B){D.attachEvent("onsubmit",function(){D.submit()});D.$forceSubmitCallback=true}D.fireEvent("onsubmit")}}},preventEnter:function(B){Λ.$addEventListener(B,"keypress",function(C){if(!Λ.event.key.isEnter(C)){return }switch(C.target.nodeName.toLowerCase()){case"input":switch(C.target.type.toLowerCase()){case"text":case"password":case"checkbox":case"file":case"radio":break;default:return }break;case"select":break;default:return }C.preventDefault()},false)},textareaEnterSubmit:function(C,B){if(!C){Λ.log.debug("ERROR LOG:",arguments);throw new TypeError("textareaEnterSubmit error: no textarea given!")}Λ.$addEventListener(C,"keyup",function(D){if(Λ.event.key.isEnter(D)&&!D.shiftKey&&!D.altKey){D.preventDefault();Λ.form.submit(C.form,B)}},false);Λ.$addEventListener(C,"keypress",function(D){if(Λ.event.key.isEnter(D)&&!D.shiftKey&&!D.altKey){D.preventDefault()}},false)},textareaAutoGrow:function(B){Λ.style.addCSS(A);B.addClass("autogrow");var C=B.value;B.value="t";B.style.height="1px";var D=B.scrollHeight;B.value=C;B.style.height=(B.scrollHeight+D)+"px";var F=B.$adjust=function(){B.style.height=D+"px";B.style.height=(B.scrollHeight+D)+"px"};var E=function(){setTimeout(F,0)};Λ.$addEventListener(window,"load",F,false);Λ.$addEventListener(B,"keydown",F,false);Λ.$addEventListener(B,"keypress",E,false);Λ.$addEventListener(B,"keyup",F,false);Λ.$addEventListener(B,"paste",E,false);Λ.$addEventListener(B,"cut",E,false)},build:function(F,D){var E=document.createElement("form");E.style.position="absolute";E.action=F;E.method="post";var C="";for(var B in D){if(Array.isArray(D[B])){D[B].forEach(function(G){C+='<input type="hidden" name="'+B+'" value="'+Λ.html.escapeString(G)+'" />'})}else{C+='<input type="hidden" name="'+B+'" value="'+Λ.html.escapeString(D[B])+'" />'}}E.innerHTML=C;document.body.appendChild(E);return E},focus:function(B){var D=Λ.$("input:not(input[type=hidden]):not(input[type=image]):not(input[type=button]):not(input[type=reset]):not(input[type=submit]), textarea, select",B);if(!D){D=Λ.$("input[type=image], input[type=submit], button[type=button]",B);if(!D){D=Λ.$("input[type=button], input[type=reset], button",B)}}if(D&&D.focus){try{D.focus()}catch(C){}}},blur:function(B){if(!B.$blur){setupFocusBlur(B)}B.$blur()},onblur:function(B,C){if(!B.$onblur){setupFocusBlur(B)}B.$onblur(C)},onfocus:function(B,C){if(!B.$onfocus){setupFocusBlur(B)}B.$onfocus(C)}}})();Λ.form.StepByStep=Λ.base.extend({initialize:function(){this.steps=[]},append:function(C){var A=this.steps[this.steps.length-1];var B=function(){if(this.isValid){A.enable()}else{A.disable()}};A.addEventListener("validchange",B)}});Λ.form.Step=Λ.base.extend({initialize:function(B){this.containers=B.length?B:[B];this.controls=[];var A=this;this.containers.forEach(function(C){Λ.$$("input, textararea, select, button",C).forEach(function(D){if(!D.$ignore){A.controls.push(D)}})});this.validate();this.containers.forEach(function(C){C[(A.isValid?"remove":"add")+"Class"]("invalid")});this.enable();this.addEventListener("change",function(){var C=this;this.containers.forEach(function(D){D[(C.isValid?"remove":"add")+"Class"]("invalid")})})},validator:function(){var B=true;for(var A=0;A<this.controls.length;++A){if(this.controls[A].$isValid&&!this.controls[A].$isValid()){this.controls[A].addClass("invalid");if(Λ.IE&&(this.controls[A].nodeName.toLowerCase()=="input")){this.controls[A].addClass("ie-"+this.controls[A].type.toLowerCase()+"-invalid")}B=false}else{this.controls[A].removeClass("invalid");if(Λ.IE&&(this.controls[A].nodeName.toLowerCase()=="input")){this.controls[A].removeClass("ie-"+this.controls[A].type.toLowerCase()+"-invalid")}}}return B},isValid:false,isDisabled:null,disable:function(){if(this.isDisabled===true){return }this.onDisable();this.isDisabled=true;this.dispatchEvent("disable")},enable:function(){if(this.isDisabled===false){return }this.isDisabled=false;this.onEnable();this.dispatchEvent("enable")},onDisable:function(){this.containers.forEach(function(A){A.addClass("disabled")});this.controls.forEach(function(A){switch(A.nodeName.toLowerCase()){case"input":switch(A.type){case"text":case"password":case"file":A.value="";break;case"checkbox":break}break;case"select":case"button":break;default:A.value=""}A.disabled=true});this.isValid=false;this.dispatchEvent("change");if(this.nextStep){this.nextStep.disable()}},onEnable:function(){this.containers.forEach(function(A){A.removeClass("disabled")});this.controls.forEach(function(A){A.disabled=false});this.validate()},setNextStep:function(A){this.nextStep=A;this.validate(true);return A},validate:function(B){if(!this.isDisabled&&(this.isValid!=this.validator())){this.isValid=!this.isValid;var A=this.isValid?"remove":"add";this.containers.forEach(function(C){C[A+"Class"]("invalid")});if(this.nextStep){this.nextStep[this.isValid?"enable":"disable"]()}this.dispatchEvent("change")}else{if(B&&this.nextStep){this.nextStep[this.isValid?"enable":"disable"]()}}}});Λ.form.Step.implement(Λ.EventsHandler_old);Λ.form.radiosOnChange=function(D,A){var C=null;var B=function(E){if(C!==E){A(E,C);C=E}};D.forEach(function(E){if(E.checked){C=E}if(Λ.IE){E.addEventListener("click",function(){setTimeout(function(){B(E)},100)},false)}else{E.addEventListener("change",function(){B(E)},false)}})};
Λ.html=(function(){var scriptRegExp="<script([^>]*( src *= *['\"]?([^'\">]+)['\"]?)[^>]*|[^>]*)>([\\S\\s]*?)<\/script>";var styleRegExp="<style[^>]*>([^<]*)</style>";var tempDiv=document.createElement("div");var tempTxt=tempDiv.appendChild(document.createTextNode(""));var scriptMatchAll=new RegExp(scriptRegExp,"img");var scriptMatchOne=new RegExp(scriptRegExp,"im");var styleMatchAll=new RegExp(styleRegExp,"img");var styleMatchOne=new RegExp(styleRegExp,"im");var scriptCount=0;return{stripScripts:function(html){return html.replace(new RegExp(scriptRegExp,"img"),"")},logEvals:Λ.location.isGET("evallog"),monitorLoadTime:false,logger:function(){if(Λ.html.logEvals){Λ.log.debug.apply(Λ.log,arguments)}},extractScripts:function(html){Λ.html.logger("html: ",html);return(html.match(scriptMatchAll)||[]).map(function(scriptTag){var result=(scriptTag.match(scriptMatchOne)||["","","",""]);var vbScript=(new RegExp("<script[^>]*( language *= *['\"]?vbscript['\"]?| type *= *['\"]?text/vbscript['\"]?)","im")).test(result[0]);if(result[3]){return[0,result[3],vbScript]}else{return[1,result[4],vbScript]}})},evalScripts:function(html,onLoad){var data=this.extractScripts(html);var evalScript,loadScript;var processNext=function(){if(!data.length){if(onLoad){onLoad()}return }if(data[0][0]){evalScript()}else{loadScript()}};evalScript=function(){var args=data.shift();var script=args[1];var trimComment=script.match(/^\s*<!--/);if(trimComment){script=script.substr(trimComment[0].length)}Λ.html.logger("eval: ",script);try{if(window.execScript){window.execScript(script,args[2]?"vbscript":"javascript")}else{if(!args[2]){window.eval(script)}}}catch(e){}processNext()};loadScript=function(){var script=document.createElement("script");if(script.attachEvent&&!window.opera){script.attachEvent("onreadystatechange",function(){Λ.html.logger("state: ",window.event.srcElement.readyState);if((window.event.srcElement.readyState=="loaded")||(window.event.srcElement.readyState=="complete")){if(Λ.html.monitorLoadTime){Λ.timer.add("extscript"+(++scriptCount),new Date()-script.$time,script.src)}Λ.html.logger("loaded: ",script.src);processNext()}})}else{script.onload=script.onabort=script.onerror=function(){if(this.$_loaded){return }this.$_loaded=true;if(Λ.html.monitorLoadTime){Λ.timer.add("extscript"+(++scriptCount),new Date()-script.$time,script.src)}processNext()}}script.src=data.shift()[1];script.$time=new Date();document.body.appendChild(script)};processNext()},evalStyles:function(html){if(Λ.IE){var result=Λ.str.trim((html.match(styleMatchAll)||[]).map(function(styleTag){var result=(styleTag.match(styleMatchOne)||["",""]);return result[1]}).join("\n"));if(result){Λ.html.logger("set style: ",result);var style=document.createStyleSheet();style.cssText=result;return style}}},toDocumentFragment:function(html){var div=document.createElement("div");div.innerHTML=html;return Λ.dom.moveContentToDocumentFragment(div)},firstElement:function(html){return Λ.dom.firstChildElement(Λ.html.toDiv(html))},replaceContent:function(target,html){target.innerHTML=Λ.html.stripScripts(html);Λ.DOMReady.process(target);Λ.html.evalScripts(html)},replace:function(target,html){target.parentNode.insertBefore(Λ.html.toDocumentFragment(html),target);target.parentNode.removeChild(target);Λ.html.evalScripts(html)},append:function(target,html){target.appendChild(Λ.html.toDocumentFragment(Λ.html.stripScripts(html)));Λ.html.evalScripts(html)},prepend:function(target,html){target.insertBefore(Λ.html.toDocumentFragment(Λ.html.stripScripts(html)),target.firstChild);Λ.html.evalScripts(html)},insertBefore:function(target,html){target.parentNode.insertBefore(Λ.html.toDocumentFragment(Λ.html.stripScripts(html)),target);Λ.html.evalScripts(html)},escapeString:function(str){tempTxt.nodeValue=str;return tempDiv.innerHTML},includeScript:function(src){var script=document.createElement("script");script.src=src;return document.body.appendChild(script)},currentScript:function(){var scripts=document.getElementsByTagName("script");return Λ.$b(scripts[scripts.length-1])},currentScriptParent:function(){return Λ.$b(Λ.html.currentScript().parentNode)},toDocumentFragment:function(html){return Λ.dom.moveContentToDocumentFragment(Λ.html.toDiv(html))},toDiv:function(html){var div=document.createElement("div");div.innerHTML=html;Λ.DOMReady.process(div);return div},getScriptData:function(el){return eval(el.getElementsByTagName("script")[0].innerHTML)}}})();
Λ.iframe={resizeIframe:function(A){try{A.scrolling="no";A.style.height=A.contentWindow.document.body.scrollHeight+"px"}catch(B){}},buildPlain:function(){var A=document.createElement("iframe");var B=A.style;B.border="0";B.padding="0";B.margin="0";return A},buildHidden:function(){var A=document.body.appendChild(document.createElement("div"));var B=A.style;B.height=0;B.width=0;B.left="-10000px";B.top="-10000px";B.position="absolute";return A.appendChild(document.createElement("iframe"))},gFrame:function(F,A,B){var C=Λ.dom.buildElement("iframe",{name:A,src:F,frameborder:"0",allowtransparency:"true"});if(B){if(!Λ.IE){C.onload=function(){Λ.iframe.resizeIframe(C);C.overlay.refresh()}}else{var D,E=0;C.onloadWatch=setInterval(function(){D=C.contentWindow.document.body;if(D){clearInterval(C.onloadWatch);if(D.offsetHeight!=E){E=D.offsetHeight;Λ.iframe.resizeIframe(C);C.overlay.refresh()}}},200)}}return C}};
Λ.$init=function(D,C,A,B){B=B||"click";if(!Λ.$init.cache[D]||(Λ.$init.cache[D].single&&(Λ.$init.cache[D]._targets.indexOf(C)==-1))){Λ.$init.cache[D]=new Λ.Initializer(D,Λ.$b(C),A,B);if(Λ.$init.cache[D].single){Λ.$init.cache[D]._targets.push(C)}}else{Λ.$init.cache[D].target=Λ.$b(C);Λ.$init.cache[D].type=B;Λ.$init.cache[D].target["on"+Λ.$init.cache[D].type]=Λ.$init.cache[D].replacementListener}Λ.$init.cache[D].setup();return Λ.$init.cache[D].returnValue};Λ.$init.cache={};Λ.$initH=function(C,B,A){return Λ.$init(C,B,A,"mouseover")};Λ.$initF=function(C,B,A){return Λ.$init(C,B,A,"focus")};Λ.Initializer=Λ.base.extend({initialize:function(E,D,B,C){this.name=E;this.type=C;this.initializer=Λ["$$i"+E];this.target=D;var A=new Date();this.target["on"+this.type]=null;this.target=this.initializer(this,B)||this.target;Λ.log.debug("INIT: ",this.name,(new Date()-A))},setup:function(){if(this.replacementListener){this.target["on"+this.type]=this.replacementListener}this.reFire()},returnValue:false,replacementListener:null,single:false,_targets:[],reFire:function(){switch(this.type){case"click":if(document.createEvent){var A=document.createEvent("MouseEvents");A.initMouseEvent("mousedown",true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);this.target.dispatchEvent(A);A=document.createEvent("MouseEvents");A.initMouseEvent("mouseup",true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);this.target.dispatchEvent(A);if(!window.opera){A=document.createEvent("MouseEvents");A.initMouseEvent("click",true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);this.target.dispatchEvent(A)}A=document.createEvent("HTMLEvents");A.initEvent("focus",true,true);this.target.dispatchEvent(A)}else{if(this.target.fireEvent){this.target.fireEvent("onmousedown");this.target.fireEvent("onmouseup");this.target.fireEvent("onclick");this.target.fireEvent("onfocus")}}break;case"mouseover":if(document.createEvent){A=document.createEvent("MouseEvents");A.initMouseEvent("mouseover",true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);this.target.dispatchEvent(A)}else{if(this.target.fireEvent){this.target.fireEvent("onmouseover")}}break;case"focus":if(document.createEvent){A=document.createEvent("HTMLEvents");A.initEvent("focus",true,true);this.target.dispatchEvent(A)}else{if(this.target.fireEvent){this.target.fireEvent("onfocus")}}break;default:throw"Initializer: Unsupported event type: "+this.type}}});
Λ.range=function(){var A;if(window.getSelection){A=function(){return window.getSelection()}}else{A=function(){return document.selection.createRange()}}return{getText:function(){if(window.getSelection){return(this.getText=function(){return window.getSelection().toString()})()}else{return(this.getText=function(){return document.selection.createRange().text})()}},getLength:function(){return this.getText().length},isSet:function(){return !!this.getLength()}}}();
Λ.DOMBehaviors=(function(){var T,R,S,d;var E=function(f,g,j,i,e){var h;if(i){h=Λ.DOMBehaviors.$(g,f).el;if(h){h=new Λ.HTMLElement(h);j(h,e)}else{Λ.log.warn("Action target not found: ",f,S)}}else{h=Λ.DOMBehaviors.$$(g,f);if(h.length){j(h,e)}else{Λ.log.warn("Action target not found: ",f,S)}}};var W=[];var a={_remove:function(e){e.destroy()},_show:function(e){e.show(true)},_hide:function(e){e.hide(true)},_toggle:function(e){e.toggle(true)},_actions:function(g,e){var f=!W.length;g.forEach(function(h){if(W.indexOf(h)===-1){W[W.length]=h;Λ.DOMBehaviors.processDOMActions(h,e)}});if(f){W=[]}},_toggletwo:function(f,e){if(!f.$other){e.hide();e.insertBefore(f);e.$other=f;f.$other=e}f.$other.hide();f.show()},_insertbefore:function(f,e){e.insertBefore(f)},_append:function(f,e){e.appendTo(f)},_prepend:function(f,e){e.prependTo(f)},_replace:function(f,e){e.insertBefore(f);f.destroy()},_replacecontent:function(f,e){f.destroyContent();e.appendTo(f)},_togglecontent:function(g,e){if(!g.$other){g.$other=e}var f=Λ.dom.cacheContent(g.target);g.$other.appendTo(g);Λ.dom.moveContent(f,g.$other.target)}};var Q=["show","hide","remove","actions"];var O=function(g,h){var e,f=0;while(e=Q[f++]){if(g.hasAttribute("data-"+e)){E(g,g.getAttribute("data-"+e),a["_"+e],false,h)}}};var B=/@([a-z0-9A-Z-_]+)\s*(=\s*([0-9a-zA-Z_.~%-]*)\s*)?$/;var K=/=\s*([0-9a-zA-Z_.~%-]*)\s*$/;var b=function(g,h){var f=[],e;Λ.str.splitQuoted(h,",").forEach(function(i){if(e=i.match(B)){f[f.length]=N(g,i.substr(0,i.length-e[0].length),e[1],e[2]?decodeURIComponent(e[3]):null)}else{if(e=i.match(K)){f[f.length]=V(g,i.substr(0,i.length-e[0].length),decodeURIComponent(e[1]))}else{P(g,i);f[f.length]=i}}});return f.join(", ")};var U=function(e){if(e.hasAttribute("data-toggle")){e.setAttribute("data-toggle",b(e,e.getAttribute("data-toggle")))}};var P=function(f,e){var g=Λ.DOMBehaviors.$$(e,f);if(g.length){a._toggle(g)}else{Λ.log.warn("Action target not found: ",f,e)}};var N=function(g,e,f,h){var j=Λ.DOMBehaviors.$(e,g).el;if(j){var i=null;if(j.hasAttribute(f)){i=j.getAttribute(f)}if(h!==null){j.setAttribute(f,h)}else{j.removeAttribute(f)}h=i}else{Λ.log.warn("Action target not found: ",g,e)}e=e+" @"+f;if(h!==null){e+="="+encodeURIComponent(h)}return e};var V=function(f,e,h){var j=Λ.DOMBehaviors.$(e,f).el;if(j){if((j.childNodes.length<=1)&&(!j.firstChild||j.firstChild.nodeType==3)){var g=Λ.dom.getTextNode(j);var i=g.data;g.data=h;h=i}else{Λ.log.warn("Action target for content toggle should consist only of text nodes: ",f,e)}}else{Λ.log.warn("Action target not found: ",f,e)}return e+" ="+encodeURIComponent(h)};var D=["toggletwo","insertbefore","append","prepend","replacecontent","togglecontent","replace"];var J=function(h,e){var f,g=0;while(f=D[g++]){if(h.hasAttribute("data-"+f)){E(h,h.getAttribute("data-"+f),a["_"+f],true,e);break}}};var Z=function(h,j){var e=h.getAttribute("data-method"),i;var l=(Q.indexOf(e)===-1);if(h.hasAttribute("data-target")){if(l){i=Λ.DOMBehaviors.$(h.getAttribute("data-target"),h.parentNode).el;if(!i){Λ.log.warn("Action target not found: ",h.parentNode,h.getAttribute("data-target"));return }else{i=new Λ.HTMLElement(i)}}else{i=Λ.DOMBehaviors.$$(h.getAttribute("data-target"),h.parentNode);if(!i.length){Λ.log.warn("Action target not found: ",h.parentNode,h.getAttribute("data-target"))}}}else{i=new Λ.HTMLElement(h.parentNode)}if(!l){a["_"+e](i)}else{var m;if(h.hasAttribute("data-external")){var k=Λ.$b(h.parentNode.parentNode);var g="div.script-action-external."+h.getAttribute("data-external");while(k&&(k!==document.documentElement)&&!(m=k.querySelector(g))){k=Λ.$b(k.parentNode)}if(!m){Λ.log.error("Could not setup action. External not found. Searched for div.script-action-external."+h.getAttribute("data-external")+" in ",h.parentNode.parentNode)}else{if(!m.firstChild){Λ.log.error("Could not setup action. External is empty. Searched for div.script-action-external."+h.getAttribute("data-external")+" in ",h.parentNode.parentNode)}}}else{if(h.firstChild){m=h}}if(m){switch(e){case"toggletwo":case"insertbefore":case"append":case"prepend":case"replace":var f=Λ.dom.children(m);if(f.length>1){throw new TypeError("Could not complete action: Action content consists of more than one element.")}else{if(!f[0]){throw new TypeError("Could not complete action: No elements found in action content.")}}j=new Λ.HTMLElement(f[0].cloneNode(true));break;case"replacecontent":case"togglecontent":j=new Λ.DOMList(m.cloneNode(true).childNodes);break}}a["_"+e](i,j);if(j){Λ.DOMReady.process(j)}}};Λ.style.addCSS("div.script-action, div.script-action-external { display: none; }");var G=function(j){var g,e=[],i;while(j.length&&(g=j.match(/^([a-zA-Z]+)(\(|$|\||\:)/))){i={name:g[1],target:null,value:null};e.push(i);j=j.substr(g[1].length);if(j.charAt(0)==="("){var h=Λ.str.regexp.parens(j,true);i.target=j.substr(1,h[1]-2);j=j.substr(h[1])}if(j.charAt(0)===":"){j=j.substr(1);var f=j.indexOf("|");if(f!==-1){i.value=j.substr(0,f);j=j.substr(f+1)}else{i.value=j;j=""}}if(j.length&&(j.charAt(0)=="|")){j=j.substr(1)}}if(j.length){throw new TypeError("DOM Behaviors error: New Parse error - syntax error: '"+j+"'")}return e};var H=function(g,f,i){if(f!==null){f=f.replace("*",g||"");var e=f.match(/^([a-zA-Z]+)\:(.+)/);if(e){switch(e[1]){case"url":var h=new Λ.Xhr(e[2]);h.addEventListener("success",function(j){i(j)});h.get();break;case"query":i(Λ.hash.fromQueryString(e[2]));break;default:throw new TypeError("DOMBehaviors new process action error. Unrecognized value type '"+e[1]+"'")}}else{if((f.charAt(0)=="[")&&(f.charAt(f.length-1)=="]")){i(f.slice(1,-1).split(",").map(decodeURIComponent))}else{i(decodeURIComponent(f))}}}else{i(g)}};var Y=/@([a-zA-Z0-9-]+)\s*$/;var I=/^\s*@([a-zA-Z0-9-]+)\s*$/;var F=function(g){var e=[],f;Λ.str.splitQuoted(g,",").forEach(function(h){if(f=h.match(Y)){e[e.length]={selector:h.substr(0,h.length-f[0].length),attribute:f[1]}}else{throw new TypeError("Attribute selector syntax error '"+h+"'")}});return e};var M={turn:function(g,f,e){if(f.$paginator){f.$paginator.turn(g)}else{Λ.log.debug("Error data: ",g,f,e);throw new TypeError("DOMBehaviors new process action error. Could not find paginator on element")}},replacecontent:function(g,f,e){if(!e){(new Λ.HTMLElement(f)).destroyContent();f.innerHTML=g;Λ.DOMReady.process(f)}else{f.setAttribute(e,g)}},insertbefore:function(g,f,e){if(!e){Λ.html.insertBefore(f,g)}else{Λ.log.debug("Error data: ",g,f,e);throw new TypeError("DOMBehaviors new process action error: html attribute for insertbefore action is not supported")}},prepend:function(g,f,e){if(!e){Λ.html.prepend(f,g)}else{f.setAttribute(e,g+f.getAttribute(e))}},append:function(g,f,e){if(!e){Λ.html.append(f,g)}else{f.setAttribute(e,f.getAttribute(e)+g)}},add:function(j,h,g){if(Array.isArray(j)){var f=j[0];j=j[1]}else{var f=" "}if(!g){Λ.log.debug("Error data: ",j,h,g);throw new TypeError("DOMBehaviors new process action error: html element for add action is not supported")}else{var e=Λ.str.regexp.escape(f);Λ.log.debug("BEH ADD: ",j,e,f);var i=new RegExp("(^|"+e+")"+j+"("+e+"|$)");var k=h.getAttribute(g)||"";if(!i.test(k)){h.setAttribute(g,k+f+j)}}},toggle:function(k,i,h){if(!h){(new Λ.HTMLElement(i)).toggle()}else{if(k){if(Array.isArray(k)){var f=k[0];k=k[1]}else{var f=" "}var e=Λ.str.regexp.escape(f);var j=new RegExp("(^|"+e+")"+k+"("+e+"|$)");var l=i.getAttribute(h)||"";var g;if(g=l.match(j)){if((g[1]==f)&&(g[2]==f)){i.setAttribute(h,l.replace(f+k,""))}else{i.setAttribute(h,l.replace(k,""))}}else{i.setAttribute(h,l+f+k)}}else{Λ.log.debug("Error data: ",k,i,h);throw new TypeError("DOMBehaviors new process action error: toggle for attribute exptects value")}}},sub:function(k,i,h){if(Array.isArray(k)){var f=k[0];k=k[1]}else{var f=" "}if(!h){Λ.log.debug("Error data: ",k,i,h);throw new TypeError("DOMBehaviors new process action error: html element for sub action is not supported")}else{var e=Λ.str.regexp.escape(f);var j=new RegExp("(^|"+e+")"+k+"("+e+"|$)");var l=i.getAttribute(h)||"";var g;if(g=l.match(j)){if((g[1]==f)&&(g[2]==f)){i.setAttribute(h,l.replace(f+k,""))}else{i.setAttribute(h,l.replace(k,""))}}}},remove:function(g,f,e){if(!e){(new Λ.HTMLElement(f)).destroy()}else{f.removeAttribute(e)}},blur:function(g,f,e){switch(f.nodeName.toLowerCase()){case"form":Λ.form.blur(f);break;case"a":case"input":case"select":case"button":case"textarea":f.blur();break;default:Λ.log.warn("DOMBehaviors new process action error: element '"+f.nodeName.toLowerCase()+"' does not support blur method")}},show:function(g,f,e){(new Λ.HTMLElement(f)).show()},hide:function(g,f,e){(new Λ.HTMLElement(f)).hide()},alert:function(g,f,e){Λ.alert(g)}};M.set=M.replacecontent;var A=function(g,f){var e={attributes:{},elements:[]},h;Λ.DOMBehaviors.parseSelectorGroup(g,f).forEach(function(i){if(i.selector.indexOf("@")!==-1){Λ.str.splitQuoted(i.selector,",").forEach(function(j){if(h=j.match(Y)){j=Λ.str.trim(j.slice(0,-h[0].length));if(j){var k=j?Λ.$$(j,i.scope):[i.scope];if(!k.length){return }}else{var k=[i.scope]}if(!e.attributes[h[1]]){e.attributes[h[1]]=[]}e.attributes[h[1]].push.apply(e.attributes[h[1]],k)}else{e.elements.push.apply(e.elements,j?Λ.$$(j,i.scope):[i.scope])}})}else{e.elements.push.apply(e.elements,i.selector?Λ.$$(i.selector,i.scope):[i.scope])}});return e};var L=function(h,g,j){if(h.target){var e=A(h.target,g);if(!e.elements.length&&Λ.hash.isEmpty(e.attributes)){Λ.log.warn("BEHAVIORS: Target not found",h,g);return }e.elements.forEach(j);for(var f in e.attributes){e.attributes[f].forEach(function(i){j(i,f)})}}else{j(g)}};var X=function(h,f,e,g){if(Λ.DOMBehaviors.actions[h.name]){Λ.DOMBehaviors.actions[h.name](f,g,h,e)}else{if(M[h.name]){L(h,f,Λ.func.partial(M[h.name],g))}else{throw new TypeError("DOMBehaviors new process action error. Unrecognized action: '"+h.name+"'")}}};var C=function(e,g,f){H(g,f.value,Λ.func.partial(X,f,e,g))};var c=function(l,h,j,i,f){var e,g;if(Λ.obj.is(j)){data=j;e=i.target||""}else{data={};e=(i.target||"")+j}var k=new Λ.Xhr(e);k.addEventListener("success",function(m){if(m.actions){Λ.DOMBehaviors.newProcessObjActions(m.actions,h)}});k[l](data)};return{actions:{timeout:function(f,h,g,e){setTimeout(Λ.DOMBehaviors.newProcessActions.bind(Λ.DOMBehaviors,g.target,f,e),h)},post:function(f,h,g,e){c("post",f,h,g,e)},get:function(f,h,g,e){c("get",f,h,g,e)},toggleaction:function(f,i,h,e){if(!f["$ toggleaction"]){if(h.target.charAt(0)=="("){f["$ toggleaction"]=[];var k=h.target;while(k){if(k.charAt(0)!=="("){throw new TypeError("DOMBehaviors error: syntax error for toggle action: '"+h.target+"'")}var g=Λ.str.regexp.parens(k,true);f["$ toggleaction"].push(k.substr(1,g[1]-2));k=k.substr(g[1])}}else{f["$ toggleaction"]=h.target.split(",")}}var j=f["$ toggleaction"].shift();f["$ toggleaction"].push(j);Λ.DOMBehaviors.newProcessActions(j,f,i)}},newGetItems:function(f,e){return A(f,e)},newProcessActions:function(g,e,f){var g=G(g);Λ.DOMBehaviors.newProcessObjActions(g,e,f)},newProcessObjActions:function(h,e,f){var g;h.forEach(Λ.func.partial(C,e,f))},mouseEnterActions:function(f,e){if(e){f.onmouseover=null}var g=function(){if(f.hasAttribute("data-action")){Λ.DOMBehaviors.newProcessActions(f.getAttribute("data-action"),f)}};setTimeout(function(){Λ.event.mouse.enter(f,g);Λ.event.mouse.leave(f,g)},0);if(e){g()}},parseSelectorGroup:function(e,l){var k=Λ.str.splitQuoted(e,",");var f,h,m;var g=[],j={},i;while(f=k.shift()){h=Λ.DOMBehaviors.parseSelector(f,l);if(!m||h.scopeForce){m=h.scope}else{if(h.scope!==m){h.scope=m}}if((i=g.indexOf(h.scope))===-1){g[i=g.length]=h.scope;j[i]=[]}j[i][j[i].length]=h.selector}return g.map(function(o,n){return{scope:o,selector:j[n].join(", ")}})},parseSelector:function(f,i){var g=f?Λ.str.trim(f):"";var e={scopeForce:false,selector:g,scope:i};if((g==="")||I.test(g)){return e}else{if(g.indexOf(":root")===0){e.scope=document;e.scopeForce=true;e.selector=Λ.str.trim(g.substr(5))}else{if(g.indexOf(":scope")===0){e.scopeForce=true;e.selector=Λ.str.trim(g.substr(6))}else{if(/^[\^\+\-]/.test(g)){e.scopeForce=true;scopeSearch:while(g){if(g.charAt(1)=="("){var j=Λ.str.regexp.parens(g,true);var h=g.substr(j[0]+1,j[1]-2);Λ.log.debug("PARENS SELECTOR: ",h);switch(g.charAt(0)){case"^":i=Λ.dom.getAncestorBySelector(i,h);break;case"+":i=Λ.dom.getFollowingSiblingBySelector(i,h);break;case"-":i=Λ.dom.getPrecedingSiblingBySelector(i,h);break}g=Λ.str.trim(g.substr(j[0]+j[1]));break}else{switch(g.charAt(0)){case"^":i=i.parentNode;break;case"-":i=Λ.dom.previousElementSibling(i);break;case"+":i=Λ.dom.nextElementSibling(i);break;default:break scopeSearch}g=Λ.str.trim(g.substr(1))}if(!i){break}}e.scope=Λ.$b(i);e.selector=g}else{e.scope=document}}}}if(!e.scope||(!e.scope.tagName&&(e.scope!==document))){Λ.log.error("DOM Behaviors parseSelector - wrong scope for selector: '"+f+"'",e.scope);throw new TypeError("DOM Behaviors parseSelector - wrong scope for selector: '"+f+"'")}return e},$:function(e,f){var g=Λ.DOMBehaviors.parseSelector(e,f);if(g.selector&&g.scope){return Λ.DOMReady.selector(g.selector,null,g.scope)}else{if(g.scope){return{el:g.scope}}else{return{el:null}}}},$$:function(e,f){var g=Λ.DOMBehaviors.parseSelector(e,f);if(g.selector){return Λ.DOMReady.selectorAll(g.selector,null,g.scope)}else{if(g.scope){return new Λ.DOMList(g.scope)}else{return new Λ.DOMList()}}},hasDOMAddAction:function(f){for(var e=0,g;g=D[e];++e){if(f.hasAttribute("data-"+g)){return true}}return false},processDOMActions:function(e,g){var f,h;J(e,g);O(e,g);U(e,g);Λ.$$("div.script-action",e).forEach(function(i){if(i.parentNode===e){Z(i,g)}})}}})();(function(){var A=function(B,C){Λ.log.debug("BHVR: DOMAction ",B);B.addEventListener(C,function(){Λ.DOMBehaviors.processDOMActions(B);if(B.hasAttribute("data-action")){Λ.DOMBehaviors.newProcessActions(B.getAttribute("data-action"),B)}},false)};Λ.DOMBehaviors.behavior=function(B){switch(B.nodeName.toLowerCase()){case"button":A(B,"click");break;case"input":switch(B.type.toLowerCase()){case"button":A(B,"click");break;case"radio":if(B.hasAttribute("data-toggle")){Λ.log.debug("BHVR: DOMAction ",B);Λ.dHTMLInputSwitchPanelRadio(B)}else{Λ.log.warn("Found not supported actions for element. input 'radio' supports only data-toggle action")}break;case"checkbox":if(B.hasAttribute("data-toggle")){Λ.log.debug("BHVR: DOMAction ",B);Λ.dHTMLInputSwitchPanelCheckbox(B,Λ.DOMBehaviors.$$(B.getAttribute("data-toggle"),B))}else{if(!B.hasAttribute("data-action")){Λ.log.warn("Found not supported actions for element. input 'checkbox' supports only data-toggle action")}}break;case"text":A(B,"focus");break;default:Λ.log.warn("Found not supported actions for element: DOM behaviors are not supported for input of given type '"+B.type.toLowerCase()+"'")}break;default:Λ.log.warn("Found not supported actions for element: DOM behaviors are not supported for given element")}};Λ.DOMBehaviors.behaviorAll=function(){Λ.DOMReady.selectorAll("button, input",function(B){if(B.$bhIgnore_DOMBehaviors){return }if(B.querySelector("div.script-action")){if(Λ.conf.devel){var C=B.querySelector("div.script-action");if(C&&C.getElementsByTagName("button").length){Λ.log.error("Found <button> nested in div.script-action that belongs to button - IE breaks layout with nested buttons and it's not valid XHTML - use externals instead (data-external).")}}if(!Λ.dom.getAncestorBySelector(B,"div.script-action")&&!Λ.dom.getAncestorBySelector(B,"div.script-action-external")){Λ.DOMBehaviors.behavior(B)}else{Λ.log.debug("DOMBehaviors: Not processing control as found within script-action element",B)}}})};Λ.DOMBehaviors.captureRegister=function(){Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@show");Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@hide");Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@toggle");Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@remove");Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@removecontent");Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@actions");Λ.EventCapture.click.register(Λ.DOMBehaviors,["button","input"],"@action")}})();Λ.DOMReady.selectorAll("input",function(A){if(A.hasAttribute("data-action")){if(A.type.toLowerCase()=="checkbox"){var B=new Λ.HTMLCheckboxControl(A);B.addEventListener("change",function(){if(A.hasAttribute("data-action")){Λ.DOMBehaviors.newProcessActions(A.getAttribute("data-action"),A,A.checked?A.value:null)}},false)}else{if(A.type.toLowerCase()=="radio"){var B=new Λ.HTMLRadioControl(A);B.addEventListener("change",function(C){if(C===A&&A.hasAttribute("data-action")){Λ.DOMBehaviors.newProcessActions(A.getAttribute("data-action"),A,A.checked?A.value:null)}},false)}}}});
Λ.domPosition=(function(){var C=function(G,F,E,H){var D=(F.x+"").match(/^(\d+)(px|%)?$/);var I=(F.y+"").match(/^(\d+)(px|%)?$/);G.x+=B(D,E.width)*H;G.y+=B(I,E.height)*H};var B=function(E,D){Λ.log.debug("adjust",E[1],E[2],D);if(E[1]!=="0"){if(E[2]==="%"){return Math.round(E[1]*0.01*D)}else{if(!E[2]||(E[2]==="px")){return parseInt(E[1],10)}else{throw new TypeError("Wrong unit for position: "+unit)}}}return 0};var A;if(Λ.IE){A=function(D){while(D.offsetParent&&(D.offsetParent.currentStyle.position==="static")&&(D.offsetParent!==document.body)&&(D.offsetParent!==document.documentElement)){D=D.offsetParent}return D.offsetParent}}else{A=function(D){return D.offsetParent}}return{getDimensions:function(G){if(G===window){if(window.innerWidth){return{width:window.innerWidth,height:window.innerHeight}}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){return{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){return{width:document.body.clientWidth,height:document.body.clientHeight}}else{return{width:0,height:0}}}}}if(G.offsetWidth){return{width:G.offsetWidth,height:G.offsetHeight}}Λ.log.debug("dom.position get dimensions: ",G);var I=window.getComputedStyle(G,false).display;if(I&&(I!=="none")){return{width:0,height:0}}var F=G.style;var H=F.visibility;var E=F.display;F.visibility="hidden";F.display="block";var D={width:G.offsetWidth,height:G.offsetHeight};F.display=E;F.visibility=H;return D},getRectangle:function(F,E){if(!E){E=document}var D=Λ.domPosition.getPosition(F,E);var G=Λ.domPosition.getDimensions(F);return new Λ.Rectangle(D,new Λ.Point(D.x+G.width,D.y+G.height),F,E)},getPosition:function(E,D){D=D||document;var H=new Λ.Point(D.offsetLeft||0,D.offsetTop||0);if(D!==document){var F=A(D);while(!Λ.dom.contains(F,E)){H.x-=F.offsetLeft;H.y-=F.offsetTop;F=A(F)}}if(E===window){H.x+=document.documentElement.scrollLeft||document.body.scrollLeft;H.y+=document.documentElement.scrollTop||document.body.scrollTop;return H}else{H.x+=E.offsetLeft;H.y+=E.offsetTop}var G=A(E);while(G&&(G!==F)){H.x+=G.offsetLeft;H.y+=G.offsetTop;G=A(G)}return H},adjustToViewport:function(E,D){D=D||20;vpRect=Λ.domPosition.getRectangle(window);if((vpRect.bottomRight.x-vpRect.topLeft.x)>(2*D)){vpRect.topLeft.x+=D;vpRect.bottomRight.x-=D}if((vpRect.bottomRight.y-vpRect.topLeft.y)>(2*D)){vpRect.topLeft.y+=D;vpRect.bottomRight.y-=D}var G=new Λ.Point(),F;if(E.bottomRight.x>vpRect.bottomRight.x){F=E.bottomRight.x-vpRect.bottomRight.x;E.topLeft.x-=F;E.bottomRight.x-=F;G.x-=F}if(E.bottomRight.y>vpRect.bottomRight.y){F=E.bottomRight.y-vpRect.bottomRight.y;E.topLeft.y-=F;E.bottomRight.y-=F;G.y-=F}if(E.topLeft.x<vpRect.topLeft.x){F=vpRect.topLeft.x-E.topLeft.x;E.topLeft.x+=F;E.bottomRight.x+=F;G.x+=F}if(E.topLeft.y<vpRect.topLeft.y){F=vpRect.topLeft.y-E.topLeft.y;E.topLeft.y+=F;E.bottomRight.y+=F;G.y+=F}return G},adjustElementToViewport:function(E,D){var F=Λ.domPosition.adjustToViewport(Λ.domPosition.getRectangle(E),D);if(F.x){E.style.left=(E.offsetLeft+F.x)+"px"}if(F.y){E.style.top=(E.offsetTop+F.y)+"px"}},set:function(F,J,I,G,H){if(!I){I=(J===window)?Λ.domPosition.CENTER:Λ.domPosition.TOP_LEFT}var K=(J===window);Λ.log.debug("toViewport",K);G=(G||(typeof G=="undefined"));H=K&&(H||(typeof H=="undefined"));var E=Λ.domPosition.getDimensions(F);Λ.log.debug("dimensions",E.width,E.height);if(H){var D={x:0,y:0}}else{if(K){var D=Λ.domPosition.getViewportPosition(F.offsetParent)}else{var D=Λ.domPosition.getPosition(F,J)}}Λ.log.debug("init",D.x,D.y);C(D,I.self,E,-1);Λ.log.debug("fix self",D.x,D.y);C(D,I.relative,K?Λ.domPosition.getViewportDimensions():Λ.domPosition.getDimensions(J),1);Λ.log.debug("fix relative",D.x,D.y);if(!H&&G){adjustToViewport(D,E,F.offsetParent);Λ.log.debug("fix viewport",D.x,D.y)}if(K&&H){F.style.position="fixed"}else{F.style.position="absolute"}F.style.zIndex="5000";F.style.backgroundColor="blue";F.style.top=D.y+"px";F.style.left=D.x+"px"}}})();(function(){var A=function(C,D,B){Λ.domPosition[C]={relative:{x:B,y:D},self:{x:B,y:D},x:B,y:D}};A("CENTER","50%","50%");A("TOP_LEFT","0","0");A("TOP_RIGHT","0","100%");A("BOTTOM_RIGHT","100%","100%");A("BOTTOM_LEFT","100%","0")})();
(function(){var A=function(){Λ.style.addCSS('iframe.shim {\nposition: absolute;\ntop: 0;\nleft: 0;\nz-index: -1 !important;\nfilter: alpha(opacity=0);\nwidth: expression(parentNode.offsetWidth + "px");\nheight: expression(parentNode.offsetHeight + "px");\n}\n');A=Λ.func.empty};Λ.ie={iframeShim:function(C){if((Λ.IE!=6)||(location.protocol=="https:")){return false}if(!C||!C.attributes){throw"ie.iframeShim: wrong agruments"}if(C.nodeName.toLowerCase()==="iframe"){return false}A();C.appendChild(document.createElement("iframe")).outerHTML='<iframe class="shim" frameborder="0" tabindex="-1"></iframe>'},hover:function(E,C){if(Λ.IE!=6){return false}if((typeof E.length=="number")&&(typeof E!="string")){var F=function(G){Λ.ie.hover(G,C)};if(E.forEach){E.forEach(F)}else{Λ.array.forEach(E,F)}return E}var D="hover";if(C){D=C+"-"+D;Λ.$b(E).addEventListener("mouseenter",function(){if(this.hasClass(C)){this.addClass(D)}},false)}else{Λ.$b(E).addEventListener("mouseenter",E.addClass.bind(E,D),false)}E.addEventListener("mouseleave",E.removeClass.bind(E,D),false);return E}};if(Λ.IE&&(Λ.IE<7)){try{document.execCommand("BackgroundImageCache",false,true)}catch(B){}}})();
(function(){var A;Λ.cookie={get:function(B,C){if(C||!A){A=Λ.hash.fromSemicolonString(document.cookie)}return A[B]||null},getAll:function(B){if(B||!A){A=Λ.hash.fromSemicolonString(document.cookie)}return Λ.hash.clone(B?(A=Λ.hash.fromSemicolonString(document.cookie)):A)},set:function(D,E,F){if(F){var C=new Date();C.setTime(C.getTime()+(F*24*60*60*1000));var B="; expires="+C.toGMTString()}else{var B=""}document.cookie=D+"="+E+B+"; path=/";if(A){if(typeof F=="number"&&F>0){A[D]=E}else{delete A[D]}}},erase:function(B){Λ.cookie.set(B,"",-1)}}})();
Λ.flash={};Λ.flash.Object=Λ.base.extend((function(){var H=[0,0,0];var D=null;if(typeof navigator.plugins!="undefined"&&typeof navigator.plugins["Shockwave Flash"]=="object"){D=navigator.plugins["Shockwave Flash"].description;if(D&&!(typeof navigator.mimeTypes!="undefined"&&navigator.mimeTypes["application/x-shockwave-flash"]&&!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)){D=D.replace(/^.*\s+(\S+\s+\S+$)/,"$1");H[0]=parseInt(D.replace(/^(.*)\..*$/,"$1"),10);H[1]=parseInt(D.replace(/^.*\.(.*)\s.*$/,"$1"),10);H[2]=/r/.test(D)?parseInt(D.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof window.ActiveXObject!="undefined"){var E=null,F=false;try{E=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(C){try{E=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");H=[6,0,21];E.AllowScriptAccess="always"}catch(C){if(H[0]==6){F=true}}if(!F){try{E=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(C){}}}if(!F&&E){try{D=E.GetVariable("$version");if(D){D=D.split(" ")[1].split(",");H=[parseInt(D[0],10),parseInt(D[1],10),parseInt(D[2],10)]}}catch(C){}}}}if(!window.opera&&document.all&&H[0]>7){window.attachEvent("onbeforeunload",function(){var J=function(){};var K=function(){};window.attachEvent("onunload",function(){var N=document.getElementsByTagName("OBJECT");for(var M=N.length-1;M>=0;M--){N[M].style.display="none";for(var L in N[M]){if(typeof N[M][L]=="function"){N[M][L]=function(){}}}}})})}var G=function(K){var J=(H[0]>K[0]||(H[0]==K[0]&&H[1]>K[1])||(H[0]==K[0]&&H[1]==K[1]&&H[2]>=K[2]))?true:false;Λ.log.debug("FLASH VERSION CHECK got: ",H," min expect: ",K," result: ",J);return J};var I=G([6,0,65]);var A=Λ.conf.flashExpressInstallSrc;var B=function(J){return parseInt(J,10)};if(Λ.IE){document.write("<style id='hideObject'> object.ieActivate { display:none; } </style>")}document.addEventListener("DOMContentLoaded",function(){var J=[];if(Λ.IE){Λ.$$("object.ieActivate").forEach(function(P){var R=P.outerHTML;var O={};var S;var T={};var K;for(var Q=0;Q<P.childNodes.length;Q++){var M=P.childNodes[Q];if(M.tagName=="PARAM"){switch(M.name){case"minVersion":S=M.value;break;case"movie":K=M.value;break;case"FlashVars":T=Λ.hash.fromQueryString(M.value);break;default:O[M.name]=M.value}}}var L;if(P.parentNode.children.length==1){L=P.parentNode}else{L=P.parentNode.insertBefore(document.createElement("div"),P)}P.parentNode.removeChild(P);var N=new Λ.flash.Object(K,{id:P.id,width:P.width,height:P.height,minVersion:S});Λ.obj.override(N.params,O);Λ.obj.override(N.variables,T);N.write(L)})}Λ.$$('object param[name="minVersion"]').forEach(function(N){if(G(N.value.split(",").map(B).concat([0,0]))){return }var L=N.parentNode;var K;if(L.parentNode.getElementsByTagName("*").length==1){K=L.parentNode}else{K=L.parentNode.insertBefore(document.createElement("div"),L)}L.parentNode.removeChild(L);var M=new Λ.flash.Object(A,{id:L.id,width:L.width,height:L.height});M.variables.MMplayerType=Λ.IE?"ActiveX":"PlugIn";M.write(K)});if(Λ.IE){document.getElementById("hideObject").disabled=true}},false);return{initialize:function(J,K){this.swf=J;if(K.minVersion){K.minVersion=K.minVersion.split(",").map(B).concat([0,0])}Λ.obj.override(this,Λ.hash.strictContent(K,["width","height","id","minVersion","backgroundColor","quality"]));if(!this.id){this.id=Λ.str.random()}this.variables={};this.params={};if(!this.params.quality){this.params.quality="high"}this.valid=!this.minVersion||G(this.minVersion);this.attributes=[]},swf:null,width:null,height:null,id:null,minVersion:null,backgroundColor:null,getSWFHTML:function(){var K="";if(this.backgroundColor){this.params.bgcolor=this.backgroundColor}if(!this.valid){this.variables.MMplayerType=Λ.IE?"ActiveX":"PlugIn";this.swf=A}var L=Λ.hash.toQueryString(this.variables);var J;if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){K='<embed type="application/x-shockwave-flash" src="'+this.swf+'" id="'+this.id+'" name="'+this.id+'"'+(this.width?' width="'+this.width+'"':"")+(this.height?' height="'+this.height+'"':"");for(J in this.params){K+=" "+J+'="'+this.params[J]+'"'}if(L){K+='flashvars="'+L+'"'}K+="/>"}else{K='<object id="'+this.id+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+(this.width?' width="'+this.width+'"':"")+(this.height?' height="'+this.height+'"':"")+">";K+='<param name="movie" value="'+this.swf+'" />';for(J in this.params){K+='<param name="'+J+'" value="'+this.params[J]+'" />'}if(L){K+='<param name="flashvars" value="'+L+'" />'}K+="</object>"}return K},write:function(J){var K=this.getSWFHTML();J.innerHTML=K;this.swfElement=J.getElementsByTagName("object")[0]||J.getElementsByTagName("embed")[0];window[this.id]=this.swfElement;return this.swfElement},addParam:function(J,K){this.params[J]=K},addVariable:function(J,K){this.variables[J]=K}}})());
(function(){var A=function(){var B="body.swf-fullscreen { overflow: hidden; width: 100% !important; height: 100% !important; position: relative; }\n";B+="body.swf-fullscreen * { display: none !important; }\n";B+="html { height: 100%; }\n";B+="div.swf-fullscreen-container { display: none; height: 100%; width: 100%; position: absolute; top: 0; left: 0; z-index: 100000; }\n";B+="body.swf-fullscreen div.swf-fullscreen-container { display: block !important; }\n";B+="body.swf-fullscreen div.swf-fullscreen-container object, body.swf-fullscreen div.swf-fullscreen-container embed { display: block !important; }";Λ.style.addCSS(B);var C=document.body.appendChild(document.createElement("div"));C.addClass("swf-fullscreen-container");A=function(){return C};return C};Λ.flash.fullscreen={show:function(B){document.body.addClass("swf-fullscreen");if(B instanceof Λ.flash.Object){B.write(A())}else{if(B.attributes&&(B.nodeName.toLowerCase()=="object")){A().appendChild(B)}else{throw new TypeError("Could not show fullscreen flash: Passed argument is neither flash.Object instance nor html <object> element")}}},hide:function(){document.body.removeClass("swf-fullscreen");var C=A();var B=C.removeChild(C.firstChild);C.innerHTML="";return B}}})();
(function(){Λ.style.addCSS("button.swf-fullscreen object, a.swf-fullscreen object { display: none }");var B;var A=function(D){D.preventDefault();if(this.hasAttribute("data-target")){B=Λ.DOMBehaviors.$(this.getAttribute("data-target"),this)}else{if(this.hasAttribute("data-custom")){B=Λ.flash.fullscreen.behavior["$"+this.getAttribute("data-custom")](this)}else{Λ.log.debug("flash fullscreen error",this);throw TypeError("Cannot run fullscreen flash: 'data-target' or 'data-custom' attribute must be present none found.")}}Λ.flash.fullscreen.show(B)};Λ.flash.fullscreen.behavior=function(D){Λ.log.debug("BHVR: Flash Fullscreen ",D);D.addEventListener("click",A,false)};var C=function(D){if(D.hasClass("swf-fullscreen")){Λ.flash.fullscreen.behavior(D)}};Λ.flash.fullscreen.behaviorAll=function(){Λ.DOMReady.selectorAll("a",C);Λ.DOMReady.selectorAll("button",C)};Λ.flash.fullscreen.captureRegister=function(){Λ.EventCapture.click.register(Λ.flash.fullscreen,["a","button"],".swf-fullscreen")}})();
(function(){var A=function(B){return !B||(B>=200&&B<300)};Λ.DataSource=Λ.AsyncObj.extend({constructor:function(){this.customTranslators={}},className:"DataSource",receive:function(D,B,E){this.mimeType=E;var C=this.translateResponse(D,E);this.dispatchEvent.apply(this,[B,C,D].concat(this.sendArguments));this["on"+(A(B)?"Success":"Failure")].apply(this,[C,D].concat(this.sendArguments));this.onComplete.apply(this,[C,D].concat(this.sendArguments))},translateDictName:["DataSource"],translateResponse:function(B,C){if(this.customTranslators[C]){return this.customTranslators[C](B,this)}else{if(Λ[this.translateDictName].translators[C]){return Λ[this.translateDictName].translators[C](B,this)}else{return B}}},varName:null,send:function(){throw new TypeError("DataSource error: send method not setup")},prepareAndSend:function(C){var B;if(arguments.length&&!Λ.obj.is(arguments[0])&&(typeof arguments[0]!=="undefined")){if(!this.varName){throw new TypeError("DataSource error: Cannot send primitive type value when varName is not set")}var B={};B[this.varName]=arguments[0];Λ.obj.extend(B,Λ.DataSource.extra[this.method])}else{var B=Λ.obj.clone(C);Λ.obj.extend(B,Λ.DataSource.extra[this.method])}return this.send.apply(this,this.sendArguments=[B].concat(Λ.obj.toArray(arguments,1)))}});Λ.DataSource.extra={};["GET","POST","PUT","DELETE"].forEach(function(B){var C=Λ.DataSource.extra[B]={};Λ.DataSource.prototype[B.toLowerCase()]=function(){this.method=B;return this.prepareAndSend.apply(this,arguments)}});Λ.DataSource.translators={};Λ.DataSource.translators["application/json"]=Λ.DataSource.translators["text/x-json"]=Λ.DataSource.translators["application/jsonrequest"]=function(C,B){return Λ.json.parse(C)}})();
(function(){Λ.AsyncNone=Λ.Base.extend({constructor:function(D){this.callback=D},begin:function(){this.inProgress=true;this.isSuccess=null;this.isComplete=false;this.dispatchEvent("begin");this.callback();this.isSuccess=true;this.dispatchEvent("success");this.inProgress=false;this.isComplete=true;this.dispatchEvent("complete")}});Λ.AsyncNone.implement(Λ.Async);var C=0;var B=function(){this.current.removeEventListener("complete",this._currentCallback);this._startSingle()};var A=function(E){var D;E.addEventListener("complete",D=function(){E.removeEventListener("complete",D);if(--this.inProgressCount<=0){this.onComplete()}}.bind(this));E.begin()};Λ.AsyncProcessor=Λ.Base.extend({constructor:function(){this.id=++C;this.queue=[]},inProgressCount:0,add:function(D,E){this.queue[this.queue.length]=D;if(!E){this.begin()}return D},addSync:function(D){this.add(new Λ.AsyncNone(D))},_start:function(){var D;this.inProgressCount+=this.queue.length;while(D=this.queue.shift()){A.call(this,D)}},onComplete:function(){this.isSuccess=true;this.dispatchEvent("success");this.inProgress=false;this.isComplete=true;this.dispatchEvent("complete")},begin:function(){this.inProgress=true;this.isSuccess=null;this.isComplete=false;this.dispatchEvent("begin");if(!this.queue.length){this.onComplete();return }this._start()}});Λ.AsyncProcessor.implement(Λ.Async);Λ.AsyncQueueProcessor=Λ.AsyncProcessor.extend({constructor:function(){this.base();this.currentQueue=[]},inProgressCount:Λ.UNDEFINED,begin:function(){if(this.inProgress){this.currentQueue.push.apply(this.currentQueue,this.queue);this.queue.splice(0,this.queue.length)}else{this.base()}},_start:function(){this.currentQueue.push.apply(this.currentQueue,this.queue);this.queue.splice(0,this.queue.length);this._startSingle()},_startSingle:function(){this.current=this.currentQueue.shift();if(this.current){this.current.addEventListener("complete",this._currentCallback=B.bind(this));this.current.begin()}else{this.onComplete()}}})})();
(function(){var A=Λ.Base.extend({constructor:function(B){this.callbacks=[];this.name=B;document.addEventListener(B,function(C){var D=C.target;if(!D){return }this.process(D,C)}.bind(this),true)},process:function(E,D){if(E.nodeName.toLowerCase()=="label"){var B;if(E.htmlFor){B=document.getElementById(E.htmlFor)}else{B=E.getElementsByTagName("input")[0]}if(B&&!B["$ EventCapture "+this.name+" setup"]){this.process(B,D)}}if(E["$ EventCapture "+this.name+" setup"]){if(E.parentNode){this.process(E.parentNode,D)}return }E["$ EventCapture "+this.name+" setup"]=true;Λ.$b(E);var F=E.nodeName.toLowerCase();if(this.callbacks[F]){callbackIter:for(var C in this.callbacks[F]){switch(C.charAt(0)){case".":if(!E.hasClass(C.substr(1))){continue callbackIter}break;case"@":if(!E.hasAttribute("data-"+C.substr(1))){continue callbackIter}break;default:throw new TypeError("EventCapture error: Unrecognized attr token for '"+C+"'")}this.callbacks[F][C].behavior(E,D);if(!this.callbacks[F][C]._capturePass){break callbackIter}}}if(E.parentNode){this.process(E.parentNode,D)}},register:function(F,E,D){var B,C=0;while(B=E[C++]){if(!this.callbacks[B]){this.callbacks[B]={}}else{if(this.callbacks[B][D]){Λ.log.debug("EventCapture error: Event for attribute '"+D+"' is already registered.",F);throw new TypeError("EventCapture error: Event for attribute '"+D+"' is already registered.")}}this.callbacks[B][D]=F}}});Λ.EventCapture={click:new A("click"),submit:new A("submit"),keydown:new A("keydown"),change:new A("change")}})();
(function(){var A=function(H,G,D){var I=H.first();var F=I.parentNode.insertBefore(document.createElement("div"),I);var E=F.appendChild(document.createElement("div"));H.appendTo(E);E.style.position="relative";if(G||(G===0)||(G==="0")){if(G===true){F.style.width=E.clientWidth+"px"}else{F.style.width=G+"px"}}if(D||(D===0)||(D==="0")){if(D===true){F.style.height=E.clientHeight+"px"}else{F.style.height=D+"px"}}F.addClass("o-overflow");F.style.overflow="hidden";F.style.position="relative";return F};var C=function(D){this._style.left=D+"px"};var B=function(D){this._style.height=D+"px"};Λ.HTMLTransition={slide:function(H,E,I,F,G){if(H){if(E){F=F||H.getWidth();if(I){var D=Λ.Tween.inOutQuad(G||500,-F,0)}else{var D=Λ.Tween.inOutQuad(G||500,0,-F)}D.addEventListener("begin",function(){this._overflowDiv=A(H,true);if(I){E.prependTo(this._overflowDiv.firstChild)}else{E.appendTo(this._overflowDiv.firstChild)}E.show();this._style=this._overflowDiv.firstChild.style;this._style.width=50000+"px"});D.ontween=C;D.addEventListener("complete",function(){H.hide();H.insertBefore(this._overflowDiv);E.insertBefore(this._overflowDiv);this._overflowDiv.parentNode.removeChild(this._overflowDiv);delete this._style;delete this._overflowDiv});return D}else{throw new Error("TODO: pre -> null logic")}}else{throw new Error("TODO: null -> post logic")}},reveal:function(F,D,G){D=D||Λ.domPosition.getDimensions(F.target).height;var E=Λ.Tween.inOutQuad(G||300,0,D);E.addEventListener("begin",function(){this._overflowDiv=A(F,false,0);this._style=this._overflowDiv.style;F.show()});E.ontween=B;E.addEventListener("complete",function(){F.insertBefore(this._overflowDiv);this._overflowDiv.parentNode.removeChild(this._overflowDiv);delete this._style;delete this._overflowDiv});return E},cover:function(E,F){var G=Λ.domPosition.getDimensions(E.target).height;GRONO.log.debug("START COVER",G,200);var D=Λ.Tween.inOutQuad(F||300,G,0);D.addEventListener("begin",function(){this._style=E.target.style;this._cacheOverflow=this._style.overflow;this._cacheHeight=this._style.height;this._style.overflow="hidden";this._style.height=G+"px"});D.ontween=B;D.addEventListener("complete",function(){E.hide();this._style.overflow=this._cacheOverflow;this._style.height=this._cacheHeight;delete this._style});return D},fadeOutIn:function(G,E,F){var D=Λ.Tween.inQuad(F||200,1,0,2);D._target=G;D.ontween=function(H){this._target.setOpacity(H)};D.addEventListener("switch",function(){E.setOpacity(0);E.show();G.hide();G.setOpacity(1);D._target=E});return D}}})();
Λ.box=(function(){var A=window.ActiveXObject?function(B,C){B.style.filter="alpha(opacity="+Math.round(C*100)+")"}:function(B,C){B.style.opacity=C};return{hide:function(E,D){if(typeof D=="undefined"){D=300}if(D){var C=new Λ.TweenProcessor();var B=Λ.Tween.inOutQuad(D,1,0);B.ontween=function(F){A(E,F)};B.addEventListener("complete",function(){E.style.visibility="hidden"});C.add(B)}else{E.style.visibility="hidden"}},show:function(E,D){if(typeof D=="undefined"){D=300}if(D){A(E,0);E.style.visibility="visible";var C=new Λ.TweenProcessor();var B=Λ.Tween.inOutQuad(D,0,1);B.ontween=function(F){A(E,F)};C.add(B)}else{if(window.ActiveXObject){E.style.visibility="visible"}else{E.style.opacity=1;E.style.visibility="visible"}}},isVisible:function(C){var B=window.getComputedStyle(C,false).visibility;return((B=="visible")||(B=="inherit"))},toggleVisibility:function(B){this.isVisible(B)?this.hide(B):this.show(B)}}})();Λ.Box=function(A){if(!A||!A.attributes){throw"Λ.Box: wrong arguments"}this.target=A;this.target.$box=this;this.visible=Λ.box.isVisible(this.target);Λ.EventsHandler(this)};Λ.Box.prototype={isVisible:function(){return Λ.box.isVisible(this.target)},hide:function(A){if(this.visible){Λ.box.hide(this.target,A);this.visible=false;this.dispatchEvent("hide")}},show:function(A){this.visible=this.isVisible();if(!this.visible){Λ.box.show(this.target,A);this.visible=true;this.dispatchEvent("show")}},toggleVisibility:function(){if(this.visible){this.hide()}else{this.show()}}};
Λ.ControlPanel=function(B){if(!B||!B.attributes){throw"Λ.controlPanel: wrong arguments"}this.target=B;this.buttonSubmit=B.matchSingle("button.submit");this.buttonCancel=B.matchSingle("button.cancel");if(this.buttonCancel){this.buttonCancel.disabled=false}Λ.obj.extend(this,new Λ.Box(B));var A=this.buttonCancel?{buttonSubmit:this.buttonSubmit.disabled,buttonCancel:this.buttonCancel.disabled}:{buttonSubmit:this.buttonSubmit.disabled};this.reset=function(){this.buttonSubmit.disabled=A.buttonSubmit=false;if(this.buttonCancel){this.buttonCancel.disabled=A.buttonCancel=false}};this.buttonSubmit.$disable=function(){this.disabled=A.buttonSubmit=true;this.addClass("disabled")};this.buttonSubmit.$enable=function(){this.disabled=A.buttonSubmit=false;this.removeClass("disabled")};if(this.buttonCancel){this.buttonCancel.$disable=function(){this.disabled=A.buttonCancel=true;this.addClass("disabled")};this.buttonCancel.$enable=function(){this.disabled=A.buttonCancel=false;this.removeClass("disabled")}}this.disable=function(){this.target.addClass("disabled");A.buttonSubmit=this.buttonSubmit.disabled;this.buttonSubmit.disabled=true;if(this.buttonCancel){A.buttonCancel=this.buttonCancel.disabled;this.buttonCancel.disabled=true}};this.enable=function(){this.target.removeClass("disabled");this.buttonSubmit.disabled=A.buttonSubmit;if(this.buttonCancel){this.buttonCancel.disabled=A.buttonCancel}};this.blur=function(){this.buttonSubmit.blur();if(this.buttonCancel){this.buttonCancel.blur()}}};
(function(){var E=function(G){Λ.style.addCSS("div."+G+" {		  background: white;			border: 1px solid #ccc;			padding: 5px;			position: absolute;			z-index: 5;	  }");E=Λ.func.empty};var D;Λ.Overlay=function(I,S){E("overlay");var Z={x:"50%",y:"50%"},V={x:0,y:0},M={hook:V,context:document.body,contextHook:V,center:false,offset:V,boundaries:null,boundariesBorders:[0,0,0,0],fixed:false};var N=this,Y=M,a={x:-1,y:-1},G=Λ.domPosition.getDimensions(window);var T=function(e,c){var d,b;if(typeof e==="number"){b=e}else{if(typeof e==="string"){d=parseInt(e,10);if(/%$/.test(e)&&!isNaN(d)){b=Math.round(d*c/100)}else{b=d}}else{b=NaN}}return(b||0)};var K=function(b,c){return{x:T(b.x,c.width),y:T(b.y,c.height)}};var R=function(d,c){return{x:(d.x+c.x),y:(d.y+c.y)}};var U=function(d,c){return{x:(d.x-c.x),y:(d.y-c.y)}};var X=function(d,c){return(d.x===c.x)&&(d.y===c.y)};var O=function(){var h,k;if(!N.isVisible){var e=window.getComputedStyle(N.target,false).visibility;if(e!=="hidden"){if(!e){e="visible"}h=e;N.target.style.visibility="hidden"}if(N.target.parentNode!==document.body){document.body.appendChild(N.tartget)}N.target.style.display="block";k=true}var d,b,c,j;d={position:V,dimensions:Λ.domPosition.getDimensions(I)};if(Y.context!==window){if(Λ.style.isVisible(Y.context)){b={position:Λ.style.getElementPosition(Y.context),dimensions:Λ.domPosition.getDimensions(Y.context)}}else{if(k){N.target.style.display="none";if(h){N.target.style.visibility=h}}var i=new Λ.Point(parseInt(I.style.left,10)||0,parseInt(I.style.top,10)||0);var f=new Λ.Rectangle(i,new Λ.Point(i.x+d.dimensions.width,i.y+d.dimensions.height));var g=Λ.domPosition.adjustToViewport(f);i.add(g);return i}}else{b={position:Λ.domPosition.getPosition(window),dimensions:Λ.domPosition.getDimensions(window)}}d.position=U(d.position,K((Y.center?Z:Y.hook),d.dimensions));d.position=R(d.position,b.position);d.position=R(d.position,K((Y.center?Z:Y.contextHook),b.dimensions));d.position=R(d.position,K(Y.offset,b.dimensions));if(Y.boundaries){c={position:Y.boundaries!==window?Λ.style.getElementPosition(Y.boundaries):V,dimensions:Y.boundaries!==window?Λ.domPosition.getDimensions(Y.boundaries):G};if(Y.boundariesBorders[1]){j=(d.position.x+d.dimensions.width)-(c.position.x+c.dimensions.width);if(j>0){d.position.x-=j}}if(Y.boundariesBorders[2]){j=(d.position.y+d.dimensions.height)-(c.position.y+c.dimensions.height);if(j>0){d.position.y-=j}}if(Y.boundariesBorders[3]){j=c.position.x-d.position.x;if(j>0){d.position.x+=j}}if(Y.boundariesBorders[0]){j=c.position.y-d.position.y;if(j>0){d.position.y+=j}}}if(k){N.target.style.display="none";if(h){N.target.style.visibility=h}}GRONO.log.debug("OVERLAY",Λ.debug.domExtendedName(d),d.position.x,d.position.y,d.dimensions.width,d.dimensions.height);d.position=new Λ.Point(Math.round(d.position.x),Math.round(d.position.y));var f=new Λ.Rectangle(d.position,new Λ.Point(d.position.x+d.dimensions.width,d.position.y+d.dimensions.height));d.position.add(Λ.domPosition.adjustToViewport(f));return d.position};var H=function(c){if(!c){var b=O();if(!X(a,b)){N.dispatchEvent("beforemove");a=b;I.style.left=a.x+"px";I.style.top=a.y+"px";N.dispatchEvent("move")}}else{I.style.left=(a.x+document.documentElement.scrollLeft)+"px";I.style.top=(a.y+document.documentElement.scrollTop)+"px"}};var L=function(b){if(b){Y=Λ.obj.override(Y,b)}if(Y.fixed){if(N.isVisible){I.style.position="fixed"}if(Λ.IE&&Λ.IE<7){I.style.position="absolute"}}else{I.style.position="absolute"}};var J=function(){G=Λ.domPosition.getDimensions(window);H()};this.set=function(b){L(b);return N};this.refresh=function(){if(!this.initialized){this.initialized=true;W()}H();return N};var Q=window.ActiveXObject?function(b){this.target.style.filter="alpha(opacity="+Math.round(b*100)+")"}:function(b){this.target.style.opacity=b};var W=function(){if(I){if(!I.attributes){throw"Λ.Overlay: Invalid argument (element)"}}else{throw"Λ.Overlay: Lack of argument (element)"}if((typeof S!="undefined")&&(typeof S.context!="undefined")&&(!S.context.attributes&&(S.context!==window))){throw"Λ.Overlay: Invalid argument for context expected element"}Λ.$b(I);document.body.appendChild(I);I.addClass("overlay");N.opacitySet=Q;N.tween=new Λ.TweenProcessor();N.tween._hide=Λ.Tween.inOutQuad(300,1,0);N.tween._show=Λ.Tween.inOutQuad(300,0,1);N.tween._show.ontween=N.tween._hide.ontween=function(c){N.opacitySet(c)};N.tween._show.addEventListener("begin",function(){N.opacitySet(0);N.target.style.display="block"});N.tween._hide.addEventListener("complete",function(){N.target.style.display="none";N.opacitySet(1)});Λ.obj.extend(N,new Λ.Box(I));N.addEventListener("show",function(){if(Y.fixed){if(Λ.IE&&Λ.IE<7){}else{I.style.position="fixed"}}setTimeout(function(){},0)},false);N.addEventListener("hide",function(){if(Y.fixed){if(Λ.IE&&Λ.IE<7){}else{I.style.position="absolute"}}},false);L(S);if(Λ.IE&&Λ.IE<7){Λ.ie.iframeShim(I)}var b=window.getComputedStyle(I,false);N.hidden=N.isVisible=(b&&b.display=="block");I.$box=N};this.isVisible=this.initialized=(I.style.display&&(I.style.display!=="none"));I.$box=this;this.target=I;var P=new Λ.HTMLElement(I);P.show=function(){this.show()}.bind(this);P.hide=function(){this.hide()}.bind(this);P.toggle=function(){this.toggleVisibility()}.bind(this);if(this.isVisible){W()}};var C=false;document.addEventListener("click",function(G){GRONO.log.debug("DOC CLICK",C);if(!C&&D&&G.target){if(!Λ.dom.isOrContains(D.target,G.target)){D.hide()}}},true);var F=function(){C=false;A=null};var A=null;var B=function(){GRONO.log.debug("hideHold");C=true;if(A){clearTimeout(A)}A=setTimeout(F,500)};Λ.Overlay.prototype={hide:function(G){if(this.isVisible){this.isVisible=false;D=null;if(Λ.IE){this.target.style.display="none"}else{this.tween.add(this.tween._hide)}this.dispatchEvent("hide")}},show:function(G){if(!this.isVisible){if(D){D.hide()}D=this;this.refresh();this.isVisible=true;if(!Λ.IE){B();this.tween.add(this.tween._show);this.tween._show.addEventListener("complete",function(){this.removeEventListener("complete",arguments.callee);if(D){Λ.form.focus(D.target)}if(G){G()}})}else{this.target.style.display="block";Λ.form.focus(this.target);if(G){G()}B()}this.dispatchEvent("show")}},toggleVisibility:function(){if(this.isVisible){this.hide()}else{this.show()}},toggle:function(){if(this.isVisible){this.hide()}else{this.show()}}}})();
Λ.Briefcase=function(H,N,M,E){var R={briefcase:"briefcase",folders:"folders",cp:"cp",items:"items",folder:"folder",item:"item",idHolder:"id-holder"};var I=H.matchSingle("."+R.briefcase)||H;Λ.obj.extend(this,E?new E(I):new Λ.Box(I));if(!this.addEventListener){Λ.EventsHandler(this)}this.selectedItems=[];this.folders=I.matchSingle("."+R.folders);this.cp=new Λ.ControlPanel(I.matchSingle("."+R.cp));var L=I.matchSingle("."+R.items);var P,G;var J=this;var C=function(S){if((N===1)&&J.selectedItems.length){J.selectedItems[0].$deselect()}J.selectedItems.push(S);if(M&&(J.selectedItems.length>=M)){J.cp.buttonSubmit.disabled=false}J.dispatchEvent("selectitem",S)};var F=function(S){J.selectedItems.splice(J.selectedItems.indexOf(S),1);if(M&&(J.selectedItems.length<M)){J.cp.buttonSubmit.disabled=true}J.dispatchEvent("deselectitem",S)};var D=function(){J.selectedItems.forEach(function(S){S.$deselect()})};var Q=function(S){Q=function(T){while(L.firstChild){P.$content.appendChild(L.firstChild)}P.removeClass("selected");L.appendChild(T.$content);if(!L.firstChild.$id){G(T)}P=T;P.addClass("selected")};L.appendChild(S.$content);G(S);P=S;P.addClass("selected")};this.switchFolderPreviewNew=function(S,T){T.$content=S;Q(T)};G=function(S){L.matchAll("."+R.item).forEach(function(T){if(T.$id){return }T.$folder=S;T.$id=T.id.substr(T.id.lastIndexOf("-")+1);T.$globalId=S.$id+"-"+T.$id;T.$select=function(){C(this);this.addClass("selected")};T.$deselect=function(){F(this);this.removeClass("selected")};T.addEventListener("mousedown",function(){if(T.hasClass("selected")){T.$deselect()}else{if(!N||(N===1)||(N!=J.selectedItems.length)){T.$select()}}},false)})};this.setupFolders=function(){var S=this;this.folders.matchAll("."+R.folder).forEach(function(T){T.$id=T.id.substr(T.id.lastIndexOf("-")+1);T.addEventListener("mousedown",function(){if(T!==P){if(T.$content){Q(T)}else{S.getItems(T)}}},false)});this.getItems(this.folders.matchSingle("."+R.folder))};this.cp.buttonCancel.addEventListener("mousedown",function(){D()},false);this.addEventListener("show",function(){this.cp.enable();if(M&&(this.selectedItems.length<M)){this.cp.buttonSubmit.disabled=true}});this.cp.buttonSubmit.addEventListener("mousedown",function(){J.dispatchEvent("submit");J.hide()},false);var A=Λ.$("form",I);var K=0;var O=[];(A||H).matchAll("input[type=file]").forEach(function(S){S.$id="file-"+(++K);S.$globalId=S.$id;S.$selected=false;S.disabled=false;S.value="";S.$select=function(){this.$selected=true;C(this)};S.$deselect=function(){this.$selected=false;this.value="";F(this)};O.push(S);S.addEventListener("change",function(){if(S.value!==""){if(!S.$selected){S.$select();S.$selected=true}}else{S.$deselect();S.$selected=false}},false)});if(O.length){if(N&&(O.length>N)){throw"Briefcase: Found more file inputs than given limit"}this.addEventListener("selectitem",function(T){if(T.type!="file"){if(N&&(N!=1)){for(var S=O.length-1;S>=0;--S){if(!O[S].$selected&&!O[S].disabled){O[S].disabled=true;break}}}}});this.addEventListener("deselectitem",function(T){if(T.type!="file"){if(N&&(N!=1)){for(var S=0;S<O.length;++S){if(O[S].disabled){O[S].disabled=false;break}}}}})}if(A){this.addEventListener("selectitem",function(S){if(S.type!="file"){if(!S.$formControl){S.$formControl=Λ.dom.builder.input({type:"hidden",name:O[0]?O[0].name:"item",value:S.$folder.$id+","+S.$id})}A.appendChild(S.$formControl)}});this.addEventListener("deselectitem",function(S){if(S.type!="file"){A.removeChild(S.$formControl)}});this.addEventListener("submit",function(){for(var S=0;S<this.selectedItems.length;++S){if((this.selectedItems[S].type=="file")&&A){A.submit()}}})}else{var B=H.matchAll("input."+R.idHolder);if(B.length){if(N>B.length){throw"Briefcase: form input substitutes length is less than allowed max choice length"}if((N===1)&&O.length){this.addEventListener("selectitem",function(S){if(S.type==="file"){B.item(0).value=""}})}this.addEventListener("submit",function(){for(var S=0;S<this.selectedItems.length;++S){if(!this.selectedItems[S].type){B.item(0).value=this.selectedItems[S].$id}}})}}};Λ.Briefcase.hidden=function(B,A,D,E){var G=new Λ.Briefcase(B,A,D,E);var F=G.show;G.show=function(){this.getFolders();this.show=F};var C=G.setupFolders;G.setupFolders=function(){this.setupFolders=C;this.setupFolders();this.show()};G.cp.buttonCancel.addEventListener("mousedown",function(){G.hide()},false);return G};Λ.Briefcase.popup=function(B,A,C,D){var E=this.hidden(B,A,C,Λ.Overlay);if(D){E.set(D)}return E};Λ.Briefcase.setupPhotosXhr=(function(){var A=function(C){for(var D=0;D<C.galleries.length;D++){if(C.galleries[D].count){this.briefcase.folders.appendChild(Λ.dom.builder.img({src:C.galleries[D].thumbnail,"class":"folder",id:"folder-"+C.galleries[D].id,title:C.galleries[D].title}))}}this.briefcase.setupFolders();delete this.briefcase};var B=function(D){var C=document.createDocumentFragment();for(var E=0;E<D.photos.length;E++){C.appendChild(Λ.dom.builder.img({src:D.photos[E].thumbnail,id:"item-"+D.photos[E].id,"class":"item"}))}this.briefcase.switchFolderPreviewNew(C,this.folder);delete this.briefcase;delete this.folder};return function(C){C.getFolders=function(){var D=new Λ.Xhr("/api/event/user_galleries/?json=true");D.briefcase=C;D.addEventListener("success",A);D.get()};C.getItems=function(D){var E=new Λ.Xhr("/api/event/gallery/"+D.$id+"/?json=true");E.briefcase=C;E.folder=D;E.addEventListener("success",B);E.get()}}})();
Λ.InputControl=function(){};Λ.InputControl.prototype={hovered:false,modified:false,focused:false,disabled:false,valid:true,initValue:null,onMouseOver:function(){this.hovered=true;this.dispatchEvent("mouseover")},onMouseOut:function(){this.hovered=false;this.dispatchEvent("mouseout")},setIsModified:function(){if(this.modified){if(this.initValue.toString()===this.getValue().toString()){this.modified=false;this.dispatchEvent("modifystatuschange")}}else{if(this.initValue.toString()!==this.getValue().toString()){this.modified=true;this.dispatchEvent("modifystatuschange")}}},onChange:function(){this.setIsModified();this.dispatchEvent("change")},onFocus:function(){this.focused=true;this.dispatchEvent("focus")},onBlur:function(){if(this.focused){this.focused=false;this.dispatchEvent("blur")}},onDisable:function(){this.disabled=true;this.dispatchEvent("disable")},onEnable:function(){this.disabled=false;this.dispatchEvent("enable")},save:function(){this.initValue=this.getValue();this.setIsModified();this.blur();this.enable();this.dispatchEvent("save")},cancel:function(){this.reset();this.setIsModified();if(this.focused){this.blur()}this.enable();this.dispatchEvent("cancel")},init:function(){this.initValue=this.getValue();Λ.EventsHandler(this);this.addEventListener("submit",function(){this.disable()})}};Λ.InputControlCheckboxGroup=function(A,C){this.controls=[];var B=this;A.matchAll("input[type=checkbox][name="+C+"]").forEach(function(D){B.controls.push(D);D.$inputControl=B});if(!this.controls.length){throw"InputControlCheckboxGroup: no controls found"}this.init();this.setup()};Λ.InputControlCheckboxGroup.prototype={disable:function(){for(var A=0;A<this.controls.length;++A){this.controls[A].disabled=true}this.onDisable()},enable:function(){for(var A=0;A<this.controls.length;++A){this.controls[A].disabled=false}this.onEnable()},blur:function(){if(this.focused){for(var A=0;A<this.controls.length;++A){this.controls[A].blur()}this.onBlur()}},getValue:function(){var B=[];for(var A=0;A<this.controls.length;++A){if(this.controls[A].checked){B.push(this.controls[A].value)}}B.sort();return B},setValue:function(B){for(var A=0;A<this.controls.length;++A){this.controls[A].checked=(B.indexOf(this.controls[A].value)!==-1)}this.checkChange()},checkChange:function(){var A=this.getValue();if(this.preValue.toString()!==A.toString()){this.onChange();this.preValue=A}},reset:function(){if(this.modified){this.setValue(this.initValue);this.preValue=this.getValue();this.onChange()}},setup:function(){var A=this;this.name=this.controls[0].name;for(var B=0;B<this.controls.length;++B){this.controls[B].addEventListener("focus",function(){A.onFocus()},false);this.controls[B].addEventListener("blur",function(){A.onBlur()},false);if(Λ.IE){this.controls[B].addEventListener("click",function(){setTimeout(function(){A.checkChange()},100)},false)}else{this.controls[B].addEventListener("change",function(){setTimeout(function(){A.checkChange()},0)},false)}}this.preValue=this.getValue()}};Λ.func.extend(Λ.InputControlCheckboxGroup,Λ.InputControl);Λ.InputControlInput=function(A){this.control=A;this.control.$inputControl=this;this.init();this.setup()};Λ.InputControlInput.prototype={getSelectionLength:function(){if(this.control.setSelectionRange){return(this.control.selectionEnd-this.control.selectionStart)}else{if(document.selection){return document.selection.createRange().text.length}}},disable:function(){this.control.disabled=true;this.onDisable()},enable:function(){this.control.disabled=false;this.onEnable()},blur:function(){if(this.focused){this.control.blur();this.onBlur()}},getValue:function(){return this.control.value},setValue:function(A){this.control.value=A;this.checkChange()},isSelection:function(){return Λ.form.isSelection(this.control)},checkChange:function(){if(this.preValue!==this.control.value){this.onChange();this.preValue=this.control.value;if(this.pasteChance){this.dispatchEvent("paste")}}this.pasteChance=false},reset:function(){if(this.modified){this.preValue=this.control.value=this.initValue;this.initValue=this.control.value;this.onChange()}},setup:function(){var A=this;this.name=this.control.name;this.control.addEventListener("mouseover",function(){A.onMouseOver()},false);this.control.addEventListener("mouseout",function(){A.onMouseOut()},false);this.control.addEventListener("focus",function(){A.onFocus()},false);this.control.addEventListener("blur",function(){A.onBlur()},false);this.preValue=this.control.value;this.setupOnChange()},setupOnChange:function(){var A=this;this.pasteChance=false;this.control.addEventListener("keydown",Λ.IE?function(){A.checkChange()}:function(B){A.checkChange();if(B.ctrlKey&&!B.altKey&&(Λ.event.key.get(B)==86)){A.pasteChance=true}},false);this.control.addEventListener("keyup",Λ.IE?function(){A.checkChange()}:function(B){if(B.ctrlKey&&!B.altKey&&(Λ.event.key.get(B)==86)){A.pasteChance=true}A.checkChange()},false);this.control.addEventListener("mousedown",Λ.IE?function(){A.checkChange()}:function(B){if(B.button==2){A.pasteChance=true}else{if(window.opera){A.pasteChance=true;A.checkChange()}else{A.checkChange()}}},false);if(Λ.IE){this.control.addEventListener("paste",function(){A.pasteChance=true},false)}}};Λ.func.extend(Λ.InputControlInput,Λ.InputControl);Λ.InputControlInputXhr=function(B,A){this.control=B;this.control.$inputControl=this;this.init();this.setup()};Λ.func.extend(Λ.InputControlInputXhr,Λ.InputControlInput);Λ.InputControlCheckbox=function(A){this.control=A;this.control.$inputControl=this;this.init();this.setup()};Λ.InputControlCheckbox.prototype={getSelectionLength:undefined,getValue:function(){return this.control.checked},setValue:function(A){this.control.checked=checked;this.checkChange()},checkChange:function(){if(this.preValue!==this.control.checked){this.onChange();this.preValue=this.control.checked}},reset:function(){if(this.modified){this.preValue=this.control.checked=this.initValue;this.onChange()}},setup:function(){var A=this;this.name=this.control.name;this.control.addEventListener("mouseover",function(){A.onMouseOver()},false);this.control.addEventListener("mouseout",function(){A.onMouseOut()},false);this.control.addEventListener("focus",function(){A.onFocus()},false);this.control.addEventListener("blur",function(){A.onBlur()},false);this.control.addEventListener("change",function(){A.onChange()},false);this.addEventListener("modifystatuschange",function(){if(this.modified){this.control.addClass("changed")}else{this.control.removeClass("changed")}});this.preValue=this.control.checked}};Λ.func.extend(Λ.InputControlCheckbox,Λ.InputControlInput);Λ.InputControlSelect=function(A){this.control=A;this.control.$inputControl=this;this.init();this.setup()};Λ.InputControlSelect.prototype={getSelectionLength:undefined,setup:function(){var A=this;this.name=this.control.name;this.control.addEventListener("mouseover",function(){A.onMouseOver()},false);this.control.addEventListener("mouseout",function(){A.onMouseOut()},false);this.control.addEventListener("change",function(){A.onChange()},false);this.control.addEventListener("focus",function(){A.onFocus();A.control.addClass("focused")},false);this.control.addEventListener("blur",function(){A.onBlur();A.control.removeClass("focused")},false);this.addEventListener("modifystatuschange",function(){if(this.modified){this.control.addClass("changed")}else{this.control.removeClass("changed")}});if((this.control.nodeName.toLowerCase()==="select")&&(this.control.type!="select-one")){this.getValue=function(){var B=[];for(var C=0;C<this.control.length;++C){if(this.control.options[C].selected){B.push(this.control.options[C].value)}}return B};this.reset=function(){if(this.modified){Λ.array.forEach(this.control,function(B){B.selected=(this.initValue.indexOf(B.value)!==-1)});this.onChange()}}}else{this.reset=function(){if(this.modified){this.control.value=this.initValue;this.onChange()}};this.getValue=function(){return this.control.value}}}};Λ.func.extend(Λ.InputControlSelect,Λ.InputControlInput);Λ.InputControlInput.limitLength=function(B,A){var C=false;B.control.addEventListener(window.opera?"keypress":"keydown",function(D){if((!D.ctrlKey&&!D.altKey)||(D.ctrlKey&&D.altKey)){if((Λ.event.key.charMode(D)!==1)||B.isSelection()){return }else{if((B.getValue().length+1)>A){D.preventDefault()}}}},false);B.addEventListener("paste",function(){var D=B.getValue();if(D.length>A){B.setValue(D.substr(0,A))}})};Λ.InputControl.multiControl=function(B,C){var F=false;var G=function(){F=true;setTimeout(function(){if(F){B.onBlur()}},200)};var E=function(){F=false;if(!B.focused){B.onFocus()}};var A=new Date();var D=function(H){H.addEventListener("focus",E,false);if(window.opera&&H.nodeName&&(H.nodeName.toLowerCase()=="button")){var I=new Date();H.addEventListener("mouseup",function(){I=new Date()},false);H.addEventListener("blur",function(){if(new Date()-I){G()}},false)}else{if(Λ.WEBKIT&&H.attributes){H.addEventListener("mousedown",function(){A=new Date()},false);H.addEventListener("blur",function(){if((new Date()-A)>50){G()}},false)}else{H.addEventListener("blur",G,false)}}};C.forEach(D);this.addElements=function(H){H.forEach(D)};this.forceFocus=E};Λ.InputControl.controlPanel=function(A,B){A.addEventListener("disable",function(){B.disable()});A.addEventListener("enable",function(){B.enable()});A.orgBlur=A.blur;A.blur=function(){if(this.focused){B.blur();this.orgBlur()}if(!this.modified){B.hide()}};A.addEventListener("focus",function(){B.show()});A.addEventListener("blur",function(){if(!this.modified){B.hide()}});A.addEventListener("modifystatuschange",function(){if(this.modified){B.buttonSubmit.$enable()}else{B.buttonSubmit.$disable()}});B.buttonSubmit.addEventListener("click",function(){A.dispatchEvent("beforesubmit");if(A.modified){A.dispatchEvent("submit");A.submit()}else{A.blur()}},false);if(B.buttonCancel){B.buttonCancel.addEventListener("click",function(){A.cancel();B.hide()},false)}B.reset();if(!A.modified){B.buttonSubmit.$disable()}};Λ.InputControlGroup=function(B){var D=Λ.InputControlGroup.classNames;var C=this;var A=B.matchAll("."+D.cp);if(A.length>1){throw"InputControl.Group error: More than one control panel found within group"}else{if(!A.length){throw"InputControl.Group error: no control panel found"}}this.container=B;this.cp=new Λ.ControlPanel(A.item(0));this.init();this.modifiedControls={};this.controls=[];this.setup()};Λ.InputControlGroup.prototype={getValue:function(){return Λ.hash.isEmpty(this.modifiedControls)},reset:function(){for(var A in this.modifiedControls){this.modifiedControls[A].reset();delete this.modifiedControls[A]}},disable:function(){for(var A=0;A<this.controls.length;++A){this.controls[A].disable()}this.onDisable()},enable:function(){for(var A=0;A<this.controls.length;++A){this.controls[A].enable()}this.onEnable()},blur:function(){if(this.focused){for(var A=0;A<this.controls.length;++A){this.controls[A].blur()}this.onBlur()}},setup:function(){var C=this;var E=Λ.InputControlGroup.classNames;var B=this.container.matchAll("."+E.item);var D={};B.forEach(function(G){if(!G.$inputControl){throw"InputControl.Group error: InputControl not found on element "+Λ.dom.extendedName(G)}if(typeof G.$inputControl.name=="undefined"){throw"InputControl.Group error: element has not assigned name "+Λ.dom.extendedName(G)}else{if(G.$inputControl.name===""){throw"InputControl.Group error: element name is empty "+Λ.dom.extendedName(G)}else{if(D[G.$inputControl.name]){if(D[G.$inputControl.name]!==G.$inputControl){throw"InputControl.Group error: two elements of same name and different controls '"+G.$inputControl.name+"'"}else{return }}}}C.controls.push(G.$inputControl);var F=G.$inputControl;F.cancelOnBlur=false;D[F.name]=G.$inputControl;F.addEventListener("modifystatuschange",function(){if(this.modified){C.modifiedControls[this.name]=this}else{delete C.modifiedControls[this.name]}C.onChange()});F.submit=function(){}});var A=new Λ.InputControl.multiControl(this,this.controls.concat(this.cp.buttonSubmit,this.cp.buttonCancel));Λ.InputControl.controlPanel(this,this.cp);this.container.addEventListener("mouseover",function(){C.onMouseOver();C.container.addClass(E.hover)},false);this.container.addEventListener("mouseout",function(){C.onMouseOut();C.container.removeClass(E.hover)},false);this.addEventListener("modifystatuschange",function(){if(this.modified){C.container.addClass(E.modified)}else{C.container.removeClass(E.modified)}});this.addEventListener("focus",function(){C.container.addClass(E.focus)});this.addEventListener("blur",function(){C.container.removeClass(E.focus)});this.parentSave=this.save;this.save=function(){for(var F in this.modifiedControls){this.modifiedControls[F].save();delete this.modifiedControls[F]}this.parentSave()}}};Λ.func.extend(Λ.InputControlGroup,Λ.InputControl);Λ.InputControlGroup.classNames={item:"ic-group-item",hover:"ic-group-hover",modified:"ic-group-modified",focus:"ic-group-focus",disabled:"ic-group-disabled",cp:"ic-cp"};Λ.InputControlGroup.xhr=function(B,C,E){var A=E&&E.validateSuccess;var D=new Λ.InputControlGroup(B,E);D.request=new Λ.Xhr(C);D.submit=function(){this.disable();var G={};for(var F in this.modifiedControls){G[this.modifiedControls[F].name]=this.modifiedControls[F].getValue()}this.request.post(G)};D.request.addEventListener("success",function(F){if((typeof A!="function")||A(F)){D.save()}else{D.cancel()}});D.request.addEventListener("failure",function(){D.cancel()});return D};Λ.ButtonControl=function(A){this.target=A;A.$control=this;if(this.target.disabled||this.target.hasClass("disabled")){this.disable()}};Λ.ButtonControl.prototype={disabled:false,data:null,disable:function(){this.target.disabled=true;this.disabled=true;this.target.addClass("disabled")},enable:function(){this.target.disabled=false;this.disabled=false;this.target.removeClass("disabled")},select:function(A){this.target.addClass("selected");this.selected=true;this.data=A},deselect:function(){this.target.removeClass("selected");this.selected=false;this.data=null},blur:function(){this.target.blur()}};Λ.Control=Λ.base.extend({initialize:function(A){this.target=A;A.$control=this}});Λ.aControlDisabled={initialize:function(){if(this.target.disabled||this.target.hasClass("disabled")){this.disable()}},disabled:false,disable:function(){this.target.blur();this.target.disabled=true;this.disabled=true;this.target.addClass("disabled")},enable:function(){this.target.disabled=false;this.disabled=false;this.target.removeClass("disabled")}};Λ.ControlDisabled=Λ.Control.extend({initialize:function(A){arguments.callee.parent(this,[A]);this._loadDecorators()}});Λ.ControlDisabled.decorate(Λ.aControlDisabled);Λ.$$xFormClear=function(A){Λ.$b(A.form).matchAll("input, select, textarea").forEach(function(E){switch(E.nodeName.toLowerCase()){case"input":switch(E.type){case"text":case"password":case"file":var C=Λ.dom.classRegExp(E,/default-([^\s]+)/);if(C){C=decodeURIComponent(C)}else{C=""}E.value=C;break;case"checkbox":E.checked=E.hasClass("default-checked")?true:false;break;case"radio":E.checked=E.hasClass("default-checked")?true:false;break}break;case"select":if(E.type=="select-one"){var D=E.matchSingle("option.default-selected");if(D){E.value=D.value}else{E.value=E.matchSingle("option").value}}else{var B=E.matchAll("option.default-selected");E.matchAll("option:selected").forEach(function(F){F.selected=false});if(B.length){B.forEach(function(F){F.selected=true})}}break;case"textarea":var C=Λ.dom.classRegExp(E,/default-([^\s]+)/);if(C){C=decodeURIComponent(C)}else{C=""}E.value=C;break}});return false};
Λ.clipboard=(function(){var D,C;var A=function(){var F=new Λ.flash.Object(Λ.conf.flashClipboardSrc,{id:"clipboardswf",width:1,height:1});F.params.allowScriptAccess="sameDomain";F.params.allowFullScreen="false";var E=document.createElement("div");E.style.position="absolute";C=F.write(document.body.insertBefore(E,document.body.firstChild));A=Λ.func.empty};var B=function(E,F){A();if(!C){Λ.log.error("No Flash clipboard object found");D.dispatchEvent("failure")}else{if(!C.hello){if((new Date().getTime()-E)<5000){setTimeout(function(){B(E,F)},100)}else{Λ.log.error("Flash clipboard not initialized");D.dispatchEvent("failure")}}else{F()}}};D={copy:function(E){B(new Date().getTime(),function(){if(C.copy(E)){D.dispatchEvent("success")}else{Λ.log.error("Could not copy text to clipboard");D.dispatchEvent("failure")}})},addEventListener:function(E,F){return Λ.EventsHandler.addEventListener(this,E,F)},dispatchEvent:function(E){return Λ.EventsHandler.dispatchEvent(this,E)},removeEventListener:function(E,F){return Λ.EventsHandler.removeEventListener(this,E,F)}};return D})();
Λ.Content=Λ.Base.extend({constructor:function(A){if(typeof A!=="undefined"){this.begin(A)}},data:null,begin:function(A){this.inProgress=true;this.isSuccess=null;this.isComplete=false;this.dispatchEvent("begin");this.data=A;this.isSuccess=true;this.dispatchEvent("success");this.inProgress=false;this.isComplete=true;this.dispatchEvent("complete")},destroy:function(){this.dispatchEvent("destroy")}});Λ.Content.implement(Λ.Async);
(function(){var A=function(){this.$image.isSuccess=false;this.$image.dispatchEvent("failure");this.$image.isComplete=true;this.$image.inProgress=false;this.$image.dispatchEvent("complete")};var B=function(){var C=this.$image;C.width=this.width;C.height=this.height;if(!C.width){A.call(this);return }C.isSuccess=true;C.dispatchEvent("success");C.isComplete=true;C.inProgress=false;C.dispatchEvent("complete")};Λ.DOMImage=Λ.Base.extend({constructor:function(C){this.src=C},begin:function(){this.inProgress=true;this.isSuccess=null;this.isComplete=false;this.dispatchEvent("begin");this.obj=document.createElement("img");this.obj.$image=this;this.obj.onload=B;this.obj.onabort=this.obj.onerror=A;this.obj.src=this.src}});Λ.DOMImage.implement(Λ.Async)})();
Λ.DOMContent=Λ.Content.extend({constructor:function(A,B){this.doNotPreloadImages=B;this.base(A)},begin:function(A){if(typeof A=="string"){A=Λ.DOMList(A)}else{if(A.nodeName){A=Λ.DOMList([A])}}if(this.doNotPreloadImages){return this.base(A)}else{this.data=A;this.inProgress=true;this.isSuccess=null;this.isComplete=false;this.dispatchEvent("begin");this.processor=new Λ.AsyncProcessor();this.processor.addEventListener("complete",function(){this.inProgress=false;this.isSuccess=true;this.dispatchEvent("success");this.isComplete=true;this.dispatchEvent("complete")}.bind(this));Λ.$$("img",this.data).forEach(function(B){this.processor.add(new Λ.DOMImage(B.src),true)},this);this.processor.begin()}},destroy:function(){this.data.destroy();this.base()}});
Λ.EditInPlace=function(A,D){var C=Λ.EditInPlace.classNames;if(!A||!A.attributes){throw"EditInPlace: container is not given or is not HTML element"}this.container=A;if(A.hasClass(C.target)){this.target=A}else{this.target=A.matchSingle("."+C.target);if(!this.target){throw"EditInPlace: target not found"}var B=A.matchSingle("div."+C.cp);if(B){this.cp=new Λ.ControlPanel(B)}}this.target.$inputControl=this;if(D){Λ.obj.override(this,Λ.hash.strictContent(D,["multiline","multilinePreventEnter","limit","name"]))}this.cancelOnBlur=(D&&D.cancelOnBlur)?D.cancelOnBlur:(!this.multiline||this.multilinePreventEnter);if(this.target.firstChild&&this.target.firstChild.nextSibling){if(!this.multiline||this.multilinePreventEnter||(this.target.getElementsByTagName("*").length!==this.target.getElementsByTagName("br").length)){throw"EditInPlace: "+Λ.dom.extendedName(this.target)+" is invalid"}}this.init();this.setup()};Λ.EditInPlace.classNames={target:"eip-target",focus:"eip-focus",focusAsTarget:"eip-focus-target",hover:"eip-hover",hoverAsTarget:"eip-hover-target",disabled:"eip-disabled",changed:"eip-change",changedAsTarget:"eip-change-target",cp:"eip-cp"};Λ.EditInPlace.prototype={multiline:false,multilinePreventEnter:false,limit:{min:0,max:false},cancelOnBlur:true,cp:null,init:function(){Λ.EventsHandler(this);this.addEventListener("submit",function(){this.disable()})},setup:function(){var classNames=Λ.EditInPlace.classNames;var self=this;this.addEventListener("modifystatuschange",function(){if(!this.modified){this.container.removeClass((this.container===this.target)?classNames.changedAsTarget:classNames.changed)}else{this.container.addClass((this.container===this.target)?classNames.changedAsTarget:classNames.changed)}});this.addEventListener("focus",function(){this.container.addClass((this.container===this.target)?classNames.focusAsTarget:classNames.focus);if(this.control.value){Λ.form.setSelectionRange(this.control,0,this.control.value.length)}});this.addEventListener("blur",function(){this.container.removeClass((this.container===this.target)?classNames.focusAsTarget:classNames.focus)});this.addEventListener("mouseover",function(){this.container.addClass((this.container===this.target)?classNames.hoverAsTarget:classNames.hover)});this.addEventListener("mouseout",function(){this.container.removeClass((this.container===this.target)?classNames.hoverAsTarget:classNames.hover)});if(true||(typeof this.target.contentEditable=="undefined")||window.opera){if(this.multiline){this.control=document.createElement("textarea");this.control.cols=1;GRONO.form.textareaAutoGrow(this.control)}else{this.control=document.createElement("input")}var value="";if(this.target.hasAttribute("data-encvalue")){value=decodeURIComponent(this.target.getAttribute("data-encvalue"));this.target.innerHTML=""}else{while(this.target.firstChild){if(this.target.firstChild.nodeType==3){value+=this.target.firstChild.data}else{if(this.target.attributes){value+="\n"}}this.target.removeChild(this.target.firstChild)}}this.control.value=Λ.str.trim(value);this.trimValue=function(){var trimmed=Λ.str.trim(this.control.value);if(this.control.value!==trimmed){this.preValue=this.control.value=trimmed;this.onChange()}};this.optimizeContent=function(){if((!this.multiline||this.multilinePreventEnter)&&(this.control.value.indexOf("\n")!==-1)){while(this.control.value.indexOf("\n")>-1){this.control.value=this.control.value.replace("\n"," ","gm")}}};this.optimizeContent();this.trimValue();this.preValue=this.control.value;this.target.appendChild(this.control);if(this.control.$adjust){this.control.$adjust()}}else{this.control=this.target;var getValue=function(el){var value="";for(var i=0;i<el.childNodes.length;++i){if(el.childNodes[i].nodeType===3){value+=el.childNodes[i].nodeValue}else{if(el.childNodes[i].attributes){value+="\n"+getValue(el.childNodes[i])}}}return value};this.getValue=function(){return getValue(this.target)};this.trimValue=function(){if(window.opera&&/\xa0/.test(this.target.innerHTML)){this.target.innerHTML=this.target.innerHTML.replace(/\xa0/g," ")}while(this.target.firstChild&&(Λ.dom.textContent(this.target.firstChild)==="")){this.target.removeChild(this.target.firstChild)}if(this.target.firstChild){if(this.target.firstChild.attributes){this.target.firstChild.firstChild.nodeValue=Λ.str.ltrim(this.target.firstChild.firstChild.nodeValue)}else{this.target.firstChild.nodeValue=Λ.str.ltrim(this.target.firstChild.nodeValue)}}while(this.target.lastChild&&(Λ.dom.textContent(this.target.lastChild)==="")){this.target.removeChild(this.target.lastChild)}if(this.target.lastChild){if(this.target.lastChild.attributes){this.target.lastChild.lastChild.nodeValue=Λ.str.rtrim(this.target.lastChild.lastChild.nodeValue)}else{this.target.lastChild.nodeValue=Λ.str.rtrim(this.target.lastChild.nodeValue)}}};this.optimizeContent=function(){var value=this.getValue();if((!this.multiline||this.multilinePreventEnter)&&(value.indexOf("\n")!==-1)){while(value.indexOf("\n")>-1){value=value.replace("\n"," ","gm")}}value=Λ.str.trim(value);var logvalue=value;while(logvalue.indexOf("\n")>-1){logvalue=logvalue.replace("\n"," ","gm")}this.control.innerHTML="";var values=value.split("\n");while(values.length){this.control.appendChild(document.createTextNode(values.shift()));this.control.appendChild(document.createElement("br"))}this.control.removeChild(this.control.lastChild);return value};this.disable=function(){this.control.contentEditable=false;this.onDisable()};this.enable=function(){this.control.contentEditable=true;this.onEnable()};this.isSelection=function(){return Λ.range.isSet()};this.setValue=function(value){this.control.innerHTML="";this.control.appendChild(document.createTextNode(value));this.checkChange()};this.checkChange=function(){if(this.preValue!==this.control.innerHTML){this.onChange();this.preValue=this.control.innerHTML;if(this.pasteChance){self.dispatchEvent("paste")}}this.pasteChance=false};this.reset=function(){if(this.modified){this.control.innerHTML="";this.control.appendChild(document.createTextNode(this.initValue));this.preValue=this.control.innerHTML;this.onChange()}};this.optimizeContent();this.trimValue();this.preValue=this.control.innerHTML;if(Λ.IE){var ieInput=Λ.dom.buildElement("input",{type:"text"});with(ieInput.style){position="absolute";width="1px";height="1px";filter="alpha(opacity=1)"}this.target.parentNode.appendChild(ieInput);this.$orgBlur=this.blur;this.blur=function(){ieInput.focus();ieInput.blur();this.$orgBlur()}}}this.initValue=this.getValue();this.control.$inputControl=this;this.addEventListener("paste",function(){this.optimizeContent()});this.addEventListener("beforesubmit",function(){this.optimizeContent();this.trimValue()});if(!self.multiline||self.multilinePreventEnter){this.control.addEventListener(Λ.IE?"keydown":"keypress",function(event){if(Λ.event.key.isEnter(event)){event.preventDefault();self.dispatchEvent("beforesubmit");if(self.modified){self.submit()}else{self.blur()}}else{if(Λ.event.key.isEsc(event)){self.cancel()}}},false)}if(this.limit.max){Λ.InputControlInput.limitLength(this,this.limit.max)}this.control.addEventListener("mouseover",function(){self.onMouseOver()},false);this.control.addEventListener("mouseout",function(){self.onMouseOut()},false);if(this.cancelOnBlur){this.addEventListener("blur",function(){if(this.cancelOnBlur){this.cancel()}})}if(!this.cp){this.control.addEventListener("blur",function(){self.onBlur()},false);this.control.addEventListener("focus",function(){self.onFocus()},false)}else{this.multiControl=new Λ.InputControl.multiControl(this,this.cp.buttonCancel?[this.control,this.cp.buttonSubmit,this.cp.buttonCancel]:[this.control,this.cp.buttonSubmit]);Λ.InputControl.controlPanel(this,this.cp)}this.setupOnChange();this.enable()}};Λ.func.extend(Λ.EditInPlace,Λ.InputControlInput);Λ.EditInPlace.xhr=function(C,D,E,F){var A=F&&F.validateSuccess;var B=new Λ.EditInPlace(C,F);B.request=new Λ.Xhr(D);B.request.varName=E;B.submit=function(){this.disable();this.request.post(this.getValue())};B.request.addEventListener("success",function(G){if((typeof A!="function")||A(G)){B.save()}else{B.cancel()}});B.request.addEventListener("failure",function(){B.cancel()});B.request.addEventListener("403",function(G){alert(G)});return B};
(function(){var A=function(){if(this.target.hasClass("nullvalue")){this.target.removeClass("nullvalue");this.initValue="";this.setValue("")}};var C=function(){if(this.getValue()===""){this.target.addClass("nullvalue");this.initValue=this.$nullValue;this.setValue(this.$nullValue)}};Λ.EditInPlace.behavior=function(I){if(I.$eip){return }Λ.log.debug("BHVR: EditInPlace ",I);var H=I.getAttribute("data-url"),G;if(!H){throw new TypeError("Could not setup edit in place: 'data-url' is missing")}var E=(I.getAttribute("data-multiline")==="true")?true:false;var J=(E||(I.getAttribute("data-controls")==="true"))?true:false;var D=I.hasAttribute("data-maxlength")?parseInt(I.getAttribute("data-maxlength"),10):false;I.addClass("eip-target");if(J){G=I.parentNode.insertBefore(document.createElement("div"),I);G.appendChild(I);cpContainer=G.appendChild(document.createElement("div"));cpContainer.addClass("controls").addClass("eip-cp");cpContainer.innerHTML='<button type="button" class="submit"><span class="wrapper">'+Λ._("button.save")+Λ.conf.buttonDecoration+"</span></button>"}else{G=I}var F=I.$eip=Λ.EditInPlace.xhr(G,H,"value",{multiline:E,limit:{max:D}});if(I.hasAttribute("data-nullvalue")){F.$nullValue=I.getAttribute("data-nullvalue");if(F.getValue()===""){C.call(F)}F.addEventListener("focus",A);F.addEventListener("blur",C)}};var B=function(D){if(D.hasClass("edit-in-place")){Λ.EditInPlace.behavior(D)}};Λ.EditInPlace.behaviorAll=function(){Λ.DOMReady.selectorAll("div, span, h1, h2, h3, h4, h5, h6",B)}})();
Λ.EditInPlaceInput=function(A,D){var C=Λ.EditInPlaceInput.classNames;if(!A||!A.attributes){throw"EditInPlace: container is not given or is not HTML element"}this.container=A;if((A.nodeName.toLowerCase()=="input")||(A.nodeName.toLowerCase()=="textarea")){this.target=A}else{this.target=A.matchSingle("input[type=text], textarea");if(!this.target){throw"EditInPlaceInput: target not found"}var B=A.matchSingle("div."+C.cp);if(B){this.cp=new Λ.ControlPanel(B)}}this.control=this.target;this.target.$inputControl=this;this.name=this.target.name;if(D){Λ.obj.override(this,Λ.hash.strictContent(D,["multiline","multilinePreventEnter","limit","name"]))}this.cancelOnBlur=(D&&D.cancelOnBlur)?D.cancelOnBlur:(!this.multiline||this.multilinePreventEnter);this.init();this.setup()};Λ.EditInPlaceInput.classNames={focus:"focused",hover:"hovered",disabled:"disabled",processing:"processing",changed:"changed",cp:"controlPanel"};Λ.EditInPlaceInput.prototype=(function(){var C=function(){this.disable()};var A=function(){if(!this.modified){this.container.removeClass(Λ.EditInPlaceInput.classNames.changed)}else{this.container.addClass(Λ.EditInPlaceInput.classNames.changed)}};var D=function(){this.container.addClass(Λ.EditInPlaceInput.classNames.focus);setTimeout(Λ.form.setSelectionRange.bind(null,this.control,0,this.control.value.length),20)};var J=function(){this.container.removeClass(Λ.EditInPlaceInput.classNames.focus)};var G=function(){this.optimizeContent()};var H=function(){this.optimizeContent();this.trimValue()};var F=function(K){K=K||window.event;if(Λ.event.key.isEnter(K)){this.$inputControl.onenter();return false}else{if(Λ.event.key.isEsc(K)){this.$inputControl.cancel()}}};var B=function(){if(this.cancelOnBlur){this.cancel()}};var E=function(){this.$inputControl.onBlur()};var I=function(){this.$inputControl.onFocus()};return{multiline:false,multilinePreventEnter:false,limit:{min:0,max:false},cancelOnBlur:true,cp:null,init:function(){Λ.EventsHandler(this);this.addEventListener("submit",C)},onenter:function(){this.dispatchEvent("beforesubmit");if(this.modified){this.dispatchEvent("submit");this.submit()}else{this.blur()}},trimValue:function(){var K=Λ.str.trim(this.target.value);if(this.target.value!==K){this.preValue=this.target.value=K;this.onChange()}},optimizeContent:function(){if((!this.multiline||this.multilinePreventEnter)&&(this.target.value.indexOf("\n")!==-1)){while(this.target.value.indexOf("\n")>-1){this.target.value=this.target.value.replace("\n"," ","gm")}}},sendSubmit:function(){this.dispatchEvent("beforesubmit");if(this.modified){this.dispatchEvent("submit");this.submit()}else{this.blur()}},setup:function(){var L=Λ.EditInPlaceInput.classNames;var K=this;this.addEventListener("modifystatuschange",A);this.addEventListener("focus",D);this.addEventListener("blur",J);this.target.value=Λ.str.trim(this.target.value);this.preValue=this.target.value;this.initValue=this.getValue();this.target.$inputControl=this;this.addEventListener("beforesubmit",H);if(!this.multiline||this.multilinePreventEnter){this.target["on"+(Λ.IE?"keydown":"keypress")]=F}if(this.limit.max){Λ.InputControlInput.limitLength(this,this.limit.max)}if(this.cancelOnBlur){this.addEventListener("blur",B)}if(!this.cp){this.target.onblur=E;this.target.onfocus=I}else{this.multiControl=new Λ.InputControl.multiControl(this,this.cp.buttonCancel?[this.target,this.cp.buttonSubmit,this.cp.buttonCancel]:[this.target,this.cp.buttonSubmit]);Λ.InputControl.controlPanel(this,this.cp)}this.setupOnChange();this.enable()}}})();Λ.func.extend(Λ.EditInPlaceInput,Λ.InputControlInput);Λ.EditInPlaceInput.xhr=(function(){var A=function(){this.tempSaveValue=this.getValue();this.disable();this.request.post(this.tempSaveValue)};var B=function(D){if((typeof this.$eip.validateSuccess!="function")||this.$eip.validateSuccess(D)){this.$eip.setValue(this.$eip.tempSaveValue);this.$eip.save()}else{this.$eip.dispatchEvent("savefailure");this.$eip.cancel()}};var C=function(){this.$eip.cancel()};return function(F,H,I){I=I||{};var D=I.validateSuccess;var G=I.name;var E=new Λ.EditInPlaceInput(F,I);if(!G){G=E.name}Λ.log.debug("EIP input, ",G,I,E);E.request=new Λ.Xhr(H);E.request.varName=G;E.request.$eip=E;E.validateSuccess=D;E.submit=A;E.request.addEventListener("success",B);E.request.addEventListener("failure",C);E.request.addEventListener("403",function(J){alert(J)});return E}})();Λ.$$iEipInput=function(initializer){var parentEl=Λ.$b(initializer.target.parentNode);while(parentEl.attributes&&!parentEl.hasClass("edit-in-place")){parentEl=Λ.$b(parentEl.parentNode)}var data=eval(parentEl.matchSingle("script.data").innerHTML);var control=Λ.EditInPlaceInput.xhr(parentEl,data.url,data.options)};
Λ.Acron=Λ.Base.extend({constructor:function(A,B){if(B){this.setInterval(B)}this.minWait=A||0},setInterval:function(A){if(this.interval){this.interval=A;return }this.interval=A;this._intervalCallback=function(){this.timeout=null;this.run()}.bind(this);this.timeout=setTimeout(this._intervalCallback,this.interval);this.addEventListener("run",function(){if(this.timeout){clearTimeout(this.timeout)}if(this.interval){this.timeout=setTimeout(this._intervalCallback,this.interval)}else{this.removeEventListener("run",arguments.callee)}})},delay:function(){if(this.interval){clearTimeout(this.timeout);this.timeout=setTimeout(this._intervalCallback,this.interval)}},clearInterval:function(){if(this.interval){clearTimeout(this.timeout);this.interval=null}},lastTime:null,run:function(){var B=new Date().getTime();if(!this.lastTime||((B-this.lastTime)>this.minWait)){this.lastTime=B;var A=Λ.obj.toArray(arguments);A.unshift("run");this.dispatchEvent.apply(this,A)}}});Λ.Acron.implement(Λ.EventsHandler);
Λ.GmapOverlay=Λ.base.extend({initialize:function(C,B,A){this.map=C;this.latLng=B;this.el=Λ.dom.builder.div({"class":"overlay "+A});this.updateZIndex();this.redraw();this.map.addOverlay(this)},redraw:function(){var A=this.map.gmap.fromLatLngToDivPixel(this.latLng);this.el.style.left=A.x+"px";this.el.style.top=A.y+"px"},updateZIndex:function(){this.el.style.zIndex=-parseInt(this.latLng.lat()*100000,10)},updateLatLngByPixels:function(){if(!this.correction){this.correction={};var A=window.getComputedStyle(this.el,null);this.correction.x=-parseInt(A.marginLeft,10);this.correction.y=-parseInt(A.marginTop,10)}this.latLng=this.map.gmap.fromDivPixelToLatLng(new GPoint(parseInt(this.el.style.left+this.correction.x,10),parseInt(this.el.style.top,10)+this.correction.y));this.updateZIndex()}});Λ.dGmapOverlayImg=function(A,B){A.el.appendChild(document.createElement("img")).src=B;return A};Λ.dGmapOverlayLink=function(B,A){B.el.appendChild(document.createElement("a")).href=A;return B};Λ.dGmapOverlayDraggable=function(A){var B=new GDraggableObject(A.el);GEvent.addListener(B,"drag",function(){A.updateLatLngByPixels()});return A};Λ.dGmapHoverInfoBox=function(C){var A={};A.box=document.createElement("div");A.box.className="map-hover-box";A.box.style.position="absolute";A.box.style.zIndex=100;A.box.style.visibility="hidden";document.body.appendChild(A.box);var B=function(E){var D,F;if(Λ.IE){D=E.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;F=E.clientY+document.body.scrollTop+document.documentElement.scrollTop}else{D=E.pageX;F=E.pageY}A.box.style.left=D+10+"px";A.box.style.top=F-A.box.scrollHeight+"px"};A.overlayMouseOver=function(D){A.box.style.visibility="visible";if(!Λ.IE||!B.on){document.addEventListener("mousemove",B,false);B.on=true}};A.overlayMouseOut=function(D){A.box.style.visibility="hidden";if(!Λ.IE){document.removeEventListener("mousemove",B,false)}};if(Λ.IE){B.on=false;C.container.onmouseenter=function(){if(!B.on){document.addEventListener("mousemove",B,false);B.on=true}};C.container.onmouseleave=function(){if(B.on){document.removeEventListener("mousemove",B,false);B.on=false}}}C.hoverInfoBox=A;return C};Λ.dGmapOverlayHoverInfoBox=function(B,D,A){var C=B.map.hoverInfoBox;B.el.addEventListener("mouseover",function(){if(D){D(C)}C.overlayMouseOver()},false);B.el.addEventListener("mouseout",function(){C.overlayMouseOut();if(A){A(C)}},false);return B};Λ.Gmap=function(A,E,D,C){this.container=A;this.gmap=new GMap2(A);this.container.$map=this;if(this.gmap.enableDoubleClickZoom){this.gmap.enableDoubleClickZoom()}if(this.gmap.enableContinuousZoom){this.gmap.enableContinuousZoom()}if(!Λ.Gmap.isUnloadSet){window.addEventListener("unload",GUnload,false);Λ.Gmap.isUnloadSet=true}if(C&&C.addControl){this.gmap.addControl(C.addControl)}else{this.gmap.addControl(new GLargeMapControl3D())}if(C&&C.disableDbClick){this.gmap.disableDoubleClickZoom()}if(C&&C.diesableContZoom){this.gmap.disableContinuousZoom()}if(E){this.gmap.setCenter(E,D||12)}this.layersEl=A.firstChild.firstChild;this.shadowLayer=this.layersEl.childNodes[4];this.markerLayer=this.layersEl.childNodes[6];this.infoWindowLayer=this.layersEl.childNodes[9];this.dragLayer=this.layersEl.childNodes[8];this.overlays=[];var B=this;GEvent.addListener(this.gmap,"zoomend",function(){B.rePosition()})};Λ.Gmap.isUnloadSet=false;Λ.Gmap.prototype={addOverlay:function(A){this.overlays[this.overlays.length]=A;this.markerLayer.appendChild(A.el)},clearOverlays:function(C){for(var B=this.overlays.length-1,A;(A=this.overlays[B]);--B){if(!C||!C.containsPoint(A.latlng)){A.el.parentNode.removeChild(A.el);this.overlays.splice(B,1)}}},rePosition:function(){for(var B=0,A;(A=this.overlays[B]);++B){A.redraw()}}};
Λ.Selector=Λ.Base.extend({constructor:function(A,B){this.selection=[];this.data={};this.limit=A;this.min=B||0;this.history={};this.isFull=false;this.save()},save:function(A){A=A||"";this.history[A]={selection:[].concat(this.selection),data:Λ.hash.clone(this.data)};Λ.log.debug("SELECTOR: save '"+A+"'",this.history[A]);this.dispatchEvent("save",A)},revert:function(A){A=A||"";Λ.log.debug("SELECTOR: revert '"+A+"'",this.history[A]);if(!this.history[A]){throw new Error("Selector error: Could not revert. State not found")}else{oldSelection=[].concat(this.selection);oldData=Λ.hash.clone(this.data);while(this.selection[0]){this.deselect(this.selection[0])}this.history[A].selection.forEach(function(B){this.select(B,this.history[A].data[B])},this);this.dispatchEvent("revert",A,oldSelection,oldData)}},select:function(C,B){var A=this.selection.indexOf(C);if(A!==-1){throw new TypeError("Selector error: Cannot select id '"+C+"'. It is already selected")}else{if(this.selection.length!=this.limit){this.selection[this.selection.length]=C;this.data[C]=B;if(this.selection.length==this.limit){this.isFull=true}this.dispatchEvent("select",C,this.selection.length-1,B)}else{}}},toggle:function(B,A){if(this.selection.indexOf(B)===-1){if((this.limit==1)&&this.selection.length){this.deselect(this.selection[0],true)}this.select(B,A)}else{if(this.selection.length>this.min){this.deselect(B)}}},deselect:function(D,C){var A=this.selection.indexOf(D);if(A===-1){throw new TypeError("Selector error: Cannot deselect id '"+D+"'. It is not within selection")}else{if(!C&&(this.selection.length<=this.min)){throw new TypeError("Selector error: Cannot deselect id '"+D+"'. Selection count can't be lower than "+this.min)}else{this.selection.splice(A,1);var B=this.data[D];delete this.data[D];if(this.isFull){this.isFull=false}this.dispatchEvent("deselect",D,A,B)}}}});Λ.Selector.implement(Λ.EventsHandler);
(function(){var B=function(){Λ.style.addCSS("		  div.curtain {			  width:100%;				height: "+(Λ.IE6?'expression(parentNode.clientHeight + "px")':"100%")+";				top: 0;				left: 0;				position: absolute;				z-index: 999999999;				display: none;			}			div.curtain .background {			  width: 100%;				height: "+(Λ.IE6?'expression(parentNode.clientHeight + "px")':"100%")+';				top: 0;				left: 0;				border: 0;				position: absolute;		  }			div.curtain iframe.background {			  z-index: 1;			}			div.curtain div.background {        z-index: 2;        background-color: rgba(0,0,0,0.8);        background-color: black;        opacity: 0.8;        filter: alpha(opacity=80);      }			div.curtain-wrapper {				width: 100%;				height: 100%;				position: relative;				z-index: 3;			}			div.curtain-wrapper-2 {			  margin: 0 auto;				display: table;			}			div.curtain-wrapper-3 {			  display: table-cell;			}			div.curtain-content {			  float: left;				position: relative;				left: expression(Math.round(parentNode.offsetWidth/2 - clientWidth/2) + "px");			  background-color: white;				border: 2px solid #888;				margin: 0 auto;				padding: 10px;			}		');var C=document.body.appendChild(document.createElement("div")).addClass("curtain");C.innerHTML='		  <div class="curtain-wrapper">			  <div class="curtain-wrapper-2">				  <div class="curtain-wrapper-3">					  <div class="curtain-content"></div>					</div>				</div>			</div>			'+(Λ.IE?"":'<iframe frameborder="0" class="background" width="100%" height="100%"></iframe>')+'			<div class="background"></div>';B=function(){return C};return C};var A=function(E){var D=Λ.domPosition.getPosition(window).y;var F=Λ.domPosition.getDimensions(window).height;var C=Λ.domPosition.getDimensions(E).height;var G=((C+20)<F)?(D+Math.round((F/2)-(C/2))):(D+10);E.style.top=G+"px"};Λ.Curtain=Λ.Base.extend({constructor:function(C){this.el=new Λ.HTMLElement(C);this.container=B();this.content=Λ.$("div.curtain-content",this.container);(new Λ.HTMLElement(this.container)).hide=(new Λ.HTMLElement(this.content)).hide=this.hide.bind(this);this.el.show=this.show.bind(this);this.el.hide=this.hide.bind(this)},container:null,content:null,show:function(){if(this.el.target.parentNode!==this.content){this.content.innerHTML="";this.content.appendChild(this.el.target)}this.container.style.display="block";this.container.style.height=document.body.clientHeight+"px";A(this.content)},hide:function(){this.container.style.display="none"}})})();
(function(){var A=function(C,E,D){var B=D?"removeClass":"addClass";var F=D?"addClass":"removeClass";switch(C.nodeName.toLowerCase()){case"form":Λ.form.onfocus(C,C[B].bind(C,E));Λ.form.onblur(C,C[F].bind(C,E));break;case"input":case"select":case"button":case"textarea":Λ.$addEventListener(C,"focus",C[B].bind(C,E),false);Λ.$addEventListener(C,"blur",C[F].bind(C,E),false);break;default:throw new TypeError("Init error: Could not initialize focusclass on '"+C.nodeName.toLowerCase()+"' type element")}if(Λ.event.currentFocus&&Λ.dom.isOrContains(C,Λ.event.currentFocus)){C[B](E)}else{C[F](E)}};Λ.Init={play:function(C){if(C.hasAttribute&&C.hasAttribute("data-initseen")){var B=C.getAttribute("data-initseen");C.removeAttribute("data-initseen");if(C.hasAttribute("data-initaction")){var D=C.getAttribute("data-initaction");C.removeAttribute("data-initaction");Λ.DOMBehaviors.newProcessActions(D,C)}Λ.Init.process(Λ.Init.parse(C,B),C)}},onseen:function(){var B=function(C){Λ.dom.selfAndAncestors(C).forEach(Λ.Init.play)};Λ.event.mouse.addEventListener("changeover",B);Λ.event.key.addEventListener("changeover",B);Λ.event.addEventListener("focus",B)},onaction:function(){Λ.$addEventListener(document,"click",function(B){if(!B.target){return }Λ.dom.selfAndAncestors(B.target).forEach(Λ.Init.play)},true)},onappear:function(){},parse:function(E,H){var D,B=[],G,C;while(H.length){if(D=H.match(/^([a-zA-Z]+)(\(|,|$)/)){G={name:D[1],value:null};B.push(G);H=H.substr(D[1].length);if(H.charAt(0)==="("){var F=Λ.str.regexp.parens(H,true);G.value=H.substr(1,F[1]-2);H=H.substr(F[1])}}else{throw new TypeError("Init Error: init syntax error: '"+H+"'")}}return B},process:function(C,B){C.forEach(function(D){Λ.log.debug("INIT: ",D.name,D.value);if(D.name.charAt(0).toLowerCase()==D.name.charAt(0)){Λ.Init.actions[D.name](B,D.value)}else{Λ[D.name].behavior(B,D.value)}})},actions:{mouseoverclass:function(B,C){C=C||"hover";Λ.event.mouse.enter(B,B.addClass.bind(B,C),false);Λ.event.mouse.leave(B,B.removeClass.bind(B,C),false);if(Λ.dom.isOrContains(B,Λ.event.mouse.currentOver)){B.addClass(C)}else{B.removeClass(C)}},focusclass:function(B,C){A(B,C||"focus")},blurclass:function(B,C){A(B,C||"blur",true)},blurhide:function(C,D){var B=Λ.DOMBehaviors.newGetItems(D||"",C).elements;if(B.length){Λ.log.debug("BLURHIDE ITEMS: ",B);Λ.$addEventListener(document,"click",function(E){if(!E.target){return }Λ.log.debug("BLURHIDE ITEMS CLICK");B.forEach(function(F){Λ.log.debug("BLURHIDE ITEMS CHECK: ",F);if(!Λ.dom.isOrContains(F,E.target)){Λ.log.debug("BLURHIDE ITEMS HIDE: ",F);(new Λ.HTMLElement(F)).hide()}})},true)}}}}})();
(function(){var B=document.write;var E=document.writeln;var D=document.open;var C=false;var A=0;Λ.WriteCatch=Λ.Base.extend({constructor:function(F){this.scopeSet=[];this.htmlSet=[];this.filters=[];if(F){this.start((F===true)?null:F)}},start:function(F){if(C){Λ.log.error("writeCatch error: Process already running");return }C=true;document.write=this.write.bind(this);document.writeln=this.writeln;document.open=Λ.func.empty;if(F){this.scopeSet[0]=F;this.htmlSet[0]="";this.current=0}},nest:0,current:null,filterString:function(G){for(var F=0;F<this.filters.length;++F){if(this.filters[F].test(G)){return true}}return false},write:function(G){if(this.filterString(G)){B.apply(document,G);return }if(!this.current&&(this.current!==0)){var F=document.getElementsByTagName("script");var H=F[F.length-1];if((this.current=this.scopeSet.indexOf(H))===-1){this.current=this.scopeSet.length;this.scopeSet[this.current]=H;this.htmlSet[this.current]=""}}this.htmlSet[this.current]+=G},writeln:function(F){this.write(F+"\n")},setScope:function(F){if(!C){Λ.log.error("writeCatch error: Write catch needs to be running to set scope");return }this.current=this.scopeSet.length;this.scopeSet[this.current]=F;this.htmlSet[this.current]=""},flush:function(){if(!this.scopeSet.length){this.current=null;C=false;document.write=B;document.writeln=E;document.open=D;this.dispatchEvent("complete");return }var H=this.scopeSet[0];var F=this.htmlSet[0];this.htmlSet[0]="";this.current=0;var J=document.createElement("div");J.innerHTML=Λ.html.stripScripts(F);var G=H.nextSibling;if(J.firstChild){}while(J.firstChild){H.parentNode.insertBefore(J.firstChild,G)}if(Λ.IE){Λ.html.evalStyles(F)}++A;if(this.scriptPass(F)){++this.nest;var I=function(){--this.nest;if(this.htmlSet[this.current]!==""){this.flush()}else{if(this.nest<=0){this.scopeSet.shift();this.htmlSet.shift();this.flush()}}}.bind(this);Λ.html.evalScripts(F,I)}else{Λ.log.debug("BOUNCED "+F);this.scopeSet.shift();this.htmlSet.shift();this.flush()}},scriptPass:function(F){return true},end:function(){this.flush()}});Λ.WriteCatch.implement(Λ.EventsHandler)})();
(function(){var C=false;var B="";var A=function(){var D=location.hash.substr(1);if(D!=B){B=D;Λ.log.debug("HISTORY check ",D);this.dispatchEvent("turn",D);this.dispatchEvent("outerturn",D)}};Λ.history=Λ.EventsHandler({init:function(){B=location.hash.substr(1);Λ.log.debug("HISTORY init ",B);C=true;setInterval(A.bind(this),100);return B},set:function(D){if(!C){throw new TypeError("History error: You need to initialize history before loading hash")}if(D==B){return }Λ.log.debug("HISTORY load ",D,B);B=D;this.dispatchEvent("turn",D);this.dispatchEvent("innerturn",D);location.hash="#"+D}})})();
Λ.fixedSmart=function(H,A){var G,C,B,E;H.style.position="relative";H.style.zoom="1";var M=parseInt(window.getComputedStyle(H,null),10)||0;var I=M;var K=15;var L=new Λ.TweenProcessor();var J=function(N){H.style.top=Math.round(N)+"px"};var D=function(){I=this.end};var F=function(){targetRect=Λ.domPosition.getRectangle(H);G=Λ.domPosition.getRectangle(window);B=Λ.domPosition.getRectangle(A||H.parentNode);B.expand(0,0,-K,0);G.expand(K,-K,-K,K);topDiff=targetRect.topLeft.y-Math.max(G.topLeft.y,B.topLeft.y);bottomDiff=Math.min(G.bottomRight.y,B.bottomRight.y)-targetRect.bottomRight.y;newTop=I;if((topDiff<=0)&&(bottomDiff<=0)){}else{if((topDiff>=0)&&(bottomDiff<0)){if(I>M){newTop=Math.max(I-topDiff,M)}}else{if((topDiff<0)&&(bottomDiff>=0)){newTop=Math.max(I+Math.min(bottomDiff,-topDiff),M)}else{if((topDiff>=0)&&(bottomDiff>=0)){if(I>M){newTop=Math.max(I-topDiff,M)}}}}}var N=Λ.Tween.inOutQuad(300,I,newTop);N.ontween=J;N.addEventListener("complete",D);L.add(N)};update2=GRONO.time.delayTimeout(F,300);window.addEventListener("scroll",update2,false);window.addEventListener("resize",update2,false)};
Λ.throbber=function(B,A,C){A.addClass("throbber");B.addEventListener("begin",function(){A.addClass("throbber-progress")});B.addEventListener("complete",function(){A.removeClass("throbber-progress")});if(!C){B.addEventListener("success",function(){A.addClass("throbber-success");setTimeout(A.removeClass.bind(A,"throbber-success"),2000)},false);B.addEventListener("failure",function(){A.addClass("throbber-failure");setTimeout(A.removeClass.bind(A,"throbber-failure"),2000)},false)}return B};
(function(){var A=["Uninitialized","Loading","Loaded","Interactive","Complete"];var C=function(){if(this.method!=="GET"){this.headers["Content-type"]=this.contentType+(this.encoding?"; charset="+this.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){this.headers.Connection="close"}}for(name in this.headers){this.transport.setRequestHeader(name,this.headers[name])}this.transport.setRequestHeader("X-Requested-With","XMLHttpRequest")};var B=function(){if(this.transport.readyState==4&&!this.rs4Done){this.rs4Done=true;try{(this.transport.status)}catch(F){this.receive("",500,"text/plain");return }if(!Λ.GECKO){Λ.log.debug("XHR RESPONSE",this.id,this.url,this.transport.responseText)}var E=this.transport.getResponseHeader("Content-Type");this.transport.onreadystatechange=Λ.func.empty;this.receive(this.transport.responseText,this.transport.status,E.substr(0,E.indexOf(";")))}};var D=0;Λ.Xhr=Λ.DataSource.extend({constructor:function(E){this.base();this.id=++D;this.transport=Λ.Xhr.getTransport();this.url=E;this.postHash={};this.getHash={};this.headers={}},name:null,asynchronous:true,forceAbort:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",translateDictName:["Xhr"],getResponseHeader:function(E){try{return this.transport.getResponseHeader(E)}catch(F){return null}},send:function(H,G){if(this.inProgress){if(this.forceAbort){this.abort()}else{throw"Xhr error: Cannot send request - request is currently in progress"}}if(typeof G=="string"){this.url=G}if(typeof this.url=="undefined"){throw"Xhr error: URL not given"}if(this.url===""){this.url=location.hash?location.href.slice(0,-location.hash.length):location.href}var F;if(this.method=="GET"||this.method=="POST"){F=this.method}else{F="POST";H.method=this.method}var H=Λ.hash.toQueryString(H);var E=this.url;if(this.method=="GET"&&H){if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){H+="&_="}E+=((E.indexOf("?")>-1)?"&":"?")+H}if(!Λ.GECKO){Λ.log.debug("XHR "+this.method,this.id,this.transport.readyState,this.url,H)}if(Λ.location.isGET("stacktrace")){Λ.log.debug("XHR stack trace",Λ.getStackTrace())}this.rs4Done=false;this.transport.open(F,E,this.asynchronous);this.transport.onreadystatechange=B.bind(this);C.call(this);this.begin();this.transport.send(this.method=="GET"?null:H);if(!this.asynchronous&&this.transport.overrideMimeType){B.call(this)}return this},abort:function(){this.transport.onreadystatechange=Λ.func.empty;return this.transport.abort()}});Λ.Xhr.post=function(E,F){return(new Λ.Xhr(E)).post(F)};Λ.Xhr.getTransport=function(){return window.XMLHttpRequest?new XMLHttpRequest():(window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):false)};Λ.Xhr.translators=Λ.hash.clone(Λ.DataSource.translators);Λ.Xhr.translators["application/xml"]=Λ.Xhr.translators["text/xml"]=Λ.Xhr.translators["application/xhtml+xml"]=function(F,E){return E.transport.responseXML}})();
(function(){var E=function(F){this.isSuccess=true;this.dispatchEvent("success",F);B.call(this);if(Λ.DOMReady&&F.data.length){Λ.DOMReady.process(F.data)}};var C=function(){this.inProgress=true;this.isSuccess=null;this.isComplete=false;this.dispatchEvent("begin")};var B=function(){this.inProgress=false;this.isComplete=true;this.dispatchEvent("complete")};var D=function(F){F=this.processResponse(F);Λ.log.debug("XHRHTML: PARSE HTML");var G;if(F.documentElement){var H=document.importNode(F.documentElement,true);G=new Λ.DOMContent(new Λ.DOMList(H.childNodes),this.doNotPreloadImages)}else{if(typeof F=="string"){G=new Λ.DOMContent(new Λ.DOMList(F),this.doNotPreloadImages)}else{throw new TypeError("Xhr HTML error: Unsupported content type: "+(typeof F))}}if(G.isComplete){E.call(this,G)}else{G.addEventListener("complete",E.bind(this,G))}};Λ.XhrHtml=Λ.Base.extend({constructor:function(F){this.xhr=F;this.xhr.addEventListener("begin",C.bind(this));this.xhr.addEventListener("complete",function(G){if(this.xhr.isSuccess){D.call(this,G)}else{this.isSuccess=false;this.dispatchEvent("failure");B.call(this)}}.bind(this))},processResponse:function(F){return F},doNotPreloadImaages:false});Λ.XhrHtml.implement(Λ.Async);var A=function(I,F,H,K,G){var J=new Λ.Xhr(F);J.addEventListener("success",function(L){Λ.html[I](H,L)});return K?J[G?"post":"get"](K):J[G?"post":"get"]()};["Replace","ReplaceContent","Append","Prepend","InsertBefore"].forEach(function(F){Λ.Xhr["html"+F]=Λ.func.partial(A,Λ.str.firstToLowerCase(F))})})();
(function(){var C={linear:function(F,E,H,G){return H*F/G+E},inQuad:function(F,E,H,G){return H*(F/=G)*F+E},outQuad:function(F,E,H,G){return -H*(F/=G)*(F-2)+E},inOutQuad:function(F,E,H,G){if((F/=G/2)<1){return H/2*F*F+E}return -H/2*((--F)*(F-2)-1)+E},inCubic:function(F,E,H,G){return H*(F/=G)*F*F+E},outCubic:function(F,E,H,G){return H*((F=F/G-1)*F*F+1)+E},inOutCubic:function(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F+E}return H/2*((F-=2)*F*F+2)+E},inQuart:function(F,E,H,G){return H*(F/=G)*F*F*F+E},outQuart:function(F,E,H,G){return -H*((F=F/G-1)*F*F*F-1)+E},inOutQuart:function(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F+E}return -H/2*((F-=2)*F*F*F-2)+E},inQuint:function(F,E,H,G){return H*(F/=G)*F*F*F*F+E},outQuint:function(F,E,H,G){return H*((F=F/G-1)*F*F*F*F+1)+E},inOutQuint:function(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F*F+E}return H/2*((F-=2)*F*F*F*F+2)+E},inSine:function(F,E,H,G){return -H*Math.cos(F/G*(Math.PI/2))+H+E},outSine:function(F,E,H,G){return H*Math.sin(F/G*(Math.PI/2))+E},inOutSine:function(F,E,H,G){return -H/2*(Math.cos(Math.PI*F/G)-1)+E},inExpo:function(F,E,H,G){return(F==0)?E:H*Math.pow(2,10*(F/G-1))+E},outExpo:function(F,E,H,G){return(F==G)?E+H:H*(-Math.pow(2,-10*F/G)+1)+E},inOutExpo:function(F,E,H,G){if(F==0){return E}if(F==G){return E+H}if((F/=G/2)<1){return H/2*Math.pow(2,10*(F-1))+E}return H/2*(-Math.pow(2,-10*--F)+2)+E},inCirc:function(F,E,H,G){return -H*(Math.sqrt(1-(F/=G)*F)-1)+E},outCirc:function(F,E,H,G){return H*Math.sqrt(1-(F=F/G-1)*F)+E},inOutCirc:function(F,E,H,G){if((F/=G/2)<1){return -H/2*(Math.sqrt(1-F*F)-1)+E}return H/2*(Math.sqrt(1-(F-=2)*F)+1)+E},inElastic:function(G,E,K,J,F,I){if(G==0){return E}if((G/=J)==1){return E+K}if(!I){I=J*0.3}if(F<Math.abs(K)){F=K;var H=I/4}else{var H=I/(2*Math.PI)*Math.asin(K/F)}return -(F*Math.pow(2,10*(G-=1))*Math.sin((G*J-H)*(2*Math.PI)/I))+E},outElastic:function(G,E,K,J,F,I){if(G==0){return E}if((G/=J)==1){return E+K}if(!I){I=J*0.3}if(F<Math.abs(K)){F=K;var H=I/4}else{var H=I/(2*Math.PI)*Math.asin(K/F)}return F*Math.pow(2,-10*G)*Math.sin((G*J-H)*(2*Math.PI)/I)+K+E},inOutElastic:function(G,E,K,J,F,I){if(G==0){return E}if((G/=J/2)==2){return E+K}if(!I){I=J*(0.3*1.5)}if(F<Math.abs(K)){F=K;var H=I/4}else{var H=I/(2*Math.PI)*Math.asin(K/F)}if(G<1){return -0.5*(F*Math.pow(2,10*(G-=1))*Math.sin((G*J-H)*(2*Math.PI)/I))+E}return F*Math.pow(2,-10*(G-=1))*Math.sin((G*J-H)*(2*Math.PI)/I)*0.5+K+E},inBack:function(F,E,I,H,G){if(G==undefined){G=1.70158}return I*(F/=H)*F*((G+1)*F-G)+E},outBack:function(F,E,I,H,G){if(G==undefined){G=1.70158}return I*((F=F/H-1)*F*((G+1)*F+G)+1)+E},inOutBack:function(F,E,I,H,G){if(G==undefined){G=1.70158}if((F/=H/2)<1){return I/2*(F*F*(((G*=(1.525))+1)*F-G))+E}return I/2*((F-=2)*F*(((G*=(1.525))+1)*F+G)+2)+E},inBounce:function(F,E,H,G){return H-C.outBounce(G-F,0,H,G)+E},outBounce:function(F,E,H,G){if((F/=G)<(1/2.75)){return H*(7.5625*F*F)+E}else{if(F<(2/2.75)){return H*(7.5625*(F-=(1.5/2.75))*F+0.75)+E}else{if(F<(2.5/2.75)){return H*(7.5625*(F-=(2.25/2.75))*F+0.9375)+E}else{return H*(7.5625*(F-=(2.625/2.75))*F+0.984375)+E}}}},inOutBounce:function(F,E,H,G){if(F<G/2){return C.inBounce(F*2,0,H,G)*0.5+E}return C.outBounce(F*2-G,0,H,G)*0.5+H*0.5+E}};var D=0;Λ.Tween=Λ.Base.extend({constructor:function(J,H,I,E,G,F){this.id=++D;this.initMethod=this.method=J;this.duration=H;this.initStart=this.start=isNaN(I)?0:I;this.initEnd=this.end=isNaN(E)?1:E;this.change=this.end-this.start;this.initRepeat=this.repeat=isNaN(G)?1:G;if(this.repeat>1){if(typeof F=="undefined"){this.pulse=true;this.initBackMethod=this.backMethod=J}else{if(F&&(F!==true)){this.pulse=true;this.initBackMethod=this.backMethod=F}else{this.initBackMethod=this.backMethod=J}}}},startTime:null,ontween:Λ.func.empty,begin:function(E){if(this.inProgress){throw new Error("Cannot start tween: Tween is already in progress")}this.startTime=E;this.inProgress=true;this.isComplete=false;this.isSuccess=null;this.dispatchEvent("begin");this.ontween(this.start)},tween:function(G){if(!this.inProgress){throw new Error("Cannot tween: Tween is not running")}if((this.startTime+this.duration)<G){if(--this.repeat&&(this.repeat>0)){var E=this.end;if(this.pulse){var F=this.start;this.start=this.end;this.end=F;this.change=this.end-this.start;F=this.method;this.method=this.backMethod;this.backMethod=F}this.dispatchEvent("switch",E,this.start,this.repeat);this.startTime+=this.duration}else{this.ontween(this.end);this.isSuccess=true;this.dispatchEvent("success");this.inProgress=false;this.isComplete=true;this.start=this.initStart;this.end=this.initEnd;this.change=this.end-this.start;this.method=this.initMethod;this.backMethod=this.initBackMethod;this.repeat=this.initRepeat;this.dispatchEvent("complete");return }}this.ontween(this.method(G-this.startTime,this.start,this.change,this.duration))}});Λ.Tween.implement(Λ.Async);var B=function(E){Λ.Tween[E]=function(J,K,G,I,H){return new Λ.Tween(C[E],J,K,G,I,H)};if(E.substr(0,5)==="inOut"){var F=E.substr(5);Λ.Tween[F.charAt(0).toLowerCase()+F.substr(1)]=function(J,K,G,I,H){if(isNaN(I)||(I<1)){I=2}if(H){return new Λ.Tween(C["out"+F],J,K,G,I,C["in"+F])}else{return new Λ.Tween(C["in"+F],J,K,G,I,C["out"+F])}}}};for(var A in C){B(A)}})();
Λ.TweenNone=Λ.AsyncNone.extend({tween:Λ.func.empty,duration:0,begin:function(A){this.startTime=A;this.base()}});Λ.TweenProcessor=Λ.AsyncQueueProcessor.extend({fps:100,addSync:function(A){this.add(new Λ.TweenNone(A))},_start:function(){this.currentQueue.push.apply(this.currentQueue,this.queue);this.queue.splice(0,this.queue.length);var C,D,B;var A=this;var E=setInterval(function(){var F=new Date().getTime();if(!A.current){if(!A.currentQueue.length){clearInterval(E);A.onComplete();return }A.current=A.currentQueue.shift();A.current.begin(F)}else{A.current.tween(F);while(!A.current.inProgress){if(!A.currentQueue.length){A.current=null;clearInterval(E);A.onComplete();return }else{D=A.current;A.current=A.currentQueue.shift();A.current.begin(D.startTime+D.duration)}}}},Math.round(1000/this.fps))}});
(function(){var A=/^\s*(-?\d+(px|%)?)\s*,\s*(-?\d+(px|%)?)\s*$/,B;var C=0;Λ.Overlay.behavior=function(G,E,I){var K=++C,F;var J=function(){var L=new Λ.Overlay(E||G,F);if(G.hasAttribute("data-visible")&&(G.getAttribute("data-visible")==="true")){L.show()}return L};var D=function(N){F={context:N};if(G.hasAttribute("data-hook")){var M=G.getAttribute("data-hook"),L;if(L=M.match(A)){F.hook={x:L[1],y:L[3]}}else{throw new TypeError("Could not setup Overlay behavior: wrong value for 'data-hook' attribute. Expected e.g. '25, 50%'")}Λ.log.debug("got hook",F.hook)}if(G.hasAttribute("data-contexthook")){var M=G.getAttribute("data-contexthook"),L;if(L=M.match(A)){F.contextHook={x:L[1],y:L[3]}}else{throw new TypeError("Could not setup Overlay behavior: wrong value for 'data-contexthook' attribute. Expected e.g. '25, 50%'")}Λ.log.debug("got contexthook",F.contextHook)}if((N===window)&&(!F.hook||!F.contextHook)){F.center=true}if(Λ.$isDOMContentLoaded||!Λ.IE){return J()}else{document.addEventListener("DOMContentLoaded",J,false)}};if(G.hasAttribute("data-target")){if(Λ.str.trim(G.getAttribute("data-target"))==":viewport"){return D(window)}else{if(Λ.$isDOMContentLoaded){I=Λ.DOMBehaviors.$(G.getAttribute("data-target"),G).el;if(!I){throw new TypeError("Could not setup Overlay behavior: target not found")}return D(I)}else{var H=Λ.DOMBehaviors.parseSelector(G.getAttribute("data-target"),G);if(H.selector){Λ.DOMReady.selector(H.selector,function(L){D(L)},H.scope)}else{D(G)}}}}else{return D(I||window)}};Λ.Overlay.behaviorAll=function(D){Λ.DOMReady.selectorAll("div",function(E){if(E.hasClass(D||"overlay")){Λ.Overlay.behavior(E)}})}})();
(function(){Λ.OverlayXhr={};Λ.OverlayXhr.behavior=function(D){var E=new Λ.Xhr(D.getAttribute("data-url")||D.href),B,C;var A=function(){C.$element.show();if(D.hasAttribute("data-timeout")){setTimeout(C.$element.hide.bind(C.$element),D.getAttribute("data-timeout"))}};E.addEventListener("success",function(F){if(!C||!C.$element){if(D.hasAttribute("data-container")){B=Λ.DOMBehaviors.$(D.getAttribute("data-container")).el;if(!B){throw new TypeError("Cannot display overlay - container for given selector ('"+D.getAttribute("data-container")+"') not found")}}else{B=document.body.appendChild(document.createElement("div"));B.addClass("overlay")}if(D.hasAttribute("data-class")){B.addClass(D.getAttribute("data-class"))}B.innerHTML=Λ.html.stripScripts(F);D.$xhrOverlay=Λ.Overlay.behavior(D,B,D);C=B}else{B.innerHTML=Λ.html.stripScripts(F)}A();Λ.html.evalScripts(F);Λ.DOMReady.process(B)});Λ.log.debug("OVERLAY XHR ADD");D.addEventListener("click",function(F){F.preventDefault();Λ.log.debug("OVERLAY XHR CLICK");if(!C||!C.$element||(D.getAttribute("data-dynamic")==="true")){if(!E.inProgress){E.get()}}else{if(!C.$box.isVisible){A()}else{C.$element.hide()}}},false)};Λ.OverlayXhr.behaviorAll=function(A){Λ.DOMReady.selectorAll("a",function(B){if(B.hasClass(A||"overlay-xhr")){Λ.OverlayXhr.behavior(B)}})};Λ.OverlayXhr.captureRegister=function(){Λ.EventCapture.click.register(Λ.OverlayXhr,["a"],".overlay-xhr")};Λ.CurtainXhr={};Λ.CurtainXhr.behavior=function(C){var D=new Λ.Xhr(C.getAttribute("data-url")||C.href),B,A;D.addEventListener("success",function(E){if(!B){A=document.body.appendChild(document.createElement("div"));A.innerHTML=Λ.html.stripScripts(E);B=new Λ.Curtain(A)}else{A.innerHTML=Λ.html.stripScripts(E)}B.show();Λ.DOMReady.process(A);Λ.html.evalScripts(E)});Λ.log.debug("CURTAIN XHR ADD");C.addEventListener("click",function(E){E.preventDefault();Λ.log.debug("CURTAIN XHR CLICK");if(!B||(C.getAttribute("data-dynamic")==="true")){if(!D.inProgress){D.get()}}else{B.show()}},false)};Λ.CurtainXhr.behaviorAll=function(A){Λ.DOMReady.selectorAll("a",function(B){if(B.hasClass(A||"curtain-xhr")){Λ.CurtainXhr.behavior(B)}})};Λ.CurtainXhr.captureRegister=function(){Λ.EventCapture.click.register(Λ.CurtainXhr,["a"],".curtain-xhr")}})();
(function(){var A=function(B){Λ.style.addCSS("div."+B+" {\nbackground:white;\nborder:2px solid #ccc;\npadding:0;\ndisplay:none;\n}\ndiv."+B+" table {\nwidth:auto;\nborder-collapse:collapse;\n}\ndiv."+B+" th, div."+B+" td {\npadding:0;\nfont-size:10px;\nborder:1px solid #CCCCCC;\nbackground:white;\nline-height:1.4em;\n}\ndiv."+B+" table button, div."+B+" div.close button {\nbackground:none;\nborder:0;\npadding:0;\ncursor:pointer;\ndisplay:block;\nfont-size:10px;\noutline:0;\n}\ndiv."+B+" div.close {\ntext-align:center;\nbackground:none;\npadding:0;\n}\ndiv."+B+" div.close button {\ndisplay:inline;\ntext-decoration:underline;\n}\ndiv."+B+" thead th, div."+B+" thead td {\ntext-align:center;\n}\ndiv."+B+" table th, div."+B+"table td {\nbackground:white;\nborder:1px solid #ccc;\nwidth:2em;\n}\ndiv."+B+" .empty {\nvisibility:hidden;\n}\ndiv."+B+" button.selected {\nbackground:red;\ncolor:white;\nfont-weight:bold;\n}\n");A=Λ.func.empty};Λ.Calendar=function(){};Λ.Calendar.prototype={max:1,min:1,isValid:true,initialize:function(B){A("calendar");this.months=Λ._("calendar.months").split("|");if(this.months.length!==12){Λ.log.error("Calendar error: invalid local month names, English names were used");this.months=["January","February","March","April","May","June","July","August","September","October","November","December"]}this.weekDays=Λ._("calendar.weekdays").split("|");if(this.weekDays.length!==7){Λ.log.error("Calendar error: invalid local weekdays initials, English names were used");this.weekDays=["M","T","W","T","F","S","S"]}if(B){Λ.obj.override(this,Λ.hash.strictContent(B,["dateRange","currentDate","selection","max","min","disabledDates"]))}if(this.dateRange){if(!this.dateRange[0]||(this.dateRange[0].constructor!==Date)||!this.dateRange[1]||(this.dateRange[1].constructor!==Date)){throw"Calendar error: Given date range needs to be an array that consists of two Date objects"}}else{if(this.dateRange!==false){this.dateRange=[new Date(1950,0,1),new Date(2049,11,31,23,59,999)]}}if(!this.disabledDates){this.disabledDates=[]}if(!this.selection||!this.validateSelection(this.selection)){this.selection=[]}if(this.currentDate){if(this.dateRange&&((this.dateRange[0]>this.currentDate)||(this.dateRange[1]<this.currentDate))){this.currentDate=null;Λ.log.error("Calendar error: passed currentDate doesn't fit into allowed date range")}}if(!this.currentDate){if(this.selection.length){this.currentDate=new Date(this.selection[0].getFullYear(),this.selection[0].getMonth(),this.selection[0].getDate())}else{if(this.dateRange){if((this.currentDate=new Date())<this.dateRange[0]){this.currentDate=new Date(this.dateRange[0].getFullYear(),this.dateRange[0].getMonth(),this.dateRange[0].getDate())}else{if(this.currentDate>this.dateRange[1]){this.currentDate=new Date(this.dateRange[1].getFullYear(),this.dateRange[1].getMonth(),this.dateRange[1].getDate())}}}else{this.currentDate=new Date()}}}this.mainNav={};this.init();this.setup()},setup:function(){var C=!!(this.dateRange&&((this.dateRange[1].getFullYear()-this.dateRange[0].getFullYear())>2));var I,H,B,D,G;var N=this;var K=Λ.dom.builder;this.box=K.div({"class":"calendar"},K.table(I=K.thead(),H=K.tbody()));var M=function(P,O){N.mainNav[P]={};I.appendChild(K.tr({"class":P},K.td(N.mainNav[P].previous=K.button({type:"button","class":"previous"},"<<")),B=K.th({colspan:5},""),K.td(N.mainNav[P].next=K.button({type:"button","class":"next"},">>"))));N.mainNav[P].previous.onclick=function(){if(this.disabled){return }N.currentDate["set"+O](N.currentDate["get"+O]()-1);N.switchSet()};N.mainNav[P].previous=new Λ.ButtonControl(N.mainNav[P].previous);N.mainNav[P].next.onclick=function(){if(this.disabled){return }N.currentDate["set"+O](N.currentDate["get"+O]()+1);N.switchSet()};N.mainNav[P].next=new Λ.ButtonControl(N.mainNav[P].next);N[P+"Text"]=B.appendChild(document.createTextNode(""))};if(C){M("year","FullYear")}M("month","Month");if(this.dateRange){if(!C){B=this.monthText.parentNode;B.appendChild(document.createTextNode(" "));this.yearText=B.appendChild(document.createTextNode(""))}var J=I.appendChild(K.tr({"class":"weekdays"}));G=-1;while(++G<7){J.appendChild(K.th(this.weekDays[G]))}}this.dayButtons=[];G=5;var F=-1;var E=function(O){var P=H.appendChild(document.createElement("tr"));while(O--){P.appendChild(K.td(N.dayButtons[++F]=K.button({type:"button"},"")));N.dayButtons[F].onclick=function(Q){if(this.disabled){return }N.toggleSelect(this.$control)};N.dayButtons[F]=new Λ.ButtonControl(N.dayButtons[F]);N.dayButtons[F].text=N.dayButtons[F].target.firstChild}return P};while(G--){E(7)}if(this.dateRange){E(2).appendChild(K.td({colspan:5}))}if(this.max>1){var L=this.box.appendChild(K.div({"class":"cp"}));L.innerHTML='<button class="submit"><span class="wrapper">'+Λ._("button.ok")+Λ.conf.buttonDecoration+'</span></button><button class="cancel"><span class="wrapper">'+Λ._("button.cancel")+Λ.conf.buttonDecoration+"</span></button>";this.cp=new Λ.ControlPanel(L);this.cp.buttonSubmit.addEventListener("click",function(){N.initValue=N.getValue();N.select()},false);this.cp.buttonCancel.addEventListener("click",function(){N.cancel()},false)}else{this.box.appendChild(K.div({"class":"close"},D=K.button({type:"button"},Λ._("button.close"))));D.onclick=function(){N.cancel()}}this.multiControl=new Λ.InputControl.multiControl(this,this.box.matchAll("button"));this.switchSet()},switchSet:function(){var G=Λ.dateTime.getMonthLastDayByMonth(this.currentDate.getMonth()+1,this.dateRange?this.currentDate.getFullYear():2000);if(this.dateRange){if(this.mainNav.year){if(this.dateRange[0]>new Date(this.currentDate.getFullYear()-1,this.currentDate.getMonth(),G,23,59,59,999)){this.mainNav.year.previous.disable()}else{this.mainNav.year.previous.enable()}if(this.dateRange[1]<new Date(this.currentDate.getFullYear()+1,this.currentDate.getMonth(),1)){this.mainNav.year.next.disable()}else{this.mainNav.year.next.enable()}}if(this.dateRange[0]>new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()-1,Λ.dateTime.getMonthLastDayByMonth(Λ.dateTime.getPreviousMonth(this.currentDate)+1,this.currentDate.getFullYear()),23,59,59,999)){this.mainNav.month.previous.disable()}else{this.mainNav.month.previous.enable()}if(this.dateRange[1]<new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()+1,1)){this.mainNav.month.next.disable()}else{this.mainNav.month.next.enable()}}else{this.currentDate.setFullYear(2000)}if(this.dateRange){this.yearText.nodeValue=this.currentDate.getFullYear()}this.monthText.nodeValue=this.months[this.currentDate.getMonth()];var F=-1;if(this.dateRange){this.currentDate.setDate(1);this.firstDayIndex=this.currentDate.getDay()||7;var D=this.firstDayIndex;while(--D){this.dayButtons[++F].disable();this.dayButtons[F].target.addClass("empty")}}else{this.firstDayIndex=1}var C=[1,31];if(this.dateRange[0]>new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),1)){C[0]=this.dateRange[0].getDate()}if(this.dateRange[1]<new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),G)){C[1]=this.dateRange[1].getDate()}var B=0;var E=this.disabledDates.toString();var H=this.currentDate.getFullYear()+"-"+Λ.num.pad((this.currentDate.getMonth()+1),2)+"-";while(++B<=G){this.dayButtons[++F].text.nodeValue=B;this.dayButtons[F].target.removeClass("empty");if((C[0]>B)||(C[1]<B)||(E.indexOf(H+Λ.num.pad(B,2))!==-1)){this.dayButtons[F].disable()}else{this.dayButtons[F].enable()}}while(this.dayButtons[++F]){this.dayButtons[F].disable();this.dayButtons[F].target.addClass("empty")}this.updateSelection()},updateSelection:function(){var B=this;this.selection.forEach(function(C){if((C.getFullYear()==B.currentDate.getFullYear())&&(C.getMonth()==B.currentDate.getMonth())){C.$control=B.dayButtons[B.firstDayIndex-2+C.getDate()];C.$control.select(C)}else{if(C.$control){C.$control.deselect();C.$control=null}}})},toggleSelect:function(C){if((this.max==1)&&!C.data&&this.selection.length){var B=this.selection.pop();if(B.$control){B.$control.deselect()}}if(C.data){if(this.selection.length>this.min){this.selection.splice(this.selection.indexOf(C.data),1)[0];C.deselect();if((this.max==1)&&(this.min===0)){this.select()}this.onChange()}else{if(this.max==1){this.select()}}}else{if(this.selection.length<this.max){if(C.data){this.selection.splice(this.selection.indexOf(C.data),1)[0];C.deselect()}else{C.select(new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),C.text.nodeValue));this.selection.push(C.data);C.data.$control=C;if(this.max>1){this.selection.sort()}else{this.select()}}this.onChange()}}},validateSelection:function(E){if(E.constructor!==Array){throw"Calendar error: selection needs to be an array"}else{if(E.length>this.max){throw"Calendar error: passed selection length is greater than allowed maximum length"}}var B={};var D=this.disabledDates.toString();var C=true;E.forEach(function(F){F.setHours(0,0,0,0);if(B[F.toString()]){Λ.log.error("Calendar error: passed selection has two equal dates");C=false}else{if(D.indexOf(Λ.dateTime.toISODate(F))!==-1){Λ.log.error("Calendar error: selection on disabled date");C=false}}if(this.dateRange&&((this.dateRange[0]>F)||(this.dateRange[1]<F))){Λ.log.debug(this.dateRange,F);Λ.log.error("Calendar error: passed selection doesn't fit into allowed date range");C=false}B[F.toString()]=true},this);if(!C){return false}E.sort();return true},getValue:function(){return[].concat(this.selection)},setValue:function(B){this.validateSelection(B);this.selection.sort();if(this.selection.toString()!==B.toString()){this.selection.forEach(function(C){if(C.$control){C.$control.deselect();C.$control=null}});this.selection=B;this.updateSelection();this.onChange()}},reset:function(){if(this.modified){this.setValue(this.initValue);this.onChange()}},validateCondition:function(){return((this.selection.length>=this.min)&&(this.selection.length<=this.max))},validate:function(){if(this.validateCondition()){if(!this.isValid){this.isValid=true;this.control.removeClass("invalid");this.dispatchEvent("validchange")}}else{if(this.isValid){this.isValid=false;this.control.addClass("invalid");this.dispatchEvent("validchange")}}},onChange:function(){this.base();this.validate()}};Λ.func.extend(Λ.Calendar,Λ.InputControl);Λ.CalendarInput=function(B,C){if(B.$calendar){return B.$calendar}B.$calendar=this;B.setAttribute("autocomplete","off");this.control=B;this.name=B.name;C=C||{};this.noSelectionValue=C.noSelectionValue||"";var D=[];if(!C.selection&&(this.control.value!=="")){if(C.dateRange===false){this.dateRange=false}C.selection=this.getDatesFromText(this.control.value)}this.control.$inputControl=this.control.$control=this;this.initialize(C);this.sendToInput();this.controlSetup();this.box.addClass("overlay");this.control.parentNode.insertBefore(this.box,this.control.nextSibling);this.overlay=new Λ.Overlay(this.box,{context:this.control});this.addEventListener("cancel",function(){this.select()});this.addEventListener("change",function(){this.sendToInput()},false);if(this.validateCondition()){this.isValid=true}else{this.isValid=false;this.control.addClass("invalid")}};Λ.CalendarInput.prototype={sendToInput:function(){this.control.value=this.selection.length?this.getValue():this.noSelectionValue},controlSetup:function(){var B=this;var C=this;this.control.addEventListener("click",function(){B.overlay.set();B.overlay.show();Λ.log.debug(B,B.selection[0],B.dayButtons[10].target.disabled);(B.selection[0]?B.selection[0].$control.target:B.dayButtons[10].target).focus();B.multiControl.forceFocus()},false);this.control.addEventListener("keypress",function(D){D.preventDefault()},false);this.addEventListener("modifystatuschange",function(){if(this.modified){this.control.addClass("changed");this.box.addClass("changed")}else{this.control.removeClass("changed");this.box.removeClass("changed")}});this.addEventListener("blur",function(){this.overlay.hide()});this.multiControl.addElements([this.control])},select:function(){this.overlay.hide()},disable:function(){this.control.disabled=true;this.onDisable()},enable:function(){this.control.disabled=false;this.onEnable()},getValue:function(){return this.selection.map(this.dateRange?function(B){return Λ.dateTime.toISODate(B)}:function(B){return Λ.dateTime.toISODate(B).substr(5)}).join(",")},setValue:function(B){B=this.getDatesFromText(B);if(this.selection.toString()!==B.toString()){this.selection.forEach(function(C){if(C.$control){C.$control.deselect();C.$control=null}});this.selection=B;this.updateSelection();this.onChange()}},getDatesFromText:function(G){var D=[];if(G!==""){var F=(this.dateRange===false)?"2000-":"";var E=G.split(",");for(var C=0;C<E.length;++C){var H=Λ.str.trim(E[C]);var B;if(H.indexOf(":")>-1){throw"Calendar error: Date ranges are not supported yet '"+H+"'"}else{if((B=Λ.dateTime.ISOToDate(F+H))){D.push(B)}else{if(D.length){D=[]}break}}}D.sort()}return D},blur:function(){if(this.focused){this.control.blur();this.onBlur()}}};Λ.func.extend(Λ.CalendarInput,Λ.Calendar)})();
Λ.Calendar.behavior=function(B){if(B.$calendar){return B.$calendar}Λ.log.debug("BHVR: Calendar ",B);var J={},C,D,I,H,E=true;var G=[];if(B.hasAttribute("data-daterange")){H=B.getAttribute("data-daterange");if(H==="false"){J.dateRange=false;E=false}else{A=B.getAttribute("data-daterange").split(":");if(A.length!==2){G[G.length]="Incorrect data-daterange value. Got '"+B.getAttribute("data-daterange")+"' but expects two dates separated with colon e.g. '2001-01-01:2013-01-01'"}else{try{D=Λ.dateTime.parse(A[0])}catch(F){G[G.length]="Incorrect data-daterange value. First date is not valid ISO date: is '"+A[0]+"' expected e.g. '2001-05-28'"}try{I=Λ.dateTime.parse(A[1]);I.setHours(23,59,59,999)}catch(F){Λ.log.debug(F);G[G.length]="Incorrect data-daterange value. Last date is not valid ISO date: is '"+A[1]+"' expected e.g. '2001-05-28'"}if(D&&I){J.dateRange=[D,I]}}}}if(B.hasAttribute("data-monthpage")){try{J.currentDate=Λ.dateTime.parse(B.getAttribute("data-monthpage")+"-01")}catch(F){G[G.length]="Incorrect data-monthpage value. is '"+B.getAttribute("data-monthpage")+"' expected e.g. '"+(E?"2005-":"")+"05'"}}if(B.hasAttribute("data-min")){H=B.getAttribute("data-min");if(/^\d+$/.test(H)&&(H>=0)){J.min=H}else{G[G.length]="Incorrect data-min value. is '"+H+"' expected e.g. '1'"}}else{J.min=1}if(B.hasAttribute("data-max")){H=B.getAttribute("data-max");if(/^\d+$/.test(H)&&(H>0)){if(J.max<J.min){G[G.length]="Incorrect data-max and data-min value. data-max cannot be smaller than data-min (data-min by default is 1, and data-max by default is 1 - if you provided value just for one setting make sure they comply with default value of other setting"}J.max=H}else{G[G.length]="Incorrect data-max value. is '"+H+"' expected e.g. '1'"}}if(B.hasAttribute("data-disableddates")){var A=Λ.str.trim(B.getAttribute("data-disableddates"));if(A){J.disabledDates=A.split(/\s*,\s*/).map(function(L){try{return Λ.dateTime.parseToISO(Λ.str.trim(L))}catch(K){G[G.length]="Incorrect ISO date within data-disabled value. found '"+L+"' expected e.g. '"+(E?"2005-":"")+"05-28'"}})}}if(G.length){throw new TypeError("Cannot setup Calendar: "+G.join("\n"))}return new Λ.CalendarInput(B,J)};Λ.Calendar.behaviorAll=function(A){if(!A){A="calendar"}Λ.DOMReady.selectorAll("input",function(B){if(B.hasClass(A)){Λ.Calendar.behavior(B)}})};Λ.Calendar.captureRegister=function(){Λ.EventCapture.click.register(Λ.Calendar,["input"],".calendar")};
(function(){var B;(function(){var H;var M=new Λ.Point();var D=new Λ.Point();var G=new Λ.Point();var F=new Λ.Point();var I=new Λ.Point();var K=function(N){if(!H.inProgress){Λ.log.error("Not in progress!");return }N.preventDefault();G.x=N.clientX;G.y=N.clientY;I.x=F.x+N.clientX;I.y=F.y+N.clientY;H.dispatchEvent("progress",I,G)};var E=function(){F=Λ.domPosition.getPosition(window);I.x=F.x+G.x;I.y=F.y+G.y;H.dispatchEvent("progress",I,G)};var J=function(N){if(!H.inProgress){Λ.log.error("Not in progress!");return }if(Λ.IE){setTimeout(E,0)}else{E()}};var L=function(N){document.removeEventListener("mousemove",K,false);window.removeEventListener("scroll",J,false);document.removeEventListener("mouseup",L,false);if(!H.inProgress){Λ.log.error("Mouse up not in progress!")}H.onSuccess();H.onComplete();H.target=null;H=null};B=function(Q,P,R){if(H&&H.inProgress){return }Q.preventDefault();this.begin();H=this;targetStyle=P.style;switch(this.mode){case 0:M.x=parseInt(targetStyle.left,10)||0;M.y=parseInt(targetStyle.top,10)||0;targetStyle.position="relative";break;case 1:M.x=P.offsetLeft;M.y=P.offsetTop;targetStyle.position="absolute";break;case 2:M.x=P.offsetLeft;M.y=P.offsetTop;var N=P;P=P.parentNode.appendChild(P.cloneNode(true));N.addClass("drag-target");targetStyle=P.style;targetStyle.position="absolute";targetStyle.display="none";this.addEventListener("complete",function(){this.removeEventListener("complete",arguments.callee);N.removeClass("drag-target");P.parentNode.removeChild(P)});break;default:throw new TypeError("Drag element error: Unrecognized mode: '"+R+"'")}P.addClass("dragged");var O=function(S){targetStyle.left=(M.x+S.x-D.x)+"px";targetStyle.top=(M.y+S.y-D.y)+"px";targetStyle.display=""};this.addEventListener("progress",O);this.addEventListener("complete",function(){this.removeEventListener("progress",O);this.removeEventListener("complete",arguments.callee);P.removeClass("dragged")});G.x=Q.clientX;G.y=Q.clientY;F=Λ.domPosition.getPosition(window);D.x=F.x+Q.clientX;D.y=F.y+Q.clientY;document.addEventListener("mousemove",K,false);window.addEventListener("scroll",J,false);document.addEventListener("mouseup",L,false)}})();Λ.style.addCSS("	  .dragged {			z-index: 5000000;			cursor: move;		}		.drag-target {		  opacity: 0.7;			filter: alpha(opacity=70);	  }		.draggables .drag-holder, .draggables.drag-holder {		  cursor: pointer;		}	");Λ.Drag=Λ.AsyncObj.extend({constructor:function(D){this.container=D;this.container.addClass("draggables");D.addEventListener("mousedown",this.mouseDownListener=Λ.Drag._mouseDown.bind(this),false)},destruct:function(){el.removeEventListener("mousedown",this.mouseDownListener,false);this.container.removeClass("draggables");delete this.container},recursiveHolder:true,mode:0});Λ.Drag._mouseDown=function(F){var D=Λ.$b(F.target);if(!D.hasClass("drag-holder")){if(this.recursiveHolder){while(true){if(D===this.container){return }D=Λ.$b(D.parentNode);if(D.hasClass("drag-holder")){break}}}else{return }}var E=D;while(!E.hasClass("draggable")){if(E===this.container){Λ.log.error("Drag error: Found holder without draggable parent",D);throw new TypeError("Drag error: Found holder without draggable parent")}E=Λ.$b(E.parentNode)}this.target=E;B.call(this,F,E)};var A=function(D){if(D.hasAttribute("data-droppables")){Λ.DOMBehaviors.$$(D.getAttribute("data-droppables"),D).forEach(function(F){var E=Λ.Droppable.behavior(F);E.assignDraggable(D.$DragDrop)})}};var C=function(E){var D=setInterval(function(){if(Λ.$isDOMContentLoaded){clearInterval(D)}A(E)},200)};Λ.Drag.behavior=function(F,E){if(F.$DragDrop){return F.$DragDrop}Λ.log.debug("Drag behavior",F,E);var D=F.$DragDrop=new Λ.Drag(F);D.mode=2;C(F)}})();
(function(){var A=(function(){var K,I,D,C,E,B,J,H;var F=function(L){if(!E){Λ.log.error("Move on current null!");return }L.preventDefault();B.left=(J=K+L.clientX-D)+"px";B.top=(H=I+L.clientY-C)+"px";E.onmove(J,H)};var G=function(L){document.removeEventListener("mousemove",F,false);document.removeEventListener("mouseup",G,false);if(!E){return }E.draggable.removeClass("dragged");E.target.removeClass("draggable-target");E.onend();E=B=null};return function(N){if(E){return }var M=Λ.$b(N.target),L=false;while(M){if(M.hasClass("draggable")){break}else{if(M.hasClass("drag-holder")){L=true}else{if(L&&M.hasClass("draggable-by-holder")){break}}}M=Λ.$b(M.parentNode);if((M===this.container)||(M===document.documentElement)){return }}if(!M){throw new TypeError("target not found")}this.target=M;N.preventDefault();if(!this.onstart()){return }E=this;B=E.draggable.style;D=N.clientX;C=N.clientY;K=E.target.offsetLeft;I=E.target.offsetTop;E.draggable.addClass("dragged");E.target.addClass("draggable-target");B.left=K+"px";B.top=I+"px";B.display="block";document.addEventListener("mousemove",F,false);document.addEventListener("mouseup",G,false)}})();Λ.style.addCSS(".dragged { position: absolute; z-index: 5000000; cursor: move; } .draggable-target { opacity: 0.7; filter: alpha(opacity=70); }");Λ.DragDrop=Λ.Base.extend({constructor:function(B){this.container=B;B.addEventListener("mousedown",A.bind(this),false)},container:null,target:null,draggable:null,onstart:function(){this.draggable=this.target;return true},onmove:Λ.func.empty,onend:Λ.func.empty})})();
Λ.DragDropClone=Λ.DragDrop.extend({onstart:function(){this.draggable=this.target.parentNode.appendChild(this.target.cloneNode(true));this.draggable.style.display="none";return true},onend:function(){this.draggable.parentNode.removeChild(this.draggable)}});
Λ.DragDropOrderSet=Λ.DragDropClone.extend({constructor:function(A){this.base(A)},calculate:function(){if(this.collection.length<2){this.valid=false;return }var B=0;var C=this.collection[B++];var A=C.offsetLeft;var D=C.offsetTop;this.colCount=1;var C=this.collection[B++];this.itemWidth=(C.offsetLeft-A)||C.clientWidth;this.itemHeight=C.clientHeight;do{if(D<C.offsetTop){this.itemHeight=C.offsetTop-D;break}++this.colCount}while(C=this.collection[B++]);this.halfItemWidth=Math.round(this.itemWidth/2);this.halfItemHeight=Math.round(this.itemHeight/2);this.totalHeight=this.itemHeight*Math.ceil(this.collection.length/this.colCount);this.totalWidth=this.itemWidth*this.colCount;this.valid=true;Λ.log.debug("Drag N'Drop Set: "," itemWidth="+this.itemWidth," itemHeight="+this.itemHeight," colCount="+this.colCount)},itemWidth:null,halfItemWidth:null,halfItemHeight:null,itemHeight:null,totalWidth:null,colCount:null,currentPosition:null,initPosition:null,_cacheLength:null,valid:false,getPosition:function(B,C){B+=this.halfItemWidth;C+=this.halfItemHeight;if(C<=0){A=this.initPosition}else{if((B>0)&&(B<this.totalWidth)&&(C<this.totalHeight)){var A=Math.floor(C/this.itemHeight)*this.colCount+Math.floor(B/this.itemWidth);if(A>=this.collection.length){A=this.collection.length-1}}else{A=this.collection.length-1}}return A},onstart:function(){if(this.target===this.container){return false}if(this._cacheLength!==this.container.childNodes.length){this.collection=Λ.dom.children(this.container);this._cacheLength=this.container.childNodes.length;this.calculate()}if(!this.valid){return }this.initPosition=this.currentPosition=this.getPosition(this.target.offsetLeft,this.target.offsetTop);if(this.collection[this.currentPosition]!==this.target){Λ.log.error("Error: Something went wrong - currentPosition does not point current element",this.currentPosition);throw new Error("Cannot initialize Drag & Drop: currentPosition does not point current element")}return this.base()},onmove:function(C,D){var B=this.getPosition(C,D);if((B!==null)&&B!==this.currentPosition){var A=(B>this.currentPosition)?B+1:B;if(A>=this.collection.length){this.container.appendChild(this.target)}else{this.container.insertBefore(this.target,this.collection[A])}this.collection.splice(this.currentPosition,1);this.collection.splice(B,0,this.target);this.currentPosition=B}}});
Λ.DragDropOrderSet.behavior=function(B){Λ.log.debug("BHVR: DragDrop Order editor ",B);var A=new Λ.DragDropOrderSet(B);if(B.hasAttribute("data-custom")){Λ[B.getAttribute("data-custom")](A)}};Λ.DragDropOrderSet.behaviorAll=function(){Λ.DOMReady.selectorAll("div, ol, ul",function(A){if(A.hasClass("dragdrop-order-editor")){Λ.DragDropOrderSet.behavior(A)}})};
Λ.Droppable=Λ.Base.extend({constructor:function(A){this.container=A;A.addClass("droppable");this.draggables=[]},current:null,previous:null,calculate:function(){this.containerBounds=Λ.domPosition.getRectangle(this.container);this.droppablesBounds=Λ.dom.children(this.container).map(function(A){return Λ.domPosition.getRectangle(A)})},check:function(B,A){if(this.current&&this.current.isWithin(A)){return }var C;if(this.containerBounds.isWithin(A)&&this.droppablesBounds.some(function(D){return D.isWithin(A)?(C=D):false},this)){this.previous=this.current;this.current=C;this.current.target.addClass("drag-over")}else{if(this.current){this.current.target.removeClass("drag-over");this.previous=this.current;this.current=null}else{return }}this.dispatchEvent("dragchange",this.current&&this.current.target,this.previous&&this.previous.target,B.target)},checkOnComplete:function(A){if(A.current){A.current.target.removeClass("drag-over");A.previous=A.current;A.current=null;A.dispatchEvent("dragchange",A.current,A.previous.target,this.target);Λ.log.debug("DROP",this,this.target);A.dispatchEvent("drop",A.previous.target,this.target)}},assignDraggable:function(A){if(this.draggables.indexOf(A)!==-1){return }this.draggables.push(A);Λ.log.debug("DRAGGABLE ASSIGN: ",A);A.addEventListener("begin",Λ.$bind(this.calculate,this,A));A.addEventListener("progress",Λ.$bind(this.check,this,A));A.addEventListener("complete",Λ.func.partial(this.checkOnComplete,this))}});Λ.Droppable.implement(Λ.Async);Λ.style.addCSS("	.droppable .inprogress {    opacity:0.3;		filter: alpha(opacity=30);  }");Λ.Droppable.behavior=function(C){if(C.$Droppable){return C.$Droppable}Λ.log.debug("Droppable behavior",C);var B=C.$Droppable=new Λ.Droppable(C);var A=function(G,H){return G&&H&&G.hasAttribute("data-id")&&H.hasAttribute("data-id")};var F=function(G,H){return A(G,H)&&(!G.hasAttribute("data-filter")||!(new RegExp("(^|(,\\s*))"+H.getAttribute("data-id")+"((\\s*,)|$)").test(G.getAttribute("data-filter"))))};B.addEventListener("dragchange",function(I,H,G){if(F(I,G)){I.addClass("open")}else{if(A(I,G)){I.addClass("closed")}}if(H){H.removeClass("closed");H.removeClass("open")}});if(C.hasAttribute("data-url")){var E=new Λ.Xhr(C.getAttribute("data-url"));var D;E.addEventListener("success",function(G){if(G.actions){Λ.DOMBehaviors.newProcessObjActions(G.actions,D)}Λ.dom.timeoutClass(D,"fed")});E.addEventListener("failure",function(G){Λ.dom.timeoutClass(D,"error")});E.addEventListener("complete",function(){D.removeClass("inprogress")});B.addEventListener("drop",function(G,H){if(F(G,H)){D=G.addClass("inprogress");E.post({container_id:G.getAttribute("data-id"),item_id:H.getAttribute("data-id")})}})}return B};
Λ.HTMLFormControl=Λ.Base.extend({constructor:function(A,B){if(A.$control){if(B){A.$control.validateCondition=B}return A.$control}A.$control=this;this.control=A;if(A.id){this.labelEl=Λ.$b(A.form||document).querySelector("label[for="+A.id+"]")}if(B){this.validateCondition=B}if(this.validateCondition(this.control)){this.isValid=true}else{this.isValid=false;this.control.addClass("invalid");if(this.labelEl){this.labelEl.addClass("invalid")}}},isValid:null,validateCondition:function(){return true},validate:function(){if(this.validateCondition(this.control)){if(!this.isValid){this.isValid=true;this.control.removeClass("invalid");if(this.labelEl){this.labelEl.removeClass("invalid")}this.dispatchEvent("validchange")}}else{if(this.isValid){this.isValid=false;this.control.addClass("invalid");if(this.labelEl){this.labelEl.addClass("invalid")}this.dispatchEvent("validchange")}}}});Λ.HTMLFormControl.implement(Λ.EventsHandler);
(function(){Λ.HTMLInputTextControl=Λ.HTMLFormControl.extend({constructor:function(B,C){if(B.$control){return this.base(B,C)}this.base(B,C);this.value=B.value;var A=this.checkValue.bind(this);B.addEventListener("keyup",A,false);B.addEventListener("change",A,false)},checkValue:function(){this.validate();if(this.value!==this.control.value){this.value=this.control.value;this.dispatchEvent("change")}}})})();
(function(){Λ.HTMLInputHiddenControl=Λ.HTMLFormControl.extend({constructor:function(A,B){if(A.$control){return this.base(A,B)}this.base(A,B);this.value=A.value;setInterval(this.checkValue.bind(this),300)},checkValue:function(){this.validate();if(this.value!==this.control.value){this.value=this.control.value;this.dispatchEvent("change")}}})})();
(function(){var A=function(){this.$control.validate()};Λ.HTMLSelectControl=Λ.HTMLFormControl.extend({constructor:function(B,C){if(B.$control){return this.base(B,C)}this.base(B,C);B.addEventListener("change",A,false)}})})();
(function(){var A={getHash:function(){if(!this.length){return{}}else{if(this.length===0){return this[0].getHash()}else{var B={};this.forEach(function(C){Λ.obj.override(B,C.getHash())});return B}}}};Λ.Form=function(B){var C=Λ.obj.extend(Λ.HTMLControlList.get(B),A,true);C.htmlElement=B;return C}})();
(function(){var B=function(){var C=(this.controls?this.controls[0]:this.control).form.$control;if(this.isValid){++C._validCount}else{--C._validCount}C.validate()};var A=function(C){C.preventDefault();C.$cancelled=true};Λ.HTMLForm=Λ.Base.extend({constructor:function(C,D){if(C.$control){return C.$control}Λ.log.debug("BHVR HTMLForm ",C);C.$control=this;this.control=C;C.addEventListener("reset",function(){setTimeout(this.onreset.bind(this),1)}.bind(this),false);if(D){this.$simple=true;this.isValid=true;return this}this.submitControls=new Λ.HTMLControlList();this.controls=new Λ.DOMList();Λ.DOMReady.selectorAll("input, select, textarea, button",function(F){var I=F.$control,J,K,E,H;if(!I){switch(F.nodeName.toLowerCase()){case"input":switch(F.type.toLowerCase()){case"text":if(F.hasClass("calendar")){I=Λ.Calendar.behavior(F);break}if(F.hasClass("email")){J=Λ.str.validate.email}else{if(F.hasClass("url")){J=Λ.str.validate.url}}H=(F.getAttribute("data-preservewhitespace")===true);case"password":if(F.hasAttribute("data-min")){E=F.getAttribute("data-min")}else{if(F.hasClass("required")){E=1}}if(!J&&F.hasAttribute("data-pattern")){var G=new RegExp(F.getAttribute("data-pattern"));J=G.test.bind(G)}if(J){if(E){K=function(L){var M=H?L.value:Λ.str.trim(L.value);return((M.length>=E)&&J(M))}}else{K=function(L){var M=H?L.value:Λ.str.trim(L.value);return J(M)||Λ.str.validate.empty(M)}}}else{if(E){K=function(L){var M=H?L.value:Λ.str.trim(L.value);return(M.length>=E)}}}if(F.hasAttribute("data-validcondition")){K=Λ[F.getAttribute("data-validcondition")]}I=new Λ.HTMLInputTextControl(F,K);break;case"hidden":if(F.hasClass("required")){I=new Λ.HTMLInputHiddenControl(F,function(L){var M=H?L.value:Λ.str.trim(L.value);return(M.length>=1)})}else{return }break;case"radio":I=new Λ.HTMLRadioControl(F);break;case"submit":case"image":this.submitControls[this.submitControls.length]=F;return ;default:return }break;case"select":if(F.hasClass("required")){K=function(L){return(L.value!==null)&&(L.value!=="0")&&(L.value!=="")};I=new Λ.HTMLSelectControl(F,K)}else{return }break;case"textarea":if(F.hasAttribute("data-min")){E=F.getAttribute("data-min")}else{if(F.hasClass("required")){E=1}}H=(F.getAttribute("data-preservewhitespace")===true);if(E){K=function(L){var M=H?L.value:Λ.str.trim(L.value);return(M.length>=E)};I=new Λ.HTMLInputTextControl(F,K)}else{return }break;case"button":if(F.type.toLowerCase()==="submit"){this.submitControls[this.submitControls.length]=F}return ;default:return }}if(this.controls.indexOf(I)===-1){Λ.log.debug("BHVR HTMLForm add control",I,I.controls?I.controls[0]:I.control,I.isValid);this.controls[this.controls.length]=I;if(I.isValid){++this._validCount}I.addEventListener("validchange",B);if(this.isValid!==null){this.validate()}}}.bind(this),C);Λ.DOMModObserver.selectorAll("input, select, textarea, button",function(F){var G=F.$control,E;if((E=this.controls.indexOf(G))!==-1){if(G.controls){if(G.controls.filter(C).length>=2){return }}this.controls.splice(E,1);if(G.isValid){--this._validCount}G.removeEventListener("validchange",B);this.validate()}}.bind(this),C);if(this._validCount===this.controls.length){this.isValid=true}else{this.isValid=false;this.submitControls.disable();this.control.addClass("invalid");this.control.addEventListener("submit",A,false)}},_validCount:0,isValid:null,validate:function(C){if(this.$simple){return }if(C){this.controls.forEach(function(D){D.validate()})}Λ.log.debug("form validate ",this._validCount,this.controls.length);if(this._validCount===this.controls.length){if(!this.isValid){this.isValid=true;this.submitControls.enable();this.control.removeClass("invalid");this.control.removeEventListener("submit",A,false);this.dispatchEvent("validchange")}}else{if(this.isValid){this.isValid=false;this.submitControls.disable();this.control.addClass("invalid");this.control.addEventListener("submit",A,false);this.dispatchEvent("validchange")}}},onreset:function(){Λ.log.debug("HTMLForm Reset");this.validate(true);this.dispatchEvent("reset")},reset:function(){this.control.reset();this.onreset()},submitControls:null});Λ.HTMLForm.implement(Λ.EventsHandler)})();
Λ.HTMLForm.behaviorAll=function(){Λ.DOMReady.selectorAll("form",function(A){if(A.hasClass("validated")){new Λ.HTMLForm(A)}})};
(function(){var A={disabled:false,valid:true,disable:function(B){if(!this.disabled||B){if(!B||!this.disabledCache){this.disabledCache=[]}this.disabled=true;this.forEach(function(C){if(!C.$element){new Λ.HTMLElement(C)}control=C.$element;if(!control.disabled){this.disabledCache[this.disabledCache.length]=control.disable(B)}else{if(B){control.disable(B)}}},this)}return this},enable:function(B){if(B){this.forEach(function(C){if(!C.$element){new Λ.HTMLElement(C)}C.$element.enable(B)},this);this.disabled=false}else{if(this.disabled){this.disabledCache.forEach(function(C){C.enable()});this.disabled=false}}return this},getByClassName:function(D){var B=0,E=[],C=new RegExp("(^|\\s)"+D+"(\\s|$)");while(el=this[B++]){if(C.test(el.className)){E[E.length]=el}}return new Λ.HTMLControlList(E)},getBySelector:function(B){var C=0,D=[];while(el=this[C++]){if(Λ.dom.matchesSelector(el,B)){D[D.length]=el}}return new Λ.HTMLControlList(D)},getHash:function(){var C={},B;this.forEach(function(D){if((D.name!=="")&&D.name&&((B=Λ.form.getValue(D))!==null)){C[D.name]=B}});return C},concat:function(){return new Λ.HTMLControlList(this.base.apply(this,arguments))}};Λ.HTMLControlList=function(){return Λ.obj.extend(Λ.DOMList.apply(this,arguments),A,true)};Λ.HTMLControlList.get=function(D,B){var C=Λ.$$("input, button, select, textarea, a",D);if(B&&(B.length!==0)){C=C.filter(B,true)}return new Λ.HTMLControlList(C)}})();
Λ.dHTMLInputTextNullValue=(function(){var A=function(){if(this.hasClass("nullvalue")){this.removeClass("nullvalue");this.value=""}};var C=function(){Λ.log.debug("INPUT NULL VALUE: ",this,this.value);if((this.value==="")||(this.value===this.$nullValue)){this.addClass("nullvalue");this.value=this.$nullValue;B(this)}};var B=function(E){var D=setInterval(function(){if(E.value!==E.$nullValue){E.removeClass("nullvalue");clearInterval(D);clearTimeout(F)}},100);var F=setTimeout(function(){clearInterval(D)},1000)};return function(D,E){D.$nullValue=E;Λ.$onDOMContentLoaded(C.bind(D));D.addEventListener("focus",A,false);D.addEventListener("blur",C,false)}})();
Λ.dHTMLInputTextNullValue.behavior=function(A){Λ.dHTMLInputTextNullValue(A,A.getAttribute("data-nullvalue"))};Λ.dHTMLInputTextNullValue.behaviorAll=function(){Λ.DOMReady.selectorAll("input, textarea",function(A){if(((A.nodeName.toLowerCase()==="textarea")||(A.type=="text"))&&A.hasAttribute("data-nullvalue")){Λ.dHTMLInputTextNullValue.behavior(A)}})};
(function(){var A=function(B){if(typeof B.value=="string"){B.value=this.value}else{if(B.nodeType!==3){Λ.dom.getTextNode(B).data=this.value}else{B.data=this.value}}};Λ.dHTMLInputMirror=function(E,B){var D=E.value;if(!B.length){B=[B]}var C=function(){B.forEach(A,this)};E.addEventListener("keyup",C,false);E.addEventListener("change",C,false)}})();
Λ.dHTMLInputMirror.behavior=function(A){Λ.log.debug("BHVR: HTMLInputMirror ",A);Λ.dHTMLInputMirror(A,Λ.DOMBehaviors.$$(A.getAttribute("data-mirror"),A))};Λ.dHTMLInputMirror.behaviorAll=function(){Λ.DOMReady.selectorAll("input, textarea",function(A){if(A.hasAttribute("data-mirror")){Λ.dHTMLInputMirror.behavior(A)}})};Λ.dHTMLInputMirror.captureRegister=function(){Λ.EventCapture.keydown.register(Λ.dHTMLInputMirror,["input","textarea"],"@mirror")};
(function(){Λ.dHTMLInputSwitchPanelCheckbox=function(E,A){Λ.log.debug("HTMLInputSwitchPanelCheckbox ",E,A);if(!E||!E.nodeName||(E.nodeName.toLowerCase()!=="input")){throw new TypeError("HTMLInputSwitchPanel error: Expected input element")}if(!A&&(!A.attributes||!(typeof A.length==="number"))){throw new TypeError("HTMLInputSwitchPanel error: invalid panel")}if(A.attributes){A=new Λ.HTMLElement(A)}var F;switch(E.type.toLowerCase()){case"checkbox":var D=new Λ.HTMLCheckboxControl(E);var B=(E.getAttribute("data-reverse")!=="true");D.addEventListener("change",F=function(){Λ.log.debug("SWITCH PANEL CHANGE",B,E.checked);A[(B?E.checked:!E.checked)?"show":"hide"](true)},false);A[(B?E.checked:!E.checked)?"show":"hide"](true);break;default:throw new TypeError("HTMLInputSwitchPanel error: Expected input element with 'radio' or 'checkbox' type")}var C=new Λ.HTMLForm(E.form,true);C.addEventListener("reset",F)}})();
(function(){Λ.dHTMLInputSwitchPanelRadio=function(D){Λ.log.debug("HTMLInputSwitchPanelRadio ",D);if(!D||!D.nodeName||(D.nodeName.toLowerCase()!=="input")){throw new TypeError("HTMLInputSwitchPanel error: Expected input element")}var E;switch(D.type.toLowerCase()){case"radio":var B=new Λ.HTMLRadioControl(D);if(B.$switchPanelSetup){return }B.$switchPanelSetup=true;var C;var E=function(){B.controls.forEach(function(H){var G;if((H!==B.current)&&H.hasAttribute("data-toggle")){G=H.getAttribute("data-toggle");if(G!==":none"){Λ.DOMBehaviors.$$(G,H).hide(true)}}});if(B.current&&B.current.hasAttribute("data-toggle")){var F=B.current.getAttribute("data-toggle");if(F!==":none"){(C=Λ.DOMBehaviors.$$(F,B.current)).show(true)}else{C=null}}};B.addEventListener("change",function(){if(C){C.hide(true)}if(this.current&&this.current.hasAttribute("data-toggle")){var F=this.current.getAttribute("data-toggle");if(F!==":none"){(C=Λ.DOMBehaviors.$$(F,this.current)).show(true)}else{C=null}}});E();break;default:throw new TypeError("HTMLInputSwitchPanel error: Expected input element with 'radio' or 'checkbox' type")}var A=new Λ.HTMLForm(D.form,true);A.addEventListener("reset",E)}})();
Λ.dHTMLFormButtonOnlySubmit=function(C){var A=C.querySelectorAll("input, select, textarea, button");var D=function(I,G){var F=I.nodeName.toLowerCase();var H=I.nodeType;if((F=="button")||(F=="textarea")||((F=="input")&&((H=="button")||(H=="submit")||(H=="hidden")||(H=="image")))){return }I.addEventListener("keypress",function(K){if(Λ.event.key.isEnter(K)){var J=G;var L;while((L=A.item(++G))&&(L.disabled||(L.type=="hidden"))){continue}if(L){L.focus()}K.preventDefault()}},false)};for(var B=0,E;(E=A.item(B));++B){D(E,B)}};
(function(){var A=function(B){if(B.$cancelled){return }if(!confirm(this.$confirmMessage)){B.preventDefault();B.$cancelled=true}};Λ.dHTMLFormConfirm=function(D,C,B){D.$confirmMessage=C;D.addEventListener("submit",A,true);return D}})();
Λ.dHTMLFormConfirm.behavior=function(A,B){Λ.log.debug("BHVR dHTMLFormConfirm ",A);Λ.dHTMLFormConfirm(A,A.getAttribute("data-confirm"),B)};Λ.dHTMLFormConfirm.behaviorAll=function(){Λ.DOMReady.selectorAll("form",function(A){if(A.hasAttribute("data-confirm")){Λ.dHTMLFormConfirm.behavior(A)}})};Λ.dHTMLFormConfirm.captureRegister=function(){Λ.EventCapture.submit.register(Λ.dHTMLFormConfirm,["form"],"@confirm")};Λ.dHTMLFormConfirm._capturePass=true;
(function(){var B=function(H,F,O){var L=decodeURIComponent(H.shift());var E=decodeURIComponent(H.shift());switch(L){case"text":case"password":var J=true,I;var M=document.createElement("input");M.type=L;M.name=E;M.value=O?decodeURIComponent(O):"";while(H[1]){H[1]=decodeURIComponent(H[1]);if(I=H[1].match(/^(!?)required$/)){J=!I[1]}else{if(I=H[1].match(/^maxlength(\d+)$/)){M.maxLength=I[1]}else{if(I=H[1].match(/^re-(.+)$/)){M.setAttribute("data-pattern",I[1])}else{break}}}H.splice(1,1)}if(F){M.id=F}if(J){M.className="required"}return M;case"hidden":var M=document.createElement("input");M.type="hidden";M.name=E;M.value=O?decodeURIComponent(O):"";return M;case"file":var M=document.createElement("input");M.type="file";M.name=E;if(F){M.id=F}return M;case"checkbox":var M=document.createElement("input");M.type="checkbox";M.name=E;M.value=O?decodeURIComponent(O):"";if(F){M.id=F}return M;case"radio":var C=O.split(".");var K="";var D=document.createElement("div");for(var G=0;G<C.length;++G){K+="<label>"+Λ.html.escapeString(decodeURIComponent(C[++G]))+' <input type="radio" class="required" name="'+E+'" value="'+Λ.html.escapeString(decodeURIComponent(C[G-1]))+'" /></label> '}D.innerHTML=K;return D;case"select":var P=false;while(H[1]){H[1]=decodeURIComponent(H[1]);if(H[1]==="multiple"){P=true}else{break}H.splice(1,1)}var C=O.split(".");var K='<select name="'+E+'"';if(P){K+=' multiple="multiple"'}if(F){K+=' id="'+F+'"'}K+=">";for(var G=0;G<C.length;++G){K+='<option value="'+Λ.html.escapeString(decodeURIComponent(C[G]))+'">'+Λ.html.escapeString(decodeURIComponent(C[++G]))+"</option>"}K+="</select>";return Λ.html.firstElement(K);case"textarea":var I,J;var N=document.createElement("textarea");N.name=E;N.cols=40;N.rows=9;N.value=O?decodeURIComponent(O):"";if(F){N.id=F}while(H[1]){H[1]=decodeURIComponent(H[1]);if(I=H[1].match(/^(!?)required$/)){if(I[1]){N.addClass("required")}}else{if(I=H[1].match(/^maxlength(\d+)$/)){Λ.form.textareaMaxlength(N,parseInt(I[1],10))}else{break}}H.splice(1,1)}return N;default:throw new TypeError("Cannot build form: Unrecognized control type: '"+L+"'")}};var A=0;Λ.dHTMLFormSimple=function(C,S,V,H,c,Y,F,E,a,G){var L=document.createElement("div");L.addClass("behavior-generated");if(F){L.className+=" "+F}var D=C.$form=document.createElement("form");D.method="post";D.action=S;D.className="validated";if(a){L.innerHTML=(E||"")+'<div class="temp-simple-form-holder"></div>'+a;L.replaceChild(D,Λ.$("div.temp-simple-form-holder",L))}else{L.innerHTML=E||"";L.appendChild(D)}var N="";if(c){N+="<h4>"+Λ.html.escapeString(c)+"</h4>"}D.innerHTML=N;var T=true;var J=0,W;for(W in V){if(W.split(".")[0]!=="hidden"){if(++J>1){T=false;break}}}if(!Y){Y=Λ._("button.submit")}var b;if(T){var P="bhForm-"+(++A)+"-";var O=D.appendChild(document.createElement("div"));var R=O;for(W in V){b=W.split(".");var Z=((b[0]!=="hidden")&&(typeof b[2]=="string")&&(b[2]!==""));var Q=!c?(P+decodeURIComponent(b[1])):false;var K=B(b,Q,V[W]);if(Z){if(!c){var M=document.createElement("label");M.htmlFor=Q;M.className="heading";M.innerHTML=Λ.html.escapeString(decodeURIComponent(b.join(".")));R.appendChild(M)}else{R=R.appendChild(document.createElement("label"));R.innerHTML=Λ.html.escapeString(decodeURIComponent(b.join(".")))+" "}}R.appendChild(K)}var U=O.appendChild(document.createElement("span"));U.innerHTML='<button type="submit" class="submit"><span class="wrapper">'+Λ.html.escapeString(Y)+Λ.conf.buttonDecoration+"</span></button>"}else{var X=D.appendChild(document.createElement("table")).appendChild(document.createElement("tbody"));var K,I,P;for(W in V){b=W.split(".");switch(b[0]){case"info":b.shift();I=X.appendChild(document.createElement("tr"));I.appendChild(document.createElement("th")).innerHTML=Λ.html.escapeString(decodeURIComponent(b.join(".")));I.appendChild(document.createElement("td")).innerHTML='<div class="info">'+Λ.html.escapeString(decodeURIComponent(V[W]))+"</div>";break;case"hidden":D.appendChild(B(b,false,V[W]));break;default:P="bhForm-"+(++A)+"-"+decodeURIComponent(b[1]);K=B(b,P,V[W]);I=X.appendChild(document.createElement("tr"));if(b.length){I.appendChild(document.createElement("th")).innerHTML='<label for="'+P+'">'+Λ.html.escapeString(decodeURIComponent(b.join(".")))+"</label>"}else{I.appendChild(document.createElement("td"))}I.appendChild(document.createElement("td")).appendChild(K)}}var O=D.appendChild(document.createElement("div"));O.className="submit";O.innerHTML='<button type="submit" class="submit"><span class="wrapper">'+Λ.html.escapeString(Y)+Λ.conf.buttonDecoration+"</span></button>"}if(Λ.$("textarea",L)){Λ.$$("input[type=text], input[type=password]",L).forEach(function(d){d.size=42})}C.$formOverlay=G?new Λ.Curtain(L):Λ.Overlay.behavior(C,L,C);C.$formOverlay.show();Λ.DOMReady.process(L);D.$controlList=Λ.HTMLControlList.get(C.$form);if(H){Λ.dHTMLFormAsync(D);Λ.dHTMLAsync.behavior(C,D.$xhr);D.$xhr.addEventListener("begin",D.$controlList.disable.bind(D.$controlList));D.$xhr.addEventListener("complete",function(){C.$formOverlay.hide();D.$controlList.enable()})}}})();
(function(){Λ.dHTMLFormSimple.behavior=function(B){Λ.log.debug("BHVR: Form Simple ",B.getAttribute("data-form"));B.addEventListener("click",function(I){I.preventDefault();if(I.$cancelled){return }if(B.$formOverlay){if(B.$formOverlay.set){B.$formOverlay.set({context:B})}B.$formOverlay.show();return }var F=Λ.hash.fromQueryString(B.getAttribute("data-form"),true);Λ.log.debug("FORM SIMPLE data: ",B.getAttribute("data-form"),F);var J=F["class"]?decodeURIComponent(F["class"]):false;delete F["class"];var D=B.hasClass("async");var E=(B.nodeName.toLowerCase()=="a")?B.href:decodeURIComponent(F.action);delete F.action;var K=F.title?decodeURIComponent(F.title):false;delete F.title;var H=!!F.incurtain;delete F.incurtain;var L=F.submittext?Λ.html.escapeString(decodeURIComponent(F.submittext)):false;delete F.submittext;var G,C;if(F.appendhtml){G=Λ.conf[decodeURIComponent(F.appendhtml)];delete F.appendhtml}if(F.prependhtml){C=Λ.conf[decodeURIComponent(F.prependhtml)];delete F.prependhtml}Λ.dHTMLFormSimple(B,E,F,D,K,L,J,C,G,H)},false)};var A=function(B){if(B.hasAttribute("data-form")){B.$bhIgnore_DOMBehaviors=true;B.$bhIgnore_dHTMLAHref=true;Λ.dHTMLFormSimple.behavior(B)}};Λ.dHTMLFormSimple.behaviorAll=function(B){Λ.DOMReady.selectorAll("a, button",A)};Λ.dHTMLFormSimple.captureRegister=function(){Λ.EventCapture.click.register(Λ.dHTMLFormSimple,["a","button"],"@form")}})();
(function(){var B=function(C){if(this!==this.$control.current){this.$control.previous=this.$control.current;this.$control.current=this;this.$control.dispatchEvent("change",this);if(!this.$control.isValid){this.$control.isValid=true;this.$control.dispatchEvent("validchange")}}};var A=function(){setInterval(function(){var E,D=0,C=this.controls;while(E=C[D++]){if(E.checked){B.call(E);return }}}.bind(this),300)};Λ.HTMLRadioControl=Λ.Base.extend({constructor:function(C){if(C.$control){return C.$control}this.controls=Λ.$$("input[name="+C.name+"]",Λ.$b(C.form));this.controls.forEach(function(D){D.$control=this;if(D.checked){this.current=D}Λ.log.debug("HTMLRadioControl ",D);if(Λ.IE){A.call(this)}else{D.addEventListener("change",B,false)}if(D.hasClass("required")){this.isRequired=true}},this);if(!this.isRequired||this.current){this.isValid=true}},previous:null,current:null,isRequired:false,isValid:false,validate:function(){if(this.isRequired){var C=0,D;while(D=this.controls[C++]){if(D.checked){if(!this.isValid){this.isValid=true;this.dispatchEvent("validchange");return }}}if(this.isValid){this.isValid=false;this.dispatchEvent("validchange")}}}});Λ.HTMLRadioControl.implement(Λ.EventsHandler)})();
(function(){var B=function(){GRONO.log.debug("CHECK CHANGE");this.$control.dispatchEvent("change",this)};var A=function(){var C=this.control.checked;setInterval(function(){if(this.control.checked!==C){C=this.control.checked;B.call(this.control)}}.bind(this),300)};Λ.HTMLCheckboxControl=Λ.Base.extend({constructor:function(C){if(C.$control){return C.$control}this.control=C;C.$control=this;Λ.log.debug("HTMLCheckboxControl ",C);if(Λ.IE){A.call(this)}else{C.addEventListener("change",B,false)}},isValid:true,validate:Λ.func.empty});Λ.HTMLCheckboxControl.implement(Λ.EventsHandler)})();
Λ.HTMLRadioControl.behavior=function(A){if(A.type!=="radio"){return }Λ.log.debug("BHVR: RadioControl ",A);var B=new Λ.HTMLRadioControl(A);if(A.hasAttribute("data-change")){B.addEventListener("change",Λ.HTMLRadioControl["$"+A.getAttribute("data-change")],false)}};Λ.HTMLRadioControl.behaviorAll=function(){Λ.DOMReady.selectorAll("input",function(B){var A=B.getAttribute("type");if(A&&(A.toLowerCase()==="radio")&&B.hasAttribute("data-change")){Λ.HTMLRadioControl.behavior(B)}})};Λ.HTMLRadioControl.captureRegister=function(){Λ.EventCapture.keydown.register(Λ.HTMLRadioControl,["input"],"@change")};
(function(){var B=function(){GRONO.log.debug("CHECK CHANGE");this.$control.dispatchEvent("change",this)};var A=function(){var C=this.control.checked;setInterval(function(){if(this.control.checked!==C){C=this.control.checked;B.call(this.control)}}.bind(this),300)};Λ.HTMLCheckboxControl=Λ.Base.extend({constructor:function(C){if(C.$control){return C.$control}this.control=C;C.$control=this;Λ.log.debug("HTMLCheckboxControl ",C);if(Λ.IE){A.call(this)}else{C.addEventListener("change",B,false)}},isValid:true,validate:Λ.func.empty});Λ.HTMLCheckboxControl.implement(Λ.EventsHandler)})();
(function(){var A=function(B,D,C){if(B===""){if(D.mimeType=="text/x-json"){if(typeof C==="object"){Λ.alert(Λ.hash.getStrings(C).join("\n"))}else{Λ.alert(C)}}else{Λ.alert(C)}}else{Λ.alert(B)}};Λ.dHTMLAsync={};Λ.dHTMLAsync.behavior=function(B,C){C.addEventListener("success",function(E){var D;if(this.mimeType=="text/html"){D=new Λ.DOMList(Λ.html.stripScripts(E))}B.$xhrSuccess=function(){if(B.hasAttribute("data-custom")){var F="$"+B.getAttribute("data-custom");if(Λ.DOMBehaviors[F]){Λ.DOMBehaviors[F](B,D||E)}else{throw new TypeError("Could not find custom method: Λ.DOMBehaviors."+F)}}Λ.DOMBehaviors.processDOMActions(B,D||E);if(B.hasAttribute("data-action")){Λ.DOMBehaviors.newProcessActions(B.getAttribute("data-action"),B,E)}if(D&&D.length){Λ.DOMReady.process(D);Λ.html.evalScripts(E)}};B.$xhrSuccess()});C.addEventListener("success",function(D){if(B.hasAttribute("data-alertsuccess")){A(B.getAttribute("data-alertsuccess"),this,D)}});C.addEventListener("complete",function(D){if((this.isSuccess||(this.transport.status==403))&&B.hasAttribute("data-alert")){A(B.getAttribute("data-alert"),this,D)}});C.addEventListener("failure",function(D){if((this.transport.status==403)&&B.hasAttribute("data-alerterror")){A(B.getAttribute("data-alerterror"),this,D)}})}})();
(function(){var B;var A=function(C){C.preventDefault();if(C.$cancelled||this.$xhr.inProgress){return }this.$xhr.$method(Λ.form.buildHash(this,C.$submitControl),this.action)};Λ.dHTMLFormAsync=function(C){C.$xhr=new Λ.Xhr(C.action);C.$xhr.$method=(C.method.toLowerCase()=="post")?C.$xhr.post:C.$xhr.get;C.addEventListener("submit",A,false);C.$xhr.addEventListener("complete",function(){if(C.getAttribute("data-reset")!=="false"){if(C.$control){C.$control.reset()}else{C.reset()}}});return C}})();
(function(){Λ.dHTMLFormAsync.behavior=function(A){Λ.log.debug("BHVR: Form asynchronous ",A,A.action);Λ.dHTMLFormAsync(A);Λ.dHTMLAsync.behavior(A,A.$xhr)};Λ.dHTMLFormAsync.behaviorAll=function(){Λ.DOMReady.selectorAll("form",function(A){if(A.hasClass("async")){Λ.dHTMLFormAsync.behavior(A)}})};Λ.dHTMLFormAsync.captureRegister=function(){Λ.EventCapture.submit.register(Λ.dHTMLFormAsync,["form"],".async")}})();
(function(){var A=function(B){B.preventDefault();if(B.$cancelled){return }if(this.$xhrSuccess){this.$xhrSuccess()}else{this.$xhr.get({},this.href)}};Λ.dHTMLAHrefAsync=function(B){B.$xhr=new Λ.Xhr();B.addEventListener("click",A,false)}})();
(function(){var A=function(B){if(B.$cancelled){return }B.preventDefault();Λ.form.build(this.href,this.$post()).submit()};Λ.dHTMLAHrefPost=function(B,C){B.$post=C;B.addEventListener("click",A,false)}})();
(function(){var A=function(B){if(B.$cancelled){return }B.preventDefault();this.$xhr.post(this.$post(),this.href)};Λ.dHTMLAHrefPostAsync=function(B,C){B.$xhr=new Λ.Xhr();B.$post=C;B.addEventListener("click",A,false)}})();
(function(){var A=function(C){if(!C){return{}}C=Λ.hash.fromQueryString(C);for(var B in C){if(B.charAt(0)==="."){C[B.substr(1)]=Λ.$id(C[B]).value;delete C[B]}}return C};Λ.dHTMLAHrefPost.behavior=function(B){Λ.log.debug("BHVR: Ahref Post ",B);if(B.hasAttribute("data-confirm")){Λ.dHTMLAHrefConfirm(B,B.getAttribute("data-confirm"))}Λ.dHTMLAHrefPost(B,function(){return A(B.getAttribute("data-post"))})};Λ.dHTMLAHrefPostAsync.behavior=function(B){Λ.log.debug("BHVR: Ahref Post Async ",B);if(B.hasAttribute("data-confirm")){Λ.dHTMLAHrefConfirm(B,B.getAttribute("data-confirm"))}Λ.dHTMLAHrefPostAsync(B,function(){return A(B.getAttribute("data-post"))});Λ.dHTMLAsync.behavior(B,B.$xhr)};Λ.dHTMLAHrefAsync.behavior=function(B){Λ.log.debug("BHVR: Ahref Async ",B);Λ.dHTMLAHrefAsync(B);Λ.dHTMLAsync.behavior(B,B.$xhr)};Λ.dHTMLAHref={};Λ.dHTMLAHref.behavior=function(B){if(B.$bhIgnore_dHTMLAHref){return }if(B.hasClass("async")){if(B.hasClass("post")||B.hasAttribute("data-post")){Λ.dHTMLAHrefPostAsync.behavior(B)}else{Λ.dHTMLAHrefAsync.behavior(B)}}else{if(B.hasClass("post")||B.hasAttribute("data-post")){Λ.dHTMLAHrefPost.behavior(B)}}};Λ.dHTMLAHref.behaviorAll=function(){Λ.DOMReady.selectorAll("a",function(B){if(B.hasClass("async")||B.hasClass("post")||B.hasAttribute("data-post")){Λ.dHTMLAHref.behavior(B)}})};Λ.dHTMLAHref.captureRegister=function(){Λ.EventCapture.click.register(Λ.dHTMLAHref,["a"],".async");Λ.EventCapture.click.register(Λ.dHTMLAHref,["a"],".post");Λ.EventCapture.click.register(Λ.dHTMLAHref,["a"],"@post")}})();
(function(){var A=function(B){if(B.$cancelled){return }if(!confirm(this.$confirmMessage)){B.preventDefault();B.$cancelled=true}};Λ.dHTMLAHrefConfirm=function(B,C){B.$confirmMessage=C;B.addEventListener("click",A,false);return B}})();
(function(){var A=function(B){Λ.$$("input[type=checkbox][name="+this.$bh_CheckAll_name+"]",Λ.dom.getAncestorBySelector(this,"form")||document).forEach(function(C){C.checked=true})};Λ.dHTMLFormCheckAll=function(C,B){C.$bh_CheckAll_name=B;C.addEventListener("click",A,false)}})();
Λ.dHTMLFormCheckAll.behavior=function(A){Λ.log.debug("BHVR dHTMLFormCheckAll ",A);Λ.dHTMLFormCheckAll(A,A.getAttribute("data-checkall"))};Λ.dHTMLFormCheckAll.behaviorAll=function(){Λ.DOMReady.selectorAll("button",function(A){if(A.hasAttribute("data-checkall")){Λ.dHTMLFormCheckAll.behavior(A)}})};Λ.dHTMLFormCheckAll.captureRegister=function(){Λ.EventCapture.click.register(Λ.dHTMLFormCheckAll,["button"],"@checkall")};
(function(){var A=function(C){var B={};B[this.name]=this.value;if(this.$xhr.inProgress){C.preventDefault()}else{this.$xhr.post(B);this.$status.removeClass("async-control-failure");this.$status.removeClass("async-control-success");this.$status.addClass("async-control-progress")}};Λ.dHTMLSelectAsync=function(C,B){C.$xhr=new Λ.Xhr(B);C.$status=C.parentNode.insertBefore(document.createElement("span"),C.nextSibling).addClass("async-control-status");C.$status.innerHTML="&nbsp;";C.addEventListener("change",A,false);C.$xhr.addEventListener("complete",C.$status.removeClass.bind(C.$status,"async-control-progress"));C.$xhr.addEventListener("success",function(){C.$status.addClass("async-control-success");setTimeout(function(){C.$status.removeClass("async-control-success")},6000)});C.$xhr.addEventListener("failure",function(){C.$status.addClass("async-control-failure");setTimeout(function(){C.$status.removeClass("async-control-failure")},6000)})}})();
Λ.dHTMLSelectAsync.behavior=function(A){Λ.dHTMLSelectAsync(A,A.getAttribute("data-url"))};Λ.dHTMLSelectAsync.behaviorAll=function(){Λ.DOMReady.selectorAll("select",function(A){if(A.hasClass("async")&&A.hasAttribute("data-url")){Λ.dHTMLSelectAsync.behavior(A)}})};Λ.dHTMLSelectAsync.captureRegister=function(){Λ.EventCapture.change.register(Λ.dHTMLSelectAsync,["select"],".async")};
(function(){Λ.dHTMLSelectToggle=function(B){var C=null;var A;var D=function(E){if(A===B.value){return }if(C){C.hide(true);C=null}A=B.value;if(E){(C=Λ.DOMBehaviors.$$(E,B)).show(true)}};B.addEventListener("change",function(){D(B.options[B.options.selectedIndex].getAttribute("data-target"))},false);D(B.options[B.options.selectedIndex].getAttribute("data-target"))}})();
Λ.dHTMLSelectToggle.behaviorAll=function(){Λ.DOMReady.selectorAll("select",function(A){if(A.hasClass("toggle")){Λ.dHTMLSelectToggle(A)}})};
(function(){var A=function(C){var B=C.target;if(B&&B.hasAttribute("data-action")){Λ.DOMBehaviors.newProcessActions(this.getAttribute("data-action"),this,this.value)}};Λ.dHTMLSelectAction=function(B){B.addEventListener("change",A,false)}})();
(function(){Λ.dHTMLSelectAction.behaviorAll=function(A){Λ.DOMReady.selectorAll("select",function(B){if(B.hasAttribute("data-action")){Λ.dHTMLSelectAction(B)}})}})();
(function(){var A=0;Λ.Paginator=Λ.Base.extend({constructor:function(){this.id=++A;this.pages={};this.children=[]},parent:null,current:null,previous:null,locked:false,assign:function(B,C){if(this.pages[B]){throw new Error("Page of '"+B+"' name is aleady assigned to paginator")}this.pages[B]=C},turn:function(D){if(this.locked||(D===this.current)){return false}if(D===null){if(this.current===null){return false}this.previous=this.current;this.current=null;var F=0,H;while(H=this.children[F++]){H.turn(null)}}else{if(!this.pages[D]){D=D+"";var E=this.fetch.apply(this,arguments);if(E&&E._implements&&E._implements(Λ.Async)){var C=arguments,G;var B=Λ.obj.toArray(C);if(E.isComplete){if(this.pages[D]){return this.turn.apply(this,arguments)}else{this.dispatchEvent.apply(this,["turnfetchfailure"].concat(B));return false}}this.lock();this.dispatchEvent.apply(this,["turnfetchbegin"].concat(B));E.addEventListener("complete",G=function(){E.removeEventListener("complete",G);this.unlock();this.dispatchEvent.apply(this,["turnfetchend"].concat(B));if(this.pages[D]){this.turn.apply(this,C)}else{this.dispatchEvent.apply(this,["turnfetchfailure"].concat(B))}}.bind(this));if(E.isComplete){Λ.log.debug("FF multi threading!");this.unlock();E.removeEventListener("complete",G);if(this.pages[D]){return this.turn.apply(this,arguments)}else{this.dispatchEvent.apply(this,["turnfetchfailure"].concat(B));return false}}else{return false}}else{if(this.pages[D]){return arguments.callee.apply(this,arguments)}else{throw new TypeError("Paginator error: Could not turn page - fetch method didn't resolved page")}}}else{this.previous=this.current;this.current=D+""}}this.dispatchEvent.apply(this,["turn"].concat(Λ.obj.toArray(arguments)));return true},fetch:function(B){if(!this.pages[B]){throw new Error("Page of '"+B+"' name is not assigned to paginator")}},reset:function(B){var C=this.current==B;if(this.pages[B]){if(C){this.turn(null)}this.pages[B].destroy();delete this.pages[B]}this[C?"turn":"fetch"](B)},reload:function(C){C=C||this.current;var F=this.current==C;var B;if(this.pages[C]){if(F){this.lock()}B=this.pages[C];delete this.pages[C]}var D=this.fetch(C);if(F){if(D&&D._implements&&D._implements(Λ.Async)){var E;D.addEventListener("complete",E=function(){D.removeEventListener("complete",E);this.processCurrentReload(B,C)}.bind(this))}else{this.processCurrentReload(B,C)}}return D},processCurrentReload:function(B,C){this.unlock();if(!this.pages[C]){this.pages[C]=B}else{B.destroy()}},lock:function(){if(!this.locked){this.locked=true;this.dispatchEvent("lock");return true}return false},unlock:function(){if(this.locked){this.locked=false;this.dispatchEvent("unlock");return true}return false}});Λ.Paginator.implement(Λ.EventsHandler)})();
(function(){var A=function(F){var H=Λ.event.mouse.getClickableTarget(F)||this;var G;if(H.hasClass("turn")){G=H.hasAttribute("data-page")?H.getAttribute("data-page"):null;Λ.log.debug("HTMLPaginator: click","target","turn",G,Λ.dom.extendedName(H),H)}else{if(H.hasClass("next")){Λ.log.debug("HTMLPaginator: click","target","next",Λ.dom.extendedName(H),H);G=this.$paginator.getNext()}else{if(H.hasClass("previous")){Λ.log.debug("HTMLPaginator: click","target","previous",Λ.dom.extendedName(H),H);G=this.$paginator.getPrevious()}else{return }}}F.stopPropagation();F.preventDefault();if(this.$paginator.locked){Λ.log.debug("HTMLPaginator: click","locked!",this.$paginator.id);return }if(H.hasClass("disabled")){return }if(!this.$paginator.current&&!G){return }else{if(this.$paginator.current===G){if(this.$paginator.allowNullContent){G=null}else{return }}else{if(G||this.$paginator.allowNullContent){GRONO.log.info("turn2: "+G+" | "+H);this.$paginator.turn(G,H)}}}};var E=function(F){F.stopPropagation()};var D=function(){var F;if(!this.containers){return }if(this.previous&&this.pageControls[this.previous]){this.pageControls[this.previous].removeClass("current")}if(this.current&&this.pageControls[this.current]){this.pageControls[this.current].addClass("current")}if(this.getNext){this.nextControls[(this.getNext()===null)?"disable":"enable"](true);this.previousControls[(this.getPrevious()===null)?"disable":"enable"](true)}};var C=function(F,H){if(H.keyLRWatchingCallback!=false&&!H.keyLRWatchingCallback()){return }if(F.keyCode==37){Λ.log.debug("HTMLPaginator: keyPressBack","target","previous");page=H.getPrevious()}else{if(F.keyCode==39){Λ.log.debug("HTMLPaginator: keyPressForward","target","previous");page=H.getNext()}else{return }}F.stopPropagation();F.preventDefault();if(!H.current&&!page){return }else{if(H.current===page){if(H.allowNullContent){page=null}else{return }}else{if(page||this.$paginator.allowNullContent){var G=H;GRONO.log.info("turn2: "+page+" | "+G);H.turn(page)}}}};var B=0;Λ.PaginatorHTML=Λ.Paginator.extend({constructor:function(){this.id=++B;this.base();this.pageControls={};this.nextControls=new Λ.HTMLControlList();this.previousControls=new Λ.HTMLControlList();this.allowKeyLRWatching=false;this.keyLRWatchingCallback=false;this.addEventListener("fetch",function(F){if(this.content){this.pages[F].data.hide().appendTo(this.content)}}.bind(this))},containers:null,exclusives:null,content:null,allowNullContent:true,bind:function(J,I,F){if(this.containers){throw new Error("Paginator already binded")}this.containers=J;this.content=I;this.exclusives=F;var G=this;this.onKeyPressFun=function(K){C(K,G)};this.containers.forEach(function(K){K.$paginator=G;K.addEventListener("click",A,false)});if(this.allowKeyLRWatching){document.addEventListener("keypress",this.onKeyPressFun,false)}if(this.exclusives){this.exclusives.forEach(function(K){K.addEventListener("click",E,false)})}for(var H in this.pages){this.pages[H].data.hide().appendTo(this.content)}if(this.current!==null){this.pages[this.current].data.show()}D.call(this);this.dispatchEvent("bind")},addControls:function(I,F){var H=Λ.$$("a, button",I);if(F&&F.length){H=H.filter(F,true)}var G=new Λ.HTMLControlList(H);G.getByClassName("turn").forEach(function(J){if(J.$paginatorControl){Λ.log.error("control already assigned to other paginator!");throw new TypeError("control already assigned to other paginator!")}var K=J.hasAttribute("data-page")?J.getAttribute("data-page"):null;if(!this.pageControls[K]){this.pageControls[K]=new Λ.HTMLControlList()}this.pageControls[K][this.pageControls[K].length]=J;J.$paginatorControl=this},this);if(this.getNext){G.getByClassName("next").forEach(function(J){this.nextControls[this.nextControls.length]=J},this);G.getByClassName("previous").forEach(function(J){this.previousControls[this.previousControls.length]=J},this)}D.call(this)},unbind:function(){Λ.log.debug("PAGINATOR HTML: UNBIND",this.id);if(!this.containers){return }this.containers.forEach(function(F){F.removeEventListener("click",A,false);F.$paginator=null});if(this.allowKeyLRWatching){document.removeEventListener("keypress",this.onKeyPressFun,false)}if(this.exclusives){this.exclusives.forEach(function(F){F.removeEventListener("click",E,false)})}this.containers=null;this.content=null;this.exclusives=null;if(this.current!==null){this.pages[this.current].data.hide()}this.dispatchEvent("unbind")},lock:function(){if(this.base()){if(this.containers){var G=0,F;while(F=this.containers[G++]){F.addClass("locked")}}return true}return false},unlock:function(){if(this.base()){if(this.containers){var G=0,F;while(F=this.containers[G++]){F.removeClass("locked")}}return true}return false},turn:function(F){if(this.base.apply(this,arguments)){D.call(this);this.transition(this.previous,this.current);return true}return false},processCurrentReload:function(F,G){if(this.pages[G]){F.data.hide();this.pages[G].data.show()}this.base(F,G)},transition:function(G,F){if(G!==null){this.pages[G].data.cache()}if(F!==null){this.pages[F].data.show(true);if(this.content){this.pages[F].data.appendTo(this.content)}}}})})();
(function(){var C=function(){return(this.current===null)?"":this.current};var A=function(){var F=this.getStatusIndex();this.indexNodes.forEach(function(G){G.nodeValue=F})};var B=function(){if((this.last!==null)&&(this.first!==null)){return parseInt(this.last,10)+(1-parseInt(this.first,10))}else{return null}};var E=function(){var G=this.getCount();if(G!==null){var F=Λ.$$(".count",this.containers);if(this.exclusives&&this.exclusives.length){F=F.filter(this.exclusives,true)}F.map(function(H){if(H.firstChild){H.firstChild.data=G}else{H.appendChild(document.createTextNode(G))}})}var F=Λ.$$(".index",this.containers);if(this.exclusives&&this.exclusives.length){F=F.filter(this.exclusives,true)}this.indexNodes=F.map(function(H){return H.firstChild?H.firstChild:H.appendChild(document.createTextNode(""))});A.call(this);this.addEventListener("turn",A)};var D=function(){this.removeEventListener("turn",A)};Λ.dPaginatorHTMLStatus=function(F){F.getStatusIndex=C;F.getCount=B;F.updateStatus=A;F.addEventListener("bind",E);F.addEventListener("unbind",D);if(F.containers){E.call(F)}};Λ.dPaginatorHTMLStatus.zeroFixIndex=function(){return(this.current===null)?"":(parseInt(this.current,10)+1)}})();
Λ.PaginatorAsync=Λ.AsyncQueueProcessor.extend({constructor:function(A){this.base();this.paginator=A;A.async=this;A.fetch=this.fetch;this.inQueue={}},fetch:function(A){Λ.log.debug("PaginatorXHR FETCH: add",this.id,A,this.pages[A],this.async.inQueue[A]);if(this.pages[A]){return }else{if(this.async.inQueue[A]){return this.async.inQueue[A]}}var B=this.async.inQueue[A]=this.async.getAsync.apply(this.async,arguments);B.addEventListener("success",function(C){this.pages[A]=C;Λ.log.debug("PAGINATOR ASYNC: FETCH SUCCESS",this.id,A,this.pages[A]);this.dispatchEvent("fetch",A)}.bind(this));B.addEventListener("complete",function(){Λ.log.debug("PAGINATOR ASYNC: FETCH COMPLETE",this.id,A);delete this.async.inQueue[A]}.bind(this));this.async.add(B);return B}});
Λ.PaginatorXhr=Λ.PaginatorAsync.extend({constructor:function(A){this.base(A);this.transport=Λ.Xhr.getTransport()},url:null,get:function(A){this.get({page:A})},getAsync:function(B){var C=new Λ.Xhr(this.url,this.transport);C.$name=B;C.paginator=this.paginator;if(this.translate){C.translate=this.translate}var A=Λ.obj.toArray(arguments);A.unshift(C);C.begin=this.get.bind.apply(this.get,A);return C}});
Λ.PaginatorXhrHtml=Λ.PaginatorXhr.extend({constructor:function(A){this.base(A);this.customTranslators={}},getAsync:function(C,D){var B=(D&&D.getAttribute&&D.getAttribute("data-url"))||this.url;var E=new Λ.Xhr(B,this.transport);Λ.log.debug("PAGINATOR XHR HTML: GET ASYNC",arguments,B,E.id);var F=new Λ.XhrHtml(E);F.doNotPreloadImages=this.doNotPreloadImages;E.$name=C;E.paginator=this.paginator;var A=Λ.obj.toArray(arguments);A.unshift(E);F.begin=this.get.bind.apply(this.get,A);return F},doNotPreloadImages:false});
(function(){Λ.dPaginatorXhrNiceurls=function(A){A.get=function(B){this.get({},A.url+((A.url.charAt(A.url.length-1)!=="/")?"/":"")+B+"/")};return A}})();
(function(){var A=function(C){return C.content};var B=function(C){if((this.paginator.last===null)&&(typeof C.isNext=="boolean")&&!C.isNext){this.paginator.last=this.$name}if((this.paginator.first===null)&&(typeof C.isPrevious=="boolean")&&!C.isPrevious){this.paginator.first=this.$name}};Λ.dAsyncBlindstop=function(C){C.getAsync=Λ.func.override(function(D){var E=this.base(D);E.processResponse=A;E.xhr.addEventListener("success",B);return E},C.getAsync)}})();
(function(){Λ.dAsyncById=function(A){A.idmap={};A.getAsync=Λ.func.override(function(B){var C=this.base(B);C.xhr.addEventListener("success",function(D){if(D.nextId){A.idmap[parseInt(this.$name)+1]=D.nextId}if(D.previousId){A.idmap[parseInt(this.$name)-1]=D.previousId}});return C},A.getAsync);A.get=function(B){if(!A.idmap[B]){throw new TypeError("Paginator Async By Id Error: Could not find id for page: '"+B+"'")}this.get({id:A.idmap[B]})}}})();
Λ.dPaginatorPreloader=(function(){return function(B,A){A=A||1;B.addEventListener("turn",function(){if(this.current===null){return }var G,D,E,F;if(this.getNext(this.current)===this.previous){G="getPrevious";D="getNext"}else{G="getNext";D="getPrevious"}if((E=this[G](this.current))!==null){B.fetch(E)}if((F=this[D](this.current))!==null){B.fetch(F)}var C=A;while((E!==null)&&--C){if((E=this[G](E))!==null){B.fetch(E)}}})}})();
(function(){var A={isLoop:false,first:null,last:null,_getFollowing:function(C,B,E,D){if(typeof C==="undefined"){if(this.current===null){return null}C=this.current}if(C==this[B]){if(this.isLoop){if(this[E]===null){throw new Error("Cannot find next name: Loop set but "+beginName+" unknown")}return this[E]}return null}else{return this[D](C)}},getNext:function(B){return this._getFollowing(B,"last","first","_calculateNext")},_calculateNext:function(B){return(parseInt(B,10)+1)+""},getPrevious:function(B){return this._getFollowing(B,"first","last","_calculatePrevious")},_calculatePrevious:function(B){return(parseInt(B,10)-1)+""}};Λ.dPaginatorOrdered=function(B){return Λ.obj.implement(B,A)}})();
(function(){var D=function(G){return Λ.$$("div.paginator, div.paginator-exclude",G)};var F=function(J,G){var I=1,H;while(H=J[I++]){if(H.hasClass("content")){return H}}if(G&&G.length){return Λ.$$(".content",J).filter(G,true)[0]}else{return Λ.$(".content",J)}};Λ.PaginatorHTML.behavior=function(G,O){var H=new Λ.DOMList([G]),I,M;if(G.hasAttribute("data-members")){H=H.concat(Λ.DOMBehaviors.$$(G.getAttribute("data-members"),G))}I=D(H);if(G.hasAttribute("data-target")){M=Λ.DOMBehaviors.$(G.getAttribute("data-target"),G).el;if(!M){throw new TypeError("Paginator HTML Behavior error: Element for content (by data-target) not found '"+G.getAttribute("data-target")+"'")}}else{M=F(H,I)}if(M){I[I.length]=M}O=O||new Λ.PaginatorHTML();var K=G.hasAttribute("data-first")||G.hasAttribute("data-last")||G.hasClass("ordered");if(K){Λ.dPaginatorOrdered(O);if(G.hasAttribute("data-first")){O.first=G.getAttribute("data-first")}if(G.hasAttribute("data-last")){O.last=G.getAttribute("data-last")}}if(G.hasAttribute("data-url")){var P=new Λ.PaginatorXhrHtml(O);P.url=G.getAttribute("data-url");if(G.hasAttribute("data-varname")){P.pageName=G.getAttribute("data-varname")}if(G.hasClass("blindstop")){Λ.dAsyncBlindstop(P)}if(G.hasClass("byid")){Λ.dAsyncById(P);if(G.hasAttribute("data-current")){var L=parseInt(G.getAttribute("data-current"),10);if(G.hasAttribute("data-nextid")){P.idmap[L+1]=G.getAttribute("data-nextid")}if(G.hasAttribute("data-previousid")){P.idmap[L-1]=G.getAttribute("data-previousid")}}}if(parseInt(G.getAttribute("data-urlmode"),10)){Λ.dPaginatorXhrNiceurls(P)}}else{if(G.hasClass("blindurl")||G.hasAttribute("data-url")){}}if(G.hasAttribute("data-preload")){Λ.dPaginatorPreloader(O,G.getAttribute("data-preload"))}if(G.hasAttribute("data-nullcontent")){if(G.getAttribute("data-nullcontent")!=="true"){O.allowNullContent=false}}if(G.hasClass("child")){O.parent=Λ.dom.getAncestorBySelector(G,"div.paginator").$paginator;O.parent.children[O.parent.children.length]=O}if(Λ.$$(".index, .count",H).filter(I,true).length){Λ.dPaginatorHTMLStatus(O)}O.addControls(H,I);O.bind(H,M,I);if(G.hasAttribute("data-current")){var L=G.getAttribute("data-current");if(M){var N=new Λ.DOMList(Λ.dom.children(M));if(N.length){if(N[0].hasAttribute("data-page")){for(var J=0;J<N.length;++J){if(!N[J].hasAttribute("data-page")){throw new TypeError("PaginatorHTML Behavior error: Could not find data-page setting on one of elements",N[J])}N[J].style.display="none";O.assign(N[J].getAttribute("data-page"),new Λ.DOMContent(N[J]))}}else{O.assign(L,new Λ.DOMContent(N))}}}O.turn(L)}else{if(M&&M.firstChild){throw new TypeError("Cannot bind paginator: content container not empty and no data on current page name found")}}return O};Λ.PaginatorHTML.behavior.getExclusives=D;Λ.PaginatorHTML.behavior.getContent=F;var C,B,A;var E=function(H){if(H.hasClass("paginator")&&H.hasClass("dynamic")){var J=new Date().getTime();if(H.hasClass("child")&&!H.$paginatorHold){B=Λ.dom.getAncestorBySelector(H,"div.paginator");if(!B.$paginator){H.$paginatorHold=true;if(!B.$todo){B.$todo=[]}B.$todo[B.$todo.length]=H;return }}else{if(H.hasAttribute("data-target")){var G=Λ.DOMBehaviors.$(H.getAttribute("data-target"),H);if(!G.el){Λ.$onDOMContentLoaded(function(){if(H.hasAttribute("data-custom")){var K="$"+H.getAttribute("data-custom");if(Λ.PaginatorHTML.behavior[K]){Λ.PaginatorHTML.behavior[K](H)}else{throw new TypeError("BHVR Paginator error: custom function Λ.PaginatorHTML.behavior."+K+" not found")}}else{Λ.PaginatorHTML.behavior(H)}});return }}}if(H.hasAttribute("data-custom")){var I="$"+H.getAttribute("data-custom");if(Λ.PaginatorHTML.behavior[I]){Λ.PaginatorHTML.behavior[I](H)}else{throw new TypeError("BHVR Paginator error: custom function Λ.PaginatorHTML.behavior."+I+" not found")}}else{Λ.PaginatorHTML.behavior(H)}Λ.log.debug("BHVR: Paginator HTML ",H,new Date().getTime()-J);if(H.$todo){A=0;Λ.log.debug("todo",H.$todo.length);while(child=H.$todo.shift()){arguments.callee(child)}H.$todo=Λ.UNDEFINED}}};Λ.PaginatorHTML.behaviorAll=function(){Λ.DOMReady.selectorAll("div, ul",E)}})();
Λ.elements=function(){return{wait:function(){return Λ.dom.builder.img({src:"/s/images/kreciol.gif",alt:Λ._("please.wait")})}}}();
Λ.local={isPublic:(location.pathname.indexOf("/pub/")!==-1),cookie:Λ.hash.fromSemicolonString(document.cookie),getSessionKey:function(){if(this.cookie.dsess2){return this.cookie.dsess2}else{if(this.cookie["gruid.dsess2"]){return this.cookie["gruid.dsess2"]}else{throw"local.getSessionKey - Could not find session key"}}},getUserId:function(){if(this.cookie.gruid){return this.cookie.gruid}else{throw"local.getUserId - Could not find user id"}},getUserNick:function(){return this.userNick},loadUserAndFriendAvatars:function(A){GRONO.log.debug("loadUserAndFriendAvatars");var B=GRONO.$id(A);if(!B){throw new TypeError("loadUserAndFriendAvatars error: Flash object not found")}else{if(!B.dataLoaded){throw new TypeError("loadUserAndFriendAvatars error: Flash method not found")}}var C=new Λ.Xhr("/api2/user/randomfriend/");C.addEventListener("success",function(D){try{B.dataLoaded(D.data)}catch(E){}});C.get()},alertStaff:function(D){var A;if(D=="memoryguard"){A="#ccc"}else{if(D=="csshacks"){A="#99FF00"}else{if(D=="debug"){A="#990008"}else{alert("alertStaff - Unknown sender!");return }}}var C=GRONO.$id("pageUp");if(C){C.style.backgroundColor=A}var B=GRONO.$id("pageIn");if(B){B.style.backgroundColor=A}document.body.style.backgroundColor=A},isAnonymous:false,isTester:false,isStaff:false,isWasStaff:false,isTranslator:false,isBabelFish:false,edition:"pl",editionId:null,visitedUserId:null,isMusician:false,isPremium:false,isOldGrono:false,setupLocals:function(){var A=document.querySelector('meta[name="grono.environment"]');if(A){Λ.str.trim(A.content).split(" ").forEach(function(C){switch(C){case"anonymous":Λ.local.isAnonymous=true;break;case"tester":Λ.local.isTester=true;break;case"staff":Λ.local.isStaff=true;break;case"was-staff":Λ.local.isWasStaff=true;break;case"translator":Λ.local.isTranslator=true;break;case"babelfish":Λ.local.isBabelFish=true;break;case"musician":Λ.local.isMusician=true;break;case"premium":Λ.local.isPremium=true;break;case"oldv":Λ.local.isOldGrono=true;break;default:var B;if(B=C.match(/^edition-(\D+)-(\d+)$/)){Λ.local.edition=B[1];Λ.local.editionId=B[2]}else{if(B=C.match(/^vuid-(\d+)$/)){Λ.local.visitedUserId=B[1]}else{if(B=C.match(/^nick-(.+)$/)){try{Λ.local.userNick=decodeURIComponent(B[1])}catch(D){Λ.log.error("Zły format pola nick w grono.environment");Λ.local.userNick=""}}else{if(B=C.match(/^csrf-(.+)$/)){Λ.local.csrfToken=Λ.DataSource.extra.POST.csrf_token=B[1]}else{if(window.console&&Λ.log.error){Λ.log.error("Unrecognized grono.environment token: "+C)}}}}}}})}if(!Λ.local.editionId){Λ.local.editionId="4"}if(location.port=="80"){Λ.local.devel=0}else{if(location.port=="1081"){Λ.local.devel=1}else{if(location.hostname=="t132.grono.net"){Λ.local.devel=2}else{if((location.hostname.indexOf("grono.net")===-1)&&(location.hostname.indexOf("bago.es")===-1)){Λ.local.devel=3}else{Λ.local.devel=0}}}}}};Λ.local.setupLocals();Λ.local.userId=Λ.local.cookie.gruid||null;Λ.i18n.addEventListener("error",function(A){Λ.log.error("Dodaj rybkę '"+A+"' do pliku: makotemplates/v3/generic/locale_js")});Λ.local.texts={};Λ.local.texts.get=Λ.i18n.get;
GRONO = Λ; 
document.addEventListener("DOMContentLoaded",function(){var E,D;var B=function(){A=null;if(E){E.removeClass("active");if(D){D=null}E=null}};var A;var C=function(){if(E){return }var F=A=this;setTimeout(function(){if(F===A){E=F.addClass("active")}},150)};if(GRONO.IE<7){GRONO.$$("ul.dropMenu > li").forEach(function(F){GRONO.event.mouse.enter(F,C);GRONO.event.mouse.leave(F,B);var G=F.querySelector("ul");if(!G){return }Λ.ie.iframeShim(G);GRONO.$$("li",G).forEach(function(H){GRONO.event.mouse.enter(H,H.addClass.bind(H,"over"));GRONO.event.mouse.leave(H,H.removeClass.bind(H,"over"));H.addEventListener("click",B,false)})});GRONO.$$("#secondMenu div > button",document.body).forEach(function(F){F.addEventListener("click",function(){GRONO.$$("#secondMenu div > ul",document.body).forEach(function(G){G.style.display="block"},false)},false)})}},false);
document.addEventListener("DOMContentLoaded",function(){(function(){var A=new GRONO.TweenProcessor();GRONO.$mp3player={};GRONO.$mp3player.open_pls=function(C,B){setTimeout(function(){var F=GRONO.$id(C);var D=parseInt(F.getAttribute("data-playerheight"));if(!D){D=400}var E=Λ.Tween.inOutQuad(400,B,D);E.ontween=function(G){F.style.height=G+"px"};A.add(E)},1)};GRONO.$mp3player.close_pls=function(D,B,C){setTimeout(function(){var F=GRONO.$id(D);var E=Λ.Tween.inOutQuad(250,B,C);E.ontween=function(G){F.style.height=G+"px"};A.add(E)},1)}})()},false);
GRONO.PaginatorHTML.behavior.$photosRoll=function(C){var A=GRONO.$("div.items",C);var G=GRONO.$("ul",A);var I=GRONO.$("div.item",C);var N=parseInt(C.getAttribute("data-perpage"),10);var F=84*N;if(!I){var D=new Date();var M=2000;var E=setTimeout(function(){I=GRONO.$("div.item",C);if(I){clearInterval(E);GRONO.PaginatorHTML.behavior.$photosRoll(C)}if((new Date()-D)>M){clearInterval(E);throw new TypeError("")}},100);return }var P=new GRONO.HTMLElement(I);var O=(function(){var U=new GRONO.PaginatorHTML();var S=GRONO.$$("div.nav",A);var R=G;var Q=[G];Λ.dPaginatorOrdered(U);U.first=C.getAttribute("data-first");U.last=C.getAttribute("data-last");var T=new Λ.PaginatorXhrHtml(U);T.doNotPreloadImages=true;T.url=C.getAttribute("data-url");if(C.hasClass("blindstop")){Λ.dAsyncBlindstop(T);U.addEventListener("fetch",function(V){if(this.last){var W=parseInt(this.last,10);this.children[0].last=(N*W)+this.pages[this.last].data.length-1;GRONO.log.debug("CHILD LAST: ",(N*W)+this.pages[this.last].data.length-1)}})}U.addControls(S,Q);U.bind(S,R,Q);U.tweenProcessor=new GRONO.TweenProcessor();U.transition=function(W,V){if(W&&V){if(G.hasClass("loading")){this.pages[W].data.hide();this.pages[V].data.show();G.removeClass("loading")}else{this.tweenProcessor.add(GRONO.HTMLTransition.slide(this.pages[W].data,this.pages[V].data,parseInt(V,10)<parseInt(W,10),F))}}};U.addEventListener("turnfetchbegin",G.addClass.bind(G,"loading"));return U})();var B=GRONO.$("div.content",I);var H=(function(){var U=new GRONO.PaginatorHTML();var S=GRONO.$$("div.nav",I).concat(G,GRONO.$("div.close",I),GRONO.$("div.status",A));var R=B;Λ.dPaginatorOrdered(U);U.first=G.getAttribute("data-first");if(!C.hasClass("blindstop")||G.hasAttribute("data-last")){U.last=G.getAttribute("data-last")}var T=new Λ.PaginatorXhrHtml(U);T.doNotPreloadImages=true;T.get=function(V,X){if(X&&X.hasAttribute("data-loupeurl")){this.get({},X.getAttribute("data-loupeurl"))}else{if(U.pageControls[V]){this.get({},U.pageControls[V][0].getAttribute("data-loupeurl"))}else{var W=(V>U.current)?U.parent.getNext():U.parent.getPrevious();if(W&&!U.parent.pages[W]){var Y=U.parent.fetch(W);Y.addEventListener("complete",function(){if(Y.isSuccess&&U.pageControls[V]&&U.pageControls[V][0]&&U.pageControls[V][0].hasAttribute("data-loupeurl")){this.get({},U.pageControls[V][0].getAttribute("data-loupeurl"))}else{this.isSuccess=false;this.dispatchEvent("failure");this.isComplete=true;this.dispatchEvent("complete")}}.bind(this))}else{GRONO.log.error("Roll Paginator error - Could not find data for desired page");this.isSuccess=false;this.dispatchEvent("failure");this.isComplete=true;this.dispatchEvent("complete")}}}};U.parent=O;O.children[O.children.length]=U;Λ.dPaginatorHTMLStatus(U);U.getStatusIndex=Λ.dPaginatorHTMLStatus.zeroFixIndex;O.addEventListener("fetch",function(V){U.addControls(this.pages[V].data)});U.addEventListener("turn",function(){if(this.current!==null){var V=Math.floor(parseInt(this.current,10)/N)+"";if((V!=this.parent.current)&&(Math.floor(parseInt(this.previous,10)/N)==this.parent.current)){this.parent.turn(V)}}});GRONO.paginatorClasifyControlParent(U);U.addControls(S);U.bind(S,R);U.tweenProcessor=new GRONO.TweenProcessor();U.tweenProcessor.addEventListener("complete",function(){var V;if(this.pageControls[this.current]&&this.pageControls[this.current][0]&&(V=this.pageControls[this.current][0].getAttribute("data-loupeurl"))){}}.bind(U));var Q=function(){B.removeClass("loading");G.removeClass("loading")};U.transition=function(X,W){if(W!==null){if(X===null){Q();var V=this.tweenProcessor.add(Λ.HTMLTransition.reveal(P,620));V.addEventListener("begin",function(){this.pages[W].data.show()}.bind(this))}else{this.tweenProcessor.addSync(function(){this.pages[X].data.hide();this.pages[W].data.show();Q()}.bind(this))}}else{var V=this.tweenProcessor.add(Λ.HTMLTransition.cover(P));V.addEventListener("complete",function(){this.pages[X].data.hide()}.bind(this))}};U.addEventListener("turnfetchbegin",function(){if(P.hidden){G.addClass("loading")}else{B.addClass("loading")}});return U})();var L=C.getAttribute("data-current");var K=new Λ.DOMList(Λ.dom.children(G));var J=new Λ.DOMContent(K);O.assign(L,J);O.turn(L);if(G.hasAttribute("data-current")){var L=G.getAttribute("data-current");var K=new Λ.DOMList(Λ.dom.children(B));var J=new Λ.DOMContent(K);H.assign(L,J);H.turn(L)}else{P.setHidden()}};
GRONO.PaginatorHTML.behavior.$selectorRoll=function(K){var S=GRONO.$("div.galleries",K);var I=GRONO.$("ul",S);var C=GRONO.$("div.gallery",K);var J=(K.getAttribute("data-transition")!=="false");var A=(function(){var a=new GRONO.PaginatorHTML();var Y=GRONO.$$("div.nav",S);var X=I;var W=[I];Λ.dPaginatorOrdered(a);a.first=K.getAttribute("data-first");a.last=K.getAttribute("data-last");var Z=new Λ.PaginatorXhrHtml(a);Z.doNotPreloadImages=true;Z.url=K.getAttribute("data-url");a.addControls(Y,W);a.bind(Y,X,W);if(J){a.tweenProcessor=new GRONO.TweenProcessor();a.transition=function(c,b){if(c&&b){if(I.hasClass("loading")){this.pages[c].data.hide();this.pages[b].data.show();I.removeClass("loading")}else{this.tweenProcessor.add(GRONO.HTMLTransition.slide(this.pages[c].data,this.pages[b].data,parseInt(b,10)<parseInt(c,10),588))}}}}a.addEventListener("turnfetchbegin",I.addClass.bind(I,"loading"));return a})();var E=GRONO.$("div.items",C);var F=GRONO.$("ul",E);var N=(function(){var W=GRONO.$("div.header",C);return{titleText:GRONO.dom.getTextNode(GRONO.$("span.title",W)),ahref:GRONO.$("h3 a",W),count:GRONO.dom.getTextNode(GRONO.$("span.count",W))}})();var M=K.$galPaginator=(function(){var X=new GRONO.PaginatorHTML();GRONO.paginatorClasifyControlParent(X);var W=[I];Λ.dPaginatorOrdered(X);X.first=I.getAttribute("data-first");X.last=I.getAttribute("data-last");X.parent=A;A.children[A.children.length]=X;Λ.dPaginatorHTMLStatus(X);X.getStatusIndex=Λ.dPaginatorHTMLStatus.zeroFixIndex;X.addControls(W);X.bind(W);X.allowNullContent=false;X.tweenProcessor=new GRONO.TweenProcessor();X.transition=function(a,Y){var b=this.pages[this.current].data;if(this.previous){var a=this.pages[this.previous].data;a.unbind();var Z="gallery-set-item-"+GRONO.num.mod(this.previous,6);if(C.hasClass(Z)){C.removeClass(Z)}}b.bind(G.containers,G.content);N.titleText.data=b.title;C.addClass("gallery-set-item-"+GRONO.num.mod(this.current,6));C.removeClass("loading")};X.addEventListener("turnfetchbegin",C.addClass.bind(C,"loading"));return X})();var G={containers:GRONO.$$("div.nav",E),content:F,exclusives:[F]};var H;A.addEventListener("turn",function(){var W="gallery-set-item-"+M.current%6;if(C.hasClass(W)){C.removeClass(W);H=this.previous}else{if(H===this.current){C.addClass(W)}}});A.addEventListener("fetch",function(W){M.addControls(this.pages[W].data)});var U=function(){if(this.current===this.last){return this.getCount()}else{return this.current*7+7}};var V=function(){return this.base.call(this.children[0])};var B=function(){if(this.current!==null){var W=Math.floor(parseInt(this.current,10)/7)+"";if((W!=this.parent.current)&&(Math.floor(parseInt(this.previous,10)/7)==this.parent.current)){this.parent.turn(W)}}};if(J){var P=new GRONO.TweenProcessor();var L=function(X,W){if(X&&W){if(F.hasClass("loading")){this.pages[X].data.hide();this.pages[W].data.show();F.removeClass("loading")}else{P.add(GRONO.HTMLTransition.slide(this.pages[X].data,this.pages[W].data,parseInt(W,10)<parseInt(X,10),585))}}}}var D=function(Y){var W=new GRONO.PaginatorHTML();GRONO.dPaginatorOrdered(W);W.first=0;var X=Y.getAttribute("data-count");W.last=""+Math.floor((X-1)/7);W.title=Y.getAttribute("data-title");var Z=new Λ.PaginatorXhrHtml(W);Z.doNotPreloadImages=true;Z.url=E.getAttribute("data-urlprefix")+Y.getAttribute("data-id")+"/";W.addEventListener("bind",function(){N.count.data=X});W.addControls(G.containers);if(J){W.transition=L}W.addEventListener("turnfetchbegin",F.addClass.bind(F,"loading"));return W};M.fetch=function(X,Y){var W=D(Y);var Z=W.fetch(0);Z.addEventListener("success",function(){W.turn(0);M.pages[X]=new GRONO.Content(W);M.dispatchEvent("fetch",X)});return Z};var O=K.getAttribute("data-current");var T=new Λ.DOMList(Λ.dom.children(I));var Q=new Λ.DOMContent(T);A.assign(O,Q);A.turn(O);var R=D(GRONO.$("a",A.pages[O].data[0]));R.assign("0",new Λ.DOMContent(new Λ.DOMList(Λ.dom.children(F))));M.pages["0"]=new GRONO.Content(R);R.turn(0);M.turn(0)};(function(){GRONO.SelectorBoxes=GRONO.Base.extend({constructor:function(B,C,D){this.selector=B;this.selectionBox=C;this.types=D;this.selectionBox.addEventListener("click",function(E){var F=GRONO.$b(GRONO.event.mouse.getClickableTarget(E))||this.selectionBox;if(F&&(F.nodeName.toLowerCase()==="button")&&F.hasClass("remove")){var G=GRONO.dom.getAncestorBySelector(F,".media-input-item").$id;this.selector.deselect(G);this.dispatchEvent("buttondeselect",G,F)}}.bind(this),false);this.selector.addEventListener("select",function(G,E,F){this.select(G,F,E)},this);this.selector.addEventListener("deselect",function(G,E,F){this.deselect(G,F,E)},this);this.list=GRONO.$("ol",this.selectionBox);if(!this.list){this.list=this.selectionBox.appendChild(document.createElement("ol"))}},readSelection:function(){this.items.forEach(function(B){B.$content=GRONO.$("div.content",B);if(B.hasClass("filled")){var C={id:B.getAttribute("data-id"),type:B.getAttribute("data-type"),html:B.$content.innerHTML};B.$id=C.type+"."+C.id;this.selector.select(C.type+"."+C.id,C)}},this)}});GRONO.SelectorBoxes.implement(GRONO.EventsHandler);GRONO.SelectorStaticBoxes=GRONO.SelectorBoxes.extend({constructor:function(B,C,D){this.base(B,C,D);this.items=this.items=GRONO.$$("li",this.list);this.dispatchEvent("createitem",this.items);this.readSelection();GRONO.ie.hover(this.items,"filled")},select:function(D,C,B){this.items[B].addClass("filled").addClass("type-"+C.type);this.items[B].$data=C;this.items[B].$id=C.type+"."+C.id;this.items[B].$content.innerHTML=C.html;this.dispatchEvent("select",D,C,B,this.items[B])},deselect:function(D,C,B){this.items[B].$content.innerHTML=GRONO.MediaSelectors.types[Λ.bit.first(this.types)].emptyHTML;this.items[B].removeClass("filled").removeClass("type-"+this.items[B].$data.type);this.list.appendChild(this.items[B]);this.dispatchEvent("deselect",D,C,B,this.items[B]);this.items=GRONO.$$("li",this.list)}});GRONO.SelectorDynamicBoxes=GRONO.SelectorBoxes.extend({constructor:function(B,C,D){this.base(B,C,D);if(!this.list){throw new Error("Media Selector: Cannot setup dynamic boxes, list container not found")}else{this.items=GRONO.$$("li",this.list);if(this.items.length){this.readSelection();this.dispatchEvent("createitem",this.items);GRONO.ie.hover(this.items)}}},select:function(D,C,B){if(!this.items[B]){this.items[B]=this.list.appendChild(document.createElement("li")).addClass("media-input-item").addClass("filled").addClass("type-"+C.type);this.items[B].innerHTML='<div><div class="content"></div><button type="button" class="remove">x</button></div>';this.items[B].$content=GRONO.$("div.content",this.items[B]);this.items[B].$data=C;this.items[B].$id=C.type+"."+C.id;this.items[B].$content.innerHTML=C.html;this.dispatchEvent("createitem",this.items[B]);GRONO.ie.hover(this.items[B]);this.dispatchEvent("select",D,C,B,this.items[B])}},deselect:function(D,C,B){this.list.removeChild(this.items[B]);this.dispatchEvent("deselect",D,C,B,this.items[B]);this.items.splice(B,1)}});GRONO.dSelectorBoxesButtons=function(C){var B=function(E){if(E.parentNode.nodeName.toLowerCase()!=="button"){var D=document.createElement("button").addClass("media-input-invoke").addClass("item");D.setAttribute("type","button");D.setAttribute("data-type",E.$data.type);E.$content.parentNode.insertBefore(D,E.$content);D.appendChild(E.$content)}};C.addEventListener("createitem",function(D){if(D.forEach){D.forEach(B)}else{B(D)}})};GRONO.dSelectorBoxesInputs=function(B){B.addEventListener("select",function(H,E,C,D){var G=GRONO.$("input[name=object_type]",D);if(!G){G=document.createElement("input");G.type="hidden";G.name="object_type";D.appendChild(G)}G.value=E.type;var F=GRONO.$("input[name=object_id]",D);if(!F){F=document.createElement("input");F.type="hidden";F.name="object_id";D.appendChild(F)}F.value=E.id});B.addEventListener("deselect",function(H,E,C,D){var G=GRONO.$("input[name=object_type]",D);if(G){G.value=""}var F=GRONO.$("input[name=object_id]",D);if(F){F.value=""}})};GRONO.dSelectorBoxesStatus=function(D,B){var E=GRONO.$$("span.count",B).map(GRONO.dom.getTextNode);var C=function(){E.forEach(GRONO.func.passValue("data",this.selector.selection.length));B.style.display=this.selector.selection.length?"block":"none"};D.addEventListener("select",C);D.addEventListener("deselect",C)};var A=function(B){if(!B.$waiter){B.$waiter=B.appendChild(document.createElement("div")).addClass("waiter")}};GRONO.MediaSelectors=GRONO.Base.extend({constructor:function(D){var F=0;this.types=0;if(F){for(var C in D){var B=parseInt(C,10)&~F;if(B!=C){if(B){D[B]=D[C]}delete D[C]}this.types+=B}}else{for(var C in D){this.types+=parseInt(C,10)}}if(Λ.hash.isEmpty(D)){throw new TypeError("Media selector error: No types to show!. Given: "+D)}this.singleMode=Λ.bit.isSingle(this.types);this.firstType=Λ.bit.first(this.types);this.buildHtml();this.curtain=new Λ.Curtain(this.box);this.setupPaginator();this.selectors={};this.mediaSelectors={};this.missingTargets={};var E;for(var C in D){E=new GRONO.MediaSelector(C,this,D[C]);for(var B in GRONO.MediaSelectors.types){if(B&C){this.mediaSelectors[GRONO.MediaSelectors.types[B].name]=E;this.selectors[GRONO.MediaSelectors.types[B].name]=E.selector}}E.selector.addEventListener("select",function(I,G,H){if(!H.target){this.missingTargets[I]=H}else{H.target.addClass("selected")}},this);E.selector.addEventListener("deselect",function(I,G,H){if(H.target){H.target.removeClass("selected")}else{if(this.missingTargets[I]){delete this.missingTargets[I]}}},this);E.selector.addEventListener("save",function(){this.dispatchEvent("innersave")}.bind(this))}this.paginator.addEventListener("fetch",function(G){var I=this.paginator.pages[G].data[0].$galPaginator;if(!I){return }var H=I.pages[I.current].data;this.searchTargets(G,H.pages[H.current].data);H.addEventListener("fetch",function(J){this.searchTargets(G,H.pages[J].data)},this);I.addEventListener("fetch",function(J){var K=I.pages[J].data;this.searchTargets(G,K.pages[K.current].data);K.addEventListener("fetch",function(L){this.searchTargets(G,K.pages[L].data)},this)},this)},this)},searchTargets:function(E,C){var D;for(var B in this.missingTargets){if((this.missingTargets[B].type==E)&&(D=GRONO.$("a[data-id='"+this.missingTargets[B].id+"'], button[data-id='"+this.missingTargets[B].id+"']",C))){this.missingTargets[B].target=D;D.addClass("selected");delete this.missingTargets[B]}}},buildHtml:function(){this.box=document.createElement("div").addClass("roll-selector media-selector");this.tabs={};var D='<div class="close"><button type="button" data-hide="^(div.curtain)">X</button></div>';if(!this.singleMode){D+='<ul class="tabs">';var E=1;while(E<=this.types){if((this.types&E)&&GRONO.MediaSelectors.types[E]){this.tabs[GRONO.MediaSelectors.types[E].name]=null;D+='<li><button type="button" class="turn" data-page="'+GRONO.MediaSelectors.types[E].name+'">'+Λ.html.escapeString(GRONO._(GRONO.MediaSelectors.types[E].fish))+'</button><span class="crn crn-tl crn-tl-b0"></span><span class="crn crn-tr crn-tr-b0"></span><span class="crn crn-bl crn-bl-b0"></span></li>'}E=E*2}D+='<li class="border"></li></ul>'}D+='<div class="content"></div><div class="selection"></div><div class="submit"><button type="button" class="submit" data-hide="^^"><span class="wrapper">'+GRONO.html.escapeString(GRONO._("button.accept"))+'<span class="crn crn-tl crn-tl-b0"></span><span class="crn crn-tr crn-tr-b0"></span><span class="crn crn-br crn-br-b0"></span><span class="crn crn-bl crn-bl-b0"></span></span></button><button type="button" class="cancel" data-hide="^^"><span class="wrapper">'+GRONO.html.escapeString(GRONO._("button.cancel"))+'<span class="crn crn-tl crn-tl-b0"></span><span class="crn crn-tr crn-tr-b0"></span><span class="crn crn-br crn-br-b0"></span><span class="crn crn-bl crn-bl-b0"></span></span></button></div><div class="addnew"><a class="button submit" href="" target="_blank"><span class="wrapper"><span class="crn crn-tl crn-tl-b0"></span><span class="crn crn-tr crn-tr-b0"></span><span class="crn crn-br crn-br-b0"></span><span class="crn crn-bl crn-bl-b0"></span></span></a></div>';this.box.innerHTML=D;var C=GRONO.$$("ul.tabs li",this.box);this.addNewAHref=GRONO.$("div.addnew a",this.box);this.addNewHref=this.addNewAHref.getAttributeNode("href");this.addNewText=GRONO.$("span.wrapper",this.addNewAHref).appendChild(document.createTextNode(""));var B=0;for(var E in this.tabs){this.tabs[E]=C[B++]}this.selectionBox=GRONO.$("div.selection",this.box);Λ.DOMReady.process(this.box);GRONO.$("div.submit button.submit",this.box).addEventListener("click",function(){this.save()}.bind(this),false);GRONO.$("div.close button",this.box).addEventListener("click",function(){GRONO.hash.forEach(this.selectors,Λ.func.pass("revert"))}.bind(this),false);GRONO.$("div.submit button.cancel",this.box).addEventListener("click",function(){GRONO.hash.forEach(this.selectors,Λ.func.pass("revert"))}.bind(this),false)},save:function(){GRONO.hash.forEach(this.selectors,Λ.func.pass("save"))},setupPaginator:function(){this.paginator=Λ.PaginatorHTML.behavior(this.box);this.paginator.allowNullContent=false;var C=new Λ.PaginatorXhrHtml(this.paginator);C.url="/rolls/selector/";Λ.dPaginatorXhrNiceurls(C);GRONO.$selectorReload=function(){setTimeout(function(){this.addNewText.data=GRONO._("refresh");this.addNewAHref.onclick=function(E){var D=this.paginator.reload();A(this.paginator.content);this.paginator.content.addClass("content-loading");D.addEventListener("complete",this.paginator.content.removeClass.bind(this.paginator.content,"content-loading"));return false}.bind(this)}.bind(this),1)}.bind(this);this.paginator.addEventListener("fetch",function(D){var E=Λ.$("div.items ul.content",this.paginator.pages[D].data);if(!E){return }E.addEventListener("click",function(G){G.preventDefault();var F=GRONO.event.mouse.getClickableTarget(G)||E;if(F&&F.hasAttribute("data-id")){var H=F.getAttribute("data-id");this.currentSelector.toggle(D+"."+H,{id:H,type:D,html:F.innerHTML,target:F})}}.bind(this),false)},this);var B=null;this.paginator.addEventListener("turn",function(D){if(!this.singleMode){if(B){B.removeClass("active")}B=this.tabs[D];if(B){B.addClass("active")}}this.currentSelector=this.selectors[D];GRONO.log.debug("SELECTOR TURN ",D);if(D){this.addNewHref.nodeValue=GRONO.MediaSelectors.types[GRONO.MediaSelectors.nameMap[D]].addNewUrl;this.addNewText.data=GRONO._(GRONO.MediaSelectors.types[GRONO.MediaSelectors.nameMap[D]].addNewFish);this.addNewAHref.onclick=GRONO.$selectorReload}},this)},initialize:function(B){if(this.$initialized){return true}this.$initialized=true;this.paginator.addEventListener("turn",function(){this.paginator.removeEventListener("turn",arguments.callee,this);this.show()},this);this.paginator.turn(B?B:GRONO.MediaSelectors.types[this.firstType].name)},show:function(B){if(this.initialize(B)){if(B){this.paginator.turn(B)}this.curtain.show()}},hide:function(){this.curtain.hide()}});GRONO.MediaSelectors.types={1:{name:"gallery",fish:"gallery.heading",emptyHTML:'<img src="http://s1.grono.net/style/common/no_photo.gif" /><span class="mark"></span>',addNewUrl:"/gallery/publish/",addNewFish:"upload.from.disc"},2:{name:"videos",fish:"videos.heading",emptyHTML:'<img src="http://s1.grono.net/style/common/no_photo.gif" /><span class="mark"></span>',addNewUrl:"/multimedia/videos/add/",addNewFish:"add.new"},4:{name:"music",fish:"music.heading",emptyHTML:"TODO",addNewUrl:"/multimedia/music/upload/",addNewFish:"upload.from.disc"},8:{name:"places",fish:"places.heading",emptyHTML:"TODO",addNewUrl:"/maps/add/",addNewFish:"add.new"},16:{name:"files",fish:"files.my_files",emptyHTML:"TODO",addNewUrl:"/files/upload/",addNewFish:"upload.from.disc"}};GRONO.MediaSelectors.nameMap={gallery:1,videos:2,music:4,places:8,files:16};GRONO.MediaSelectors.implement(Λ.EventsHandler);GRONO.MediaSelector=GRONO.Base.extend({constructor:function(D,E,B){this.types=D;this.paginator=E;this.dynamic=!!B.dynamic;this.selector=new Λ.Selector(B.count,B.min);this.buildHtml();var C;if(this.dynamic){C=new GRONO.SelectorDynamicBoxes(this.selector,this.selectionBox,this.types)}else{C=new GRONO.SelectorStaticBoxes(this.selector,this.selectionBox,this.types)}GRONO.dSelectorBoxesStatus(C,this.selectionBox)},buildHtml:function(){this.selectionBox=this.paginator.selectionBox.appendChild(document.createElement("div").addClass("selection-type"));var E=Λ.bit.toArray(this.types).map(function(F){return GRONO._(GRONO.MediaSelectors.types[F].fish)});var D='<div class="title"><span class="title">'+E.join("/")+'</span> (<span class="count">0</span>/'+this.selector.limit+")</div>";for(var B in GRONO.MediaSelectors.types){if(B&this.types){this.selectionBox.addClass("selection-type-"+GRONO.MediaSelectors.types[B].name)}}D+="<ol>";if(!this.dynamic){for(var C=0;C<this.selector.limit;++C){D+='<li class="media-input-item"><div><div class="content">'+GRONO.MediaSelectors.types[Λ.bit.first(this.types)].emptyHTML+"</div>";if(this.selector.min!==this.selector.limit){D+='<button type="button" class="remove">x</button>'}D+="</div></li>"}}D+="</ol>";this.selectionBox.innerHTML=D;this.selectionBox.style.display="none"}})})();(function(){var A=function(C,D,E){var B=function(G){var I={};var F=function(L){I[L.getAttribute("data-type")||15]={count:parseInt(L.getAttribute("data-count"),10),dynamic:L.getAttribute("data-dynamicselector")==="true",min:L.hasAttribute("data-min")?parseInt(L.getAttribute("data-min"),10):0}};var H=function(M){var N=GRONO.hash.fromQueryString(M.getAttribute("data-multitype"));for(var L in N){I[L]={count:parseInt(N[L],10),dynamic:true}}};var J=GRONO.$$("div.selection-type",G);if(G.hasAttribute("data-multitype")||(J.length==0)){H(G)}else{J.forEach(F)}G.$mediaSelector=new GRONO.MediaSelectors(I);J.forEach(function(M){var N=G.$mediaSelector.mediaSelectors[GRONO.MediaSelectors.types[Λ.bit.first(M.getAttribute("data-type")||15)].name];var L;if(M.hasClass("dynamic")){L=new GRONO.SelectorDynamicBoxes(N.selector,M,N.types)}else{L=new GRONO.SelectorStaticBoxes(N.selector,M,N.types)}GRONO.dSelectorBoxesInputs(L);GRONO.dSelectorBoxesButtons(L);GRONO.dSelectorBoxesStatus(L,M);L.addEventListener("buttondeselect",N.selector.save.bind(N.selector,null));N.selector.save()});if(G.hasAttribute("data-url")||G.href){if(G.hasClass("async")){var K=new GRONO.Xhr(G.getAttribute("data-url")||G.href);Λ.dHTMLAsync.behavior(G,K)}G.$mediaSelector.save=GRONO.func.override(function(){var O={object_type:[],object_id:[],csrf_token:Λ.local.csrfToken};var M=[],L;for(var N in G.$mediaSelector.selectors){L=G.$mediaSelector.selectors[N];if(M.indexOf(L)>=0){continue}M[M.length]=L;L.selection.forEach(function(Q){O.object_type[O.object_type.length]=this.data[Q].type;O.object_id[O.object_id.length]=this.data[Q].id},L)}if(G.hasClass("async")){var P=this.base;K.addEventListener("success",function(){P.apply(this)}.bind(this));K.addEventListener("failure",function(){this.revert()}.bind(this));K.post(O,G.getAttribute("data-url")||G.href)}else{GRONO.form.build(G.getAttribute("data-url")||G.href,O).submit()}},G.$mediaSelector.save)}GRONO.log.debug("AFTER SETUP",G,G.$mediaSelector);if(E){E(G)}};C.addEventListener("click",function(F){var G=GRONO.event.mouse.getClickableTarget(F)||C;if(G&&G.hasClass("media-input-invoke")){F.preventDefault();if(!C.$mediaSelector){B(C)}C.$mediaSelector.show(G.getAttribute("data-type"))}},false);if(D){B(C)}};Λ.DOMReady.selectorAll("a, span, button, div",function(B){if(B.hasClass("media-input")){GRONO.log.debug("BHVR: SETUP MEDIA INPUT ",B);B.$bhIgnore_dHTMLAHref=true;if(GRONO.IE){document.addEventListener("DOMContentLoaded",function(){A(B,B.hasClass("preload"),B.hasAttribute("data-custom")?GRONO[B.getAttribute("data-custom")]:null)},false)}else{A(B,B.hasClass("preload"),B.hasAttribute("data-custom")?GRONO[B.getAttribute("data-custom")]:null)}}})})();
GRONO.$$xOverlayClose=function(A){A=A||this;if(!A.$overlay){A.$overlay=GRONO.dom.getAncestorBySelector(A,"div.overlay").$box}A.$overlay.hide()};GRONO.$$xOverlayConfirm=function(D,E,B,C){var A=new GRONO.Overlay(GRONO.$id("overlayConfirm"));A.disable=function(){this.$box.matchAll("button").forEach(function(F){F.disabled=true;F.addClass("disabled")})};A.enable=function(){this.$box.matchAll("button").forEach(function(F){F.disabled=false;F.removeClass("disabled")})};GRONO.$$xOverlayConfirm=function(H,I,F,G){A.set({context:H});A.target.matchSingle("button.yes").onclick=function(){if(F&&G){var J=new GRONO.Xhr(F);J.addEventListener("success",I);J.addEventListener("success",function(){overlayConfirm.hide()});J.addEventListener("complete",function(){A.enable()});overlayConfirm.disable();J.post(G)}else{I();A.hide()}};A.show();return A};GRONO.$$xOverlayConfirm(D,E,B,C)};GRONO.flash.fullscreen.behavior.$slideshow=function(B){var C,A;if(B.hasAttribute("data-galleryid")){C=B.getAttribute("data-galleryid")}else{}if(B.hasAttribute("data-photoid")){A=B.getAttribute("data-photoid")}var D=new GRONO.flash.Object("/d/slideshow3.swf",{id:"swfslideshow",width:"100%",height:"100%",minVersion:"9"});D.params.menu="false";D.params.allowScriptAccess="always";if(!Λ.OPERA){D.params.allowFullScreen="true"}D.variables.compact=0;D.variables.urlpfx=document.location.host;D.variables.id_owner=GRONO.local.visitedUserId;if(C){D.variables.id_gallery=C}D.variables.text_time=GRONO._("gallery.slides.speed");D.variables.text_copy=GRONO._("gallery.slides.copy");D.variables.text_send=GRONO._("gallery.slides.send");D.variables.logged=(GRONO.local.isAnonymous?0:1);if(A){D.variables.id_photo=A}return D};GRONO.flash.fullscreen.behavior.$photomanager=function(B){var G,C,F,E,H,D,I;if(B.hasAttribute("data-gallery_url")){G=B.getAttribute("data-gallery_url")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-gallery_url' is missing.")}if(B.hasAttribute("data-photo_url")){C=B.getAttribute("data-photo_url")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-photo_url' is missing.")}if(B.hasAttribute("data-photo_link")){F=B.getAttribute("data-photo_link")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-photo_link' is missing.")}if(B.hasAttribute("data-domain")){E=B.getAttribute("data-domain")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-domain' is missing.")}if(B.hasAttribute("data-premium")){H=B.getAttribute("data-premium")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-premium' is missing.")}if(B.hasAttribute("data-token")){D=B.getAttribute("data-token")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-token' is missing.")}if(B.hasAttribute("data-user_id")){I=B.getAttribute("data-user_id")}else{Λ.log.debug("photomanager error",this);throw new TypeError("Cannot open photomanager: 'data-user_id' is missing.")}var A=new GRONO.flash.Object("/d/photomanager11.swf",{id:"swfphotomanager",width:"100%",height:"100%",minVersion:"9"});A.params.menu="false";A.params.allowScriptAccess="always";A.params.allowFullScreen="true";A.variables.gallery_url=G;A.variables.photo_url=C;A.variables.photo_link=F;A.variables.domain=E;A.variables.premium=H;A.variables.token=D;A.variables.user_id=I;return A};if(!GRONO.flash.slideShow){GRONO.flash.slideShow={hideFullScreen:function(A,B){setTimeout(function(){Λ.flash.fullscreen.hide()},0)}}}GRONO.CommReloader=new GRONO.Acron(500);GRONO.transLoupeUrl=function(B){var A;if(A=B.match(/^\/rolls\/gallery\/frame_roll\/[a-z0-9_-]+\/(\d+)\/(\d+\/)?/)){return"/gallery/photo/"+A[1]+"/"}else{if(A=B.match(/^\/rolls\/gallery2\/frame_roll\/default\/(\d+)\/(\d+\/)?/)){return"/gallery/photo/"+A[1]+"/"}else{return B}}};if(Λ.location.isGET("preventclick")){GRONO.log.debug("CLICK PREVENT DEFAULT");document.addEventListener("click",function(A){GRONO.$b(A.target).addEventListener("click",function(B){GRONO.log.debug("CLICK TARGET PREVENT DEFAULT");B.preventDefault();this.removeEventListener("click",arguments.callee,false)},false)},true)}if(Λ.location.isGET("preventsubmit")){GRONO.log.debug("CLICK PREVENT SUBMIT");document.addEventListener("submit",function(A){A.preventDefault()},false)}GRONO.PaginatorHTML.behavior.$tabsWidgetAjaxPaginatorSetup=function(A){var B=GRONO.PaginatorHTML.behavior(A);B.addEventListener("turn",function(){if(this.previous){this.pageControls[this.previous].forEach(function(C){C.removeClass("active");GRONO.$b(C.parentNode).removeClass("active")})}if(this.current){this.pageControls[this.current].forEach(function(C){C.addClass("active");GRONO.$b(C.parentNode).addClass("active")})}})};GRONO.PaginatorHTML.behavior.$indexFromOne=function(A){var B=GRONO.PaginatorHTML.behavior(A);B.getStatusIndex=GRONO.dPaginatorHTMLStatus.zeroFixIndex;B.updateStatus()};(function(){var B=function(){var E=document.createElement("div").addClass("linkCopy");E.innerHTML="<p>"+GRONO._("clipboard.copy.success")+"</p>";var D=new GRONO.Overlay(E);B=function(){return D};return B()};var C=function(){var E=document.createElement("div").addClass("linkCopy");E.innerHTML="<p><strong>"+GRONO._("clipboard.copy.failure")+'</strong></p><p><a href="" class="verboseLink"></a><p><button type="button" class="button submit ok"><span class="wrapper">'+GRONO._("button.ok")+GRONO.conf.buttonDecoration+"</span></button></p>";var D=new GRONO.Overlay(E);D.ahref=GRONO.$("a",E);GRONO.$("button",E).onclick=function(){D.hide()};C=function(){return D};return C()};GRONO.$$xClipboardCopy=function(E,D){var H,G,F;H=function(){var I=B();I.set({context:E,contextHook:{x:(D||0)+"px",y:0}});I.show();setTimeout(function(){I.hide()},1500);F()};G=function(){var I=C();I.set({context:E,contextHook:{x:(D||0)+"px",y:0}});I.ahref.innerHTML=E.href;I.ahref.href=E.href;I.show();F()};F=function(){GRONO.clipboard.removeEventListener("success",H);GRONO.clipboard.removeEventListener("failure",G)};GRONO.clipboard.addEventListener("success",H);GRONO.clipboard.addEventListener("failure",G);GRONO.clipboard.copy(E.href);return false};var A=function(){var D=document.createElement("div").addClass("behavior-generated overlay clipboardCopyOverlay");D.innerHTML='<div class="close"><button type="button" data-hide="^(div.overlay)">X</button></div><div><input type="text" class="hrefInput" size="30" /></div><div class="swf"></div>';new Λ.Overlay(D);Λ.DOMReady.process(D);A=function(){return D};return D};GRONO.$$xLinkClipboardCopy=function(I,F,D,K){F=Λ.location.fullUrlRegExp.test(F)?F:(location.protocol+"//"+location.host+F);GRONO.log.debug("CLIPBOARD ",F);var H=A();var G=H.$box;var E=H.querySelector("input.hrefInput");if(!E){throw new TypeError("Cannot setup Post link form: Could not find url input")}var J=H.querySelector("div.swf");if(!J){throw new TypeError("Cannot setup Post link form: Could not find swf container")}E.value=F;G.set({context:I,hook:{x:(D||0)+"px",y:(K||0)+"px"},center:false});G.show();setTimeout(function(){var L=new Λ.flash.Object(Λ.conf.flashClipboard2Src,{id:"clipboard2swf",width:200,height:30,background:"red"});L.params.allowScriptAccess="sameDomain";L.params.allowFullScreen="false";L.variables.oncopy="GRONO.$$xLinkClipboardCopy.close";L.variables.fish=GRONO._("to.clipboard");L.variables.link=F;swf=L.write(J);E.focus();Λ.form.selectAll(E)},100)};Λ.clipboard.closeWindow=function(){setTimeout(function(){var E=A();var D=E.$box;D.hide()},1)}})();GRONO.showLoginCurtain=function(){if(arguments.callee.inProgress){return false}if(!arguments.callee.curtain){var A=new GRONO.Xhr("/pub/join/register/overlay/");arguments.callee.inProgress=true;A.addEventListener("success",function(C){var B=document.body.appendChild(document.createElement("div")).addClass("loginRegisterOverlay");B.innerHTML=C;GRONO.showLoginCurtain.curtain=new GRONO.Curtain(B);GRONO.DOMReady.process(B);GRONO.showLoginCurtain.curtain.show();GRONO.showLoginCurtain.inProgress=false});A.get()}else{arguments.callee.curtain.show()}return false};GRONO.paginatorClasifyControlParent=function(A){A.addEventListener("turn",function(){if(this.previous&&this.pageControls[this.previous]){this.pageControls[this.previous].forEach(function(B){GRONO.$b(B.parentNode).removeClass("current")})}if(this.current&&this.pageControls[this.current]){this.pageControls[this.current].forEach(function(B){GRONO.$b(B.parentNode).addClass("current")})}})};GRONO.DOMBehaviors.$mapReloadIWindow=GRONO.mapReloadIWindow=function(){var C=GRONO.$("div.map");var A=GRONO.$("div.box",C);if(!C||!C.$map||!A){GRONO.log.info("STREFA MAP: could not reload cloud, elements not found");return }C=C.$map;var B=C.gmap.getInfoWindow();if(B){C.gmap.openInfoWindow(B.getPoint(),A)}else{GRONO.log.info("STREFA MAP: could not reload cloud, there's no infowindow opened")}};GRONO.DataSource.addEventListener("begin",function(A){if(!A.preventNotify){document.body.addClass("xhrprogress")}});GRONO.DataSource.addEventListener("complete",function(A){GRONO.$b(document.body).removeClass("xhrprogress")});if(GRONO.WEBKIT||GRONO.CHROME){var clearHide=GRONO.time.delayTimeout(function(){document.body.style.opacity="1"},10);document.addEventListener("scroll",function(){document.body.style.opacity="0.99";clearHide()},false)}GRONO.ankietaValidCondition=function(B){GRONO.log.debug("NEW CONDITION",GRONO.$("input[type=hidden]",GRONO.$b(B.parentNode)));if(!B.value){var A=GRONO.$("input[type=hidden]",GRONO.$b(B.parentNode));return !!(A&&A.value)}return true};GRONO.ankietaSetupPictureSelect=function(A){A.$mediaSelector.addEventListener("innersave",function(){GRONO.log.debug("SELECTOR SAVE VALIDATE");GRONO.$("input[type=text]",GRONO.$b(A.parentNode)).$control.validate()})};GRONO.eipSetEmpty=function(C,A){var B=GRONO.DOMBehaviors.newGetItems(A,C).elements[0];if(B.hasClass("edit-in-place")){Λ.EditInPlace.behavior(B)}else{Λ.log.debug("ERROR",C,A,B,GRONO.DOMBehaviors.newGetItems(A,C));throw new Error("eipSetEmpty error: Targeted element is not set for edit in place")}B=B.$eip;B.setValue("");B.submit()};bmone2n={addPosition:GRONO.func.empty,getAd:GRONO.func.empty,makeAd:GRONO.func.empty,moveAd:GRONO.func.empty};GRONO.chatOn=function(){GRONO.cookie.erase("chat_off");if(GRONO.DESKTOP){location.href=location.href.replace(location.host+"/",location.host+"/chat/#")}};GRONO.chatOff=function(){GRONO.cookie.set("chat_off",1,30);if(window.parent&&(parent!==window)&&(parent.document!==document)&&(parent.location.pathname.indexOf("/chat/")===0)){parent.location.href=location.href}};Λ.dHTMLFormConfirm.captureRegister();Λ.dHTMLFormSimple.captureRegister();Λ.HTMLForm.behaviorAll();Λ.flash.fullscreen.captureRegister();Λ.PaginatorHTML.behaviorAll();Λ.DragDropOrderSet.behaviorAll();Λ.dHTMLInputMirror.captureRegister();Λ.dHTMLFormAsync.captureRegister();Λ.Overlay.behaviorAll("overlay2");Λ.OverlayXhr.captureRegister();Λ.CurtainXhr.captureRegister();Λ.EditInPlace.behaviorAll();Λ.DOMBehaviors.behaviorAll();Λ.DOMBehaviors.captureRegister();Λ.HTMLRadioControl.captureRegister();Λ.dHTMLInputTextNullValue.behaviorAll();Λ.Calendar.captureRegister();Λ.dHTMLAHref.captureRegister();Λ.dHTMLFormCheckAll.captureRegister();Λ.dHTMLSelectAsync.captureRegister();Λ.dHTMLSelectToggle.behaviorAll();Λ.dHTMLSelectAction.behaviorAll();GRONO.Init.onseen();GRONO.Init.onaction();Λ.DOMReady.selectorAll("button, input, a",function(A){if(A.hasClass("premium-only")&&!GRONO.local.isPremium){A.onclick=function(){return GRONO.$$xPremiumBox(this,A.getAttribute("data-premiumheading"),A.getAttribute("data-premiumcostmode"))}}});Λ.DOMReady.selectorAll("textarea",function(A){if(A.hasClass("autogrow")){GRONO.form.textareaAutoGrow(A)}});Λ.DOMReady.selectorAll("input",function(A){if(A.hasAttribute("data-findsimilar")){var C=new GRONO.Xhr(A.getAttribute("data-findsimilar"));C.varName=A.name;if(A.hasAttribute("data-throbber")){GRONO.throbber(C,GRONO.DOMBehaviors.newGetItems(A.getAttribute("data-throbber"),A).elements[0],true)}var B=GRONO.DOMBehaviors.newGetItems(A.getAttribute("data-listbox"),A).elements[0];C.addEventListener("success",function(D){B.innerHTML=D});A.addEventListener("blur",function(){if(C.inProgress){C.abort()}if(this.value){C.post(this.value)}},false)}});Λ.DOMReady.selectorAll("form",function(A){if(A.hasClass("tageditor")){GRONO.$tagEditor(A)}});Λ.DOMReady.selectorAll("ol",function(A){if(A.hasClass("tagsCloud")){GRONO.$tagsCloud(A)}});Λ.DOMReady.selectorAll("div",function(F){if(F.hasClass("hoverexpand")){var H=GRONO.DOMBehaviors.newGetItems(F.getAttribute("data-target"),F).elements[0];if(!H||!H.$box){if(GRONO.$isDOMContentLoaded){if(!H||!H.hasClass("overlay2")){GRONO.log.debug("Hover Expand",F,F.getAttribute("data-target"),H);throw new Error("Hover Expand error: Could not find target or target is not overlay")}else{Λ.Overlay.behavior(H)}}else{setTimeout(arguments.callee.bind(this,F),100);return }}var E=H.$box;var A;var D=false;E.isVisible=false;var G=function(){if(!D){GRONO.event.mouse.addEventListener("changeover",C)}E.show()};var C=function(I){if(GRONO.dom.isSelfOrAncestor(I,F)||GRONO.dom.isSelfOrAncestor(I,H)){if(A){clearTimeout(A);A=null}E.show()}else{if(!A){A=setTimeout(B,200)}}};var B=function(){E.hide();GRONO.event.mouse.removeEventListener("changeover",C);A=null};GRONO.event.mouse.enter(F,G);GRONO.event.mouse.enter(H,G)}});
(function(){var C;getSwf=function(J){var G=arguments;C=new Λ.flash.Object(Λ.conf.mp3PlayerSrc,{width:1,height:1});var I=document.body.appendChild(document.createElement("div"));C.write(I);C=C.swfElement;var H=new Date().getTime();var F=setInterval(function(){if(C.xplay){clearInterval(F);GRONO.log.debug("HELLO ");getSwf=function(K){GRONO.log.debug("SWF PLAYER ");K()};getSwf.apply(null,G)}else{if((new Date().getTime()-H)>5000){clearInterval(F);GRONO.alert(GRONO._("audioplayer.swf.missing"))}else{GRONO.log.debug("no hello")}}},300)};var D={};var E=function(F,G){if(!D[F]){D[F]=[]}if(D[F].indexOf(G)===-1){D[F].push(G)}};var B={playing:"mp3PlayerPlaying",loading:"mp3PlayerLoading",error:"mp3PlayerError"};var A=function(G){for(var F in B){G.removeClass(B[F])}};GRONO.audioPlayer={play:function(F,G){E(F,G);getSwf(function(){GRONO.log.debug("AudioPlayer: play on swf "+F);C.xplay(F,F)})},playPause:function(F,G){E(F,G);getSwf(function(){GRONO.log.debug("AudioPlayer: play pause on swf "+F);C.xplayPause(F,F)})},stop:function(){getSwf(function(){GRONO.log.debug("AudioPlayer: stop on swf ");C.xstop()})},isPlaying:function(){getSwf(function(){alert("Playing: "+C.xisPlaying())})},onPlay:function(F){GRONO.log.debug("AudioPlayer event: play "+F);if(D[F]){D[F].forEach(function(G){A(G);G.addClass(B.playing)})}},onPause:function(F){GRONO.log.debug("AudioPlayer event: pause "+F);if(D[F]){D[F].forEach(function(G){A(G)})}},onStop:function(F){GRONO.log.debug("AudioPlayer event: stop "+F);if(D[F]){D[F].forEach(function(G){A(G)})}},onLoading:function(F){GRONO.log.debug("AudioPlayer event: loading "+F);if(D[F]){D[F].forEach(function(G){A(G);G.addClass(B.loading)})}},onError:function(F){GRONO.log.debug("AudioPlayer event: error "+F);if(D[F]){D[F].forEach(function(G){A(G);G.addClass(B.error)})}}}})();
GRONO.DOMReady.selectorAll("div",function(B){if(B.hasClass("friends-selector")){var a=GRONO.friendsGroupsData;GRONO.log.debug("FRIENDS SELECTOR",a);var L=a.users;var Y=a.groups;var D=[],P=[],E,V;var C=15;a.all.$id="all";P.$id="selected";var S=GRONO.$("div.input input",B);var X=GRONO.$("div.navigation",B);var H=GRONO.$("button.previous",B);var N=GRONO.$("span.current-page-number",B);var J=GRONO.$("span.total-pages-number",B);var T=GRONO.$("span.selected-limit",B);if(T){T=Number(T.innerHTML)||false}H.onclick=function(){Z(E,V-1)};var W=GRONO.$("button.next",B);W.onclick=function(){Z(E,V+1)};var G=GRONO.$("div.content",B);var Q=function(b){if(!b.style){b.el=G.appendChild(GRONO.html.firstElement(b.userIcon));b.el.$id=b.id;var c=b.el.$input=document.createElement("input");c.type="hidden";c.name="friends";c.value=b.id;b.style=b.el.style}};var R=function(b){GRONO.$$("span.selected-count",B).forEach(function(c){c.innerHTML=Number(c.innerHTML)+b})};var O=function(d){var b=L[d];Q(b);var c=b.el;if(!c.hasClass("selected")&&(!T||(P.length<T))){c.addClass("selected");c.appendChild(c.$input);P.push(d);if(P.length==T){B.addClass("full")}return 1}return 0};var K=function(d){var b=L[d];Q(b);var c=b.el;if(c.hasClass("selected")){c.removeClass("selected");P.splice(P.indexOf(d),1);c.removeChild(c.$input);B.removeClass("full");return -1}return 0};G.addEventListener("click",function(c){c.preventDefault();c.stopPropagation();var f=GRONO.dom.getSelfOrAncestorBySelector(GRONO.event.mouse.currentClick,"div.userIcon");if(f){var d=f.$id;var b;if(f.hasClass("selected")){R(K(d));if(E.$id=="selected"){Z(E,V)}}else{R(O(d))}}},true);var Z=function(f,d){var e,b;while(e=D.shift()){L[e].style.display="none"}if((d!=0)&&((d*C)>=f.length)){return Z(f,d-1)}iterate:for(var c=d*C;c<Math.min(f.length,(d+1)*C);++c){b=L[f[c]];while(!b){f.splice(c,1);if(!f[c]){continue iterate}b=L[f[c]]}D.push(f[c]);Q(b);b.style.display=""}if(f.length<=C){X.style.visibility="hidden"}else{X.style.visibility="";if(d<=0){H.disabled=true;H.addClass("disabled")}else{H.disabled=false;H.removeClass("disabled")}if(f.length<=((d+1)*C)){W.disabled=true;W.addClass("disabled")}else{W.disabled=false;W.removeClass("disabled")}N.innerHTML=d+1;J.innerHTML=Math.ceil(f.length/C)}E=f;V=d;GRONO.$$("button.set-filter",B).forEach(function(g){if(f.$id&&(g.getAttribute("data-setid")==f.$id)){g.addClass("active")}else{g.removeClass("active")}})};Z(a.all,0);B.addEventListener("click",function(){var d=GRONO.dom.getClickable(GRONO.event.mouse.currentClick);if(d){if(d.hasAttribute("data-setid")){var e=d.getAttribute("data-setid");switch(e){case"all":set=a.all;break;case"selected":set=P;break;default:set=Y[e].users;set.$id=e}if(set!==E){S.value="";Z(set,0)}}else{if(d.hasClass("select-all")){var c=0;for(var b=V*C;b<Math.min(E.length,(V+1)*C);++b){c+=O(E[b])}R(c)}}}},false);var I=new GRONO.HTMLElement(GRONO.$("div.groups div.list",B));document.addEventListener("click",function(){if(!I.hidden){I.hide()}},true);var A={};var M=function(){var c=S.value.toLowerCase();if(c.length<2){Z(a.all,0);return }if(!A[c]){var g=A[c]=[];var e=a.searchString,b;var d=0,f;GRONO.log.debug("SEARCH: ",c,e.indexOf(c));while((b=e.indexOf(c))>=0){d+=b+c.length;e=e.substr(b+c.length);b=e.indexOf("\x07");GRONO.log.debug("SEARCH END: ",b,e);d+=b+1;e=e.substr(b+1);GRONO.log.debug("SEARCH CUT: ",b,e);f=a.searchIndexes[d-1];GRONO.log.debug("Text search by: ",d-1);if(!f){throw new Error("Could not find search user id")}g.push(f)}}if(A[c]!==E){Z(A[c],0)}};var F=GRONO.time.delayTimeout(M,300);S.addEventListener("keyup",F,false);selectState=[];var U=B.$friendsSelector={saveState:function(){selectState=[].concat(P)},deselectAll:function(){while(P[0]){K(P[0])}}};U.saveState()}});