(function(){var e=function(e){var t=this,n=function(){window.OpenAjax||(OpenAjax=new function(){var e=!0,t=!1,n=window,r="org.openajax.hub.",i={};this.hub=i,i.implementer="http://openajax.org",i.implVersion="2.0",i.specVersion="2.0",i.implExtraData={};var s={};i.libraries=s,i.registerLibrary=function(e,t,n,i){s[e]={prefix:e,namespaceURI:t,version:n,extraData:i},this.publish(r+"registerLibrary",s[e])},i.unregisterLibrary=function(e){this.publish(r+"unregisterLibrary",s[e]),delete s[e]},i._subscriptions={c:{},s:[]},i._cleanup=[],i._subIndex=0,i._pubDepth=0,i.subscribe=function(e,t,n,r,i){n||(n=window);var s=e+"."+this._subIndex,o={scope:n,cb:t,fcb:i,data:r,sid:this._subIndex++,hdl:s},u=e.split(".");return this._subscribe(this._subscriptions,u,0,o),s},i.publish=function(e,t){var n=e.split(".");this._pubDepth++,this._publish(this._subscriptions,n,0,e,t),this._pubDepth--;if(this._cleanup.length>0&&this._pubDepth==0){for(var r=0;r<this._cleanup.length;r++)this.unsubscribe(this._cleanup[r].hdl);delete this._cleanup,this._cleanup=[]}},i.unsubscribe=function(e){var t=e.split("."),n=t.pop();this._unsubscribe(this._subscriptions,t,0,n)},i._subscribe=function(e,t,n,r){var i=t[n];n==t.length?e.s.push(r):(typeof e.c=="undefined"&&(e.c={}),typeof e.c[i]=="undefined"?(e.c[i]={c:{},s:[]},this._subscribe(e.c[i],t,n+1,r)):this._subscribe(e.c[i],t,n+1,r))},i._publish=function(e,t,n,r,i,s){if(typeof e!="undefined"){var o;n==t.length?o=e:(this._publish(e.c[t[n]],t,n+1,r,i,s),this._publish(e.c["*"],t,n+1,r,i,s),o=e.c["**"]);if(typeof o!="undefined"){var u=o.s,a=u.length;for(var f=0;f<a;f++)if(u[f].cb){var l=u[f].scope,c=u[f].cb,h=u[f].fcb,p=u[f].data;typeof c=="string"&&(c=l[c]),typeof h=="string"&&(h=l[h]),(!h||h.call(l,r,i,p))&&c.call(l,r,i,p,s)}}}},i._unsubscribe=function(e,t,n,r){if(typeof e!="undefined"){if(n<t.length){var i=e.c[t[n]];this._unsubscribe(i,t,n+1,r);if(i.s.length==0){for(var s in i.c)return;delete e.c[t[n]]}return}var o=e.s,u=o.length;for(var a=0;a<u;a++)if(r==o[a].sid){this._pubDepth>0?(o[a].cb=null,this._cleanup.push(o[a])):o.splice(a,1);return}}},i.reinit=function(){for(var e in OpenAjax.hub.libraries)delete OpenAjax.hub.libraries[e];OpenAjax.hub.registerLibrary("OpenAjax","http://openajax.org/hub","1.0",{}),delete OpenAjax._subscriptions,OpenAjax._subscriptions={c:{},s:[]},delete OpenAjax._cleanup,OpenAjax._cleanup=[],OpenAjax._subIndex=0,OpenAjax._pubDepth=0}},OpenAjax.hub.registerLibrary("OpenAjax","http://openajax.org/hub","1.0",{})),OpenAjax.hub.registerLibrary("JavaScriptMVC","http://JavaScriptMVC.com","3.1",{})};n(),t.resolveWith(n)};dispatch("mvc/lang.openajax").containing(e).to("Foundry/2.1 Modules")})();