var D0=function(){}.prototype;D0.b0=D0.constructor;D0.make=function(){var a=this.w6();if(a.init){a.init.apply(a,arguments)}return a};D0.w6=function(){var a=this.M0(this.b0);return a};D0.M0=function(a){var b=new a();b.constructor=a;return b};D0.z7=function(c,e,a){var d=this;var b=false;while(d){if(d[c]==e){b=true}else{if(b){break}}d=d.constructor.prototype}if(d&&d[c]){return d[c].apply(this,a||msjs.THE_EMPTY_LIST)}else{throw ("Couldn't find method "+c+" in "+d)}};D0.h4=function(a){if(!this.hasOwnProperty(a)){if(msjs.k1(this[a])){this[a]=this[a].concat()}else{this[a]=msjs.k2(this[a])}}};D0.A6=function(){var b=function(){};b.prototype=D0.M0(this.b0);b.prototype.b0=b;var a=b.prototype;return a};D0._debugRef="";D0.i5=function(){return"msjs object#"+this._debugRef};var msjs=D0.A6();msjs.D0=D0;msjs.init=function(a){this.context=a};msjs.A6=function(a){var b=a?a:this.D0;return b.A6()};msjs.S7={};msjs.requireHistory=[];msjs.u7=function(a){var j=a.indexOf("java.")==0;if(!j&&a.toLowerCase()!=a){throw"msjs package names should be lower case: "+a+". Stack "+this.requireHistory
}if(this.context.bindings[a]==this.S7){try{var d=[];for(var f=0;f<this.requireHistory.length;f++){var l=this.requireHistory[f];var h=l.charAt(0)=="0";var c=l.substring(1);if(h){d.push(c)}else{var b=d.pop();if(b!=c){throw"bad history info: "+c}}}this.log("requires cycle in",a);this.log("Load stack: ",d)}catch(g){}throw"Publish/requires cycle on "+a+". Stack: "+this.requireHistory}this.h4("requireHistory");this.requireHistory.push("0"+a);try{if(this.context.bindings[a]===void 0){if(j){return this.context.inject(a.substring(5))}var k=this.context.getFromSingletonScope(a);if(k!==void 0){this.context.bindings[a]=k}else{this.e0(a)}}}finally{this.requireHistory.push("1"+a)}return this.context.bindings[a]};msjs.e0=function(a){};msjs.v2=function(b,a){this.context.bindings[this.context.loadingPackage]=b;return b};msjs.o8=function(a,b){this.context.bindings[a]=b;return b};msjs.k2=function(c){if(typeof c!="object"){return c}if(c==null){return null}var b;if(msjs.k1(c)){b=[]}else{b={}}if(c){for(var a in c){b[a]=msjs.k2(c[a])
}}return b};msjs.map=function(b,g){if(!b){return[]}var c=b.length;if(c==null){c=msjs.p6(b)}if(!c){return[]}var e=[];for(var d=0;d<c;d++){var a=g?g(b[d],d):b[d];if(a!=null){e.push(a)}}return e};msjs.p0=function(c,b){if(!isNaN(c.length)&&(typeof c!="string")){for(var a=0;a<c.length;a++){b(c[a],a)}}else{if(c){b(c,0)}}};msjs.last=function(a){if(!a){return null}if(!isNaN(a.length)&&(typeof a!="string")){return a[a.length-1]}else{return a}};msjs.p6=function(c){if(!(c instanceof Object)){return 0}var a=0;for(var b in c){var d=Number(b);if(isNaN(d)){continue}a=Math.max(a,d+1)}return a};msjs.k1=function(a){return(a!=null&&a instanceof Array)};msjs.log=function(){if(this.context.e2){this.context.log(arguments);return}var b="";var a=this;this.map(arguments,function(d){var c;if(d instanceof a.D0){c=d.i5()}else{if(d instanceof java.lang.String){c=String(d)}else{if(d instanceof Object){if(typeof d=="xml"){c=d.toXMLString()}else{c=a.toJSON(d)}}else{c=d}}}if(b.length){b+=" , "}b+=c});this.context.log(b)
};msjs.K1=/[-"\\\x00-\x1f\x7f-\x9f]/g;msjs.u2={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};msjs.j0=function(a){return'"'+this.l1(a)+'"'};msjs.l1=function(b){var a=this;return this.K1.test(b)?b.replace(this.K1,function(d){var e=a.u2[d];if(typeof e==="string"){return e}e=d.charCodeAt();return"\\u00"+Math.floor(e/16).toString(16)+(e%16).toString(16)}):b};msjs.toJSON=function(f,h,e){if(isNaN(h)){h=0}if(h>500){throw ("Max depth reached in "+f+".")}if(!this.context.e2){if(f instanceof java.lang.String){f=String(f)}else{if(f instanceof java.lang.Object){throw ("Can't serialize "+f)}}}switch(typeof f){case"string":return this.j0(f);case"number":return isFinite(f)?String(f):"null";case"function":var g=f.toString();if(e){g=this.j0(g)}else{if(false){g=g.replace(this.x6," ");g=g.replace(this.Z4,"")}}return g;case"boolean":case"null":return String(f);case"object":if(!f){return"null"}var c=[];if(typeof f.length==="number"&&!(f.propertyIsEnumerable("length"))){for(var d=0;
d<f.length;d++){c[d]=this.toJSON(f[d],h+1,e)||"null"}return c.length===0?"[]":"["+c.join(",")+"]"}for(var b in f){var a=this.toJSON(f[b],h+1,e);if(a){c.push('"'+this.l1(b)+'":'+a)}}return c.length===0?"{}":"{"+c.join(",")+"}"}};msjs.x6=/ +/g;msjs.Z4=/\n/g;msjs.THE_EMPTY_LIST=[];
/* msjs.server-only **/

var global=this;var msjs=msjs.make({w2:function(a){this.loadingPackage=a},bindings:{global:global},redirect:function(a){location.href=a},console:null,loadPackage:function(){},getFromSingletonScope:function(){},log:function(b){if(!this.console){if(typeof(loadFirebugConsole)=="function"){this.console=loadFirebugConsole()}else{if(msjs.u7("global").console){var a=this;this.console={log:function(){var e=msjs.map(e,function(f){return a.h5(f,true)});console.log.apply(console,e)}}}else{if(this.I5){var c=false;if(c){var d=document.createElement("div");d.style.position="absolute";d.style.right="0px";d.style.bottom="0px";d.style.border="solid 1px black";d.style.height="200px";d.style.width="100%";d.style.overflow="auto";document.body.appendChild(d);this.console={log:function(){var e=document.createElement("p");e.style.margin="0px";e.style.paddingLeft="4px";e.style.paddingRight="4px";e.style.paddingBottom="2px";e.style.borderBottom="solid 1px gray";e.innerText=msjs.context.c5(arguments);this.window.appendChild(e)
},window:d}}else{this.console={log:function(){}}}}}}}if(this.console){this.console.log.apply(this.console,b)}},e2:true,h5:function(b,a){if(b&&b.i5){return b.i5()}else{if(b instanceof Object){if(b.nodeName&&a){return b}else{return msjs.toJSON(b)}}else{return b}}},c5:function(b,c){var a=this;var d="";msjs.map(b,function(e){if(d.length){d+=" , "}d+=a.h5(e,c)});return d},I5:typeof(navigator)!="undefined"&&/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent)});


{(
function (a) {
    msjs.context.w2(a);
}
)('msjs.graph')}
var graph=msjs.D0.make();graph.S4=[];graph.z5=[];graph.p3=[];graph.D7=null;graph.j4={};graph.NOT_UPDATED=void 0;graph.id=msjs.context.id;graph.R5=0;graph.Y7=[];graph.i8=[];graph.add=function(a){var b=this.S4.length;this.S4.push(a);this.z5[b]={};this.j4={};return b};graph.g0=false;graph.R6=0;graph.v4=0;graph.E0=0;graph.x8=0;graph.i4=[];graph.E4=function(a){while(this.x8<a){this.x8++;this.i4.shift()}};graph.Z2=function(){this.f6.lock();try{this.E4(this.v4);var c=[];var e=this.E0;var a=e-this.x8;for(var b=a;b<this.i4.length;b++){c.push(this.i4[b]);this.E0++}var d={A5:this.R6,U1:e,r5:c};return d}finally{this.f6.unlock()}};graph.I4={get:function(){return 0}};graph.getMsjForRemoteAsJSON=function(){var a=this.r1.open();try{var b=null;if(a){var b=this.Z2()}return msjs.toJSON(b)}finally{this.r1.close()}};graph.r1={open:function(){return true},close:function(){},pressurize:function(){graph.h7(false)}};graph.acceptMsjFromRemote=function(c){if(!c){return}var a=false;this.v4=c.A5;this.E0=c.A5;if(this.R6==c.U1){for(var b=0;
b<c.r5.length;b++){this.R6++;this.D1(c.r5[b],false)}}else{if(this.R6<c.U1){a=true}else{}}if(a||this.d5()){this.r1.pressurize()}};graph.B2=function(b,a){if(!(b.x4&&a.x4)){msjs.log("Bad edge",b,a);throw"Bad edge, see log for details."}this.z5[b.x4()][a.x4()]=1;this.D7=null;this.j4={}};graph.getNode=function(a){return this.S4[a]};graph.T4=function(){return this.S4};graph.P5=function(c){var d=c.x4();var a=this.m6(d,"dependencies");if(a==null){a=[];for(var b=0;b<this.z5.length;b++){if(this.z5[b][d]){a.push(this.S4[b])}}this.W4(d,a,"dependencies")}return a};graph.n4=function(){return this.D7};graph.V1=[];graph.h7=function(c){if(this.c2){clearTimeout(this.c2);this.c2=null}var b=window.frames.request;if(!b){var a=this;window.loadCallback=function(){a.h7()};return}if(!b.J4){var a=this;b.J4=function(d){a.A7(d)};window.unloadCallback=function(){a.k6()}}window.frames.request.J4(c)};graph.Z6=0;graph.h6={redirect:"_redirect",acceptmsj:"acceptMsjFromRemote",reconnect:"_doReconnect",error:"_handleServerError"};
graph.o6=5*60*1000;graph.M1=true;graph.j5=false;graph.A7=function(b){if(this.j5){return}var f=this;var c=new XMLHttpRequest();var a=document.location.href;var e=a.indexOf("#");if(e>0){a=a.substring(0,e)}c.open("POST",a,true);c.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");var h=b;c.onreadystatechange=function(){if(c.readyState==3){h=true;f.M3(c,f.o6)}if(c.readyState==4){if(c.status>=500){if(c){msjs.log("lost connection to server",c);if(c.responseText){msjs.log(c.responseText)}}f.k6();f.l2("Lost connection to server ("+c.status+").");return}var n=200<=c.status&&c.status<300;var l=c.responseXML&&c.responseXML.firstChild;if(n&&l&&l.firstChild){f.P1=100;var i=l.firstChild;var p=f.h6[i.nodeName];var o=document.createElement("script");o.type="text/javascript";var k;if(p){var j=function(){return msjs.u7("msjs.graph")};k="("+j.toString()+")()."+p+"("+i.firstChild.nodeValue+")"}else{f.j5=true;msjs.log("Bad server instruction: ",c.responseXML);k="throw 'Bad server instruction'"
}o.text=k;var m=document.getElementsByTagName("head")[0];if(typeof(loadFirebugConsole)=="function"){setTimeout(function(){m.appendChild(o)},10)}else{m.appendChild(o)}}else{msjs.log("Request failed",c.responseText.substring(0,2000)+"...");if(!h&&!f.j5){f.l2("Can't connect to server.")}}f.w1(c)}};var d=this.getMsjForRemoteAsJSON();var g="id="+this.id+"&q="+encodeURIComponent(d);this.e8(c);c.send(g)};graph._redirect=function(a){location.href=a};graph._doReconnect=function(a){this.id=a.id;this.R5=0;this.R6=0;this.v4=0;this.E0=0;this.E4(a.D8);this.x8=0;var b=a.O1;msjs.p0(this.S4,function(d){var c=d.invalidate();if(c!=this.NOT_UPDATED){b[d.x4()]=c}});this.i7(b)};graph.l2=function(a){this.j5=true;msjs.p0(this.i8,function(b){b.o5(a)});if(!this.i8.length){a+='\n\nClick "OK" to reload.';if(confirm(a)){window.location.reload()}}};graph._handleServerError=function(a){try{this.k6()}finally{this.l2("Error: "+(a.message||a))}};graph.M3=function(b,c){var a=this;this.b2(b);b.h8=setTimeout(function(){b.abort();
a.w1(b)},c)};graph.b2=function(a){if(a.h8){clearTimeout(a.h8);a.h8=null}};graph.e8=function(a){this.M3(a,10*1000);this.V1.unshift(a)};graph.c1=false;graph.y7=function(){this.c1=true};graph.w1=function(a){this.b2(a);for(var b=0;b<this.V1.length;b++){if(a==this.V1[b]){this.V1.splice(b,1);break}}this.f3()};graph.P1=100;graph.f3=function(){if(!this.V1.length&&this.c1&&!this.c2&&!this.n0){var b=this;var a=function(){b.h7(true)};this.c2=setTimeout(a,this.P1);if(this.P1<20*1000){this.P1*=2}}};graph.k6=function(){for(var b=0;b<this.V1.length;b++){var a=this.V1[b];this.b2(a);if(0<a.readyState&&a.readyState<4){a.abort()}}this.V1.length=0};graph.unpack=function(c){this.id=c.id;this.R5=c.R5;this.g0=true;this.z5=c.z5;this.D7=c.D7;this.c1=c.c1;this["profile"]=c.profile;var b=this;var a=c.Y5;this.S4=msjs.map(a,function(d){return b.r8(d)});msjs.p0(this.S4,function(d,e){d.unpack(a[e])});msjs.p0(this.S4,function(d,e){if(d.onLoad){d.onLoad()}if(d.o5){b.i8.push(d)}})};graph.n0=false;graph.I0=function(){var a=this;
var c=function(){var e=0;while(e<a.V1.length){var d=a.V1[e];if(d.readyState==3){d.abort();a.V1.splice(e,1)}else{e++}}return a.V1.length==0};var b=function(){a.n0=true;if(!c()){a.setTimeout(b,1000);return}a.setTimeout(function(){a.n0=false;a.f3()},600)};b();window.u3=function(){a.j5=true}};graph.r8=function(a){var b=msjs.u7(a.d0).w6();b._graph=this;return b};graph.setTimeout=function(b,a){setTimeout(b,a)};graph.o1=function(b,a){var c={};c[b.x4()]=a;this.i7(c)};graph.i7=function(a){this.D1(a,true);if(this.d5()){this.r1.pressurize()}};graph.d5=function(){this.f6.lock();try{var a=this.i4.length+this.x8;return a>this.E0}finally{this.f6.unlock()}};graph.D1=function(g,b){this.f6.lock();try{var j=++this.R5;var o=null;for(var f in g){var c=g[f];var e=this.getNode(f);if(!b&&!this.y8()&&e.i3){msjs.log("Permission denied for update of",e);throw"Can't update server node"}var d=e.j6(c,this.R5);if(e.C8&&d==j){o=o||{};o[f]=c}}var l=this.J2();var m=this.M7(g);for(var h=0;m&&h<l.length;h++){var a=l[h];var n=this.getNode(a);
if(!m[a]){continue}var d=n.B8();if(n.C8&&d==j){o=o||{};o[n.x4()]=n.H5()}}if(this.g0&&o){this.i4.push(o)}}finally{this.f6.unlock()}};graph.W4=function(a,b,c){if(!this.j4[c]){this.j4[c]={}}this.j4[c][a]=b};graph.m6=function(a,b){if(!this.j4[b]){return void 0}return this.j4[b][a]};graph.E5=function(e){var d=this.z5;var b=d[e];var c=[];for(var a=0;a<d.length;a++){if(!b[a]){continue}c.push(a)}return c};graph.J2=function(){if(!this.j4.F4){var b=[];var e={};var a=this;var d=function(f){e[f]=true;msjs.p0(a.E5(f),function(g){if(!e[g]){d(g)}});b.push(f)};for(var c=0;c<this.S4.length;c++){if(!e[c]){d(c)}}this.j4.F4=b.reverse()}return this.j4.F4};graph.M7=function(f){var b=null;var e=false;var a=this.n4();for(var c in f){var g=a[c];if(b==null){b=g}else{if(!e){b=msjs.k2(b);e=true}for(var d in g){if(b[d]){b[d]=Math.min(g[d],b[d])}else{b[d]=g[d]}}}}return b};graph.y8=function(){return true};graph.i5=function(){return"graph "+this.id};graph.f6={lock:function(){},unlock:function(){}};msjs.v2(graph);
/* msjs.server-only **/


{(
function (a) {
    msjs.context.w2(a);
}
)('msjs.node')}
msjs.u7("msjs.graph");var N0=msjs.A6();N0.NOT_UPDATED=void 0;N0.C8=false;N0.Z5=null;N0.a3=false;N0._msj=N0.NOT_UPDATED;N0.K7=-1;N0._lastMsjRefresh=-1;N0.init=function(a){this._graph=msjs.u7("msjs.graph");if(a){this.p2=a}this._id=this._graph.add(this)};N0.x4=function(){return this._id};N0.depends=function(b){var a=this.d3(b);this._graph.B2(a,this);return a};N0.d3=function(a){if(typeof a=="string"){return msjs.u7(a)}return a};N0.update=function(a){if(a===void 0){a=this._composeMsj()}this._graph.o1(this,a)};N0.H5=function(){return this._msj};N0.j6=function(b,a){this.a3=false;if(b!==this.NOT_UPDATED){this._msj=b;this._lastMsjRefresh=a;this.K7=a}return this._lastMsjRefresh};N0._composeMsj=function(){return this.p2(this.J6())};N0.J6=function(){return null};N0.p2=function(a){};N0.i5=function(){return this._packageName+"#"+this.x4()+":"+this._debugRef};N0.i3=true;N0.onLoad=null;N0.o5=null;N0.unpack=function(b){for(var a in b){this[a]=this.E8(b[a])}};N0.E8=function(a){if(a&&a.P8){return a.P8()}return a
};N0.packMe=null;N0.B8=function(){var c=this._graph.R5;if(this.K7==c){return this._lastMsjRefresh}var d=this._graph.P5(this);var e=d.length?-1:0;for(var b=0;e!=c&&b<d.length;b++){e=Math.max(e,d[b].W0())}var a=(e>this.K7)||this.a3;if(a){this.j6(this._composeMsj(),c)}this.K7=this._graph.R5;return this._lastMsjRefresh};N0.W0=function(){return this._lastMsjRefresh};N0.getNode=function(a){return this._graph.getNode(a)};N0.p0=function(c,b){if(!c){return}if(!isNaN(c.length)&&typeof c!="string"){for(var a=0;a<c.length;a++){b.apply(this,[c[a],a])}}else{if(c){b.apply(this,[c,0])}}};N0.invalidate=function(){this.K7=-1;this._lastMsjRefresh=-1};msjs.v2(N0);
/* msjs.server-only **/


{(
function (a) {
    msjs.context.w2(a);
}
)('msjs.model')}
var model=msjs.u7("msjs.node").A6();model._inputs={};model._transient={};model.set=function(c,d,a){var b=this.depends(d);if(!b||!b.x4){throw"Can't set "+c+" in "+this.i5()}this.h4("_inputs");var e=b.x4();this._inputs[c]=e;if(a){this.h4("_transient");this._transient[c]=true}return b};model.g5=function(a){this.h4("_expectations");this._expectations.push(a)};model._expectations=[];model.J6=function(){var d={};var e=this._graph;for(var a in this._inputs){var c=e.getNode(this._inputs[a]);if(this._expectations.length){for(var b=0;b<this._expectations.length;b++){if(a==this._expectations[b]){this._expectations.splice(b,1);break}}}if(this._transient[a]&&(c.W0()<this._graph.R5)){continue}var f=c.H5();d[a]=f}if(this._expectations.length){throw (this.i5()+" expects "+this._expectations)}if(this.K5){d=msjs.k2(d)}return d};model.K5=true;msjs.v2(model);model.N5=function(a){var c=false;for(var b in this._inputs){if(this._inputs[b]==a){if(!this._transient[b]){return true}}}return false};


{(
function (a) {
    msjs.context.w2(a);
}
)('msjs.getmsjclass')}
msjs.v2(function(a){if(a==null){return""}var b=encodeURIComponent(a);return"msj-"+b});


{(
function (a) {
    msjs.context.w2(a);
}
)('msjs.animator')}
var h3=msjs.A6();h3.init=function(a,b){this.X7=b;this.G6=a;this.n7()};h3.r3=0;h3.I7=100;h3.H1=null;h3.C1=false;h3.G6=1000;h3.N8=0.25;h3.T6=0.25;h3.n7=function(){if(this.C1){return}this.H1=this.r3;var c=1;if(this.H1<this.I7){this.Q4=this.H1-c*this.N8;this.k3=this.I7+c*this.T6}else{this.Q4=this.H1+c*this.N8;this.k3=this.I7-c*this.T6}this.X2=1;var b=1*(this.Q4-this.I7)*(this.H1-this.k3);var a=1*(this.Q4-this.H1)*(this.I7-this.k3);if(a!=0){this.X2=Math.abs(b/a)}this.c3.l6(this)};h3.n3=0;h3.a2=function(f){if(this.Y6){return true}if(this.n3==0){this.n3=f}var b=false;var a=f-this.n3;var d;if(a<this.G6){d=this.r2(a)}else{d=this.I7;b=true}this.H1=d;try{this.X7(d)}catch(c){msjs.log("animation error",c)}finally{this.C1=!b}return b};h3.Y6=false;h3.s4=function(){if(!this.C1){return}this.a2(Infinity);this.Y6=true};h3.r2=function(c){var d=this.H1;var b=this.k3;var g=this.Q4;var a=Math.exp((c*1/this.G6)*Math.log(this.X2));if(a!=1){var f=g*b*(1-a);var e=b-a*g;if(e!=0){d=f/e}}return d};h3.c3={};h3.c3.Z1=[];
h3.c3.q4=function(){var e=(new Date()).getTime();var c=null;for(var b=0;b<this.Z1.length;b++){var d=this.Z1[b];var a=d.a2(e);if(a){if(!c){c=this.Z1.slice(0,b)}}else{if(c){c.push(d)}}}if(c){this.Z1=c}while(this.j2.length){this.Z1.push(this.j2.pop())}if(!this.Z1.length){this.stop()}};h3.c3.j2=[];h3.c3.l6=function(a){this.j2.push(a);this.n7()};h3.c3.n7=function(){var a=this;if(this.y6==null){this.y6=setInterval(function(){a.q4()},33)}};h3.c3.stop=function(){if(this.y6!=null){clearInterval(this.y6)}this.y6=null};msjs.v2(h3,"Singleton");
/* msjs.server-only **/


{(
function (a) {
    msjs.context.w2(a);
}
)('document')}
/* msjs.server-only **/


{(
function (a) {
    msjs.context.w2(a);
}
)('msjs.domptr')}
var U4=msjs.u7("msjs.model").A6();U4.packMe=true;U4._composeMsj=function(a){this.d2();return this.z7("_composeMsj",arguments.callee,arguments)};U4.Z0=function(a){msjs.log(this.i5()+"."+a+" : undefined dom element");throw this.i5()+"."+a+" : undefined dom element"};U4.getText=function(b,a){if(b==null){if(arguments.length==1){this.Z0("getText")}b=this.z4}var d="";var c=a?"":" ";this.seek(function(e){if(e.nodeName=="#text"){d+=e.nodeValue+c}},b);return d&&d.substring(0,d.length-1)};U4.setText=function(b,a){if(b==null){return}if(a==null){if(arguments.length==2){this.Z0("setText")}a=this.z4}if(a.childNodes.length){var c=a.childNodes[0];if(a.childNodes.length==1&&c.nodeValue!=null){c.nodeValue=b}else{throw ("Can't set text on complex element "+a)}}else{a.appendChild(document.createTextNode(b))}};U4.unpack=function(b){this.z7("unpack",arguments.callee,arguments);var a=this;msjs.p0(this._handlers,function(d){var c=document.getElementById(d.M4);if(!c){return}a.addHandler(d.j1,d.f,c)})};U4.U0=0;U4._handlers=[];
U4.addHandler=function(a,b,d){if(d==null){if(arguments.length==3){this.Z0("addHandler")}d=this.z4}var c=b;if(b instanceof Function){c="$handler"+this.U0++;this[c]=b}if(c=="update"){c="_updateFromHandler"}this.S0(a,c,d);return c};U4._callbacks={};U4.S0=function(b,c,d){var a=this;var e=function(f){a.d2();a[c](f||window.event)};this.h4("_callbacks");this._callbacks[c]=e;if(msjs.context.I5){d.attachEvent(b,e)}else{d.addEventListener(b.substring(2),e,false)}};U4._updateFromHandler=function(a){this.update()};U4.removeHandler=function(a,b,c){if(c==null){if(arguments.length==3){this.Z0("removeHandler")}c=this.z4}if(b instanceof Function){throw ("TODO! Only removeHandler by name currently supported")}this.a8(a,b,c)};U4.a8=function(a,b,c){var d=this._callbacks[b];if(!d){return}if(c==null){c=this.z4}if(msjs.context.I5){c.detachEvent(a,d)}else{c.removeEventListener(a.substring(2),d,false)}};U4.addClass=function(b,a){if(a==null){if(arguments.length==2){this.Z0("addClass")}a=this.z4}if(this.hasClass(b,a)){return false
}if(a.className&&a.className.length){b=a.className+" "+b}a.className=b;return true};U4.getElementWithClass=function(c,b){if(b==null){if(arguments.length==2){this.Z0("getElementWithClass")}b=this.z4}var a=this;return this.seek(function(d){return a.hasClass(c,d)},b)};U4.getAncestorWithClass=function(b,a){if(a==null){if(arguments.length==2){this.Z0("getAncestorWithClass")}a=this.z4}while(a&&!this.hasClass(b,a)){a=a.parentNode}return a};U4.getInputByName=function(b,c){if(c==null){if(arguments.length==2){this.Z0("getInputByName")}c=this.z4}var a=this;return this.seek(function(d){return d.nodeName=="INPUT"&&d.name==b},c)};U4.seek=function(d,b){if(b==null){if(arguments.length==2){this.Z0("seek")}b=this.z4}if(d(b)){return b}var c=[b.childNodes];var a=0;var i=0;while(c.length>a){var h=c[a++];i=0;while(h.length>i){var g=h[i++];if(d(g)){return g}if(g.childNodes&&g.childNodes.length){c.push(g.childNodes)}}}return null};U4.getDomMsj=function(b){if(b==null){if(arguments.length==1){this.Z0("getDomMsj")
}b=this.z4}if(b.className==null){return null}if(b.className.indexOf("msj-")>-1){var a=b.className.match(this.z0);var c=a[1];return decodeURIComponent(c)}else{if(b.value!=null){return b.value}}return null};U4.z0=/\bmsj-(\S*)/;U4.setDomMsj=function(d,c){if(c==null){if(arguments.length==2){this.Z0("setDomMsj")}c=this.z4}if(c.className&&c.className.indexOf("msj-")!=-1){var e=c.className.split(" ");for(var b=0;b<e.length;b++){if(e[b].indexOf("msj-")==0){e.splice(b,1);break}}c.className=e.join(" ")}var a=this.s2(d);if(!a){return}this.addClass(a,c)};U4.s2=msjs.u7("msjs.getmsjclass");U4.createElement=function(c,b,e){var d=document.createElement(c);if(b){for(var a in b){if(a=="style"){throw ("Can't set style in domptr.createElement")}d[a]=b[a]}}if(e!=null){this.setText(e,d)}return d};U4.L7=function(){if(msjs.context.I5){window.document.execCommand("Stop")}else{window.stop()}};U4.cancelEvent=function(a){if(!a){return}a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}if(a.preventDefault){a.preventDefault()
}if(msjs.context.I5){a.returnValue=false}};U4.T2=function(a){return a};U4.J3=function(b){var c=this.p7(b);var a=null;while(c){if(a==null){a=this.getDomMsj(c)}if(a!=null){return a}c=c.parentNode}};U4.u6=function(a){var b={clientX:a.clientX,clientY:a.clientY,screenX:a.screenX,screenY:a.screenY};if(msjs.context.I5){b.pageX=b.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);b.pageY=b.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);b.layerX=a.H0;b.layerY=a.G0}else{b.pageX=a.pageX;b.pageY=a.pageY;b.layerX=a.layerX;b.layerY=a.layerY}return b};U4.p7=function(a){var b=a.target;if(!b){b=a.srcElement}return b};U4.x0=function(e,a){var d=this.z4;if(a==null){a="div"}var c=d.getElementsByTagName(a);for(var b=0;b<c.length;b++){if(e==null||e==this.getDomMsj(c[b])){return c[b]}}return null};U4.insertBefore=function(b,a){a.parentNode.insertBefore(b,a)};U4.K8=function(b,a){a.parentNode.insertBefore(b,a.nextSibling)
};U4.removeChildren=function(a){if(a==null){if(arguments.length==1){this.Z0("removeChildren")}a=this.z4}while(a.childNodes.length){a.removeChild(a.childNodes[a.childNodes.length-1])}};U4.removeChild=function(a){if(a==null){if(arguments.length==1){this.Z0("removeChild")}a=this.z4}if(!a.parentNode){return null}return a.parentNode.removeChild(a)};U4._myAnimators=[];U4.T3=msjs.u7("msjs.animator");U4.E1=function(b,c){if(b==0){c(100);return}var a=this.T3.make(b,c);this.h4("_myAnimators");this._myAnimators.push(a);return a};U4.d2=function(){if(!this._myAnimators.length){return}for(var a=0;a<this._myAnimators.length;a++){this._myAnimators[a].s4()}this._myAnimators=[]};U4.j3=function(e){if(e==null){e=this.z4}var a=e.getElementsByTagName("input");var c={};var b=this;msjs.p0(a,function(g){var f=g.name;if(!f){return}switch(g.type){case"checkbox":c[f]=!!g.checked;break;case"password":case"text":c[f]=b.hasClass("prompt",g)?"":g.value;break;case"radio":if(g.checked){c[f]=g.value}else{if(c[f]===void 0){c[f]=null
}}break}});var d=this.z4.getElementsByTagName("select");msjs.p0(d,function(f){if(f.name){c[f.name]=f.value}});return c};U4.getElementPosition=function(c){if(c==null){if(arguments.length==1){this.Z0("getElementPosition")}c=this.z4}var b={x:0,y:0};var a=c;do{b.x+=c.offsetLeft;b.y+=c.offsetTop;if(c.style.position=="fixed"){break}c=c.offsetParent}while(c);c=a;do{if(c.style.position=="fixed"){break}b.x-=c.scrollLeft;b.y-=c.scrollTop;if(c.nodeName=="HTML"){break}c=c.parentNode}while(c);return b};U4.getComputedValue=function(b,a){if(a==null){if(arguments.length==2){this.Z0("getComputedValue")}a=this.z4;if(a==null){this.Z0("getComputedValue")}}if(window.n5){return window.n5(a,null).E3(b)}else{if(a.m2){return a.m2[b]}else{throw"couldn't get computed value"}}};U4.removeClass=function(c,b){if(b==null){if(arguments.length==2){this.Z0("removeClass")}b=this.z4}var d=false;if(b.className&&b.className.indexOf(c)!=-1){var e=b.className.split(" ");for(var a=0;a<e.length;a++){if(e[a]==c){e.splice(a,1);d=true;
break}}b.className=e.join(" ")}return d};U4.hasClass=function(c,b){if(b==null){if(arguments.length==2){this.Z0("hasClass")}b=this.z4}if(b.className&&b.className.indexOf(c)!=-1){var d=b.className.split(" ");for(var a=0;a<d.length;a++){if(d[a]==c){return true}}}return false};U4.F3=function(b){var a=document.createElement("div");a.innerHTML=b;return a.childNodes[0]};U4.O4=function(b){var a=document.createElement("div");a.innerHTML=b;return a.innerText||a.textContent};U4.isChild=function(c,a){if(a==null){if(arguments.length==2){this.Z0("isChild")}a=this.z4}var b=c;while(b){if(b==a){return true}b=b.parentNode}return false};U4.l4=function(){return this.z4.l4()};U4.appendChild=function(a){return this.z4.appendChild(a)};U4.getElementsByTagName=function(a){return this.z4.getElementsByTagName(a)};msjs.v2(U4);
/* msjs.server-only **/

