diff --git a/r2/r2/public/static/defunct/animate.js b/r2/r2/public/static/defunct/animate.js
deleted file mode 100644
index dff92e4f6..000000000
--- a/r2/r2/public/static/defunct/animate.js
+++ /dev/null
@@ -1,74 +0,0 @@
-var aniqueue = [];
-var _frameRate = 15; /* ms */
-var _duration = 750; /* ms */
-
-var _ani_speeds = {slow: 2* _duration,
- medium: _duration,
- fast: _duration/2,
- veryfast: _duration/4};
-
-function __animate() {
- var a = aniqueue ? aniqueue[0] : [];
- var newqueue = [];
- for(var i = 0; i < a.length; i++) {
- var y = a[i]();
- if (y) newqueue.unshift(a[i]);
- }
- if(newqueue.length > 0) {
- aniqueue[0] = newqueue;
- }
- else {
- aniqueue = aniqueue.slice(1);
- }
-
- if (!aniqueue.length && animator) {
- stop_animate();
- }
-}
-
-var animator;
-
-function add_to_aniframes(func, frame_indx) {
- frame_indx = frame_indx || 0;
- if((frame_indx >= 0 && aniqueue.length <= frame_indx) || aniqueue.length == 0) {
- aniqueue.push([]);
- frame_indx = Math.min(aniqueue.length-1, frame_indx);
- }
- aniqueue[frame_indx].unshift(func);
- if(! animator) {
- setTimeout(function() { start_animate(_frameRate); }, 30);
- }
- return frame_indx;
-}
-
-function animate(func, goal, duration, frame_indx) {
- var d = null;
- var g = goal ? 1 : 0;
- if (_ani_speeds[duration])
- duration = _ani_speeds[duration];
- duration = duration || _duration;
-
- add_to_aniframes(function() {
- d = d || new Date().getTime();
- var level = (new Date().getTime() - d)/duration;
- level = g ? level : 1 - level;
- level = Math.max(Math.min(level, 1), 0);
- try {
- func(level);
- return (level != g);
- } catch(e) {
- return false;
- }
- }, frame_indx);
-}
-
-function start_animate(interval) {
- if (!animator) {
- animator = setInterval(__animate, interval);
- }
-}
-
-function stop_animate() {
- clearInterval(animator);
- animator = null;
-}
diff --git a/r2/r2/public/static/defunct/comments.js b/r2/r2/public/static/defunct/comments.js
deleted file mode 100644
index 8441975ad..000000000
--- a/r2/r2/public/static/defunct/comments.js
+++ /dev/null
@@ -1,209 +0,0 @@
-function helpon(link, what, newlabel) {
- var id = _id(link);
- show(what + id);
- var oldlabel = link.innerHTML;
- if(newlabel) {
- link.innerHTML = newlabel
- }
- link.onclick = function() {
- return helpoff(link, what, oldlabel);
- };
- link.blur();
- return false;
-}
-
-function helpoff(link, what, newlabel) {
- var id = _id(link);
- hide(what+id);
- var oldlabel = link.innerHTML;
- if(newlabel) {
- link.innerHTML = newlabel
- }
- link.onclick = function() {
- return helpon(link, what, oldlabel);
- };
- link.blur();
- return false;
-}
-
-
-function ReplyTemplate() { return $("samplecomment_"); }
-
-function comment_reply(id) {
- id = id || '';
- var s = $("samplecomment_" + id);
- if (!s) {
- return re_id_node(ReplyTemplate().cloneNode(true), id);
- }
- return s;
-};
-
-function _decode(text) {
- return decodeURIComponent(text.replace(/\+/g, " "));
-}
-
-function Comment(id) {
- this.__init__(id);
- var edit_body = this.get("edit_body");
- if(edit_body) {
- this.text = decodeURIComponent(edit_body.innerHTML.replace(/\+/g, " "));
- }
-};
-
-Comment.prototype = new Thing();
-
-Comment.del = Thing.del;
-
-Comment.prototype._edit = function(listing, where, text) {
- var edit_box = comment_reply(this._id);
- if (edit_box.parentNode != listing.listing) {
- if (edit_box.parentNode) {
- edit_box.parentNode.removeChild(edit_box);
- }
- listing.insert_node_before(edit_box, where);
- }
- else if (edit_box.parentNode.firstChild != edit_box) {
- var p = edit_box.parentNode;
- p.removeChild(edit_box);
- p.insertBefore(edit_box, p.firstChild);
- }
- var box = $("comment_reply_" + this._id);
- clearTitle(box);
- box.value = text;
- show(edit_box);
- return edit_box;
-};
-
-Comment.prototype.edit = function() {
- this._edit(this.parent_listing(), this.row, this.text);
- $("commentform_" + this._id).replace.value = "yes";
- this.hide();
-};
-
-Comment.prototype.reply = function() {
- this._edit(this.child_listing(), null, '');
- $("commentform_" + this._id).replace.value = "";
- $("comment_reply_" + this._id).focus();
-};
-
-Comment.prototype.cancel = function() {
- var edit_box = comment_reply(this._id);
- hide(edit_box);
- this.show();
-};
-
-Comment.comment = function(r) {
- var id = r.id;
- var parent_id = r.parent;
- new Comment(parent_id).cancel();
- new Listing(parent_id).push(unsafe(r.content));
- new Comment(r.id).show();
- vl[id] = r.vl;
-};
-
-// Commenting on a link is handled by the Comment API so defer to it
-Link.comment = Comment.comment;
-
-Comment.morechildren = function(r) {
- var c = new Thing(r.id);
- if(c.row) c.del();
- var parent = new Thing(r.parent).child_listing();
- parent.append(unsafe(r.content));
-
- var c = new Comment(r.id);
- c.show(true);
- vl[r.id] = r.vl;
-};
-
-Comment.editcomment = function(r) {
- var com = new Comment(r.id);
- com.get('body').innerHTML = unsafe(r.contentHTML);
- com.get('edit_body').innerHTML = unsafe(r.contentTxt);
- com.cancel();
- com.show();
-};
-
-
-Comment.prototype.collapse = function() {
- hide(this.get('child'));
- hide(this.get('display'));
- hide(this.get('arrows'));
- show(this.get('collapsed'));
-};
-
-Comment.prototype.uncollapse = function() {
- show(this.get('child'));
- show(this.get('display'));
- show(this.get('arrows'));
- hide(this.get('collapsed'));
-};
-
-
-function morechildren(form, link_id, children, depth) {
- var id = _id(form);
- form.innerHTML = _global_loading_tag;
- form.style.color="red";
- redditRequest('morechildren', {link_id: link_id,
- children: children, depth: depth, id: id});
- return false;
-}
-
-
-function editcomment(id) {
- new Comment(id).edit();
-};
-
-function cancelReply(canceler) {
- new Comment(_id(canceler)).cancel();
-};
-
-
-function reply(id) {
- if (logged) {
- var com = new Comment(id).reply();
- }
- else {
- showcover(true, 'reply_' + id);
- }
-};
-
-function chkcomment(form) {
- if(form.replace.value) {
- return post_form(form, 'editcomment', null, null, true);
- }
- else {
- return post_form(form, 'comment', null, null, true);
- }
-};
-
-function clearTitle(box) {
- if (box.rows && box.rows < 7 ||
- box.style.color == "gray" ||
- box.style.color == "#808080") {
- box.value = "";
- box.style.color = "black";
- if (box.rows) { box.rows = 7;}
- try{
- box.focus();
- }
- catch(e) {};
- }
-}
-
-function hidecomment(id) {
- var com = new Comment(id);
- com.collapse();
- return false;
-}
-
-function showcomment(id) {
- var com = new Comment(id);
- com.uncollapse();
- return false;
-}
-
-
-Message = Comment;
-Message.message = Comment.comment;
-
-
diff --git a/r2/r2/public/static/defunct/contacts.js b/r2/r2/public/static/defunct/contacts.js
deleted file mode 100644
index 25bbbb06d..000000000
--- a/r2/r2/public/static/defunct/contacts.js
+++ /dev/null
@@ -1,131 +0,0 @@
-//stuff that needs to be moved
-function rowon(el) {el.className = "menu collapse d";}
-function rowoff(el) {el.className = "menu collapse r";}
-
-function helpon() {
- show("markhelp");
- $("marklink").href = "javascript: helpoff()";
- $("marklink").blur();
- rowon($("marktoggle"));
-}
-
-function helpoff() {
- hide("markhelp");
- $("marklink").href = "javascript: helpon()";
- $("marklink").blur();
- rowoff($("marktoggle"));
-}
-
-//function shareon() {
-// show("share");
-// $("sharelink").href = "javascript: shareoff()";
-// $("sharelink").blur();
-// rowon($("sharetoggle"));
-//}
-
-//function shareoff() {
-// hide("share");
-// $("sharelink").href = "javascript: shareon()";
-// $("sharelink").blur();
-// rowoff($("sharetoggle"));
-//}
-
-
-function list_toggle_on(form, name, func) {
- id = _id(form);
- show(name + id);
- rowon($(name+"toggle_"+id));
- $(name+"link_"+id).onclick = function(event) { func(this); };
- $(name+"link_"+id).blur();
-}
-
-function list_toggle_off(form, name, func) {
- id = _id(form);
- hide(name+id);
- rowoff($(name+"toggle_"+id));
- $(name+"link_"+id).onclick = function(event) { func(this); };
- $(name+"link_"+id).blur();
-}
-
-
-function contactson(form) {
- list_toggle_on(form, 'contacts_', contactsoff);
-}
-
-function contactsoff(form) {
- list_toggle_off(form, 'contacts_', contactson);
-}
-
-
-var contable = new ConTable("contactlst",
- function (name, val) {new Ajax.Request('/ajax', {parameters: "action=ualias&name="+name+"&val="+val});},
- function (name) {new Ajax.Request('/ajax', {parameters: "action=ualias&name="+name})},
- function (name) {
- if ($("to").value.length > 0) $("to").value += ", " + name;
- else $("to").value = name;
- });
-
-function makeedit(row) {
- var text = new Array("alias", "emails/aliases");
- for (var i = 1; i < 3; i++) {
- var c = row.cells[i];
- var empty = c.innerHTML;
- c.innerHTML = " 0 ? "" : "style='color:gray' onfocus='clearTitle(this)'")
- + " value='" + (empty || text[i-1]) + "'/>";
- }
- row.cells[3].innerHTML = "save";
-}
-
-function makefinal(row) {
- for (var i = 1; i < 3; i++) {
- var c = row.cells[i];
- c.innerHTML = c.firstChild && c.firstChild.value || "";
- }
- row.cells[3].innerHTML = "edit";
-}
-
-function buildrow (row) {
- for (var i = 0; i < 5; i ++) row.insertCell(row.cells.length);
- row.cells[0].innerHTML = "add";
- row.cells[4].innerHTML = "delete";
- return row;
-}
-
-function addrow() {contable.add();}
-function getrow(a) {return a.parentNode.parentNode;}
-function saverow(a) {contable.save(getrow(a));}
-function editrow(a) {contable.edit(getrow(a));}
-function removerow(a) {contable.remove(getrow(a));}
-function sendrow(a) {contable.send(getrow(a))};
-
-function ConTable (id, onsave, onremove, onadd) {
- this.id = id;
- this.onsave = onsave || function () {};
- this.onremove = onremove || function () {};
- this.onadd = onadd || function () {};
-
- this.table = function() {return $(this.id)};
- this.add = function () {
- var table = this.table();
- var row = table.insertRow(table.rows.length);
- makeedit(buildrow(row));
- };
-
-
- this.cellval = function (c) {return c.firstChild && c.firstChild.value
- || c.firstChild && c.firstChild.nodeValue
- || ""}
-
- this.alias = function (row) {return this.cellval(row.cells[1])};
- this.val = function (row) {return this.cellval(row.cells[2])};
-
- this.send = function (row) {this.onadd(this.alias(row))};
- this.edit = function (row) {makeedit(row)};
- this.save = function (row) {makefinal(row); this.onsave(this.alias(row), this.val(row))};
- this.remove = function (row) {var a = this.alias(row); this.table().deleteRow(row.rowIndex); this.onremove(a)};
-}
-
-
-
-
diff --git a/r2/r2/public/static/defunct/frame_piece.js b/r2/r2/public/static/defunct/frame_piece.js
deleted file mode 100644
index 7b4a15f2f..000000000
--- a/r2/r2/public/static/defunct/frame_piece.js
+++ /dev/null
@@ -1,36 +0,0 @@
-function frame_mod(id, uc) {
- if(!logged) {
- return frame_showlogin();
- }
- mod(id, uc);
-}
-
-function frame_showlogin() {
- hide("left", "menu", "vertxt", "passwd2", "user", "passwd");
- $("logbtn").innerHTML = "login";
- $("logform").op.value = "login";
- show("frame_middle", "usrtxt", "passtxt", "rem", "remlbl");
-}
-
-function cancel () {
- hide("frame_middle");
- show("frame_left", "menu");
- $("user").value = $("passwd").value = "";
- return false;
-}
-
-function kill(uh) {
- hide("main");
- show("killed");
- redditRequest('noframe');
-}
-
-function unkill() {
- hide("killed");
- show("main");
- redditRequest('frame');
-}
-
-
-function swapel(e1, e2, e) {hide(e1); show(e2); $(e2).select(); }
-
diff --git a/r2/r2/public/static/defunct/json.js b/r2/r2/public/static/defunct/json.js
deleted file mode 100644
index a4607c913..000000000
--- a/r2/r2/public/static/defunct/json.js
+++ /dev/null
@@ -1,145 +0,0 @@
-if (!Object.prototype.toJSONString) {
- Array.prototype.toJSONString = function (w) {
- var a = [], // The array holding the partial texts.
- i, // Loop counter.
- l = this.length,
- v; // The value to be stringified.
- for (i = 0; i < l; i += 1) {
- v = this[i];
- switch (typeof v) {
- case 'object':
- if (v) {
- if (typeof v.toJSONString === 'function') {
- a.push(v.toJSONString(w));
- }
- } else {
- a.push('null');
- }
- break;
- case 'string':
- case 'number':
- case 'boolean':
- a.push(v.toJSONString());
- }
- }
- return '[' + a.join(',') + ']';
- };
- Boolean.prototype.toJSONString = function () {
- return String(this);
- };
- Date.prototype.toJSONString = function () {
- function f(n) {
- return n < 10 ? '0' + n : n;
- }
- return '"' + this.getUTCFullYear() + '-' +
- f(this.getUTCMonth() + 1) + '-' +
- f(this.getUTCDate()) + 'T' +
- f(this.getUTCHours()) + ':' +
- f(this.getUTCMinutes()) + ':' +
- f(this.getUTCSeconds()) + 'Z"';
- };
- Number.prototype.toJSONString = function () {
- return isFinite(this) ? String(this) : 'null';
- };
- Object.prototype.toJSONString = function (w) {
- var a = [],
- k,
- i,
- v;
- if (w) {
- for (i = 0; i < w.length; i += 1) {
- k = w[i];
- if (typeof k === 'string') {
- v = this[k];
- switch (typeof v) {
- case 'object':
- if (v) {
- if (typeof v.toJSONString === 'function') {
- a.push(k.toJSONString() + ':' +
- v.toJSONString(w));
- }
- } else {
- a.push(k.toJSONString() + ':null');
- }
- break;
- case 'string':
- case 'number':
- case 'boolean':
- a.push(k.toJSONString() + ':' + v.toJSONString());
- }
- }
- }
- } else {
- for (k in this) {
- if (typeof k === 'string' &&
- Object.prototype.hasOwnProperty.apply(this, [k])) {
- v = this[k];
- switch (typeof v) {
- case 'object':
- if (v) {
- if (typeof v.toJSONString === 'function') {
- a.push(k.toJSONString() + ':' +
- v.toJSONString());
- }
- } else {
- a.push(k.toJSONString() + ':null');
- }
- break;
- case 'string':
- case 'number':
- case 'boolean':
- a.push(k.toJSONString() + ':' + v.toJSONString());
- }
- }
- }
- }
- return '{' + a.join(',') + '}';
- };
- (function (s) {
- var m = {
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '"' : '\\"',
- '\\': '\\\\'
- };
- s.parseJSON = function (filter) {
- var j;
- function walk(k, v) {
- var i;
- if (v && typeof v === 'object') {
- for (i in v) {
- if (Object.prototype.hasOwnProperty.apply(v, [i])) {
- v[i] = walk(i, v[i]);
- }
- }
- }
- return filter(k, v);
- }
- if (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(this.
- replace(/\\./g, '@').
- replace(/"[^"\\\n\r]*"/g, ''))) {
- j = eval('(' + this + ')');
- return typeof filter === 'function' ? walk('', j) : j;
- }
- throw new SyntaxError('parseJSON');
- };
- s.toJSONString = function () {
- if (/["\\\x00-\x1f]/.test(this)) {
- return '"' + this.replace(/[\x00-\x1f\\"]/g, function (a) {
- var c = m[a];
- if (c) {
- return c;
- }
- c = a.charCodeAt();
- return '\\u00' +
- Math.floor(c / 16).toString(16) +
- (c % 16).toString(16);
- }) + '"';
- }
- return '"' + this + '"';
- };
- })(String.prototype);
-}
diff --git a/r2/r2/public/static/defunct/link.js b/r2/r2/public/static/defunct/link.js
deleted file mode 100644
index f13dbb312..000000000
--- a/r2/r2/public/static/defunct/link.js
+++ /dev/null
@@ -1,583 +0,0 @@
-function Thing(id) {
- this.__init__(id);
-};
-
-var reddit_thing_info = {fetch: []};
-Thing.prototype = {
- __init__: function(id) {
- this._id = id;
- this.row = this.$("thingrow");
- if (this.row) {
- /* initialize sizing info for animations if not already */
- if (!this.max_height()) {
- this.set_height("fit");
- }
- }
- },
-
- _fade_and_hide: function(fraction) {
- fraction = Math.max(Math.min(fraction, 1), 0);
- var height_frac = Math.max(Math.min(2*fraction, 1), 0);
- var opac_frac = Math.max(Math.min(2 * fraction -1 , 1), 0);
- if(fraction == 0)
- this.hide();
- else if (this.row.style.display == 'none')
- this.show();
- this.set_opacity(opac_frac);
- this.set_height((height_frac == 1) ? 'fit' : (this.max_height() * height_frac));
- this.row.cur_hide = fraction;
- },
-
- set_opacity : function(opac) {
- this.row.style.opacity = opac;
- var filt = "alpha(opacity=" + parseInt(opac*100) + ")";
- this.row.style.filter = filt;
- this.row.style.zoom = 1;
- },
-
- get: function(name) {
- return $(name + '_' + this._id);
- },
-
- $: function(name) {
- return $(name + '_' + this._id);
- },
-
- _fade_step: function(frac, fading) {
- if(fading == this.row.fading) {
- var opac_frac = Math.max(Math.min(frac , 1), 0);
- this.set_opacity(opac_frac);
- }
- },
-
- fade: function(duration, indx) {
- var t = this;
- this.row.fading = true;
- animate(function(x) { t._fade_step(x, true); }, 0, duration, indx);
- },
-
- unfade: function(duration, indx) {
- var t = this;
- this.row.fading = false;
- animate(function(x) { t._fade_step(x, false); }, 1, duration, indx);
- },
-
- _hide_step: function(fraction) {
- if(this.row.cur_hide == null)
- this.row.cur_hide = 1;
- if (this.row.hiding && fraction < this.row.cur_hide) {
- this._fade_and_hide(fraction);
- }
- },
-
- _show_step: function(fraction) {
- if(this.row.cur_hide == null)
- this.row.cur_hide = 0;
- if (!this.row.hiding && fraction > this.row.cur_hide) {
- this._fade_and_hide(fraction);
- }
- },
-
- hide: function(do_animate) {
- this.row.hidden = true;
- if(do_animate) {
- var t = this;
- this.row.hiding = true;
- animate(function(x) { t._hide_step(x); }, 0);
- }
- else {
- hide(this.row);
- if(this.__destroy && this.row && this.row.parentNode) {
- this.row.parentNode.removeChild(this.row);
- }
- }
- },
-
- show: function(do_animate) {
- this.row.hidden = false;
- if(do_animate) {
- var t = this;
- this.row.hiding = false;
- animate(function(x) { t._show_step(x) }, 1);
- }
- else {
- show(this.row);
- }
- /* promoted magic */
- if(reddit_thing_info.fetch && reddit_thing_info.fetch.length != 0) {
- var f = reddit_thing_info.fetch;
- for(var i = 0; i < f.length; i++) {
- if (f[i] == this._id) {
- redditRequest("onload", {ids: f.join(",")},
- handleOnLoad, true);
- break;
- }
- }
- }
- if(reddit_thing_info && reddit_thing_info[this._id]) {
- var img = this.$("promote_img");
- var img_src = unsafe(reddit_thing_info[this._id][0]);
- var new_url = unsafe(reddit_thing_info[this._id][1]);
- if (img && img.src != img_src) {
- img.src = img_src;
- this.$("title").href = new_url;
- if(this.$("thumbnail"))
- this.$("thumbnail").href = new_url;
- }
- }
- },
-
- del: function(do_animate) {
- this.__destroy = true;
- this.hide(do_animate);
- },
-
- child_listing: function() {
- var child = this.$("child");
- if (!Listing.exists(this._id)) {
- l = Listing.create(this._id);
- child.insertBefore(l.ajaxHook, child.firstChild);
- child.insertBefore(l.listing, child.firstChild);
- }
- return new Listing(this._id);
- },
-
- is_visible: function() {
- if(this.row) {
- if(this.row.hidden == null)
- this.row.hidden = (this.row.style.display == 'none');
- return !this.row.hidden;
- }
- return false;
- },
-
- compute_height:function() {
- var arrows = this.$("arrows");
- var entry = this.$("entry");
- var thumb = this.$("thumbnail");
- var num = this.$("num");
- return Math.max(arrows ? arrows.offsetHeight : 0,
- entry ? entry.offsetHeight : 0,
- thumb ? thumb.offsetHeight : 0,
- num ? num.offsetHeight : 0);
- },
-
- parent_listing: function() {
- return Listing.attach(this.row.parentNode);
- },
-
- max_height: function() {
- return this.row._height + this.row._top_pad + this.row._bot_pad;
- },
-
- get_height: function() {
- return this.row.offsetHeight;
- },
-
- set_height: function(h) {
- var entry = this.$('entry');
- var thumb = this.$('thumbnail');
- var arrows = this.$('arrows');
- var num = this.$('num');
- if(h == "fit" ||
- (this.max_height() && h >= this.max_height() *.90 )) {
- this.row.style.paddingTop = "";
- this.row.style.paddingBottom = "";
- h = "";
- }
- else if (h <= 0) {
- this.row.style.paddingTop = "0px";
- this.row.style.paddingBottom = "0px";
- h = "0px";
- }
- else {
- if(this.row._top_pad && h <= this.row._top_pad) {
- this.row.style.paddingTop = h + "px";
- this.row.style.paddingBottom = "0px";
- h = "0px";
- }
- else {
- var height;
- if (this.row.style.height) {
- height = parseInt(this.row.style.height);
- }
- else {
- height = this.compute_height();
- }
- var pad = this.row.offsetHeight - height;
- this.row.style.paddingTop = "";
- if(h < pad) {
- this.row.style.paddingBottom =
- Math.max(h - this.row._top_pad, 0) + "px";
- h = 0;
- }
- h += "px";
- }
- }
- entry.style.height = h;
- if(arrows) { arrows.style.height = h; }
- if(thumb) { thumb.style.height = h; }
- if(num) {
- if (h)
- num.style.marginTop = 0;
- else
- num.style.marginTop = "";
- num.style.height = h;
-
- }
- this.row.style.height = h;
-
- if(h == "" && this.is_visible()) {
- height = this.compute_height();
- top_pad = entry.offsetTop - this.row.offsetTop - 1;
- bot_pad = this.row.offsetHeight - height - top_pad -1;
- /* cache heights for later restoration */
- this.row._height = height;
- this.row._top_pad = top_pad;
- this.row._bot_pad = bot_pad;
- }
-
- return this.row.offsetHeight;
- }
-};
-
-Thing.del = function(r) {
- new Thing(r.id).del(true);
-};
-
-function Listing(id) {
- this.__init__(id);
-};
-
-Listing.prototype = {
- __init__: function(id) {
- if(id) {
- id = "_" + id;
- }
- this.listing = $('siteTable' + id);
- this.ajax_hook = $('ajaxHook' + id);
- if(this.listing) {
- if(! this.listing.start_count) {
- this.listing.start_count = this.visible_count();
- }
- }
- },
-
- insert_node_before: function(node, before_me, append_me) {
- before_me = before_me || this.listing.firstChild;
- if(!append_me && before_me) {
- this.listing.insertBefore(node, before_me);
- }
- else {
- this.listing.appendChild(node);
- }
- },
-
- /* insert content via innerHTML and return Thing objects of
- * inserted things */
- insert: function(content, before_me, append_me) {
- var a = this.ajax_hook;
- a.innerHTML = content;
- var childs = a.childNodes;
- var things = [];
- for(var i = 0; i < childs.length; i++) {
- var id = _id(childs[i]);
- if(id) {
- var t = new Thing(id);
- t.set_height("fit");
- t.hide();
- things.unshift(t);
- }
- this.insert_node_before(childs[i], before_me, append_me);
- }
- /*a.innerHTML = '';*/
- return things;
- },
-
- push: function(content) {
- return this.insert(content, this.listing.firstChild);
- },
-
- append: function(content) {
- return this.insert(content, null, true);
- },
-
- map: function(func) {
- if(this.listing) {
- var c = this.listing.childNodes;
- for(var i = 0; i < c.length; i++) {
- var id = _id(c[i]);
- if(id) {
- func(new Thing(id));
- }
- }
- }
- },
-
- select: function(func) {
- var agg = [];
- this.map(function(t) { if(func(t)) agg.unshift(t); });
- return agg;
- },
-
- visible_count: function() {
- return this.select(function(t) {
- return t.is_visible();
- }).length;
- },
-
- renumber: function(start_num) {
- var n = start_num;
- this.map(function(t) {
- var num = t.$('num');
- if(num.firstChild.innerHTML) {
- num = num.firstChild
- }
- if(num) {
- var current_num = parseInt(num.innerHTML);
- n = n || current_num;
- if(t.is_visible()) {
- num.innerHTML = (n++);
- }
- }
- }
- );
- },
-
- reset_visible_count: function(n) {
- n = n || this.listing.start_count;
- this.map(function(t) {
- if(t.is_visible()) {
- if(--n < 0) {
- t.hide();
- }
- }
- });
- this.renumber();
- }
-};
-
-Listing.exists = function(id) {
- return $('siteTable_' + id);
-};
-
-Listing.attach = function(node) {
- var id = /siteTable_(.*)/.exec(node.id);
- if (id) {
- var listing = new Listing(id[1]);
- if (listing.listing) {
- return listing;
- }
- }
-};
-
-Listing.create = function(id) {
- var l = new Listing(id);
- if (!l.listing) {
- l.listing = document.createElement("div");
- l.listing.id = "siteTable_" + id;
- l.ajaxHook = document.createElement("div");
- l.ajaxHook.id = "ajaxHook_" + id;
- l.ajaxHook.className = "ajaxhook";
- };
- return l;
-};
-
-function make_sr_list(sr_diffs) {
- var srs = [];
- for(var sr in sr_diffs) {
- if (!(sr in Object.prototype) && sr_diffs[sr] != null) {
- srs.unshift(sr + ":" + (sr_diffs[sr]?1:0));
- }
- }
- return srs.join(',');
-}
-
-
-Listing.fetch_more = function(sr_diffs, sr_needed, num_needed) {
- var args = update_get_params({srs: make_sr_list(sr_diffs)});
- /* assumes one listing per page, where is global */
- new Ajax.Request(where.path + ".json-html", { parameters: make_get_params(args),
- method: "get", onComplete: Listing_merge(sr_needed, num_needed) } );
-};
-
-function _fire_and_hide(type) {
- return function(fullname) {
- redditRequest(type, {id: fullname, uh: modhash});
- new Link(fullname).hide(true);
- };
-}
-
-Listing.unhide = _fire_and_hide('unhide');
-Listing.hide = _fire_and_hide('hide');
-Listing.report = _fire_and_hide('report');
-Listing.del = _fire_and_hide('del');
-
-Listing.parse = function(r) {
- var links = [];
- var res_obj = parse_response(r);
- if(res_obj && res_obj.response) {
- var r = res_obj.response.object;
- for(var i = 0; i < r.length; i++) {
- if (r[i].kind == "Listing") {
- for(var j = 0; j < r[i].data.length; j++) {
- links.push(r[i].data[j].data);
- }
- }
- }
- }
- return links;
-};
-
-function Listing_merge(sr_needed, num_needed) {
- return function (r) {
- /* assumes only one listing */
- var l = new Listing("");
- var links = Listing.parse(r);
- var things = [];
- var count = Math.max(l.listing.start_count, links.length);
-
- for(var i = 0; i < links.length; i++) {
- var d = links[i];
- var t = new Thing(d.id);
- if(t.row) {
- if (! t.is_visible())
- things.unshift(t);
- }
- else {
- if (! num_needed && i < count) {
- t = l.insert(unsafe(d.content), l.listing.childNodes[i+1]);}
- else
- t = l.append(unsafe(d.content));
- if(d.sr == sr_needed ||
- (num_needed && i >= count - num_needed))
- things = things.concat(t);
- vl[d.id] = d.vl;
- sr[d.id] = d.sr;
- }
- }
- for(var i = 0; i < things.length; i++) {
- things[i].show(true);
- }
- add_to_aniframes(function() {
- l.reset_visible_count(count);
- }, 1);
-
- return;
- };
-}
-
-function Link(id) {
- this.__init__(id);
-};
-
-Link.prototype = new Thing();
-
-Link.prototype.share = function() {
- var share = new ShareLink(this._id);
- share.attach(this.$("child"));
-};
-
-function linkstatus(form) {
- var title = field(form.title);
- if(title) {
- return _global_submitting_tag;
- }
- return _global_fetching_tag;
-}
-
-function setClick(a, css_class) {
- css_class = css_class || "title";
- var id = _id(a);
- if (id) {
- if(logged) {
- a.className = css_class + " loggedin click";
- }
- else {
- a.className = css_class + " click";
- }
- setClickCookie(id);
- }
- return true;
-}
-
-function setClickCookie(id) {
- var newcookie = readCookie("click") + id + ":";
- createCookie("click", newcookie);
-}
-
-
-function ThingForm(id) {
- this.__init__(id);
-};
-
-ThingForm.prototype = {
- __init__: function(id) {
- this._id = id;
- this.form = $(this.__name__ + "_" + id);
- if (!this.form) {
- var p = this.__prototype__();
- if (p) {
- this.form = re_id_node(p.cloneNode(true), id);
- }
- } else {
- show(this.form);
- }
- },
-
- __name__ : "",
-
- __prototype__: function() {
- return $(this.__name__ + '_');
- },
-
- $: function(name) {
- return $(name + '_' + this._id);
- },
-
- cancel: function() {
- hide(this.form);
- return false;
- },
-
- ok: function() {
- return true;
- },
-
- attach: function(where) {
- if (this.form.parentNode) {
- if(this.form.parentNode != where) {
- this.form.parentNode.removeChild(this.form);
- where.insertBefore(this.form, where.firstChild);
- }
- }
- where.insertBefore(this.form, where.firstChild);
- show(this.form);
- }
-
-};
-
-function ShareLink(id) {
- this.__init__(id);
-};
-
-ShareLink.prototype = new ThingForm();
-ShareLink.prototype.__name__ = "sharelink";
-
-ShareLink.prototype.ok = function() {
- var p = this.__prototype__();
- var v = this.$("share_to").value.replace(/[\s,;]+/g, "\r\n");
- p.firstChild.share_to.value = v;
- p.firstChild.share_to.innerHTML = v;
- return true;
-};
-
-function share(id) {
- if (logged) {
- new Link(id).share();
- }
- else {
- showcover(true, 'share_' + id);
- }
-};
-
diff --git a/r2/r2/public/static/defunct/organic.js b/r2/r2/public/static/defunct/organic.js
deleted file mode 100644
index deeb7e6a0..000000000
--- a/r2/r2/public/static/defunct/organic.js
+++ /dev/null
@@ -1,155 +0,0 @@
-function OrganicListing() {
- this.__init__('organic');
- this._links = organic_links;
- /* first time, init the position and figure out what is loaded */
- if(!this.listing._loaded) {
- this.listing._loaded = {};
- /* and which ones are present in the listing */
- var _this = this;
- this.map(function(t) {
- _this.listing._loaded[t._id] = t;
- if(t.is_visible()) {
- for(var i = 0; i < _this._links.length; i++) {
- if (t._id == _this._links[i]) {
- _this.listing.pos = i;
- break;
- }
- }
- }
- _this.listing.max_pos = _this.listing.pos;
- _this.listing.update_pos = true;
- });
- }
-};
-
-OrganicListing.prototype = new Listing();
-
-OrganicListing.prototype.current = function() {
- return this.listing._loaded[this._links[this.listing.pos]];
-};
-
-OrganicListing.prototype.check_ahead = function(dir, num) {
- num = num || 10;
- dir = (dir > 0)? 1: -1;
- var pos = this.listing.pos;
- var len = this._links.length;
- var to_load = [];
- var streak = null;
- for(var i = 0; i < num; i++) {
- var j = ((i+1) * dir + pos + len) % len;
- if (!this.listing._loaded[this._links[j]]) {
- to_load.unshift(this._links[j]);
- if(streak == null) streak = true;
- }
- else if (streak) {
- streak = false;
- }
- }
- if( (streak && to_load.length > num/2) ||
- (!streak && to_load.length > 0) ) {
- to_load = to_load.join(',');
- var cur = this.current();
- redditRequest('fetch_links', {num_margin: cur.$("num") .style.width,
- mid_margin: cur.$("arrows").style.width,
- links: to_load}, null, true);
- }
-};
-
-function _fire_and_shift(type) {
- return function(fullname) {
- redditRequest(type, {id: fullname, uh: modhash});
- get_organic(true);
- };
-}
-
-function update_organic_pos(new_pos) {
- var c = readLCookie('reddit_first');
- if(c != '') {
- try {
- c = c.parseJSON();
- } catch(e) {
- c = '';
- }
- }
-
- if(c == '') {
- c = {};
- }
-
- if(c.organic_pos && c.organic_pos.length >= 2) {
- c.organic_pos[1] = new_pos;
- } else {
- c.organic_pos = ['none', new_pos];
- }
-
- createLCookie('reddit_first', c.toJSONString());
-}
-
-OrganicListing.unhide = _fire_and_shift('unhide');
-OrganicListing.hide = _fire_and_shift('hide');
-OrganicListing.report = _fire_and_shift('report');
-OrganicListing.del = _fire_and_shift('del');
-
-
-OrganicListing.populate = function(links) {
- var o = new OrganicListing();
- for(var i = 0; i < links.length; i++) {
- d = links[i].data;
- var t = o.insert(unsafe(d.content), o.listing.firstChild);
- if(t && t[0]) {
- vl[d.id] = d.vl;
- o.listing._loaded[d.id] = t[0];
- }
- }
-};
-
-OrganicListing.prototype.change = function(dir) {
- dir = (dir > 0)? 1: -1;
- this.check_ahead(dir);
- var pos = this.listing.pos;
- var len = this._links.length;
- pos = (pos + dir + len) % len;
-
- var n = this.listing._loaded[this._links[pos]];
- var c = this.current();
- if(n && c) {
- /* only update on "next" */
- if(dir > 0) {
- if(this.listing.max_pos == pos)
- this.listing.update_pos = true;
- else if (this.listing.update_pos) {
- update_organic_pos((pos+1)%len);
- this.listing.max_pos = pos;
- }
- }
- else {
- this.listing.update_pos = false;
- }
-
- var _list = this.listing;
- _list.changing = true;
- _list.pos = pos;
- c.fade("veryfast");
- add_to_aniframes(function() {
- c.hide();
- n.show();
- n.set_opacity(0);
- }, 1);
- n.unfade("veryfast", 2);
- add_to_aniframes(function() {
- _list.changing = false;
- }, 3);
- }
-};
-
-function get_organic(next) {
- var l = new OrganicListing();
- if(l.listing.changing)
- return false;
- else if(next)
- l.change(1);
- else
- l.change(-1);
- return false;
-}
-
diff --git a/r2/r2/public/static/defunct/psrs.js b/r2/r2/public/static/defunct/psrs.js
deleted file mode 100644
index 0fbcfe950..000000000
--- a/r2/r2/public/static/defunct/psrs.js
+++ /dev/null
@@ -1,158 +0,0 @@
-var Prototype={
-Version:'1.3.1',
-emptyFunction:function(){}
-};
-var Class={
-create:function(){
-return function(){
-this.initialize.apply(this,arguments);
-}
-}
-};
-Object.extend=function(destination,source){
-for(property in source){
-destination[property]=source[property];
-}
-return destination;
-};
-Object.prototype.extend=function(object){
-return Object.extend.apply(this,[this,object]);
-};
-Function.prototype.bind=function(object){
-var __method=this;
-return function(){
-__method.apply(object,arguments);
-}
-};
-var Try={
-these:function(){
-var returnValue;
-for(var i=0;i=200&&this.transport.status<300);
-},
-responseIsFailure:function(){
-return!this.responseIsSuccess();
-}
-};
-Ajax.Request=Class.create();
-Ajax.Request.Events=
-['Uninitialized','Loading','Loaded','Interactive','Complete'];
-Ajax.Request.prototype=(new Ajax.Base()).extend({
-initialize:function(url,options){
-this.transport=Ajax.getTransport();
-this.setOptions(options);
-this.request(url);
-},
-request:function(url){
-var parameters=this.options.parameters||'';
-if(parameters.length>0)parameters+='&_=';
-try{
-if(this.options.method=='get')
-url+='?'+parameters;
-this.transport.open(this.options.method,url,
-this.options.asynchronous);
-if(this.options.asynchronous){
-this.transport.onreadystatechange=this.onStateChange.bind(this);
-setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);
-}
-this.setRequestHeaders();
-var body=this.options.postBody?this.options.postBody:parameters;
-this.transport.send(this.options.method=='post'?body:null);
-}catch(e){
-}
-},
-setRequestHeaders:function(){
-var requestHeaders=
-['X-Requested-With','XMLHttpRequest',
-'X-Prototype-Version',Prototype.Version];
-if(this.options.method=='post'){
-requestHeaders.push('Content-type',
-'application/x-www-form-urlencoded');
-if(this.transport.overrideMimeType)
-requestHeaders.push('Connection','close');
-}
-if(this.options.requestHeaders)
-requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);
-for(var i=0;i -1) {
- hide(ul);
- menu.onclick = function() {
- return open_menu(this);
- }
- }
- }
-
- /* because body and the menu both fire the click event, cur_menu
- is only true for an instant when opening a menu */
- if (!cur_menu) {
- have_open = false;
- }
- cur_menu = null;
-}
-
-function hover_open_menu(menu) {
- if (have_open) {
- open_menu(menu);
- close_menus();
- }
-}
-
-var global_cookies_allowed = true;
-
-function init() {
- /* temp strip off port for the ajax domain (which will need it to
- * make a request) */
- var i = ajax_domain.indexOf(':');
- var a = (i < 0) ? ajax_domain : ajax_domain.slice(0, i);
- /* permanently strip it off for the cur_domain which only sets cookies */
- i = cur_domain.indexOf(':');
- cur_domain = (i < 0) ? cur_domain : cur_domain.slice(0, i);
-
- if(cur_domain != a) {
- global_cookies_allowed = false;
- }
- else if(cnameframe && !logged) {
- var m = Math.random() + '';
- createCookie('test', m);
- global_cookies_allowed = (readCookie('test') == m);
- }
- if (global_cookies_allowed) {
- updateClicks();
- /*updateMods();*/
- }
- stc = $("siteTable_comments");
- /* onload populates reddit_link_info, so checking its contents
- * ensures it doesn't get called on reload/refresh */
- if ( reddit_thing_info.fetch && reddit_thing_info.fetch.length != 0 )
- updateLinks(reddit_thing_info.fetch);
- update_reddit_count();
-}
-
-function updateLinks(f) {
- for (var i = 0; i < f.length; i++) {
- var l = new Link(f[i]);
- if (l.row && l.row.style.display != "none")
- l.show();
- }
-}
-
-function handleOnLoad(r) {
- r = parse_response(r);
- var f = reddit_thing_info.fetch;
- reddit_thing_info.fetch = [];
-
- reddit_thing_info = (r && r.response) ? r.response.object : {};
- updateLinks(f);
-}
-
-function deletetoggle(link, type) {
- var parent = link.parentNode;
- var form = parent.parentNode;
- link.blur();
-
- var q = document.createElement('span');
- q.className = 'question';
- q.innerHTML = form.question.value;
-
- var yes = document.createElement('a');
- yes.className = "yes";
- yes.innerHTML = form.yes.value;
- yes.href='javascript:void(0)';
-
- var slash = document.createTextNode('/');
-
- var no = document.createElement('a');
- no.className = "no";
- no.innerHTML = form.no.value;
- no.href='javascript:void(0)';
-
- var oldtext = parent.innerHTML;
- no.onclick = function() {
- return untoggle(false, parent, oldtext, type)};
-
- yes.onclick = function() {
- return untoggle(true, parent, oldtext, type)};
-
- q.appendChild(yes);
- q.appendChild(slash);
- q.appendChild(no);
-
- parent.innerHTML = '';
- parent.appendChild(q);
-
- return false;
-}
-
-
-function untoggle(execute, parent, oldtext, type) {
- if(execute) {
- var form = parent.parentNode;
- var uh = modhash; //global
- parent.innerHTML = form.executed.value || oldtext;
-
- if(type == 'del') {
- post_form(form, type, function() {return ""});
- }
- else if (typeof(type) == "string") {
- post_form(form, type, function() {return ""});
- }
- else if (typeof(type) == "function") {
- type(form.id.value, uh);
- }
- }
- else {
- parent.innerHTML = oldtext;
- }
- return false;
-}
-
-
-
-function chklogin(form) {
- if(global_cookies_allowed) {
- var op = field(form.op);
- var status = $("status_" + op);
- if (status) {
- status.innerHTML = _global_submitting_tag;
- };
- if (op == 'login' || op == 'login-main') {
- post_form(form, 'login');
- }
- else {
- post_form(form, 'register');
- }
- return false;
- }
- return true;
-}
-
-function toggle(a_tag, op) {
- var form = a_tag.parentNode;
- post_form(form, op, function() {return ''});
- var action = form.action.value;
- var toggled = form.toggled_label.value;
- form.toggled_label.value = a_tag.innerHTML;
- a_tag.innerHTML = toggled;
- var toggled_action = form.toggled_action.value;
- form.toggled_action.value = form.action.value;
- form.action.value = toggled_action;
- return false;
-}
-
-
-function resizeCookie(name, size) {
- var c = readCookie(name);
- if(c.length > size) {
- var i = size;
- while (i >= 0 && c[i--] != ';') { }
- createCookie(name, (i && c.slice(0, i+1)) || '');
- }
-}
-
-/*function updateMods() {
- var mods = readCookie("mod");
- if (mods) {
- mods = mods.split(':');
- for (var i = 0; i < mods.length; i++) {
- var m = mods[i].split('=');
- setMod(m[0], m[1]);
- }
- }
- }*/
-
-function updateClicks() {
- var clicks = readCookie("click");
- if (clicks) {
- clicks = clicks.split(':');
- for (var i = 0; i < clicks.length; i++) {
- setClick(clicks[i]);
- }
- }
-}
-
-function showlang() {
- offset = window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;
-
- $('langcover').style.top = offset + 'px';
- $('langpopup').style.top = 40 + offset + 'px';
- show("langcover", "langpopup");
- return false;
-}
-
-function showcover(warning, reason) {
- offset = window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;
- if (warning) {
- show('cover_msg', 'cover_disclaim');
- }
- else {
- hide('cover_msg', 'cover_disclaim');
- }
- $('loginpopup').style.top = 40 + offset + 'px';
-
- if (reason == 'sr_change_') {
- //depends on links.js and subreddit.js
- reason += make_sr_list(changed_srs);
- }
-
- if (reason) {
- $('login_login').elements.reason.value = reason;
- $('login_reg').elements.reason.value = reason;
- }
-
- new_captcha();
- show("cover", "loginpopup");
- return false;
-}
-
-function hidecover(cover, loginpopup) {
- hide(cover, loginpopup);
- /* $('login_main_form').innerHTML = $('login_cover_form').innerHTML;
- $('login_cover_form').innerHTML = ''; */
-}
-
-function check_some() {
- var have_checked = false;
- var elements = $("all-langs").form.elements;
- for (var i = 0; i < elements.length; i++) {
- el = elements[i];
- if (el.name.indexOf("lang-") != -1 && el.checked) {
- have_checked = true;
- break;
- }
- }
- if (have_checked) {
- var some = $("some-langs");
- some.checked = "checked";
- }
-}
-
-function clear_all() {
- var all = $("all-langs");
- if (!all.checked) return;
- var elements = all.form.elements;
- for (var i = 0; i < elements.length; i++) {
- el = elements[i];
- if (el.name.indexOf("lang-") != -1)
- el.checked = false;
- }
-}
-
-function click(id) {
- setClick(id);
- setClickCookie(id);
- return true;
-}
-
-function frame(a_tag, id) {
- click(id);
- a_tag.href = "/goto?id=" + id;
- return true;
-}
-
-function set_sort(where, sort) {
- redditRequest('sort', {sort: sort,
- where: where});
- return true;
-}
-
-function disable_ui(name) {
- var help = $(name + "-help");
- var gone = $(name + "-gone");
- help.parentNode.innerHTML = gone.innerHTML;
- redditRequest('disable_ui', {id: name});
-}
-
-function update_reddit_count() {
- if (!cur_site || !logged) return;
-
- var decay_factor = .9; //precentage to keep
- var decay_period = 86400; //num of seconds between updates
- var num_recent = 10; //num of recent reddits to report
- var num_count = 100; //num of reddits to actually count
-
- var date_key = '_date';
- var cur_date = new Date();
- var count_cookie = 'reddit_counts';
- var recent_cookie = 'recent_reddits';
- var reddit_counts = readCookie(count_cookie);
-
- //init the reddit_counts dict
- if (reddit_counts) reddit_counts = reddit_counts.parseJSON();
- else {
- reddit_counts = {};
- reddit_counts[date_key] = cur_date.toString();
- }
-
- var last_reset = new Date(reddit_counts[date_key]);
- var decay = cur_date - last_reset > decay_period * 1000;
- var names = [];
-
- //incrmenet the count on the current reddit
- reddit_counts[cur_site] = (reddit_counts[cur_site] || 0) + 1;
-
- //collect the reddit names (for sorting) and decay the view counts
- //if necessary
- for (var sr_name in reddit_counts) {
- if (sr_name == date_key || Object.prototype[sr_name]) continue;
-
- if (decay && sr_name != cur_site) {
- //compute the new count val
- var val = Math.floor(decay_factor * reddit_counts[sr_name]);
- if (val > 0) reddit_counts[sr_name] = val;
- else delete reddit_counts[sr_name];
- }
-
- if (reddit_counts[sr_name]) names.push(sr_name);
- }
-
- //sort the names by the view counts
- names.sort(function(n1, n2) {return reddit_counts[n2] - reddit_counts[n1];});
-
- //update the last decay date
- if (decay) reddit_counts[date_key] = cur_date.toString();
-
- //build the list of names to report as "recent"
- var recent_reddits = "";
- for (var i = 0; i < names.length; i++) {
- var sr_name = names[i];
- if (i < num_recent) {
- recent_reddits += names[i] + ',';
- } else if (i >= num_count && sr_name != cur_site) {
- delete reddit_counts[sr_name];
- }
- }
-
- //set the two cookies: one for the counts, one for the final
- //recent list
- createCookie(count_cookie, reddit_counts.toJSONString());
- if (recent_reddits) {
- createCookie(recent_cookie, recent_reddits);
- }
-}
diff --git a/r2/r2/public/static/defunct/subreddit.js b/r2/r2/public/static/defunct/subreddit.js
deleted file mode 100644
index 3510463cd..000000000
--- a/r2/r2/public/static/defunct/subreddit.js
+++ /dev/null
@@ -1,101 +0,0 @@
-function subscribe(button, id) {
- if (!logged) return showcover();
-
- var add_class = "sr-toggle-button add";
- var remove_class = "sr-toggle-button remove";
-
- if (button.className == add_class) {
- action = 'sub';
- button.className = remove_class;
- set_score(id, 1);
- }
- else {
- action = 'unsub';
- button.className = add_class;
- set_score(id, 0);
- }
- redditRequest_no_response('subscribe',
- {'sr': id, 'action': action, 'uh': modhash});
-}
-
-function Subreddit(id) { }
-Subreddit.prototype = new Thing();
-
-
-function map_links_by_sr(srid, func) {
- var chx = $("sr_sel_chx_" + srid);
- var count = 0;
- if (chx) { chx = chx.checked; }
- for (var s in sr) {
- if (sr[s] == srid) {
- func(new Link(s), chx);
- count += 1;
- }
- }
- return count;
-}
-
-
-var changed_srs = {};
-function change_sr(srid) {
- var chx = $("sr_sel_chx_" + srid);
- var srs_list = [];
- if (changed_srs[srid] == null) {
- changed_srs[srid] = chx.checked;
- } else {
- changed_srs[srid] = null;
- }
- var show_save = false;
- for(var x in changed_srs) {
- if (!(x in Object.prototype) && changed_srs[x] != null) {
- show_save = true;
- break;
- }
- }
- if (show_save) {
- show('subscr_sub');
- } else {
- hide('subscr_sub');
- }
-
- if(chx.checked) {
- show_by_srid(srid, changed_srs);
- }
- else {
- hide_by_srid(srid, changed_srs);
- }
- var box = $("sr_sel_" + srid);
- box.className = (chx.checked && 'selected') || "";
- return true;
-}
-
-function hide_by_srid(srid, sr_deltas) {
- var l = new Listing('');
- var res = map_links_by_sr(srid,
- function(link, checked) {
- if (link.row.parentNode == l.listing) {
- link.hide(true);
- }
- });
-
- /*Listing.fetch_more(sr_deltas, null, res);*/
-}
-
-function show_by_srid(srid, sr_deltas) {
- var l = new Listing('');
- var res = map_links_by_sr(srid,
- function(link, checked) {
- if (link.row.parentNode == l.listing) {
- link.show(true);
- }
- });
- if(!res) {
- Listing.fetch_more(sr_deltas, srid);
- }
- add_to_aniframes(function() {
- new Listing('').reset_visible_count();
- }, 1);
-
-}
-
-
diff --git a/r2/r2/public/static/defunct/tabular.js b/r2/r2/public/static/defunct/tabular.js
deleted file mode 100644
index 2e010d9f1..000000000
--- a/r2/r2/public/static/defunct/tabular.js
+++ /dev/null
@@ -1,70 +0,0 @@
-
-function UserTable(name) {
- this.table = $(name);
- this.header = $(name+"_header");
-};
-
-
-UserTable.prototype = {
- _del_row: function(name) {
- var row = this.table.rows.namedItem(name);
- if(row) {
- this.table.deleteRow(row.rowIndex);
- }
- },
-
- _new_row: function(name, cellinnards, pos) {
- if(!pos) { pos = 0; }
- var row = this.table.insertRow(pos);
- hide(row);
- row.id = name;
- if(row) {
- for(var i = 0; i < cellinnards.length; i++) {
- var cell = row.insertCell(row.cells.length);
- cell.innerHTML = unsafe(cellinnards[i]);
- }
- }
- show(row);
- }
-};
-
-UserTable.findTable = function(rowname) {
- var row = $(rowname);
- var ut = new UserTable(row.parentNode.parentNode.id);
- return ut;
-};
-
-UserTable.getUser = function(name) {
- return name.split('_')[1];
-}
-
-UserTable.add = function(r) {
- var table = new UserTable(r.id);
- table._new_row(r.name, r.cells);
- show(table.header);
- return false;
-};
-
-
-UserTable.delRow = function(name) {
- var table = UserTable.findTable(name);
- table._del_row(name);
- if (table.table.rows.length == 0) {
- hide(table.header);
- }
- return table;
-};
-
-
-UserTable.del = function(type, container_name) {
- var f = function(name, uh) {
- var table = UserTable.delRow(name);
- redditRequest("friend", {name: UserTable.getUser(name),
- action: 'remove', container: container_name,
- type: type, uh: uh});
- };
- return f;
-};
-
-class_dict["UserTable"] = UserTable;
-
diff --git a/r2/r2/public/static/defunct/utils.js b/r2/r2/public/static/defunct/utils.js
deleted file mode 100644
index 5874dd4d5..000000000
--- a/r2/r2/public/static/defunct/utils.js
+++ /dev/null
@@ -1,607 +0,0 @@
-function unsafe(text) {
- text = text.replace?text:"";
- return text.replace(/>/g, ">").replace(/</g, "<").replace(/&/g, "&");
-}
-
-
-function hide () {
- for (var i = 0; i < arguments.length; i++) {
- var e = $(arguments[i]);
- if (e) e.style.display = "none";
- }
-}
-
-function show () {
- for (var i = 0; i < arguments.length; i++) {
- var e = $(arguments[i]);
- if (e) e.style.display = "";
- }
-}
-
-Object.prototype.__iter__ = function(func) {
- var res = [];
- for(var o in this) {
- if(!(o in Object.prototype)) {
- res.unshift(func(o, this[o]));
- }
- }
- return res;
-};
-
-function make_get_params(obj) {
- return obj.__iter__(function(x, y) {
- return x + "=" + encodeURIComponent(y);
- }).join("&");
-}
-
-function update_get_params(updates) {
- var getparams = {};
- where.params.__iter__(function(x, y) {
- getparams[x] = y;
- });
- if (updates)
- updates.__iter__(function(x, y) {
- getparams[x] = y;
- });
- return getparams;
-}
-
-/* where is global */
-function relative_path(updates) {
- var getparams = update_get_params(updates);
- path = where.path;
- if(getparams) {
- path += "?" + make_get_params(getparams);
- }
- return path;
-}
-
-function _id(obj) {
- if(obj && obj.id) {
- var id = obj.id;
- if(id.value) {id = id.value};
- id = id.split('_');
- if (id.length > 2) {
- id = id[id.length-2] + '_' + id[id.length-1];
- if(id == null) {return '';}
- return id;
- }
- }
- return '';
-}
-
-function buildParams(parameters) {
- if(parameters) {
- try {
- var p = new Array();
- for(var i = 0; i+1 < parameters.length; i += 2) {
- p.push(parameters[i] + '=' + encodeURIComponent(parameters[i+1]));
- }
- parameters = p.join('&');
- } catch(e) {
- parameters = '';
- alert(e);
- }
- }
- return parameters;
-}
-
-var api_loc = '/api/';
-function redditRequest(op, parameters, worker_in, block) {
- var action = op;
- var worker = worker_in;
- if (!parameters) {
- parameters = {};
- }
- if (post_site) {
- parameters.r = post_site;
- }
- if (cnameframe) {
- parameters.cnameframe = 1;
- }
- op = api_loc + op;
- if(!worker) {
- worker = handleResponse(action);
- }
- else {
- worker = function(r) {
- remove_ajax_work(action);
- return worker_in(r);
- }
- }
- if(block == null || add_ajax_work(action)) {
- new Ajax.Request(op, {parameters: make_get_params(parameters),
- onComplete: worker});
- }
-}
-
-var _ajax_work_queue = {};
-function add_ajax_work(op) {
- if(_ajax_work_queue[op]) {
- return false;
- }
- _ajax_work_queue[op] = true;
- return true;
-}
-function remove_ajax_work(op) {
- _ajax_work_queue[op] = false;
-}
-
-function redditRequest_no_response(op, parameters) {
- redditRequest(op, parameters, function(r){});
-}
-
-function get_class_from_id(id) {
- if(id) {
- id = id.split('_')[0];
- return class_dict[id];
- }
-}
-
-function parse_response(r) {
- if(r.status == 500) return;
- return r.responseText.parseJSON();
-}
-
-function tup(x) {
- if(! x.length ) { return [x] };
- return x;
-}
-
-function applyStylesheet(cssText) {
- /* also referred to in the reddit.html template, for the name of the
- stylesheet set for this reddit. These must be in sync, because
- I'm over-writing it here */
- var sheet_title = 'applied_subreddit_stylesheet';
-
- if(document.styleSheets[0].cssText) {
- /* of course IE has to do this differently from everyone else. */
- for(var x=0; x < document.styleSheets.length; x++) {
- if(document.styleSheets[x].title == sheet_title) {
- document.styleSheets[x].cssText = cssText;
- break;
- }
- }
- } else {
- /* for everyone else, we walk for the or