/*!
 * @package js-common
 * @type js
 *
 * @file easyXDM/easyXDM.js
 * @file xtype.js
 * @file ../JsHttpRequest.js
 * @file base.js
 * @file widget/slideshow.js
 *
 * @author Nesterenko Dmitry (chebur.mail@gmail.com)
 */
(function(O,d,q,L,l,I){var b=this;var o=Math.floor(Math.random()*10000);var r=Function.prototype;var R=/^((http.?:)\/\/([^:\/\s]+)(:\d+)*)/;var S=/[\-\w]+\/\.\.\//;var G=/([^:])\/\//g;var J="";var p={};var N=O.easyXDM;var V="easyXDM_";var F;var z=false;var j;var i;function D(Y,aa){var Z=typeof Y[aa];return Z=="function"||(!!(Z=="object"&&Y[aa]))||Z=="unknown"}function v(Y,Z){return !!(typeof(Y[Z])=="object"&&Y[Z])}function s(Y){return Object.prototype.toString.call(Y)==="[object Array]"}function c(){var aa="Shockwave Flash",ae="application/x-shockwave-flash";if(!u(navigator.plugins)&&typeof navigator.plugins[aa]=="object"){var ac=navigator.plugins[aa].description;if(ac&&!u(navigator.mimeTypes)&&navigator.mimeTypes[ae]&&navigator.mimeTypes[ae].enabledPlugin){j=ac.match(/\d+/g)}}if(!j){var Z;try{Z=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");j=Array.prototype.slice.call(Z.GetVariable("$version").match(/(\d+),(\d+),(\d+),(\d+)/),1);Z=null}catch(ad){}}if(!j){return false}var Y=parseInt(j[0],10),ab=parseInt(j[1],10);i=Y>9&&ab>0;return true}var w,y;if(D(O,"addEventListener")){w=function(aa,Y,Z){aa.addEventListener(Y,Z,false)};y=function(aa,Y,Z){aa.removeEventListener(Y,Z,false)}}else{if(D(O,"attachEvent")){w=function(Y,aa,Z){Y.attachEvent("on"+aa,Z)};y=function(Y,aa,Z){Y.detachEvent("on"+aa,Z)}}else{throw new Error("Browser not supported")}}var X=false,K=[],M;if("readyState" in d){M=d.readyState;X=M=="complete"||(~navigator.userAgent.indexOf("AppleWebKit/")&&(M=="loaded"||M=="interactive"))}else{X=!!d.body}function t(){if(X){return}X=true;for(var Y=0;Y<K.length;Y++){K[Y]()}K.length=0}if(!X){if(D(O,"addEventListener")){w(d,"DOMContentLoaded",t)}else{w(d,"readystatechange",function(){if(d.readyState=="complete"){t()}});if(d.documentElement.doScroll&&O===top){var h=function(){if(X){return}try{d.documentElement.doScroll("left")}catch(Y){L(h,1);return}t()};h()}}w(O,"load",t)}function H(Z,Y){if(X){Z.call(Y);return}K.push(function(){Z.call(Y)})}function n(){var aa=parent;if(J!==""){for(var Y=0,Z=J.split(".");Y<Z.length;Y++){aa=aa[Z[Y]]}}return aa.easyXDM}function f(Y){O.easyXDM=N;J=Y;if(J){V="easyXDM_"+J.replace(".","_")+"_"}return p}function A(Y){return Y.match(R)[3]}function g(Y){return Y.match(R)[4]||""}function k(aa){var Y=aa.toLowerCase().match(R);var ab=Y[2],ac=Y[3],Z=Y[4]||"";if((ab=="http:"&&Z==":80")||(ab=="https:"&&Z==":443")){Z=""}return ab+"//"+ac+Z}function C(Y){Y=Y.replace(G,"$1/");if(!Y.match(/^(http||https):\/\//)){var Z=(Y.substring(0,1)==="/")?"":q.pathname;if(Z.substring(Z.length-1)!=="/"){Z=Z.substring(0,Z.lastIndexOf("/")+1)}Y=q.protocol+"//"+q.host+Z+Y}while(S.test(Y)){Y=Y.replace(S,"")}return Y}function Q(Y,ab){var ad="",aa=Y.indexOf("#");if(aa!==-1){ad=Y.substring(aa);Y=Y.substring(0,aa)}var ac=[];for(var Z in ab){if(ab.hasOwnProperty(Z)){ac.push(Z+"="+I(ab[Z]))}}return Y+(z?"#":(Y.indexOf("?")==-1?"?":"&"))+ac.join("&")+ad}var T=(function(Y){Y=Y.substring(1).split("&");var aa={},ab,Z=Y.length;while(Z--){ab=Y[Z].split("=");aa[ab[0]]=l(ab[1])}return aa}(/xdm_e=/.test(q.search)?q.search:q.hash));function u(Y){return typeof Y==="undefined"}var P=function(){var Z={};var aa={a:[1,2,3]},Y='{"a":[1,2,3]}';if(typeof JSON!="undefined"&&typeof JSON.stringify==="function"&&JSON.stringify(aa).replace((/\s/g),"")===Y){return JSON}if(Object.toJSON){if(Object.toJSON(aa).replace((/\s/g),"")===Y){Z.stringify=Object.toJSON}}if(typeof String.prototype.evalJSON==="function"){aa=Y.evalJSON();if(aa.a&&aa.a.length===3&&aa.a[2]===3){Z.parse=function(ab){return ab.evalJSON()}}}if(Z.stringify&&Z.parse){P=function(){return Z};return Z}return null};function U(Y,Z,aa){var ac;for(var ab in Z){if(Z.hasOwnProperty(ab)){if(ab in Y){ac=Z[ab];if(typeof ac==="object"){U(Y[ab],ac,aa)}else{if(!aa){Y[ab]=Z[ab]}}}else{Y[ab]=Z[ab]}}}return Y}function a(){var Z=d.body.appendChild(d.createElement("form")),Y=Z.appendChild(d.createElement("input"));Y.name=V+"TEST"+o;F=Y!==Z.elements[Y.name];d.body.removeChild(Z)}function B(Y){if(u(F)){a()}var aa;if(F){aa=d.createElement('<iframe name="'+Y.props.name+'"/>')}else{aa=d.createElement("IFRAME");aa.name=Y.props.name}aa.id=aa.name=Y.props.name;delete Y.props.name;if(Y.onLoad){w(aa,"load",Y.onLoad)}if(typeof Y.container=="string"){Y.container=d.getElementById(Y.container)}if(!Y.container){U(aa.style,{position:"absolute",top:"-2000px",left:"0px"});Y.container=d.body}var Z=Y.props.src;Y.props.src="javascript:false";U(aa,Y.props);aa.border=aa.frameBorder=0;aa.allowTransparency=true;Y.container.appendChild(aa);aa.src=Z;Y.props.src=Z;return aa}function W(ab,aa){if(typeof ab=="string"){ab=[ab]}var Z,Y=ab.length;while(Y--){Z=ab[Y];Z=new RegExp(Z.substr(0,1)=="^"?Z:("^"+Z.replace(/(\*)/g,".$1").replace(/\?/g,".")+"$"));if(Z.test(aa)){return true}}return false}function m(aa){var af=aa.protocol,Z;aa.isHost=aa.isHost||u(T.xdm_p);z=aa.hash||false;if(!aa.props){aa.props={}}if(!aa.isHost){aa.channel=T.xdm_c.replace(/["'<>\\]/g,"");aa.secret=T.xdm_s;aa.remote=T.xdm_e.replace(/["'<>\\]/g,"");af=T.xdm_p;if(aa.acl&&!W(aa.acl,aa.remote)){throw new Error("Access denied for "+aa.remote)}}else{aa.remote=C(aa.remote);aa.channel=aa.channel||"default"+o++;aa.secret=Math.random().toString(16).substring(2);if(u(af)){if(k(q.href)==k(aa.remote)){af="4"}else{if(D(O,"postMessage")||D(d,"postMessage")){af="1"}else{if(aa.swf&&D(O,"ActiveXObject")&&c()){af="6"}else{if(navigator.product==="Gecko"&&"frameElement" in O&&navigator.userAgent.indexOf("WebKit")==-1){af="5"}else{if(aa.remoteHelper){aa.remoteHelper=C(aa.remoteHelper);af="2"}else{af="0"}}}}}}}aa.protocol=af;switch(af){case"0":U(aa,{interval:100,delay:2000,useResize:true,useParent:false,usePolling:false},true);if(aa.isHost){if(!aa.local){var ad=q.protocol+"//"+q.host,Y=d.body.getElementsByTagName("img"),ae;var ab=Y.length;while(ab--){ae=Y[ab];if(ae.src.substring(0,ad.length)===ad){aa.local=ae.src;break}}if(!aa.local){aa.local=O}}var ac={xdm_c:aa.channel,xdm_p:0};if(aa.local===O){aa.usePolling=true;aa.useParent=true;aa.local=q.protocol+"//"+q.host+q.pathname+q.search;ac.xdm_e=aa.local;ac.xdm_pa=1}else{ac.xdm_e=C(aa.local)}if(aa.container){aa.useResize=false;ac.xdm_po=1}aa.remote=Q(aa.remote,ac)}else{U(aa,{channel:T.xdm_c,remote:T.xdm_e,useParent:!u(T.xdm_pa),usePolling:!u(T.xdm_po),useResize:aa.useParent?false:aa.useResize})}Z=[new p.stack.HashTransport(aa),new p.stack.ReliableBehavior({}),new p.stack.QueueBehavior({encode:true,maxLength:4000-aa.remote.length}),new p.stack.VerifyBehavior({initiate:aa.isHost})];break;case"1":Z=[new p.stack.PostMessageTransport(aa)];break;case"2":Z=[new p.stack.NameTransport(aa),new p.stack.QueueBehavior(),new p.stack.VerifyBehavior({initiate:aa.isHost})];break;case"3":Z=[new p.stack.NixTransport(aa)];break;case"4":Z=[new p.stack.SameOriginTransport(aa)];break;case"5":Z=[new p.stack.FrameElementTransport(aa)];break;case"6":if(!j){c()}Z=[new p.stack.FlashTransport(aa)];break}Z.push(new p.stack.QueueBehavior({lazy:aa.lazy,remove:true}));return Z}function E(ab){var ac,aa={incoming:function(ae,ad){this.up.incoming(ae,ad)},outgoing:function(ad,ae){this.down.outgoing(ad,ae)},callback:function(ad){this.up.callback(ad)},init:function(){this.down.init()},destroy:function(){this.down.destroy()}};for(var Z=0,Y=ab.length;Z<Y;Z++){ac=ab[Z];U(ac,aa,true);if(Z!==0){ac.down=ab[Z-1]}if(Z!==Y-1){ac.up=ab[Z+1]}}return ac}function x(Y){Y.up.down=Y.down;Y.down.up=Y.up;Y.up=Y.down=null}U(p,{version:"2.4.15.1",query:T,stack:{},apply:U,getJSONObject:P,whenReady:H,noConflict:f});p.DomHelper={on:w,un:y,requiresJSON:function(Y){if(!v(O,"JSON")){d.write('<script type="text/javascript" src="'+Y+'"><\/script>')}}};(function(){var Y={};p.Fn={set:function(Z,aa){Y[Z]=aa},get:function(aa,Z){var ab=Y[aa];if(Z){delete Y[aa]}return ab}}}());p.Socket=function(Z){var Y=E(m(Z).concat([{incoming:function(ac,ab){Z.onMessage(ac,ab)},callback:function(ab){if(Z.onReady){Z.onReady(ab)}}}])),aa=k(Z.remote);this.origin=k(Z.remote);this.destroy=function(){Y.destroy()};this.postMessage=function(ab){Y.outgoing(ab,aa)};Y.init()};p.Rpc=function(aa,Z){if(Z.local){for(var ac in Z.local){if(Z.local.hasOwnProperty(ac)){var ab=Z.local[ac];if(typeof ab==="function"){Z.local[ac]={method:ab}}}}}var Y=E(m(aa).concat([new p.stack.RpcBehavior(this,Z),{callback:function(ad){if(aa.onReady){aa.onReady(ad)}}}]));this.origin=k(aa.remote);this.destroy=function(){Y.destroy()};Y.init()};p.stack.SameOriginTransport=function(Z){var aa,ac,ab,Y;return(aa={outgoing:function(ae,af,ad){ab(ae);if(ad){ad()}},destroy:function(){if(ac){ac.parentNode.removeChild(ac);ac=null}},onDOMReady:function(){Y=k(Z.remote);if(Z.isHost){U(Z.props,{src:Q(Z.remote,{xdm_e:q.protocol+"//"+q.host+q.pathname,xdm_c:Z.channel,xdm_p:4}),name:V+Z.channel+"_provider"});ac=B(Z);p.Fn.set(Z.channel,function(ad){ab=ad;L(function(){aa.up.callback(true)},0);return function(ae){aa.up.incoming(ae,Y)}})}else{ab=n().Fn.get(Z.channel,true)(function(ad){aa.up.incoming(ad,Y)});L(function(){aa.up.callback(true)},0)}},init:function(){H(aa.onDOMReady,aa)}})};p.stack.FlashTransport=function(ab){var ad,Y,ac,ae,Z,af;function ag(ai,ah){L(function(){ad.up.incoming(ai,ae)},0)}function aa(ai){var ah=ab.swf+"?host="+ab.isHost;var ak="easyXDM_swf_"+Math.floor(Math.random()*10000);p.Fn.set("flash_loaded"+ai.replace(/[\-.]/g,"_"),function(){p.stack.FlashTransport[ai].swf=Z=af.firstChild;var al=p.stack.FlashTransport[ai].queue;for(var am=0;am<al.length;am++){al[am]()}al.length=0});if(ab.swfContainer){af=(typeof ab.swfContainer=="string")?d.getElementById(ab.swfContainer):ab.swfContainer}else{af=d.createElement("div");U(af.style,i&&ab.swfNoThrottle?{height:"20px",width:"20px",position:"fixed",right:0,top:0}:{height:"1px",width:"1px",position:"absolute",overflow:"hidden",right:0,top:0});d.body.appendChild(af)}var aj="callback=flash_loaded"+ai.replace(/[\-.]/g,"_")+"&proto="+b.location.protocol+"&domain="+A(b.location.href)+"&port="+g(b.location.href)+"&ns="+J;af.innerHTML="<object height='20' width='20' type='application/x-shockwave-flash' id='"+ak+"' data='"+ah+"'><param name='allowScriptAccess' value='always'></param><param name='wmode' value='transparent'><param name='movie' value='"+ah+"'></param><param name='flashvars' value='"+aj+"'></param><embed type='application/x-shockwave-flash' FlashVars='"+aj+"' allowScriptAccess='always' wmode='transparent' src='"+ah+"' height='1' width='1'></embed></object>"}return(ad={outgoing:function(ai,aj,ah){Z.postMessage(ab.channel,ai.toString());if(ah){ah()}},destroy:function(){try{Z.destroyChannel(ab.channel)}catch(ah){}Z=null;if(Y){Y.parentNode.removeChild(Y);Y=null}},onDOMReady:function(){ae=ab.remote;p.Fn.set("flash_"+ab.channel+"_init",function(){L(function(){ad.up.callback(true)})});p.Fn.set("flash_"+ab.channel+"_onMessage",ag);ab.swf=C(ab.swf);var ai=A(ab.swf);var ah=function(){p.stack.FlashTransport[ai].init=true;Z=p.stack.FlashTransport[ai].swf;Z.createChannel(ab.channel,ab.secret,k(ab.remote),ab.isHost);if(ab.isHost){if(i&&ab.swfNoThrottle){U(ab.props,{position:"fixed",right:0,top:0,height:"20px",width:"20px"})}U(ab.props,{src:Q(ab.remote,{xdm_e:k(q.href),xdm_c:ab.channel,xdm_p:6,xdm_s:ab.secret}),name:V+ab.channel+"_provider"});Y=B(ab)}};if(p.stack.FlashTransport[ai]&&p.stack.FlashTransport[ai].init){ah()}else{if(!p.stack.FlashTransport[ai]){p.stack.FlashTransport[ai]={queue:[ah]};aa(ai)}else{p.stack.FlashTransport[ai].queue.push(ah)}}},init:function(){H(ad.onDOMReady,ad)}})};p.stack.PostMessageTransport=function(ab){var ad,ae,Z,aa;function Y(af){if(af.origin){return k(af.origin)}if(af.uri){return k(af.uri)}if(af.domain){return q.protocol+"//"+af.domain}throw"Unable to retrieve the origin of the event"}function ac(ag){var af=Y(ag);if(af==aa&&ag.data.substring(0,ab.channel.length+1)==ab.channel+" "){ad.up.incoming(ag.data.substring(ab.channel.length+1),af)}}return(ad={outgoing:function(ag,ah,af){Z.postMessage(ab.channel+" "+ag,ah||aa);if(af){af()}},destroy:function(){y(O,"message",ac);if(ae){Z=null;ae.parentNode.removeChild(ae);ae=null}},onDOMReady:function(){aa=k(ab.remote);if(ab.isHost){var af=function(ag){if(ag.data==ab.channel+"-ready"){Z=("postMessage" in ae.contentWindow)?ae.contentWindow:ae.contentWindow.document;y(O,"message",af);w(O,"message",ac);L(function(){ad.up.callback(true)},0)}};w(O,"message",af);U(ab.props,{src:Q(ab.remote,{xdm_e:k(q.href),xdm_c:ab.channel,xdm_p:1}),name:V+ab.channel+"_provider"});ae=B(ab)}else{w(O,"message",ac);Z=("postMessage" in O.parent)?O.parent:O.parent.document;Z.postMessage(ab.channel+"-ready",aa);L(function(){ad.up.callback(true)},0)}},init:function(){H(ad.onDOMReady,ad)}})};p.stack.FrameElementTransport=function(Z){var aa,ac,ab,Y;return(aa={outgoing:function(ae,af,ad){ab.call(this,ae);if(ad){ad()}},destroy:function(){if(ac){ac.parentNode.removeChild(ac);ac=null}},onDOMReady:function(){Y=k(Z.remote);if(Z.isHost){U(Z.props,{src:Q(Z.remote,{xdm_e:k(q.href),xdm_c:Z.channel,xdm_p:5}),name:V+Z.channel+"_provider"});ac=B(Z);ac.fn=function(ad){delete ac.fn;ab=ad;L(function(){aa.up.callback(true)},0);return function(ae){aa.up.incoming(ae,Y)}}}else{if(d.referrer&&k(d.referrer)!=T.xdm_e){O.top.location=T.xdm_e}ab=O.frameElement.fn(function(ad){aa.up.incoming(ad,Y)});aa.up.callback(true)}},init:function(){H(aa.onDOMReady,aa)}})};p.stack.NameTransport=function(ac){var ad;var af,aj,ab,ah,ai,Z,Y;function ag(am){var al=ac.remoteHelper+(af?"#_3":"#_2")+ac.channel;aj.contentWindow.sendMessage(am,al)}function ae(){if(af){if(++ah===2||!af){ad.up.callback(true)}}else{ag("ready");ad.up.callback(true)}}function ak(al){ad.up.incoming(al,Z)}function aa(){if(ai){L(function(){ai(true)},0)}}return(ad={outgoing:function(am,an,al){ai=al;ag(am)},destroy:function(){aj.parentNode.removeChild(aj);aj=null;if(af){ab.parentNode.removeChild(ab);ab=null}},onDOMReady:function(){af=ac.isHost;ah=0;Z=k(ac.remote);ac.local=C(ac.local);if(af){p.Fn.set(ac.channel,function(am){if(af&&am==="ready"){p.Fn.set(ac.channel,ak);ae()}});Y=Q(ac.remote,{xdm_e:ac.local,xdm_c:ac.channel,xdm_p:2});U(ac.props,{src:Y+"#"+ac.channel,name:V+ac.channel+"_provider"});ab=B(ac)}else{ac.remoteHelper=ac.remote;p.Fn.set(ac.channel,ak)}var al=function(){var am=aj||this;y(am,"load",al);p.Fn.set(ac.channel+"_load",aa);(function an(){if(typeof am.contentWindow.sendMessage=="function"){ae()}else{L(an,50)}}())};aj=B({props:{src:ac.local+"#_4"+ac.channel},onLoad:al})},init:function(){H(ad.onDOMReady,ad)}})};p.stack.HashTransport=function(aa){var ad;var ai=this,ag,ab,Y,ae,an,ac,am;var ah,Z;function al(ap){if(!am){return}var ao=aa.remote+"#"+(an++)+"_"+ap;((ag||!ah)?am.contentWindow:am).location=ao}function af(ao){ae=ao;ad.up.incoming(ae.substring(ae.indexOf("_")+1),Z)}function ak(){if(!ac){return}var ao=ac.location.href,aq="",ap=ao.indexOf("#");if(ap!=-1){aq=ao.substring(ap)}if(aq&&aq!=ae){af(aq)}}function aj(){ab=setInterval(ak,Y)}return(ad={outgoing:function(ao,ap){al(ao)},destroy:function(){O.clearInterval(ab);if(ag||!ah){am.parentNode.removeChild(am)}am=null},onDOMReady:function(){ag=aa.isHost;Y=aa.interval;ae="#"+aa.channel;an=0;ah=aa.useParent;Z=k(aa.remote);if(ag){U(aa.props,{src:aa.remote,name:V+aa.channel+"_provider"});if(ah){aa.onLoad=function(){ac=O;aj();ad.up.callback(true)}}else{var aq=0,ao=aa.delay/50;(function ap(){if(++aq>ao){throw new Error("Unable to reference listenerwindow")}try{ac=am.contentWindow.frames[V+aa.channel+"_consumer"]}catch(ar){}if(ac){aj();ad.up.callback(true)}else{L(ap,50)}}())}am=B(aa)}else{ac=O;aj();if(ah){am=parent;ad.up.callback(true)}else{U(aa,{props:{src:aa.remote+"#"+aa.channel+new Date(),name:V+aa.channel+"_consumer"},onLoad:function(){ad.up.callback(true)}});am=B(aa)}}},init:function(){H(ad.onDOMReady,ad)}})};p.stack.ReliableBehavior=function(Z){var ab,ad;var ac=0,Y=0,aa="";return(ab={incoming:function(ag,ae){var af=ag.indexOf("_"),ah=ag.substring(0,af).split(",");ag=ag.substring(af+1);if(ah[0]==ac){aa="";if(ad){ad(true)}}if(ag.length>0){ab.down.outgoing(ah[1]+","+ac+"_"+aa,ae);if(Y!=ah[1]){Y=ah[1];ab.up.incoming(ag,ae)}}},outgoing:function(ag,ae,af){aa=ag;ad=af;ab.down.outgoing(Y+","+(++ac)+"_"+ag,ae)}})};p.stack.QueueBehavior=function(aa){var ad,ae=[],ah=true,ab="",ag,Y=0,Z=false,ac=false;function af(){if(aa.remove&&ae.length===0){x(ad);return}if(ah||ae.length===0||ag){return}ah=true;var ai=ae.shift();ad.down.outgoing(ai.data,ai.origin,function(aj){ah=false;if(ai.callback){L(function(){ai.callback(aj)},0)}af()})}return(ad={init:function(){if(u(aa)){aa={}}if(aa.maxLength){Y=aa.maxLength;ac=true}if(aa.lazy){Z=true}else{ad.down.init()}},callback:function(aj){ah=false;var ai=ad.up;af();ai.callback(aj)},incoming:function(al,aj){if(ac){var ak=al.indexOf("_"),ai=parseInt(al.substring(0,ak),10);ab+=al.substring(ak+1);if(ai===0){if(aa.encode){ab=l(ab)}ad.up.incoming(ab,aj);ab=""}}else{ad.up.incoming(al,aj)}},outgoing:function(am,aj,al){if(aa.encode){am=I(am)}var ai=[],ak;if(ac){while(am.length!==0){ak=am.substring(0,Y);am=am.substring(ak.length);ai.push(ak)}while((ak=ai.shift())){ae.push({data:ai.length+"_"+ak,origin:aj,callback:ai.length===0?al:null})}}else{ae.push({data:am,origin:aj,callback:al})}if(Z){ad.down.init()}else{af()}},destroy:function(){ag=true;ad.down.destroy()}})};p.stack.VerifyBehavior=function(ac){var ad,ab,Z,aa=false;function Y(){ab=Math.random().toString(16).substring(2);ad.down.outgoing(ab)}return(ad={incoming:function(ag,ae){var af=ag.indexOf("_");if(af===-1){if(ag===ab){ad.up.callback(true)}else{if(!Z){Z=ag;if(!ac.initiate){Y()}ad.down.outgoing(ag)}}}else{if(ag.substring(0,af)===Z){ad.up.incoming(ag.substring(af+1),ae)}}},outgoing:function(ag,ae,af){ad.down.outgoing(ab+"_"+ag,ae,af)},callback:function(ae){if(ac.initiate){Y()}}})};p.stack.RpcBehavior=function(ae,Z){var ab,ag=Z.serializer||P();var af=0,ad={};function Y(ah){ah.jsonrpc="2.0";ab.down.outgoing(ag.stringify(ah))}function ac(ah,aj){var ai=Array.prototype.slice;return function(){var ak=arguments.length,am,al={method:aj};if(ak>0&&typeof arguments[ak-1]==="function"){if(ak>1&&typeof arguments[ak-2]==="function"){am={success:arguments[ak-2],error:arguments[ak-1]};al.params=ai.call(arguments,0,ak-2)}else{am={success:arguments[ak-1]};al.params=ai.call(arguments,0,ak-1)}ad[""+(++af)]=am;al.id=af}else{al.params=ai.call(arguments,0)}if(ah.namedParams&&al.params.length===1){al.params=al.params[0]}Y(al)}}function aa(ao,an,aj,am){if(!aj){if(an){Y({id:an,error:{code:-32601,message:"Procedure not found."}})}return}var al,ai;if(an){al=function(ap){al=r;Y({id:an,result:ap})};ai=function(ap,aq){ai=r;var ar={id:an,error:{code:-32099,message:ap}};if(aq){ar.error.data=aq}Y(ar)}}else{al=ai=r}if(!s(am)){am=[am]}try{var ah=aj.method.apply(aj.scope,am.concat([al,ai]));if(!u(ah)){al(ah)}}catch(ak){ai(ak.message)}}return(ab={incoming:function(ai,ah){var aj=ag.parse(ai);if(aj.method){if(Z.handle){Z.handle(aj,Y)}else{aa(aj.method,aj.id,Z.local[aj.method],aj.params)}}else{var ak=ad[aj.id];if(aj.error){if(ak.error){ak.error(aj.error)}}else{if(ak.success){ak.success(aj.result)}}delete ad[aj.id]}},init:function(){if(Z.remote){for(var ah in Z.remote){if(Z.remote.hasOwnProperty(ah)){ae[ah]=ac(Z.remote[ah],ah)}}}ab.down.init()},destroy:function(){for(var ah in Z.remote){if(Z.remote.hasOwnProperty(ah)&&ae.hasOwnProperty(ah)){delete ae[ah]}}ab.down.destroy()}})};b.easyXDM=p})(window,document,location,window.setTimeout,decodeURIComponent,encodeURIComponent);
/*
 * Xtype. Extensions for prototype.js.
 *
 * @author Nesterenko Dmitry (chebur.mail@gmail.com)
 */
(function(){var j=navigator.userAgent,g=Prototype.Browser.IE;if(Prototype.Browser.Opera){var f=Object.isFunction(opera.version)&&opera.version()||navigator.userAgent.match(/Opera?[ \/]([\w.]+)/i)&&RegExp.$1||navigator.userAgent.match(/version?[ \/]([\w.]+)/i)&&RegExp.$1,b=Math.floor(f);if(b){Prototype.Browser["Opera"+b]=true}}Object.extend(Prototype.Browser,{IE6:g&&/msie 6/i.test(j),IE7:g&&/msie 7/i.test(j),IE8:g&&/msie 8/i.test(j),IE9:g&&/msie 9/i.test(j),IE10:g&&/msie 10/i.test(j),Mobile:Prototype.Browser.MobileSafari||/opera mini|opera mobi/i.test(j)});Prototype.Browser.MobileOpera=Prototype.Browser.Opera&&Prototype.Browser.Mobile;if(document.cookie.split(";").find(function(a){return a.search("simulateoperamini")>-1})){Prototype.Browser.MobileOpera=true}Object.extend(Prototype.BrowserFeatures,{XHR2:XMLHttpRequest&&"withCredentials" in (new XMLHttpRequest)});if(window.swfobject&&swfobject.ua&&swfobject.ua.pv){Prototype.BrowserFeatures.FlashVersion=swfobject.ua.pv}else{var k=[0,0,0],i=null;if(!Object.isUndefined(navigator.plugins)&&typeof navigator.plugins["Shockwave Flash"]=="object"){i=navigator.plugins["Shockwave Flash"].description;if(i&&!(!Object.isUndefined(navigator.mimeTypes)&&navigator.mimeTypes["application/x-shockwave-flash"]&&!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)){i=i.replace(/^.*\s+(\S+\s+\S+$)/,"$1");k[0]=parseInt(i.replace(/^(.*)\..*$/,"$1"),10);k[1]=parseInt(i.replace(/^.*\.(.*)\s.*$/,"$1"),10);k[2]=/[a-zA-Z]/.test(i)?parseInt(i.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(!Object.isUndefined(window.ActiveXObject)){try{var c=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(c){i=c.GetVariable("$version");if(i){i=i.split(" ")[1].split(",");k=[parseInt(i[0],10),parseInt(i[1],10),parseInt(i[2],10)]}}}catch(h){}}}Prototype.BrowserFeatures.FlashVersion=k}})();Object.extend(Array.prototype,{diff:function(){return $A(arguments).inject(this,function(a,b){if(!Object.isArray(b)){b=[b]}return a.inject([],function(d,c){if(!b.include(c)){d.push(c)}return d})})}});var Xtype={};Object.extend(Prototype,{trueFunction:function(){return true},falseFunction:function(){return false}});document.ready=(function(a){document.on("dom:loaded",function(){a.invoke("call",document);a.clear();document.ready=function(b){b.bind(document).defer()}});return function(b){a.push(b)}})([]);Object.extend(Hash.prototype,{diff:function(){return $A(arguments).inject(this,function(a,b){if(!Object.isHash(b)){b=$H(b)}return a.inject($H(),function(c,d){if(a.get(d.key)!=b.get(d.key)){c.set(d.key,d.value)}return c})})}});Math.rand=function(b,a){return a?Math.floor(Math.random()*(a-b+1))+b:Math.floor(Math.random()*(b+1))};Object.isEmpty=function(a){if(Object.isElement(a)){return a.empty()}else{if(Object.isHash(a)||Object.isArray(a)){return !a.toArray().length}else{if(Object.isNumber(a)){return false}else{return !a}}}};Xtype.Deferred=Class.create({initialize:(function(){var a=1;return function(b){this._chain=[];this._id=a++;this._fired=-1;this._paused=0;this._results=[null,null];this._canceller=b;this._silentlyCancelled=false}})(),inspect:function(){var a={"-1":"unfired","0":"success"}[this._fired]||"error";return"#<Deferred:("+this._id+", "+a+")>"},cancel:function(){if(this._fired==-1){if(this._canceller){this._canceller(this)}else{this._silentlyCancelled=true}if(this._fired==-1){this.errback(new Error(this.inspect()))}}else{if(this._fired==0&&(this._results[0] instanceof Xtype.Deferred)){this._results[0].cancel()}}},_resback:function(a){this._fired=(a instanceof Error)+0;this._results[this._fired]=a;this._fire()},_check:function(){if(this._fired!=-1){if(!this._silentlyCancelled){throw new Error("already called!")}this._silentlyCancelled=false;return}},callback:function(a){this._check();this._resback(a)},errback:function(a){this._check();if(!(a instanceof Error)){a=new Error(a)}this._resback(a)},addBoth:function(a){return this.addCallbacks(a,a)},addCallback:function(a){return this.addCallbacks(a)},addErrback:function(a){return this.addCallbacks(null,a)},addCallbacks:function(a,b){this._chain.push([a,b]);if(this._fired>=0){this._fire()}return this},_fire:function(){var d=this._chain;var i=this._fired;var c=this._results[i];var b=this;var a=null;while(d.length>0&&this._paused===0){var h=d.shift()[i];if(!h){continue}try{var c=h(c);i=(c instanceof Error)+0;if(c instanceof Xtype.Deferred){a=function(f){b._resback(f);b._paused--;if(b._paused===0&&b._fired>=0){b._fire()}};this._paused++}}catch(g){i=1;c=g}}this._fired=i;this._results[i]=c;if(a&&this._paused){c.addBoth(a)}}});Xtype.Profiler=Class.create(Hash,{initialize:function($super){$super();this._img=new Image()},start:function(a){this.set(a,(new Date()).getTime());return this},finish:function(a){this.set(a,(new Date()).getTime()-this.get(a));return this},profile:function(b,a){if(Object.isFunction(a)){this.start(b);a();this.finish(b)}return this},send:function(a,b){this._img.src=a+"?"+this.toQueryString();if(b){this._object={}}return this}});Object.extend(Form.Methods,{getValueOf:function(b,a){return Form.serializeElements(b.getElements(a),true)[a]},getElements:Form.Methods.getElements.wrap(function(d,c,a){if(a){var b=c.elements[a];return(Object.isElement(b)?[b]:$A(b)).map(Element.extend)}else{return d(c)}}),cloneFields:function(a){var b=$H(),f=a.serialize(true);if(a.submitter){var d=function(g,h){if(a.submitter!=h&&h.name||h.type=="image"){g.set(h.name,h.value)}return g};Element.select(a,'input[type="submit"]').inject(b,d);Element.select(a,'input[type="image"]').inject(b,d)}if(a.submitter&&a.submitter.type=="image"&&a.submitter.name){f[a.submitter.name+"_x"]=1;f[a.submitter.name+"_y"]=1}var c=$H(f).diff(b).inject(a.clone(),function(h,i){var g;if(Object.isArray(i.value)){g=i.value.inject(new Element("select",{name:i.key,multiple:"multiple"}),function(j,l){var k=new Element("option",{value:l,selected:"selected"});j.insert(k);return j})}else{if(a.elements[i.key]&&a.elements[i.key].nodeName=="TEXTAREA"){g=new Element("textarea",{name:i.key});g.setValue(i.value)}else{g=new Element("input",{name:i.key,value:i.value})}}h.insert(g);return h});c.id="";return c}});Object.extend(Form.Element.Methods,{getSelection:function(a){return[a.getSelectionStart(),a.getSelectionEnd()]},getSelectionStart:function(a){return a.selectionStart},getSelectionEnd:function(a){return a.selectionEnd},setSelection:function(a,b,c){a.focus();a.setSelectionRange(b,c)}});if(document.selection){Object.extend(Form.Element.Methods,{getSelection:function(f){var i=0,c=0,d=document.selection.createRange(),g;if(d&&d.parentElement()==f){var b=f.value.length,h=f.value.replace(/\r\n/g,"\n");var a=f.createTextRange();a.moveToBookmark(d.getBookmark());g=f.createTextRange();g.collapse(false);if(a.compareEndPoints("StartToEnd",g)>-1){i=c=b}else{i=-a.moveStart("character",-b);if(a.compareEndPoints("EndToEnd",g)>-1){c=b}else{c=-a.moveEnd("character",-b)}}}return[i,c]},getSelectionStart:function(a){return a.getSelection()[0]},getSelectionEnd:function(a){return a.getSelection()[1]},setSelection:function(b,c,d){var a=b.createTextRange();a.collapse(true);a.moveEnd("character",d);a.moveStart("character",c);a.select()}})}Object.extend(Element.Methods,{onscreen:function(f){var d={offset:document.viewport.getScrollOffsets(),size:document.viewport.getDimensions()},c={offset:Element.cumulativeOffset(f),size:Element.getDimensions(f)};var b=Math.min(d.offset.left,c.offset.left),i=Math.min(d.offset.top,c.offset.top),g=Math.max(d.offset.left+d.size.width,c.offset.left+c.size.width)-b,a=Math.max(d.offset.top+d.size.height,c.offset.top+c.size.height)-i,h=d.offset.left==b&&d.offset.top==i&&d.size.width==g&&d.size.height==a;return f.visible()&&h}});Element.addMethods();Form.BlurObserver=Form.Element.BlurObserver=Class.create(Abstract.EventObserver,{registerCallback:function(a){Event.observe(a,"blur",this.callback.bindAsEventListener(this))},getValue:Prototype.K});Form.ChangeObserver=Form.Element.ChangeObserver=Class.create(Abstract.EventObserver,function(){var a={};return{onElementEvent:function(d){if(!d.stopped){var b=d.element(),c=b.form,f=c.getValueOf(b.name),g=a[c.identify()];if(g[b.name]!=f){d.memo={lastValue:g[b.name]};this.callback(d);g[b.name]=f}}},registerCallback:function(c){var b={checkbox:"click",radio:"click","select-multiple":"change","select-one":"change",text:"keyup"},d=c.type&&c.type.toLowerCase(),f=$(c.form);var h=f.identify();var g=a[h]||{};g[c.name]=f.getValueOf(c.name);a[h]=g;if(d=="text"){c.writeAttribute("autocomplete","off")}c.observe(b[d]||"keyup",this.onElementEvent.bindAsEventListener(this))},getValue:Prototype.emptyFunction}}());Xtype.Filter={};Xtype.Filter.register=function(b,a){b=b.camelize();a.prototype.getName=function(){return b};return Xtype.Filter[b]=a};Abstract.Filter=Class.create({initialize:function(a){this._variables={};Object.extend(this._variables,a)}});Xtype.Filter.register("Alnum",Class.create(Abstract.Filter,{filter:function(b){var a=new RegExp("[|\\~*\"!+\\-:><./,;^@'_{=}`()\\[\\]&%$#?"+(!this._variables.whitespace?"\\s":"")+"]","g");return b.replace(a,"")}}));Xtype.Filter.register("Digits",Class.create(Abstract.Filter,{filter:function(a){return a.replace(/[^0-9]+/g,"")}}));Xtype.Filter.register("Float",Class.create(Abstract.Filter,{filter:function(a){var b=a.replace(/[^0-9,.]+/g,"").replace(/,/g,".").replace(/[\.|,]$/,"").split(".");return[b.shift(),b.join("")||null].compact().join(".")}}));Xtype.Filter.register("StringTrim",Class.create(Abstract.Filter,{filter:function(a){return a.strip()}}));Xtype.Filter.register("Functional",Class.create(Abstract.Filter,{initialize:function($super,a){$super(a);this.filter=a.filter}}));Xtype.Filter.register("Chain",Class.create({initialize:function(a){if(a&&a.filters){this.setFilters(a.filters)}},setFilter:function(f,c){if(Object.isString(f)){var a=Xtype.Filter[f];f=new a(c)}var g=this.getFilters(),b=f.getName();g.push(f);for(var d=0;d<g.length-1;++d){if(g[d].getName()==b){g[d]=f;g.pop();break}}this._filters=g;return this},setFilters:function(a){a.each(function(d){var c=d;if(Object.isArray(d)){var c=d.shift(),b=d[0]}this.setFilter(c,b==undefined?{}:b)},this.cleanFilters());return this},getFilters:function(){if(Object.isUndefined(this._filters)){this.cleanFilters()}return this._filters.clone()},getFilter:function(a){return this._filters.find(function(b){return b.getName()==a})},cleanFilters:function(){this._filters=[];return this},filter:function(a){return this.getFilters().inject(a,function(b,c){return c.filter(b)})}}));Xtype.Validate={};Xtype.Validate.register=function(b,a){b=b.camelize();a.prototype.getName=function(){return b};return Xtype.Validate[b]=a};Abstract.Validate=Class.create({initialize:function(a){if(a&&Object.isString(a.template)){this.setTemplate(a.template)}this._variables={};Object.extend(this._variables,a)},setValue:function(a){this._value=a;return this.cleanError()},getValue:function(){return this._value},setTemplate:function(a){this._template=a;return this},getTemplate:function(){return this._template},setError:function(a){if(Object.isUndefined(a)){a=Object.extend(this._variables,{value:this._value})}this._hasError=true;this._error=this._template.interpolate(a);return this},getError:function(){return this._error},hasError:function(){if(Object.isUndefined(this._hasError)){this._hasError=false}return this._hasError},cleanError:function(){this._hasError=false;this._error=undefined;return this}});Xtype.Validate.register("Email",Class.create(Abstract.Validate,{_template:"Address is not valid.",isValid:function(d){this.setValue(d);var f=d.split("@"),g=new RegExp("^[A-Z0-9!#$%&'*+/=?^_`{|}~-]([A-Z0-9!#$%&'*+/=?^_`{|}~.-]*[A-Z0-9!#$%&'*+/=?^_`{|}~-])?$","i"),b=new RegExp("([A-Z0-9-]+.)+[A-Z]{2,6}$","i");var a=f[0],c=f[1];if(!a||!c||!a.match(g)||!c.match(b)){this.setError();return false}return true}}));Xtype.Validate.register("LessThan",Class.create(Abstract.Validate,{_template:"Value is not less than #{max}.",isValid:function(a){this.setValue(a);if(this._variables.strict&&a.length>=this._variables.max||!this._variables.strict&&a.length>this._variables.max){this.setError();return false}return true}}));Xtype.Validate.register("GreaterThan",Class.create(Abstract.Validate,{_template:"Value is not greater than #{min}.",isValid:function(a){this.setValue(a);if(this._variables.strict&&a.length<=this._variables.min||!this._variables.strict&&a.length<this._variables.min){this.setError();return false}return true}}));Xtype.Validate.register("NotEmpty",Class.create(Abstract.Validate,{_template:"Value can't be empty.",isValid:function(a){this.setValue(a);if(Object.isEmpty(a)){this.setError();return false}return true}}));Xtype.Validate.register("Alnum",Class.create(Abstract.Validate,{_template:"Value has not only alphabetic and digit characters.",initialize:function($super,a){$super(a);var b=new Xtype.Filter.Alnum;b._variables.whitespace=this._variables.whitespace;this._variables.filter=b},isValid:function(a){this.setValue(a);if(a!==this._variables.filter.filter(a)){this.setError();return false}return true}}));Xtype.Validate.register("Digits",Class.create(Abstract.Validate,{_template:"Value contains not only digit characters.",initialize:function($super,a){$super(a);var b=new Xtype.Filter.Digits;this._variables.filter=b},isValid:Xtype.Validate.Alnum.prototype.isValid}));Xtype.Validate.register("Identical",Class.create(Abstract.Validate,{_template:"Values do not match.",isValid:function(a){this.setValue(a);if(this._variables.target!==a){this.setError();return false}return true}}));Xtype.Validate.register("Regexp",Class.create(Abstract.Validate,{_template:"Value does not match against pattern",isValid:function(a){this.setValue(a);if(""!==a.replace(this._variables.regexp,"")){this.setError();return false}return true}}));Xtype.Validate.register("Functional",Class.create(Abstract.Validate,{isValid:function(a){this.setValue(a);if(!this._variables.validator.apply(this,[a])){this.setError();return false}return true}}));Xtype.Validate.register("Remote",Class.create(Abstract.Validate,{_template:"Remote validator failed.",initialize:function($super,a){$super(Object.extend({parameters:{},onSuccess:function(b){return true},onFailure:function(b){return false}},a))},isValid:function(c){var b=this.setValue(c),d=this._variables,a=new Xtype.Deferred;a.addCallbacks(function(g){var f=d.onSuccess(g,b);if(f===false){b.setError()}return f},function(f){return d.onFailure(f,b)});new Ajax.Request(d.url,Object.extend(Object.clone(d),{parameters:$H(d.parameters).merge({value:c}),onSuccess:function(f){a.callback(f)},onFailure:function(f){b.setError();a.errback(f)}}));return a}}));Xtype.Validate.register("Timeout",Class.create(Abstract.Validate,{_template:"Timeout validator failed.",initialize:function($super,a){$super(Object.extend({timeout:1000},a))},isValid:function(b){this.setValue(b);var a=new Xtype.Deferred;window.setTimeout(function(){a.callback(true)},this._variables.timeout);return a}}));Xtype.Validate.Chain=Class.create({initialize:function(a){if(a&&a.validators){this.setValidators(a.validators)}},setValidator:function(h,f,a){if(Object.isString(h)){var c=Xtype.Validate[h];h=new c(f)}h.breakChain=a||false;var b=this.getValidators(),d=h.getName();b.push(h);for(var g=0;g<b.length-1;++g){if(b[g].getName()==d){b[g]=h;b.pop();break}}this._validators=b;return this},setValidators:function(a){a.each(function(f){var d=f,b=d.breakChain;if(Object.isArray(f)){var d=f.shift(),c=f.shift(),b=f[0]}this.setValidator(d,c||{},b)},this.cleanValidators());return this},getValidators:function(){if(Object.isUndefined(this._validators)){this.cleanValidators()}return this._validators.clone()},getValidator:function(a){return this._validators.find(function(b){return b.getName()==a})},unsetValidator:function(a){this._validators=this._validators.findAll(function(b){return b.getName()!=a})},cleanValidators:function(){this._validators=[];return this},setError:function(a,b){this._errors=this.getErrors();this._errors.set(a,b);this._hasErrors=true;return this},setErrors:function(b){var a=Object.isArray(b);if(!a){b=$H(b)}b.each(function(c){this.setError(a?c[0]:c.key,a?c[1]:c.value)},this.cleanErrors());return this},getErrors:function(){if(Object.isUndefined(this._errors)){this.cleanErrors()}return this._errors.clone()},hasErrors:function(){if(Object.isUndefined(this._hasErrors)){this._hasErrors=false}return this._hasErrors},cleanErrors:function(){this._hasErrors=false;this._errors=$H();return this},isValid:function(d){var c=new Xtype.Deferred,b=this.cleanErrors(),a;this.getValidators().each(function(f){c.addCallback(function(i){if(a){return i}var g=f.isValid(d);if(g instanceof Xtype.Deferred){g.addCallback(function(k){if(k&&i){return true}var j=f.getName();b.setError(j,j==="Chain"?f.getErrors():[f.getError()]);return false});return g}if(!g){i=false;var h=f.getName();b.setError(h,h==="Chain"?f.getErrors():[f.getError()]);a=!!f.breakChain}return i})});c.callback(true);return c}});Xtype.FormManager={Element:Class.create(Xtype.Validate.Chain,function(){function a(b){return $w(b.getClassElement().className).diff(b.getValidators().inject([],function(d,c){d.push(c.getName().underscore().dasherize());return d}).concat(["not-empty","invalid","valid"]))}return{initialize:function(d,c){d=this.element=$(d);var b=this.setOptions(c);new Form.Element.BlurObserver(d,function(f){b.fire("blur")});new Form.Element.ChangeObserver(d,function(f){b.fire("change")})},setOptions:function(b){b=Object.extend({classElement:this.element,validators:this.getValidators(),filters:this.getFilters(),required:this.getRequired(),allowEmpty:this.getAllowEmpty(),autoInsertNotEmpty:this.getAutoInsertNotEmpty()},b);return this.setClassElement(b.classElement).setValidators(b.validators).setFilters(b.filters).setRequired(b.required).setAllowEmpty(b.allowEmpty).setAutoInsertNotEmpty(b.autoInsertNotEmpty)},setClassElement:function(b){this._classElement=$(b);return this},getClassElement:function(){return this._classElement},getRequired:function(){if(Object.isUndefined(this._required)){this._required=false}return this._required},setRequired:function(b){this._required=b;this.getClassElement()[(b?"add":"remove")+"ClassName"]("required");return this},getAllowEmpty:function(){if(Object.isUndefined(this._allowEmpty)){this._allowEmpty=true}return this._allowEmpty},setAllowEmpty:function(b){this._allowEmpty=b;return this},getAutoInsertNotEmpty:function(){if(Object.isUndefined(this._autoInsertNotEmpty)){this._autoInsertNotEmpty=true}return this._autoInsertNotEmpty},setAutoInsertNotEmpty:function(b){this._autoInsertNotEmpty=b;return this},fire:function(d,c,b){c=c||{};c.widget=this;this.element.fire(Xtype.FormManager.Element.EVENT_NS+d,{widget:this},b);return this},observe:function(b,c){this.element.observe(Xtype.FormManager.Element.EVENT_NS+b,c);return this},getFilteredValue:function(){return Xtype.Filter.Chain.prototype.filter.apply(this,[this.getUnfilteredValue()])},getUnfilteredValue:function(){var b=this.element;return $(b.form).getValueOf(b.name)},getValue:function(){return this.getFilteredValue()},setValue:function(b,c){this.element.setValue(b);if(!c){this.fire(Xtype.FormManager.CHANGE_EVENT)}return this},isValid:function(g){this.fire("beforeValidate");var b=this.getValidators(),i=this.getValue(),k,c=this,j;if(g){b=[this.getValidator(g)]}if(Object.isEmpty(i)&&this.getAllowEmpty()&&!this.getRequired()){this.cleanErrors();j=new Xtype.Deferred();j.callback(undefined);this.fire("afterValidate");return j}else{if(this.getAutoInsertNotEmpty()&&this.getRequired()&&!this.getValidator("NotEmpty")){var h=new Xtype.Validate.NotEmpty;h.breakChain=true;b.unshift(h)}var f=new Xtype.Validate.Chain;j=f.setValidators(b).isValid(i);j.addCallback(function(d){if(!d){c.setErrors(f.getErrors())}return d})}j.addCallback(function(l){var d=c.getClassElement();switch(l){case true:c.cleanErrors();d.addClassName("valid").removeClassName("invalid");c.fire("valid");break;case false:c.fire("invalid");break}c.fire("afterValidate");return l});return j},setFilter:Xtype.Filter.Chain.prototype.setFilter,setFilters:Xtype.Filter.Chain.prototype.setFilters,getFilters:Xtype.Filter.Chain.prototype.getFilters,getFilter:Xtype.Filter.Chain.prototype.getFilter,cleanFilters:Xtype.Filter.Chain.prototype.cleanFilters,setError:function($super,b,c){$super(b,c).getClassElement().addClassName(b.underscore().dasherize()).addClassName("invalid").removeClassName("valid");return this},cleanErrors:function($super){$super().getClassElement().className=a(this).join(" ");return this}}}())};Xtype.FormManager.Element.EVENT_NS="formmanager::element::";Xtype.FormManager.RadioGroup=Class.create(Xtype.FormManager.Element,{initialize:function($super,b,a){var c=$(b);$(c.form).getElements(c.name).each(function(d){new $super(d,a)})},setValue:function(a){var b=this.element;$(b.form).getElements(b.name).each(function(c){c.checked=c.value==a});return this}});Xtype.FormManager.CheckboxGroup=Class.create(Xtype.FormManager.Element,{initialize:function($super,b,a){e=$(b);$(e.form).getElements(e.name).each(function(c){new $super(c,a)})},setValue:function(a){var b=this.element;a=Object.isArray(a)?a:[a];$(b.form).getElements(b.name).each(function(c){c.checked=a.indexOf(c.value)>=0});return this},unsetValue:function(a){var b=this.element;$(b.form).getElements(b.name).find(function(c){if(c.value==a){c.checked=undefined;return true}});return this},toggleValue:function(a){var b=this.element;$(b.form).getElements(b.name).find(function(c){if(c.value==a){c.checked=!c.checked;return true}});return this}});Xtype.FormManager.Form=Class.create({initialize:function(b,a){this.elements=[];this.elementsState=[];var c=this._element=$(b);this.setOptions(a);c.observe("submit",this._onSubmit.bindAsEventListener(this));var d=this._submit=Element.select(c,'input[type="submit"]').find(function(f){return f.up("form")===c&&f.visible()});c.observe(Xtype.FormManager.Element.EVENT_NS+"change",function(f){var g=f.memo.widget;if(g&&(g instanceof Xtype.FormManager.RadioGroup||g.element&&g.element.tagName=="SELECT"||g.element&&g.element.type=="checkbox")){g.isValid()}});c.observe(Xtype.FormManager.Element.EVENT_NS+"blur",function(f){var g=f.memo.widget;if(g){window.setTimeout(function(){g.isValid().addCallback(function(i){if(i){var h=g.getFilteredValue();if(g.element.type=="checkbox"){}else{g.setValue(h,true)}}return i})},200)}});document.ready(function(){var f=function(g){g.observe("click",function(){c.submitter=g})};Element.select(c,'input[type="submit"]').each(f);Element.select(c,'input[type="image"]').each(f)})},_onSubmit:function(c){c.preventDefault();var d=this._submit,b=this,a=new Xtype.Deferred;if(!this.options.skipValidations){this.fire("beforeValidate");this.elements.each(function(f){a.addCallback(function(h){var g=f.isValid();g.addCallback(function(i){if(Object.isUndefined(i)){return h}else{if(Object.isUndefined(h)){return i}}return i&&h});return g})})}a.callback(true);a.addCallback(function(f){b.fire("afterValidate");b.getElement().removeClassName("invalid").removeClassName("valid");if(f==true){b.getElement().addClassName("valid")}else{if(f==false){b.getElement().addClassName("invalid")}}return f}).addCallback(function(f){if(f!=false&&Object.isFunction(b._beforeSubmit)){f=b._beforeSubmit()}if(f!=false){b.fire("valid");b.submit()}else{if(f==false){b.fire("invalid")}}return f})},addBeforeSubmit:function(a){this._beforeSubmit=a},submit:function(){var a=this._element.cloneFields();a.style.display="none";document.body.appendChild(a);a.submit();a.remove()},setOptions:function(a){this.options=Object.extend({elements:[],skipValidations:false},a);return this.setElements(this.options.elements)},setSkipValidation:function(a){this.options.skipValidations=a},getElements:function(){return this.elements},getElementByNode:function(a){return this.elements.find(function(b){return b.element==a})},createElement:function(d,b,f){var d=$(d),c={checkbox:"CheckboxGroup",radio:"RadioGroup","select-multiple":"change","select-one":"change",text:"Element"},a=f||c[d.type.toLowerCase()];return new Xtype.FormManager[f](d,b)},createRadioGroup:function(b,a){},createCheckboxGroup:function(b,a){},createSubmit:function(b,a){return Xtype.FormManager.Submit(b,a)},addElement:function(a){this.elements=this.elements||[];if(this.elements.indexOf(a)==-1){this.elements.push(a)}return this},unsetElement:function(a){this.elements=this.getElements().findAll(function(b){return b!=a});return this},setElements:function(a){a.each(this.addElement,this);return this},getElement:function(){return this._element},fire:function(b,a){a=a||this;this.getElement().fire(Xtype.FormManager.Form.EVENT_NS+b,a);return this},observe:function(a,b){this.getElement().observe(Xtype.FormManager.Form.EVENT_NS+a,b);return this},observeElement:function(a,b){this.getElement().observe(Xtype.FormManager.Element.EVENT_NS+a,b);return this}});Xtype.FormManager.Form.EVENT_NS="formmanager::form::";(function(){Object.extend(Event,{KEY_SHIFT:16,KEY_CTRL:17,KEY_META:93,KEY_ALT:18});var a={isNavKey:function(c){var b=[Event.KEY_PAGEUP,Event.KEY_PAGEDOWN,Event.KEY_HOME,Event.KEY_END,Event.KEY_UP,Event.KEY_DOWN,Event.KEY_LEFT,Event.KEY_RIGHT,Event.KEY_TAB,Event.KEY_ESC];return b.indexOf(Event.getKeyCode(c))>=0},isSpecialKey:function(c){var b=Event.getKeyCode(c);return Event.isNavKey(c)||b==Event.KEY_SHIFT||b==Event.KEY_CTRL||b==Event.KEY_ALT||b==Event.KEY_META||c.ctrlKey||c.metaKey||c.altKey&&!Prototype.Browser.WebKit},getKeyCode:function(b){var c=b.keyCode;if(Prototype.Browser.WebKit){return{63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35}[c]||c}else{return c}},getCharCode:function(b){return b.charCode||b.keyCode||b.which}};Object.extend(Event.Methods,a);Object.extend(Event,a)})();Xtype.Keyfilter=Class.create((function(){var a;return{initialize:function(b,c){if(!a){a=this._keypress.bindAsEventListener(this)}this.re=c;$(b).on("keypress",a)},_keypress:function(f){var d=Event.getKeyCode(f),c=String.fromCharCode(Event.getCharCode(f)),b=true;if(!c||Event.isSpecialKey(f)){return}if(d==Event.KEY_BACKSPACE||d==Event.KEY_DELETE){return}if(this.re){b=this.re.test?this.re.test(c):this.re.call(this,c)}!b&&e.preventDefault()}}})());Xtype.WindowManager=new (Class.create({initialize:function(){var a=this;a.registeredWindows=[];a.visibleWindows=[];a.currentlyActiveWindow=null;a.options={zIndexShift:9999};Event.on(window.document,"mouseup",a._documentMouseUp.bindAsEventListener(a))},_documentMouseUp:function(c){var a=this,b=c.findElement();a.registeredWindows.each(function(g){var f=g.options,h=b.descendantOf(g.element)||g.element==b,d=f.toggler&&(b.descendantOf(f.toggler)||b==f.toggler);if(h){}else{if(g.isIgnored(c)){g.cognize(c)}else{if(d){g.toggle()}else{if(g.options.type==Xtype.Window.Context){g.close()}}}}})},getWindowByElement:function(a){var b=$(a);return this.registeredWindows.find(function(c){return b.descendantOf(c.element)||c.element==b})},getWindowById:function(b){var a=$(b);return this.registeredWindows.find(function(c){return a==c.element})},register:function(a){this.registeredWindows.push(a)},unregister:function(a){this.close(a);this.registeredWindows=this.registeredWindows.without(a)},open:function(b){var a=this;if(b.visible()&&!b.active()){b.close(false)}if(!b.visible()){a.registeredWindows.each(function(d){if(b!=d&&d.options.type==Xtype.Window.Context){d.close(false)}});var c=a.currentlyActiveWindow;if(c&&c.options.type==Xtype.Window.Modal){return}b.activate();b.element.show();if(b.options.type==Xtype.Window.Modal){a.modalEscKeyObserver=window.document.on("keydown",function(d){if(Event.getKeyCode(d)==Event.KEY_ESC){a.modalEscKeyObserver.stop();b.close()}});b.getOverlay().show()}b.fire("opened")}},close:function(f,c,d){var a=this;if(f.visible()){f.deactivate();if(c&&window.Effect&&window.Effect.Fade){if(!a._closeAnimation){d=Object.extend({duration:0.4,transition:Effect.Transitions.easeOut,afterFinish:function(g){delete a._closeAnimation;a._close(f)}},d||{});a._closeAnimation=new Effect.Fade(f.element,d)}}else{var b=a._closeAnimation;if(b){b.render(1);b.cancel();b.event("beforeFinish");Object.isFunction(b.finish)&&b.finish();b.event("afterFinish");delete a._closeAnimation}else{a._close(f)}}}},_close:function(b){var a=this;b.element.hide();if(b.options.type==Xtype.Window.Modal){b.getOverlay().hide()}a.visibleWindows=a.visibleWindows.without(b);a.visibleWindows[0]&&a.activate(a.visibleWindows[0]);b.fire("closed")},visible:function(a){return this.visibleWindows.indexOf(a)>-1},activate:function(b){var a=this;var c=a.currentlyActiveWindow;if(c&&c.options.type==Xtype.Window.Modal){return}a.visibleWindows=a.visibleWindows.without(b);a.visibleWindows.push(b);a.visibleWindows.each(function(d,f){d.element.zIndex=a.options.zIndexShift+f});a.currentlyActiveWindow=b;b.fire("activated")},deactivate:function(a){if(a==this.currentlyActiveWindow){this.currentlyActiveWindow=null;a.fire("deactivated")}},active:function(a){return this.currentlyActiveWindow==a}}));Xtype.Window=Object.extend(Class.create((function(){var a;function b(){if(!a){a=new Element("div",{"class":"overlay"});$(document.body).insert({top:a})}return a}return{initialize:function(f,d){var c=this;c.element=$(f);c.options=Object.extend({type:Xtype.Window.Standard,toggler:null,withAnimation:true,animationOptions:{}},d);c.options.toggler&&c.setToggler($(c.options.toggler));Xtype.WindowManager.register(c);if(!c.element.id&&c.options.id){c.element.id=c.options.id}else{c.element.identify()}},getOverlay:function(){return b()},setToggler:function(d){var c=this,d=$(d);if(d!=c.options.toggler){c._mousedownHandler&&c._mousedownHandler.stop();c._mousedownHandler=c.element.on("mousedown",c.activate.bind(c));c.options.toggler=d}return c},fire:function(d,c){c=c||{};c.window=this;this.element.fire("Xtype.Window:"+d,c);return this},observe:function(c,d){this.element.on("Xtype.Window:"+c,d);return this},open:function(){Xtype.WindowManager.open(this)},close:function(c){c=Object.isUndefined(c)?this.options.withAnimation:c;Xtype.WindowManager.close(this,c,this.options.animationOptions)},toggle:function(){this.visible()?this.close():this.open()},visible:function(){return Xtype.WindowManager.visible(this)},activate:function(){Xtype.WindowManager.activate(this)},deactivate:function(){Xtype.WindowManager.deactivate(this)},active:function(){return Xtype.WindowManager.active(this)},unregister:function(){this._mousedownHandler.stop();Xtype.WindowManager.unregister(this)},ignore:function(c){this.element.store("_ignoredMouseUp",c.pointerX()+c.pointerY())},cognize:function(c){this.element.store("_ignoredMouseUp",undefined)},isIgnored:function(c){return this.element.retrieve("_ignoredMouseUp")==c.pointerX()+c.pointerY()}}})()),{Standard:1,Context:2,Modal:3});Effect&&Object.extend(Effect.Transitions,{easeIn:function(a){return Math.pow(a,2)},easeOut:function(a){return -(Math.pow((a-1),2)-1)},easeInOut:function(a){if((a/=0.5)<1){return 0.5*Math.pow(a,2)}return -0.5*((a-=2)*a-2)}});Object.extend(Ajax.Request.prototype,{initialize:Ajax.Request.prototype.initialize.wrap(function(d,c,b){var a=this;b=b||{};b=Object.extend(Object.clone(b),{onCreate:(b.onCreate||Prototype.emptyFunction).wrap(function(g,f){a.setLoadingStatus(Ajax.Request.LOADING);g.call(a,f)}),onSuccess:(b.onSuccess||Prototype.emptyFunction).wrap(function(g,f){a.setLoadingStatus(Ajax.Request.LOADED);g.call(a,f)}),onFailure:(b.onFailure||Prototype.emptyFunction).wrap(function(g,f){a.setLoadingStatus(Ajax.Request.NOT_LOADED);g.call(a,f)})});d.call(this,c,b)}),setLoadingStatus:function(a){this._loadingStatus=a;return this},getLoadingStatus:function(){return this._loadingStatus}});Object.extend(Ajax.Request,{NOT_LOADED:0,LOADING:1,LOADED:2});Object.extend(Ajax.Updater.prototype,{initialize:Ajax.Updater.prototype.initialize.wrap(function(f,a,d,c){var b=this,i=c.insertion,g=this.updateContent;this.updateContent=Prototype.emptyFunction;c=Object.extend({withAnimation:!!window.Effect,animationName:"Appear"},Object.clone(c));c.animationOptions=Object.extend({duration:0.2},c.animationOptions);var h=c.onComplete;c.onComplete=(function(j,l){if(j.responseText.empty()){g.call(this,j.responseText);if(Object.isFunction(h)){h(j,l)}}else{var n=new Element("div").identify();wrappedResponseText='<div id="#{id}" style="display:none"><div>#{responseText}</div></div>'.interpolate({id:n,responseText:j.responseText});g.call(this,wrappedResponseText);var m=$(n),k=function(){m.down().replace(m.down().innerHTML);m.replace(m.innerHTML);if(Object.isFunction(h)){h(j,l)}};if(c.withAnimation){new Effect[c.animationName](m,Object.extend(c.animationOptions,{afterFinish:k}))}else{k()}}}).bind(this);f.call(this,a,d,c)})});if(!window.localStorage){window.localStorage={getItem:function(a){if(!a||!this.hasOwnProperty(a)){return null}return unescape(document.cookie.replace(new RegExp("(?:^|.*;\\s*)"+escape(a).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"),"$1"))},key:function(a){return unescape(document.cookie.replace(/\s*\=(?:.(?!;))*$/,"").split(/\s*\=(?:[^;](?!;))*[^;]?;\s*/)[a])},setItem:function(a,b){if(!a){return}document.cookie=escape(a)+"="+escape(b)+"; path=/";this.length=document.cookie.match(/\=/g).length},length:0,removeItem:function(b){if(!b||!this.hasOwnProperty(b)){return}var a=new Date();a.setDate(a.getDate()-1);document.cookie=escape(b)+"=; expires="+a.toGMTString()+"; path=/";this.length--},hasOwnProperty:function(a){return(new RegExp("(?:^|;\\s*)"+escape(a).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=")).test(document.cookie)}};window.localStorage.length=(document.cookie.match(/\=/g)||window.localStorage).length}Ajax.Responders.register({onAbort:function(){Ajax.activeRequestCount--},onTimeout:function(){Ajax.activeRequestCount--}});Ajax.Base.prototype.initialize=Ajax.Base.prototype.initialize.wrap(function(b,a){a=Object.extend({timeout:false},a);b(a)});Ajax.Request.prototype.initialize=Ajax.Request.prototype.initialize.wrap(function(d,c,b){this._aborted=false;this.timer=null;this._timedout=false;var a=d(c,b);if(this.options.timeout){this._timer=setTimeout(this.onTimeout.bind(this),this.options.timeout*1000)}return a});Ajax.Request.prototype.respondToReadyState=Ajax.Request.prototype.respondToReadyState.wrap(function(d,b){var f=Ajax.Request.Events[b],c=new Ajax.Response(this);if(f=="Complete"&&this._timer){clearTimeout(this._timer)}var a=d(b);if(this._timedout||this._aborted){this.status=-1;this.statusText=this._timedout?"Timedout":"Aborted"}return a});Ajax.Request.addMethods({abort:function(){var b=this;if(!this._complete){if(this._timer){clearTimeout(this._timer)}this._aborted=true;try{this.transport.onreadystatechange=Prototype.emptyFunction;this.transport.abort()}catch(c){this.dispatchException(c)}var a=new Ajax.Response(this);(this._timedout?["onAbort","onTimeout","onComplete"]:["onAbort","onComplete"]).each(function(d){try{(b.options[d]||Prototype.emptyFunction)(a,a.headerJSON);Ajax.Responders.dispatch(d,b,a,a.headerJSON)}catch(f){b.dispatchException(f)}});(this.options.onAbort||Prototype.emptyFunction)(a,a.headerJSON);Ajax.Responders.dispatch("onAbort",this,a,a.headerJSON);return true}return false},onTimeout:function(){this._timedout=true,this._timer=null;this.abort()}});function JsHttpRequest(){var t=this;t.onreadystatechange=null;t.readyState=0;t.responseText=null;t.responseXML=null;t.status=200;t.statusText="OK";t.responseJS=null;t.caching=false;t.loader=null;t.session_name="PHPSESSID";t._ldObj=null;t._reqHeaders=[];t._openArgs=null;t._errors={inv_form_el:"Invalid FORM element detected: name=%, tag=%",must_be_single_el:"If used, <form> must be a single HTML element in the list.",js_invalid:"JavaScript code generated by backend is invalid!\n%",url_too_long:"Cannot use so long query with GET request (URL is larger than % bytes)",unk_loader:"Unknown loader: %",no_loaders:"No loaders registered at all, please check JsHttpRequest.LOADERS array",no_loader_matched:"Cannot find a loader which may process the request. Notices are:\n%"};t.abort=function(){with(this){if(_ldObj&&_ldObj.abort){_ldObj.abort()}_cleanup();if(readyState==0){return}if(readyState==1&&!_ldObj){readyState=0;return}_changeReadyState(4,true)}};t.open=function(_2,_3,_4,_5,_6){with(this){if(_3.match(/^((\w+)\.)?(GET|POST)\s+(.*)/i)){this.loader=RegExp.$2?RegExp.$2:null;_2=RegExp.$3;_3=RegExp.$4}try{if(document.location.search.match(new RegExp("[&?]"+session_name+"=([^&?]*)"))||document.cookie.match(new RegExp("(?:;|^)\\s*"+session_name+"=([^;]*)"))){_3+=(_3.indexOf("?")>=0?"&":"?")+session_name+"="+this.escape(RegExp.$1)}}catch(e){}_openArgs={method:(_2||"").toUpperCase(),url:_3,asyncFlag:_4,username:_5!=null?_5:"",password:_6!=null?_6:""};_ldObj=null;_changeReadyState(1,true);return true}};t.send=function(_7){if(!this.readyState){return}this._changeReadyState(1,true);this._ldObj=null;var _8=[];var _9=[];if(!this._hash2query(_7,null,_8,_9)){return}var _a=null;if(this.caching&&!_9.length){_a=this._openArgs.username+":"+this._openArgs.password+"@"+this._openArgs.url+"|"+_8+"#"+this._openArgs.method;var _b=JsHttpRequest.CACHE[_a];if(_b){this._dataReady(_b[0],_b[1]);return false}}var _c=(this.loader||"").toLowerCase();if(_c&&!JsHttpRequest.LOADERS[_c]){return this._error("unk_loader",_c)}var _d=[];var _e=JsHttpRequest.LOADERS;for(var _f in _e){var ldr=_e[_f].loader;if(!ldr){continue}if(_c&&_f!=_c){continue}var _11=new ldr(this);JsHttpRequest.extend(_11,this._openArgs);JsHttpRequest.extend(_11,{queryText:_8.join("&"),queryElem:_9,id:(new Date().getTime())+""+JsHttpRequest.COUNT++,hash:_a,span:null});var _12=_11.load();if(!_12){this._ldObj=_11;JsHttpRequest.PENDING[_11.id]=this;return true}if(!_c){_d[_d.length]="- "+_f.toUpperCase()+": "+this._l(_12)}else{return this._error(_12)}}return _f?this._error("no_loader_matched",_d.join("\n")):this._error("no_loaders")};t.getAllResponseHeaders=function(){with(this){return _ldObj&&_ldObj.getAllResponseHeaders?_ldObj.getAllResponseHeaders():[]}};t.getResponseHeader=function(_13){with(this){return _ldObj&&_ldObj.getResponseHeader?_ldObj.getResponseHeader(_13):null}};t.setRequestHeader=function(_14,_15){with(this){_reqHeaders[_reqHeaders.length]=[_14,_15]}};t._dataReady=function(_16,js){with(this){if(caching&&_ldObj){JsHttpRequest.CACHE[_ldObj.hash]=[_16,js]}responseText=responseXML=_16;responseJS=js;if(js!==null){status=200;statusText="OK"}else{status=500;statusText="Internal Server Error"}_changeReadyState(2);_changeReadyState(3);_changeReadyState(4);_cleanup()}};t._l=function(_18){var i=0,p=0,msg=this._errors[_18[0]];while((p=msg.indexOf("%",p))>=0){var a=_18[++i]+"";msg=msg.substring(0,p)+a+msg.substring(p+1,msg.length);p+=1+a.length}return msg};t._error=function(msg){msg=this._l(typeof(msg)=="string"?arguments:msg);msg="JsHttpRequest: "+msg;if(!window.Error){throw msg}else{if((new Error(1,"test")).description=="test"){throw new Error(1,msg)}else{throw new Error(msg)}}};t._hash2query=function(_1e,_1f,_20,_21){if(_1f==null){_1f=""}if((""+typeof(_1e)).toLowerCase()=="object"){var _22=false;if(_1e&&_1e.parentNode&&_1e.parentNode.appendChild&&_1e.tagName&&_1e.tagName.toUpperCase()=="FORM"){_1e={form:_1e}}for(var k in _1e){var v=_1e[k];if(v instanceof Function){continue}var _25=_1f?_1f+"["+this.escape(k)+"]":this.escape(k);var _26=v&&v.parentNode&&v.parentNode.appendChild&&v.tagName;if(_26){var tn=v.tagName.toUpperCase();if(tn=="FORM"){_22=true}else{if(tn=="INPUT"||tn=="TEXTAREA"||tn=="SELECT"){}else{return this._error("inv_form_el",(v.name||""),v.tagName)}}_21[_21.length]={name:_25,e:v}}else{if(v instanceof Object){this._hash2query(v,_25,_20,_21)}else{if(v===null){continue}if(v===true){v=1}if(v===false){v=""}_20[_20.length]=_25+"="+this.escape(""+v)}}if(_22&&_21.length>1){return this._error("must_be_single_el")}}}else{_20[_20.length]=_1e}return true};t._cleanup=function(){var _28=this._ldObj;if(!_28){return}JsHttpRequest.PENDING[_28.id]=false;var _29=_28.span;if(!_29){return}_28.span=null;var _2a=function(){_29.parentNode.removeChild(_29)};JsHttpRequest.setTimeout(_2a,50)};t._changeReadyState=function(s,_2c){with(this){if(_2c){status=statusText=responseJS=null;responseText=""}readyState=s;if(onreadystatechange){onreadystatechange()}}};t.escape=function(s){return escape(s).replace(new RegExp("\\+","g"),"%2B")}}JsHttpRequest.COUNT=0;JsHttpRequest.MAX_URL_LEN=2000;JsHttpRequest.CACHE={};JsHttpRequest.PENDING={};JsHttpRequest.LOADERS={};JsHttpRequest._dummy=function(){};JsHttpRequest.TIMEOUTS={s:window.setTimeout,c:window.clearTimeout};JsHttpRequest.setTimeout=function(b,c){window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.s;if(typeof(b)=="string"){d=window.JsHttpRequest_tmp(b,c)}else{var d=null;var a=function(){b();delete JsHttpRequest.TIMEOUTS[d]};d=window.JsHttpRequest_tmp(a,c);JsHttpRequest.TIMEOUTS[d]=a}window.JsHttpRequest_tmp=null;return d};JsHttpRequest.clearTimeout=function(b){window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.c;delete JsHttpRequest.TIMEOUTS[b];var a=window.JsHttpRequest_tmp(b);window.JsHttpRequest_tmp=null;return a};JsHttpRequest.query=function(a,f,d,c){var b=new this();b.caching=!c;b.onreadystatechange=function(){if(b.readyState==4){d(b.responseJS,b.responseText)}};b.open(null,a,true);b.send(f)};JsHttpRequest.dataReady=function(b){var a=this.PENDING[b.id];delete this.PENDING[b.id];if(a){a._dataReady(b.text,b.js)}else{if(a!==false){throw"dataReady(): unknown pending id: "+b.id}}};JsHttpRequest.extend=function(b,c){for(var a in c){b[a]=c[a]}};JsHttpRequest.LOADERS.xml={loader:function(req){JsHttpRequest.extend(req._errors,{xml_no:"Cannot use XMLHttpRequest or ActiveX loader: not supported",xml_no_diffdom:"Cannot use XMLHttpRequest to load data from different domain %",xml_no_headers:"Cannot use XMLHttpRequest loader or ActiveX loader, POST method: headers setting is not supported, needed to work with encodings correctly",xml_no_form_upl:"Cannot use XMLHttpRequest loader: direct form elements using and uploading are not implemented"});this.load=function(){if(this.queryElem.length){return["xml_no_form_upl"]}if(this.url.match(new RegExp("^([a-z]+://[^\\/]+)(.*)","i"))){if(RegExp.$1.toLowerCase()!=document.location.protocol+"//"+document.location.hostname.toLowerCase()){return["xml_no_diffdom",RegExp.$1]}}var xr=null;if(window.XMLHttpRequest){try{xr=new XMLHttpRequest()}catch(e){}}else{if(window.ActiveXObject){try{xr=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}if(!xr){try{xr=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}}}}if(!xr){return["xml_no"]}var _40=window.ActiveXObject||xr.setRequestHeader;if(!this.method){this.method=_40&&this.queryText.length?"POST":"GET"}if(this.method=="GET"){if(this.queryText){this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText}this.queryText="";if(this.url.length>JsHttpRequest.MAX_URL_LEN){return["url_too_long",JsHttpRequest.MAX_URL_LEN]}}else{if(this.method=="POST"&&!_40){return["xml_no_headers"]}}this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+(req.caching?"0":this.id)+"-xml";var id=this.id;xr.onreadystatechange=function(){if(xr.readyState!=4){return}xr.onreadystatechange=JsHttpRequest._dummy;req.status=null;try{req.status=xr.status;req.responseText=xr.responseText}catch(e){}if(!req.status){return}try{var _42=req.responseText||"{ js: null, text: null }";eval("JsHttpRequest._tmp = function(id) { var d = "+_42+"; d.id = id; JsHttpRequest.dataReady(d); }")}catch(e){return req._error("js_invalid",req.responseText)}JsHttpRequest._tmp(id);JsHttpRequest._tmp=null};xr.open(this.method,this.url,true,this.username,this.password);if(_40){for(var i=0;i<req._reqHeaders.length;i++){xr.setRequestHeader(req._reqHeaders[i][0],req._reqHeaders[i][1])}xr.setRequestHeader("Content-Type","application/octet-stream")}xr.send(this.queryText);this.span=null;this.xr=xr;return null};this.getAllResponseHeaders=function(){return this.xr.getAllResponseHeaders()};this.getResponseHeader=function(_44){return this.xr.getResponseHeader(_44)};this.abort=function(){this.xr.abort();this.xr=null}}};JsHttpRequest.LOADERS.script={loader:function(a){JsHttpRequest.extend(a._errors,{script_only_get:"Cannot use SCRIPT loader: it supports only GET method",script_no_form:"Cannot use SCRIPT loader: direct form elements using and uploading are not implemented"});this.load=function(){if(this.queryText){this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText}this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+this.id+"-script";this.queryText="";if(!this.method){this.method="GET"}if(this.method!=="GET"){return["script_only_get"]}if(this.queryElem.length){return["script_no_form"]}if(this.url.length>JsHttpRequest.MAX_URL_LEN){return["url_too_long",JsHttpRequest.MAX_URL_LEN]}var h=this,i=document,g=null,f=i.body;if(!window.opera){this.span=g=i.createElement("SCRIPT");var c=function(){g.language="JavaScript";if(g.setAttribute){g.setAttribute("src",h.url)}else{g.src=h.url}f.insertBefore(g,f.lastChild)}}else{this.span=g=i.createElement("SPAN");g.style.display="none";f.insertBefore(g,f.lastChild);g.innerHTML="Workaround for IE.<script><\/script>";var c=function(){g=g.getElementsByTagName("SCRIPT")[0];g.language="JavaScript";if(g.setAttribute){g.setAttribute("src",h.url)}else{g.src=h.url}}}JsHttpRequest.setTimeout(c,10);return null}}};JsHttpRequest.LOADERS.form={loader:function(a){JsHttpRequest.extend(a._errors,{form_el_not_belong:'Element "%" does not belong to any form!',form_el_belong_diff:'Element "%" belongs to a different form. All elements must belong to the same form!',form_el_inv_enctype:'Attribute "enctype" of the form must be "%" (for IE), "%" given.'});this.load=function(){var f=this;if(!f.method){f.method="POST"}f.url+=(f.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+f.id+"-form";if(f.method=="GET"){if(f.queryText){f.url+=(f.url.indexOf("?")>=0?"&":"?")+f.queryText}if(f.url.length>JsHttpRequest.MAX_URL_LEN){return["url_too_long",JsHttpRequest.MAX_URL_LEN]}var c=f.url.split("?",2);f.url=c[0];f.queryText=c[1]||""}var h=null;var g=false;if(f.queryElem.length){if(f.queryElem[0].e.tagName.toUpperCase()=="FORM"){h=f.queryElem[0].e;g=true;f.queryElem=[]}else{h=f.queryElem[0].e.form;for(var j=0;j<f.queryElem.length;j++){var k=f.queryElem[j].e;if(!k.form){return["form_el_not_belong",k.name]}if(k.form!=h){return["form_el_belong_diff",k.name]}}}if(f.method=="POST"){var b="multipart/form-data";var r=(h.attributes.encType&&h.attributes.encType.nodeValue)||(h.attributes.enctype&&h.attributes.enctype.value)||h.enctype;if(r!=b){return["form_el_inv_enctype",b,r]}}}var l=h&&(h.ownerDocument||h.document)||document;var o="jshr_i_"+f.id;var q=f.span=l.createElement("DIV");q.style.position="absolute";q.style.display="none";q.style.visibility="hidden";q.innerHTML=(h?"":"<form"+(f.method=="POST"?' enctype="multipart/form-data" method="post"':"")+"></form>")+'<iframe name="'+o+'" id="'+o+'" style="width:0px; height:0px; overflow:hidden; border:none"></iframe>';if(!h){h=f.span.firstChild}l.body.insertBefore(q,l.body.lastChild);var n=function(w,x){var p=[];var d=w;if(w.mergeAttributes){var d=l.createElement("form");d.mergeAttributes(w,false)}for(var u=0;u<x.length;u++){var t=x[u][0],s=x[u][1];p[p.length]=[t,d.getAttribute(t)];d.setAttribute(t,s)}if(w.mergeAttributes){w.mergeAttributes(d,false)}return p};var m=function(){top.JsHttpRequestGlobal=JsHttpRequest;var u=[];if(!g){for(var p=0,w=h.elements.length;p<w;p++){u[p]=h.elements[p].name;h.elements[p].name=""}}var v=f.queryText.split("&");for(var p=v.length-1;p>=0;p--){var s=v[p].split("=",2);var t=l.createElement("INPUT");t.type="hidden";t.name=unescape(s[0]);t.value=s[1]!=null?unescape(s[1]):"";h.appendChild(t)}for(var p=0;p<f.queryElem.length;p++){f.queryElem[p].e.name=f.queryElem[p].name}var d=n(h,[["action",f.url],["method",f.method],["onsubmit",null],["target",o]]);h.submit();n(h,d);for(var p=0;p<v.length;p++){h.lastChild.parentNode.removeChild(h.lastChild)}if(!g){for(var p=0,w=h.elements.length;p<w;p++){h.elements[p].name=u[p]}}};JsHttpRequest.setTimeout(m,100);return null}}};var profiler=new Xtype.Profiler;if(window.console===undefined){window.console={log:Prototype.emptyFunction}}if(window.console.error==undefined){window.console.error=window.console.log}function pseudoWindowClose(obj){obj_current="";while(1){obj_window=eval("obj"+obj_current);if(obj_window.className=="pseudoWindow"){obj_window.style.display="none";break}else{obj_current+=".parentNode"}}return false}function observeSMSEvents(){var a=$("sms-nickname-ico");$$(".sms-nickname").each(function(b){b.observe("mouseover",function(){var d=b.id.substring(1);try{var c=b.up("div.user_sms01").readAttribute("userfotourl");var g=b.up("div.user_sms01").readAttribute("userfotostyle")}catch(h){var c=null;var g=null}position=b.positionedOffset();var f=b.getDimensions();f.height=f.height||15;a.innerHTML='<img title="загрузка..." alt="загрузка..." src="'+c+'" style="'+g+'" />';a.setStyle({left:position[0]+f.width+"px",top:position[1]+f.height+"px",display:"block"})});b.observe("mouseout",function(){a.style.display="none"})})}function hideall(d){if(!document.getElementById){return}var b=document.getElementById("hideallt");var f=d.getElementsByTagName("span")[0];var a=d.getElementsByTagName("img")[0];if(d.default_text==null){d.default_text=f.innerHTML;d.default_img=a.src}if(b.style.display=="none"){b.style.display="block";f.innerHTML="Свернуть форму поиска";var c=a.cloneNode(false);c.alt="-";c.src="/images/i_minus.gif";d.removeChild(a);d.insertBefore(c,f)}else{b.style.display="none";f.innerHTML=d.default_text;var c=a.cloneNode(false);c.alt="+";c.src=d.default_img;d.removeChild(a);d.insertBefore(c,f)}}function addlayer(b){if(!document.getElementById){return}var a=document.getElementById("hidetext");img=b.getElementsByTagName("i")[0];if(a.style.display==""){a.style.display="none";document.getElementById("show_text").innerHTML="Расширенный поиск";img.className=img.className.replace(/minus\-ico/i,"plus-ico")}else{a.style.display="";document.getElementById("show_text").innerHTML="Основной поиск";img.className=img.className.replace(/plus\-ico/i,"minus-ico")}return false}function PlaceholderDecorator(a){a=$(a);if(Prototype.Browser.Mobile||"placeholder" in document.createElement(a.tagName)||!a.readAttribute("placeholder")){return}var b=a.readAttribute("placeholder");if(!b){a.writeAttribute("placeholder","")}a.observe("focus",function(){if(a.hasClassName("text-placeholder")){a.value="";a.removeClassName("text-placeholder")}});a.observe("blur",function(){if(a.value===""){a.addClassName("text-placeholder");a.value=b}else{a.removeClassName("text-placeholder")}});a.form&&$(a.form).observe("submit",function(){if(a.hasClassName("text-placeholder")&&a.readAttribute("placeholder")==a.value){a.value=""}});a.getValue=Form.Element.getValue.wrap(function(c){return(!a.hasClassName("text-placeholder")||a.value!=b)?c(a):""});a.setValue=Form.Element.setValue.wrap(function(c,d){if(d===""){this.addClassName("text-placeholder");return c(this,b)}else{this.removeClassName("text-placeholder");return c(this,d)}});a.setValue(a.getValue())}Number.prototype.pluralize=function(c,b,a){return(this%10==1&&this%100!==11?b:(this%10>=2&&this%10<=4&&(this%100<10||this%100>=20)?a:c))};(function(){function a(){var d=this,c=d.maxLength,f=d.value.replace(/[^0-9]/g,"");d.hasFocus=false;d.maxLength=c+Math.floor(c/3)-(c%3==0);d.value=[f.substring(0,f.length%3)].concat(f.substring(f.length%3,f.length).match(/.../mg)).join(" ").strip()}function b(){var d=this,c=d.maxLength;if(!d.hasFocus){d.hasFocus=true;d.maxLength=c-Math.floor(c/4);d.value=d.value.replace(/[^0-9]/g,"").substring(0,d.maxLength)}}window.currencyFormattedInput=function(c){var d=$(c);new Xtype.Keyfilter(d,/[0-9]/);d.observe("focus",b).observe("blur",a);a.apply(d)}})();function yandex_direct_print(){document.write('<div id="yandex-direct-placement"></div>')}PopupWindow=Class.create(Xtype.Window,{initialize:function($super,f,c){var a=this;c=Object.extend({classNames:"",type:Xtype.Window.Context,withAnimation:!Prototype.Browser.IE,x:false,width:null,height:null,dTop:0,dLeft:0,corner:null,anchor:null,dHeight:-40},c);a.element=a._createRootElement();$super(a.element,c);a._setContentWithCallback($(f));var b=$(a.options.anchor)||$(a.options.toggler);if(a.options.type!=Xtype.Window.Modal){a.setAnchor(b)}a.setCorner(a.options.corner);var d=["width","height"].inject({},function(g,h){if(a.options[h]){g[h]=a.options[h]}return g});a.element.setStyle(d);a.element.className=$w(a.element.className).concat([a.options.x?"x":""]).concat([a.options.type==Xtype.Window.Modal?"modal":""]).concat($w(a.options.classNames)).uniq().join(" ");a.element.on("click",".x .close",function(g,h){g.preventDefault();a.close()});Element.on(window,"resize",function(g){if(a.visible()){a.position(a._calculatePosition(a.options.corner,a.options.anchor))}})},_createRootElement:function(){var a=$(window.document.body),b=new Element("div",{"class":"box1",style:"display:none"});a.insert({top:b});b.update('<i class="arrow"></i><div class="top"><i class="tr"></i><span></span></div><div class="center-content"><i class="cr"></i><div class="le"><span class="anchor close"></span><i class="content-loading"></i><div class="content"></div></div></div><div class="bottom"><i class="br"></i><span></span></div>');return b},setAnchor:function(b,c){var a=this;a.options.anchor=$(b);if(a.visible()){a.position(a._calculatePosition(a.options.corner,a.options.anchor),undefined,c)}return a},setCorner:function(c,b){var a=this;a.element.removeClassName(a.options.corner);if(c){a.element.addClassName(c)}a.options.corner=c;return a},_setContentWithCallback:function(h,c,b,l){var m=this;var g={width:m.options.width?m.options.width+"px":null,height:m.options.height?m.options.height+"px":null},d=m.element.clone(true).setStyle({position:"absolute",left:"-9999px",width:g.width,height:null,display:"none"});$(document.body).insert(d);d.down(".content").setStyle({height:g.height,width:null}).update(h);if(Object.isElement(h)){d.down(".content").down().style.display="block"}var a=d.getDimensions(),k=m._calculatePosition(m.options.corner,m.options.anchor,a),f=d.down(".content");d.remove();var i=m.element.down(".content"),j=f;j.className="";j.hide();i.update(j);if(c&&window.Effect&&m.element.visible()){m.position(k,a,c,{afterFinish:function(){var n=Object.extend({duration:0.1,transition:Effect.Transitions.easeOut},b);n.afterFinish=(n.afterFinish||Prototype.emptyFunction).wrap(function(o,p){j.className="content";i.replace(j);if(!m.options.width){m.element.style.width=null}if(!m.options.height){m.element.style.height=null}o.call(m);Object.isFunction(l)&&l.apply(m)});if(m.element.visible()){new Effect.Appear(j,n)}else{n.afterFinish();j.style.display=""}}});return m}else{m.position(k,{width:m.options.width,height:m.options.height});j.className="content";i.replace(j);j.style.display="";Object.isFunction(l)&&l.apply(m);return m}},reposition:function(){var a=this;a.position(a._calculatePosition(a.options.corner,a.options.anchor))},setContent:function(a,b,c){return this._setContentWithCallback(a,b,c,this.options.afterSetContent)},_shiftOffset:function(b){var a={t:{top:14,left:0},tl:{top:34,left:-34},tr:{top:34,left:36},bl:{top:-30,left:-26},br:{top:-30,left:27},lt:{top:-23,left:47},lb:{top:0,left:0},rt:{top:-23,left:-31},rb:{top:0,left:0}};return a[b]||{top:0,left:0}},_calculatePosition:function(h,f,a){var i=this;var j=a||i.element.getDimensions(),b=f?f.cumulativeOffset():{top:parseInt(document.viewport.getHeight()/2-j.height/2),left:parseInt(document.viewport.getWidth()/2-j.width/2)},g=f?f.getDimensions():{width:0,height:0};var d;if(f){switch(h){case"t":d={top:b.top+g.height,left:b.left+g.width/2-j.width/2};break;case"tl":d={top:b.top+g.height,left:b.left};break;case"tr":d={top:b.top+g.height,left:b.left+g.width-j.width};break;case"bl":d={top:b.top-j.height,left:b.left};break;case"br":d={top:b.top-j.height,left:b.left+g.width-j.width};break;case"lt":d={top:b.top,left:b.left+g.width};break;case"lb":d={top:b.top-j.height,left:b.left+g.width};break;case"rt":d={top:b.top,left:b.left-j.width};break;default:d={top:b.top+g.height-j.height,left:b.left-j.width}}}else{d=b}var c=i._shiftOffset(h);d.top+=i.options.dTop+c.top;d.left+=i.options.dLeft+c.left;return d},position:function(i,g,d,h){var b=this;b._animating&&b._animating.finish();if(d&&window.Effect){var f=[];i&&f.push(new Effect.Move(b.element,{x:i.left,y:i.top,mode:"absolute",sync:true}));g&&f.push(new Effect.Morph(b.element,{style:"width:#{width}px".interpolate(g),sync:true}));g&&f.push(new Effect.Morph(b.element.down(".content"),{style:"height:#{height}px".interpolate({height:g.height+b.options.dHeight}),sync:true}));if(f.length>0){var c=Object.extend({duration:0.2,transition:Effect.Transitions.easeOut},h);c.afterFinish=(c.afterFinish||Prototype.emptyFunction).wrap(function(j,k){j.call(b);delete b._animating});b._animating=new Effect.Parallel(f,c)}}else{if(i&&i.top){i.top+="px"}if(i&&i.left){i.left+="px"}if(g&&g.height){var a=g.height+b.options.dHeight;a=a<0?0:a;b.element.down(".content").setStyle({height:a+"px"});delete g.height}if(g&&g.width){g.width+="px"}b.element.setStyle(Object.extend(i,g))}},open:function($super){var a=this;a.position(a._calculatePosition(a.options.corner,a.options.anchor));$super()}});RemoteWindow=Object.extend(Class.create(PopupWindow,{initialize:function($super,b){var a=this;b=Object.extend({requestUrl:"",requestOptions:{},responseFilter:function(c){return c.responseText}},b);$super("",b);a.setLoadingStatus(RemoteWindow.NOT_LOADED)},setLoadingStatus:function(a){this._loadingStatus=a;return this},getLoadingStatus:function(){return this._loadingStatus},_loadContent:function(c,b,d){var a=this;new Ajax.Request(c,Object.extend(Object.clone(b),{onCreate:(b.onCreate||Prototype.emptyFunction).wrap(function(g,f){a.setLoadingStatus(RemoteWindow.LOADING);a._setContentWithCallback("");a.element.addClassName("content-loading");g.call(a,f)}),onSuccess:(b.onSuccess||Prototype.emptyFunction).wrap(function(g,f){g.call(a,f);a.element.removeClassName("content-loading");a.setLoadingStatus(RemoteWindow.LOADED);a.setContent(a.options.responseFilter(f),d)}),onFailure:(b.onFailure||Prototype.emptyFunction).wrap(function(g,f){a.element.removeClassName("content-loading");a.setLoadingStatus(RemoteWindow.NOT_LOADED);g.call(a,f)})}))},open:function($super){var a=this;if(a.getLoadingStatus()==RemoteWindow.NOT_LOADED){var b=["top","left","width","height"].inject({},function(c,d){c[d]=a.options[d]||null;return c});a.element.setStyle(b);a._loadContent(a.options.requestUrl,a.options.requestOptions,a.options.withAnimation);$super()}else{$super()}}}),{NOT_LOADED:0,LOADING:1,LOADED:2});PremiumPreviewWindow=Class.create(RemoteWindow,{initialize:function($super,d,c){var b=this;c=Object.extend({requestUrl:"/premium/user_preview.php?custid="+c.custid+"&"+(new Date).getTime(),requestOptions:{method:"get"},corner:"lt",toggler:d,withPhoto:true,dHeight:-12},c);$super(c);b.element.className+=" custid-"+b.options.custid+(b.options.withPhoto?"":" no-fn");var a=function(){b.open()},f=function(){b._closeTimeout=setTimeout(function(){b.close();delete b._closeTimeout},300)};b.options.anchor.on("mouseover",a);b.options.anchor.on("mouseout",f);b.element.on("mouseover",a);b.element.on("mouseout",f);b.element.on("click",".message-window-toggler",function(g,h){b.element.toggleClassName("quaBoxFormVi")})},_createRootElement:function(){var a=$(window.document.body),b=new Element("div",{"class":"quaBox",style:"display:none"});a.insert({top:b});b.update('<i class="hvost"></i><i class="content-loading"></i><div class="content"></div>');return b},open:function($super){this._closeTimeout&&clearTimeout(this._closeTimeout);$super()},_shiftOffset:function(a){return{top:0,left:17}}});PremiumGiveBdaysWindow=Class.create(RemoteWindow,{initialize:function($super,c,b){var a=this;b=Object.extend({requestOptions:{method:"get"},afterSetContent:function(d){a.setLoadingStatus(RemoteWindow.NOT_LOADED)},corner:"tr",toggler:c,x:true},b);$super(b);a.setCustId(a.options.custid).element.addClassName("custid-"+a.options.custid).on("click",".accept",function(d,f){a.giveBdaysRequest(f.up("form"))})},setCustId:function(b){var a=this;a.options.custid=b;a.options.requestUrl="/bday/givebday_preview.php?custid="+b+"&"+(new Date).getTime();return a},giveBdaysRequest:function(b){var a=this;a.setLoadingStatus(RemoteWindow.LOADING);if(!a.element.hasClassName("loading")){b.request({onCreate:function(){a.element.addClassName("loading")},onSuccess:function(c){a.setContent(c.responseJSON.result);a.setLoadingStatus(RemoteWindow.NOT_LOADED)},onComplete:function(){a.element.removeClassName("loading")}})}}});MaxlengthDecorator=Class.create({initialize:function(b){var a=this;a.element=$(b);a._keypress=a.element.on("keypress",function(c){if(this.getValue().length-Math.abs(this.getSelectionEnd()-this.getSelectionStart())>=this.readAttribute("maxlength")&&!Event.isSpecialKey({keyCode:a._keyCode,metaKey:c.metaKey,ctrlKey:c.ctrlKey,altKey:c.altKey})&&a._keyCode!=Event.KEY_DELETE&&a._keyCode!=Event.KEY_BACKSPACE){c.preventDefault();a.fire("prevent")}else{if(!Event.isSpecialKey({keyCode:a._keyCode})){a._keyup.start()}}});a._keydown=a.element.on("keydown",function(c){a._keyup.stop();if(Event.getKeyCode(c)==Event.KEY_DELETE||Event.getKeyCode(c)==Event.KEY_BACKSPACE){a._keyup.start()}});a._keyup=a.element.on("keyup",function(c){if(!(Event.getKeyCode(c)==Event.KEY_RETURN&&this.tagName=="INPUT"&&this.type=="text")){a.fire("change")}});a.element.observe("keydown",function(c){a._keyCode=Event.getKeyCode(c)});a._change=a.element.on("change",function(c){if(this.getValue().length>=this.readAttribute("maxlength")){this.setValue(this.getValue().substr(0,this.readAttribute("maxlength")))}a.fire("change")})},fire:function(a){this.element.fire("MaxlengthDecorator::"+a)},observe:function(a,b){this.element.observe("MaxlengthDecorator::"+a,b)}});HoverWindow=Class.create(PopupWindow,{initialize:function($super,c,b){var a=this;b=Object.extend({corner:"tl"},b);a._open=function(){a.open()};a._closeByTimeout=function(){a._closeTimeout=setTimeout(function(){a.close();delete a._closeTimeout},300)};$super(c,b);a.element.on("mouseover",a._open);a.element.on("mouseout",a._closeByTimeout)},_createRootElement:function(){var a=$(window.document.body),b=new Element("div",{"class":"quaBox",style:"display:none"});a.insert({top:b});b.update('<i class="hvost"></i><i class="content-loading"></i><div class="content"></div>');return b},setAnchor:function($super,c,d){var b=this,a=$super(c,d);if(c){if(b._mouseoverAnchorHandler){b._mouseoverAnchorHandler.stop()}b._mouseoverAnchorHandler=b.options.anchor.on("mouseover",b._open);if(b._mouseoutAnchorHandler){b._mouseoverAnchorHandler.stop()}b._mouseoutAnchorHandler=b.options.anchor.on("mouseout",b._closeByTimeout)}return a},open:function($super){this._closeTimeout&&clearTimeout(this._closeTimeout);$super()}});GrowlWindowManager=new (Class.create({initialize:function(b){var a=this;a.windows=[];a.pwindows=[];a.options=Object.extend({right_indent:10,bottom_indent:10,windows_maxlength:3});new PeriodicalExecuter(function(c){a.destroyWorker()},1)},destroyWorker:function(){var b=this;if(b.windows.length){var c=b.windows.inject(0,function(d,f){return d+f.visible()}),a=function(){for(var d=b.windows.length-1;d>=0;d--){b.windows[d].destroy()}};if(!c){a()}else{if(!Object.isUndefined(b.destroy_windows_at)&&b.destroy_windows_at<=(new Date).getTime()){a()}}}},positionWindows:function(c){var a=this,d=function(g,f){if(f.visible()){g+=a.options.bottom_indent;f.setPosition(null,a.options.right_indent,g,null,c);g+=f.getDimensions().height}return g};var b=a.pwindows.inject(0,d);a.windows.inject(b,d)},register:function(c){var b=this;if(b.pwindows.length>=b.options.windows_maxlength){return false}if(b.windows.indexOf(c)==-1&&b.pwindows.indexOf(c)==-1){if(c.options.permanent){b.pwindows.push(c)}else{b.windows.push(c);if(b.windows.length==1){b.destroy_windows_at=(new Date).getTime()+14*1000}else{b.destroy_windows_at+=7*1000}}c.open();b.fire("register",{windowManager:b,win:c});b.fire("windowQueueModified",{windowManager:b,win:c});if(b.windows.length+b.pwindows.length>b.options.windows_maxlength){var a=b.windows.first();if(a){a.destroy()}}}return true},isRegistered:function(a){return this.windows.indexOf(a)>-1||this.pwindows.indexOf(a)>-1},unregister:function(b){var a=this;if(a.isRegistered(b)){a.windows=a.windows.without(b);a.pwindows=a.pwindows.without(b);a.fire("unregister",{windowManager:a,win:b});a.fire("windowQueueModified",{windowManager:a,win:b})}},willOpen:function(a){this.positionWindows()},open:function(a){},willClose:function(b){var a=this;a.positionWindows(true)},close:function(a){if(a.options.permanent){a.destroy()}},observe:function(a,b){$(document.body).observe("GrowlWindowManager::"+a,b)},fire:function(a){$(document.body).fire("GrowlWindowManager::"+a)}}));GrowlWindow=Class.create({initialize:function(c,b){var a=this;a.windowManager=GrowlWindowManager;a.options=Object.extend({permanent:false},b);a.root=a._createRootElement();a.root.on("click",".close",function(d){d.preventDefault();a.close()});a.setContent(c);if(!a.register()){a.destroy()}},_createRootElement:function(){var a=$(window.document.body),b=new Element("div",{"class":"fixed_box",style:"display:none"});a.insert({top:b});b.update('<span class="close">x</span><div class="content"></div>');return b},setContent:function(a){this.root.down(".content").update(a);if(Object.isElement(a)){a.show()}},getDimensions:function(){return this.root.getDimensions()},setPosition:function(i,c,b,h,f){var a=this,g={top:i+"px",right:c+"px",bottom:b+"px",left:h+"px"};if(Object.isUndefined(i)||i===null){delete g.top}if(Object.isUndefined(c)||c===null){delete g.right}if(Object.isUndefined(b)||b===null){delete g.bottom}if(Object.isUndefined(h)||h===null){delete g.left}var d=a._positionAnimation;if(d){d.render(1);d.cancel();d.event("beforeFinish");Object.isFunction(d.finish)&&d.finish();d.event("afterFinish")}if(f){a._positionAnimation=new Effect.Morph(a.root,{duration:0.3,style:g,afterFinish:function(){a._positionAnimation=undefined}})}else{a.root.setStyle(g)}},register:function(){return this.windowManager.register(this)},isRegistered:function(){return this.windowManager.isRegistered(this)},unregister:function(){var a=this;a.windowManager.unregister(a);if(!a.visible()&&!a._closeAnimation&&a.root){a.root.remove();a.root=undefined}},open:function(){var a=this;if(!a.visible()){a._visible=true;a.windowManager.willOpen(a);a.root.show();a.windowManager.open(a)}},visible:function(){return !!this._visible},close:function(){var a=this;if(a.visible()){a._visible=false;a.windowManager.willClose(a);a._closeAnimation=a.root.fade({duration:0.3,afterFinish:function(){if(!a.isRegistered()&&a.root){a.root.remove();a.root=undefined}a._closeAnimation=undefined}});a.windowManager.close(a)}},destroy:function(){this.close();this.unregister()}});NotificationManager=new (Class.create({initialize:function(options){var self=this,_onfocus=function(){self.lock()},_onblur=Prototype.emptyFunction;self.initialized_at=(new Date).getTime();self._sharedStorageTouchTime=self.initialized_at;self.subscribers=[];self.setOptions(options);if(
/*@cc_on!@*/
false){document.onfocusin=_onfocus;document.onfocusout=_onblur}else{window.onfocus=_onfocus;window.onblur=_onblur}self.lock();$(document).ready(function(){self.start()});if(navigator.userAgent.indexOf("Safari")>-1&&navigator.userAgent.indexOf("Chrome")<0){Element.observe(window,"load",function(){if(self.requestInProgress){self.requestInProgress.abort()}})}},setOptions:function(b){var a=this;a.options=Object.extend({baseUrl:"",subscribeUrl:"/subscribe",corsUrl:"/static/cors/index.html",parameters:{},timeout:30,workerFrequency:0.1},a.options||{});Object.extend(a.options,b||{});if(a.pe&&a.pe.frequency!=a.options.workerFrequency){a.stop();a.start()}},start:function(){var a=this;if(!a.pe){var b=function(c){!a.hasLock()&&a.unlock();a.requestWorker()};a.pe=new PeriodicalExecuter(b,a.options.workerFrequency);b(a.pe)}},stop:function(){this.pe&&this.pe.stop();this.pe=undefined},lock:function(){var a=this;if(!a.hasLock()){a.master=true;localStorage.setItem("NotificationManager-lock",a.initialized_at);a.subscribers.each(function(b){if(!b.isSleeping()){b.didChangeState()}})}},unlock:function(){var a=this;if(a.master){a.master=false;if(a.requestInProgress){a.requestInProgress.abort()}a.subscribers.each(function(b){if(!b.isSleeping()){b.didChangeState()}})}},hasLock:function(){return localStorage.getItem("NotificationManager-lock")==this.initialized_at},requestWorker:function(){var c=this,h=function(k,i){if(Object.inspect(localStorage)=="[object Storage]"){var j=localStorage.getItem("NotificationManager-shared"),m={};try{m=j.evalJSON()}catch(l){}m[c.options.channel]={created:(new Date).getTime(),status:i,data:k};localStorage.setItem("NotificationManager-shared",Object.toJSON(m))}c._sharedStorageTouchTime=(new Date).getTime()},b=function(){var j=localStorage.getItem("NotificationManager-shared"),l={};try{l=j.evalJSON()}catch(k){}var i=l[c.options.channel];if(!i||i.created<=c._sharedStorageTouchTime){i=undefined}c._sharedStorageTouchTime=(new Date).getTime();return i};if(c.hasLock()){if(!c.requestInProgress&&c.subscribers.length>0){var d={parameters:{channel:c.options.channel,_:(new Date()).getTime()},timeout:c.options.timeout,onSuccess:function(i){if(c.hasLock()){var j;if(i.responseJSON){j=i.responseJSON}else{if(i.responseText){try{j=i.responseText.evalJSON()}catch(k){}}}if(i.responseText==""&&i.status==200){return}if(j){h(j,"success");c.subscribers.each(function(l){if(!l.isSleeping()){l.didReceiveResponse(j)}})}else{h(j,"failure");c.subscribers.each(function(l){if(!l.isSleeping()){l.didFailToReceiveResponse(j)}})}}},onFailure:function(i){if(c.hasLock()){var j=i.responseJSON||{};h(j,"failure");c.subscribers.each(function(k){if(!k.isSleeping()){k.didFailToReceiveResponse(j)}})}},onComplete:function(i){c.requestInProgress=null},onAbort:function(i){c.requestInProgress=null},onTimeout:function(i){c.requestInProgress=null}};if(Prototype.BrowserFeatures.XHR2){var g=new XMLHttpRequest();g.open("GET",c.options.baseUrl+c.options.subscribeUrl+"?"+Object.toQueryString(d.parameters));g.withCredentials=true;var f=(function(){g.onload=Prototype.emptyFunction;g.abort();d.onTimeout(g);d.onComplete(g)}).delay(c.options.timeout);g.onabort=function(i){window.clearTimeout(f);d.onAbort(g);d.onComplete(g)};g.onload=function(i){window.clearTimeout(f);if(g.status>=200&&g.status<300){d.onSuccess(g);d.onComplete(g)}else{d.onFailure(g);d.onComplete(g)}};c.requestInProgress=g;g.send()}else{if(!c.easyXDM){c.easyXDM=new easyXDM.Rpc({remote:c.options.baseUrl+c.options.corsUrl},{remote:{request:{},abort:{}}})}c.requestInProgress=c.easyXDM;c.easyXDM.request({url:c.options.subscribeUrl,method:"GET",data:d.parameters,timeout:d.timeout*1000},function(i){var k={responseText:i.data,status:i.status};try{k.responseJSON=i.data.evalJSON()}catch(j){}d.onSuccess(k);d.onComplete(k)},function(j){var i=c._workerLastResponseFailureDate;if(i&&(new Date).getTime()-i.getTime()<1000){console.error("Server returned error response twice in a second. Set polling on pause for 30 seconds.");c.stop();(function(){c.start()}).delay(30)}if(j.message&&j.message=="INVALID_STATUS_CODE"){c._workerLastResponseFailureDate=new Date}var l=j;try{l=j.evalJSON()}catch(k){}d.onFailure({responseJSON:l});d.onComplete()})}}}else{var a=b();if(a){if(a.status=="success"){c.subscribers.each(function(i){if(!i.isSleeping()){i.didReceiveResponse(a.data)}})}else{c.subscribers.each(function(i){if(!i.isSleeping()){i.didFailToReceiveResponse(a.data)}})}}c._sharedData}},subscribe:function(a){this.subscribers.push(a)}}));AbstractSubscriber=Class.create({getId:Prototype.emptyFunction,willCreateRequest:Prototype.emptyFunction,didReceiveResponse:Prototype.emptyFunction,didFailToReceiveResponse:Prototype.emptyFunction,didChangeState:Prototype.emptyFunction,sleep:function(){this.sleeping=true},isSleeping:function(){return !!this.sleeping},wake:function(){this.sleeping=false}});MessageNotification=Class.create(AbstractSubscriber,{ids:["chatMessage","supportMessage"],blinkingEnabled:true,initialize:function(){this._blinkTitleIfNeeded()},didReceiveResponse:function(b){var a=this,c=this.ids.indexOf((b.subchannel||null)>-1)?b.message:{};if(!Object.isEmpty(c)){if(c.title&&c.body){}if(!Object.isUndefined(c.unread_messages_counter)){var d=$("notification_subscriber_message_count");if(d&&d.innerHTML!=c.unread_messages_counter){d.update(c.unread_messages_counter);if(parseInt(c.unread_messages_counter)){d.show().highlight()}else{d.hide()}}}if(!Object.isUndefined(c.unread_notifications_counter)){var d=$("notification_subscriber_notification_count");if(d&&d.innerHTML!=c.unread_notifications_counter){d.update(c.unread_notifications_counter);if(parseInt(c.unread_notifications_counter)){d.show().highlight()}else{d.hide()}}}}a._blinkTitleIfNeeded()},_blinkTitleIfNeeded:function(){if($("notification_subscriber_notification_count")){var a=parseInt($("notification_subscriber_notification_count").innerHTML);if(this.blinkingEnabled){a>0?TitleBlinker.enable():TitleBlinker.disable()}}if($("notification_subscriber_message_count")){var a=parseInt($("notification_subscriber_message_count").innerHTML);if(this.blinkingEnabled){a>0?TitleBlinker.enable():TitleBlinker.disable()}}},setBlinkingEnabled:function(a){this.blinkingEnabled=a;if(!a){TitleBlinker.disable()}}});TitleBlinker=new (Class.create({initialize:function(){var a=this;document.ready(function(){a.defaultTitle=document.title})},disable:function(){var a=this;if(a.pe){a.pe.stop();a.pe=undefined;document.title=a.defaultTitle}return a},enable:function(){var a=this;if(!a.pe){a.pe=new PeriodicalExecuter(function(){a.worker()},0.8)}return a},worker:function(){var a=this;document.title=document.title==a.defaultTitle?a.newTitle:a.defaultTitle},setMessage:function(a){this.newTitle=a}}));TitleBlinker.setMessage("Новое сообщение!");BadWordsRequest=Class.create(Ajax.Request,{initialize:function($super,b,a){a=Object.extend({onSuccess:Prototype.emptyFunction,onFailure:Prototype.emptyFunction},a);$super("/s_ajax_check_bad_words_ol.php",{method:"post",parameters:{value:b},onCreate:a.onCreate,onSuccess:function(d,c){if(d.responseText<1){a.onSuccess(d)}else{a.onFailure(d)}},onFailure:a.onFailure,onComplete:a.onComplete})}});function resize(r,d){var m=(document.compatMode=="CSS1Compat"&&!window.opera)?document.documentElement.clientWidth:document.body.clientWidth,o=(document.compatMode=="CSS1Compat"&&!window.opera)?document.documentElement.clientHeight:document.body.clientHeight,l=m/screen.availWidth,p=o/screen.availHeight;if(l>"0.8"||p>"0.8"){return false}else{var q=(screen.availWidth-r)/2,n=(screen.availHeight-d)/2,k=window.outerHeight?(window.outerHeight-window.innerHeight):90;if(window.opera){window.moveBy((window.outerWidth-r)/2,(window.innerHeight-d)/2)}else{window.moveTo(q,n)}window.resizeTo(r,parseInt(d)+k)}}var Slideshow=Class.create({initialize:function(d,a,c){var b=this;b.images=a;b.element=$(d);b.options=Object.extend({duration:1,delay:2},c)},start:function(){this._index=0;this._hide()},_next:function(){var a=this;a._index=++a._index%a.images.length},_hide:function(){var a=this;new Image().src=a.images[(a._index+1)%a.images.length];new Effect.Fade(a.element,{duration:a.options.duration,afterFinish:function(){a._next();a._show()}})},_show:function(){var a=this;a.element.src=a.images[a._index];new Effect.Appear(a.element,{duration:a.options.duration,afterFinish:function(){setTimeout(function(){a._hide()},a.options.delay*1000)}})}});
