LWWidget.Beta5.Msg = LWWidget.Game.Page.inherits({ setData: function (data) { var _d = data.getChildren('Communications')[0].getChildren('Messages')[0]; // Get default folders var _f = _d.getChildren('DefaultFolder'); for (var i in _f) { var _a = [parseInt(_f[i].getAttribute('all'), 10), parseInt(_f[i].getAttribute('new'), 10)]; switch (_f[i].getAttribute('id')) { case 'IN': this.inbox = _a; break; case 'INT': this.internal = _a; break; case 'OUT': this.outbox = _a; break; } } // Get custom folders this.custom = new Base.Util.Hashtable(); _f = _d.getChildren('CustomFolder'); for (var i in _f) { this.custom.put(_f[i].getAttribute('id'), [parseInt(_f[i].getAttribute('all'), 10), parseInt(_f[i].getAttribute('new'), 10), _f[i].getText()]); } }, show: function () { this.dCustom = false; }, draw: function (_e) { var _s = '<p style="text-align:center">'; _s += this.folderCode('Inbox', this.inbox[0], this.inbox[1]) + '<br/>'; _s += this.folderCode('Transmissions', this.internal[0], this.internal[1]) + '<br/>' _s += this.folderCode('Sent messages', this.outbox[0], this.outbox[1]) + '<br/><br/>'; if (this.custom.isEmpty()) { _s += 'No custom folders'; } else if (this.dCustom) { _s += '<a href="#" onclick="Base.Comp.get(' + this._cid + ').switchCustom();return false">Hide custom folders</a><br/>'; var cf = this.custom.values(); for (var i in cf) { _s += this.folderCode(cf[i][2], cf[i][0], cf[i][1]) + '<br/>'; } } else { _s += '<a href="#" onclick="Base.Comp.get(' + this._cid + ').switchCustom();return false">Display custom folders</a>'; } _s += '</p>'; _e.innerHTML = _s; }, folderCode: function (name, a, n) { var _s = '<b>' + name + '</b>: '; if (a) { if (n) { _s += '<b>' + Base.Util.formatNumber(n) + '</b> new message' + (n > 1 ? 's' : ''); } else { _s += 'no new messages'; } _s += ' (<b>' + Base.Util.formatNumber(a) + '</b> total)'; } else { _s += 'no messages'; } return _s; }, switchCustom: function () { this.dCustom = !this.dCustom; this.game.draw(); } });