(function(){var A={initialize:function(E,C){var D=/^(?:(?:(top|parent|frames\[(?:(?:['"][a-zA-Z\d-_]*['"])|\d+)\]))(?:\.|$))+/;if(D.test(E)){this.address=E}else{throw new Error("Invalid Message Target")}if(Object.isString(C)){this.memo=C}else{this.memo=C.toQueryString()}this.type=PB.Util.XdComMessage.type},toQueryString:function(){var C={address:this.address,memo:this.memo};return Object.toQueryString(C)}};var B={type:"XdComMessage"};Object.extend(PB.Util,{XdComMessage:Object.extend(Class.create(A),B)})})();(function(){var publicMembers={initialize:function(){},send:function(message){if(message.address&&message.memo){try{if(message.type!=PB.Util.XdComMessage.type){message=new PB.Util.XdComMessage(message.address,message.memo)}var target=eval(message.address);target.document.title=message.memo}catch(e){throw new Error("XdComMessage.address not found")}}else{throw new Error("Invalid Message")}}};var staticMembers={};Object.extend(PB.Util,{XdComSender:Object.extend(Class.create(publicMembers),staticMembers)})})();(function(){var A={initialize:function(){this.delay=100;this.timerId=-1;this.oTitle=document.title;this.dispatcher=this.dispatch.bind(this)},start:function(){if(this.timerId==-1){this.timerId=window.setInterval(this.dispatcher,this.delay)}},stop:function(){if(this.timerId!=-1){window.clearInterval(this.timerId);this.timerId=-1}},getMessage:function(){var C=null;if(document.title!=this.oTitle){C=document.title;document.title=this.oTitle}return C},dispatch:function(){var C=this.getMessage();if(C){document.fire(PB.Util.XdComReceiver.event.onMessage,C)}}};var B={event:{onMessage:"PB:XdComReceiverOnMessage"}};Object.extend(PB.Util,{XdComReceiver:Object.extend(Class.create(A),B)})})();(function(){var A={initialize:function(){this.sender=new PB.Util.XdComSender();this.receiver=new PB.Util.XdComReceiver()},open:function(){this.receiver.start()},close:function(){this.receiver.stop()},send:function(C){this.sender.send(C)}};var B={};Controller.create("XdCom",A,B)})();