+function ModerateItem(item_ar)
+{
+ var tr, td, date;
+
+ this.time = item_ar[0];
+ this.usrid = item_ar[1];
+ this.where = item_ar[2];
+ this.name = item_ar[3];
+ this.cont = item_ar[4];
+
+ date = new Date();
+ date.setTime(this.time * 1000);
+
+ tr = document.createElement("tr");
+ td = document.createElement("td");
+ // FIXME a more readable date here
+ // td.innerHTML = date.xxxx;
+ td.innerHTML = this.time % 100000;
+ tr.appendChild(td);
+
+ td = document.createElement("td");
+ td.innerHTML = this.where;
+ tr.appendChild(td);
+
+ td = document.createElement("td");
+ td.innerHTML = this.usrid;
+ tr.appendChild(td);
+
+ td = document.createElement("td");
+ td.innerHTML = this.name;
+ tr.appendChild(td);
+
+ td = document.createElement("td");
+ td.innerHTML = this.cont;
+ tr.appendChild(td);
+
+ this.tr = tr;
+}
+
+ModerateItem.prototype = {
+ time: 0,
+ usrid: 0,
+ where: -1,
+ name: "",
+ cont: "",
+
+ tr: null,
+ sel: false,
+
+ tr_get: function () {
+ return this.tr;
+ },
+
+ sel_get: function () {
+ return this.sel;
+ },
+
+ sel_set: function (v) {
+ if (this.sel != v) {
+ this.sel = v;
+ this.tr.className = (v ? 'selected' : 'normal');
+ }
+ }
+}
+
+function Moderate()
+{
+ this.item = new Array();
+}
+
+Moderate.prototype = {
+ win: null,
+ table: null,
+ enabled: false,
+ item: null,
+
+ cur: -1,
+
+ disable: function () {
+ if (this.tout) {
+ clearTimeout(this.tout);
+ this.tout = 0;
+ }
+ if (this.win) {
+ this.win.onbeforeunload = null;
+ this.win.close();
+ this.win = null;
+ }
+ },
+
+ activate: function (enable) {
+ if (this.enabled == enable) {
+ return true;
+ }
+ if (enable) {
+ this.disable();
+
+ this.win = window.open("moderation.php", "_blank", "width=800,height=600,toolbar=no,location=no,menubar=no,status=no");
+ if (this.win == null) {
+ this.disable();
+ return false;
+ }
+ // to finish initialization we wait for popup page onload event ...
+ this.win_waitonload();
+ }
+ else {
+ this.disable();
+ this.enabled = false;
+ }
+
+ },
+
+ win_waitonload: function () {
+ if (typeof(this.win.is_loaded) == 'undefined' || this.win.is_loaded != true) {
+ this.tout = setTimeout(function (obj) { obj.win_waitonload(); }, 250, this);
+ }
+ else {
+ this.post_onload();
+ }
+ },
+
+ post_onload: function() {
+ var tr, td, remtr;
+
+ this.win.anc = this;
+ this.table = $(this.win, 'moder_tab');
+
+ // for (i = 0 ; i < 3 ; i++) {
+ // tr = document.createElement("tr");
+ // for (e = 0 ; e < 2 ; e++) {
+ // td = document.createElement("td");
+ // td.innerHTML = "Content "+((i * 2)+e);
+ // tr.appendChild(td);
+ // }
+ // this.table.appendChild(tr);
+ // if (i == 0)
+ // remtr = tr;
+ // }
+ // this.table.removeChild(remtr);
+
+ this.enabled = true;
+ },
+
+ onunload: function() {
+ act_moderate();
+ },
+
+ is_enabled: function() {
+ return (this.enabled);
+ },
+
+ add: function(item) {
+ var mi;
+
+ mi = new ModerateItem(item);
+ mi.tr.className = 'normal';
+
+ var self;
+ self = this;
+ mi.tr.onclick = function () { self.row_select(mi); };
+
+ this.item.push(mi);
+ this.table.appendChild(mi.tr_get());
+ },
+
+ row_select: function(mi) {
+ for (idx in this.item) {
+ if (this.item[idx] == mi) {
+ this.item[idx].sel_set(!this.item[idx].sel_get());
+ }
+ else {
+ this.item[idx].sel_set(false);
+ }
+ }
+ // mi.tr.className = "selected";
+ }
+}
+
+function moderate(enable)
+{
+ return (g_moder.activate(enable));
+}
+
+var g_moder = new Moderate();
+
+function act_moderate()
+{
+ send_mesg("moderate|"+(g_moder.is_enabled() ? "false" : "true"));
+}
+
+
+
+// // build table with js
+
+// g_moder.item = new Array;
+// g_moder.table = xxx;
+// }
+// else {
+// if (g_moder == null)
+// return true;
+
+// if (g_moder.win != null) {
+// g_moder.win.close();
+// g_moder.win = null;
+// }
+
+// if (g_moder.item != null) {
+// // TODO CLEANUP
+// ;
+// }
+// g_moder.cur = -1;
+// }
+// }
+
+