/*! jquery.hub - v0.5.0 - 2013-02-14 * https://github.com/JamesMGreene/jquery.hub * Copyright (c) 2013 James M. Greene; Licensed MIT */ (function(e){"use strict";var r={},n=null;e.hub=function(u){return u.ready===!1&&(n=e.Deferred(),r.ready=!1),u.ready&&n&&n.resolve(),r},e.hub.guid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var r=0|16*Math.random(),n="x"===e?r:8|3&r;return n.toString(16)})},e.hub.message=function(r,n){var u={},t=n||{};return u.body=r,u.timestamp=(new Date).getTime(),u.messageId=e.hub.guid(),u.formatVersion=t.formatVersion||"0",u},e.hub.subscribe=function(n,u,t,i,s){var a=u,b=s;return t&&(a=e.proxy(u,t)),s&&r.stringify&&(b=function(e,r){return s(e,JSON.parse(r))}),OpenAjax.hub.subscribe(n,function(e,n){a(e,r.stringify?JSON.parse(n):n)},null,i,b)},e.hub.unsubscribe=function(e){OpenAjax.hub.unsubscribe(e)};var u=function(e,n){try{r.stringify&&(n=JSON.stringify(n)),OpenAjax.hub.publish(e,n)}catch(u){}};e.hub.publish=function(e,r){n?n.done(function(){u(e,r)}):u(e,r)},e.hub.createVersionFilter=function(e){var r,n;e=/(\d+)\.?(\d+)?\.?(\d+)?/.exec(e),r=parseInt(e[1],10)||0,n=parseInt(e[2],10)||0;var u=function(e,u){var t=/(\d+)\.?(\d+)?\.?(\d+)?/.exec(u?u.formatVersion:""),i=parseInt(t[1],10)||0,s=parseInt(t[2],10)||0;return r===i&&(n?n===s:!0)};return u},e.hub.createIdempotentFilter=function(){var e={},r=function(r,n){if(n&&n.messageId){if(e[n.messageId])return!1;e[n.messageId]=n.timestamp}return!0};return r},e.hub.reply=function(r,n){return r&&n&&r.replyTo?(n.correlationId=r.messageId,e.hub.publish(r.replyTo,n),!0):!1},e.hub.requestReply=function(r,n,u){var t=e.hub.guid(),i=e.hub.subscribe(t,function(r,n){u(r,n),e.hub.unsubscribe(i)});n.replyTo=t,e.hub.publish(r,n)},e.hub._reset=function(){r.ready=!0,r.stringify=!0,n=null,OpenAjax.hub.reinit&&OpenAjax.hub.reinit()},e.hub._reset()})(jQuery);