summaryrefslogtreecommitdiff
path: root/js-maybe-remove/roomlist.js
diff options
context:
space:
mode:
Diffstat (limited to 'js-maybe-remove/roomlist.js')
-rwxr-xr-xjs-maybe-remove/roomlist.js166
1 files changed, 166 insertions, 0 deletions
diff --git a/js-maybe-remove/roomlist.js b/js-maybe-remove/roomlist.js
new file mode 100755
index 0000000..1b6c6d8
--- /dev/null
+++ b/js-maybe-remove/roomlist.js
@@ -0,0 +1,166 @@
+var Keyboard =
+ {
+ enter: false,
+ textareaMap: function (event)
+ {
+ var kc = event.keyCode
+ if (kc === 13)
+ {
+ if (Keyboard.enter)
+ Keyboard.enter()
+ return false
+ }
+ return true
+ },
+ }
+var Poll =
+ {
+ room: "main",
+ delay: 5000,
+ init: function ()
+ {
+ if (document.cookie)
+ {
+ var cookies = document.cookie.split(";")
+ for (i in cookies)
+ {
+ var cookie = cookies[i].split("=")
+ if (cookie[0].indexOf("room") !== -1)
+ {
+ if (cookie[1] !== 'false' && cookie[1] !== 'undefined')
+ {
+ Poll.room = cookie[1]
+ break
+ }
+ }
+ }
+ }
+ Poll.poll()
+ },
+ poll: function ()
+ {
+ $.post(API.URL.room.poll,
+ {
+ room: Poll.room,
+ session: Auth.session,
+ last: 1,
+ }).success(Poll.pollCallback).error(Poll.pollErrorCallback)
+ },
+ pollErrorCallback: function ()
+ {
+ Poll.timer = setTimeout(Poll.poll, Poll.delay)
+ },
+ pollCallback: function (raw)
+ {
+ Poll.timer = setTimeout(Poll.poll, Poll.delay)
+ },
+ }
+var Roomlist =
+ {
+ minwidth: 200,
+ width: 200,
+ list: function ()
+ {
+ var roomz = {}
+ var keys = []
+ var sorted = []
+ var presortOrder =
+ [
+ "main",
+ "nightschool",
+ "waterfall",
+ "feederbleeder",
+ "diornights",
+ "classical",
+ "jonomilo",
+ "dump",
+ "tang",
+ "avatar",
+ "glitter",
+ "yhvh",
+ "los7angele55",
+ //"sjd",
+ "frederick",
+ "icons",
+ // "gorgeoustaps", "psychichandbook",
+ // "tense",
+ ]
+ var presortMap = {}
+ for (var i = 0; i < presortOrder.length; i++)
+ presortMap[presortOrder[i]] = true
+ //roomz['sjd'] = Roomlist.newRecord([0,"sjd",0,0,"http://scannerjammer.com/img/sjd.jpg"])
+ for (var i = 0; i < ROOM_LIST.length; i++)
+ {
+ var row = ROOM_LIST[i]
+ if (row.length < 4)
+ continue
+ roomz[row[1]] = Roomlist.newRecord(row)
+ if (! (presortMap.hasOwnProperty(row[1])))
+ keys.push(row[1])
+ }
+ for (var i = 0; i < presortOrder.length; i++)
+ {
+ sorted.push(roomz[presortOrder[i]])
+ }
+ for (i in keys.sort())
+ {
+ // console.log(keys[i])
+ sorted.push(roomz[keys[i]])
+ }
+ $("#roomlist").html(sorted.join(""))
+ },
+ newRecord: function (row)
+ {
+ var rotation = function(x) {
+ var pre = " -moz- -webkit- -o-".split(" ");
+ var r = "";
+ var d = Math.floor(Math.random()*2 * x - x);
+ //console.log(d);
+ for (var i in pre) {
+ r += pre[i] + "transform:rotate(" + d + "deg);"
+ }
+ r += "\">";
+ return r;
+ };
+ //console.log(rotation);
+ var s = ""
+ //if (row[1] === "sjd")
+ // s += "<a href='http://lolz.biz/sjd/' class='roomdiv' style=\"width: "+Roomlist.width+"px;" + rotation(5);
+ if (row[1] === "main")
+ s += "<a href='/"+row[1]+"' class='roomdiv' style=\"width: "+Roomlist.width*2+"px;" + rotation(5);
+ else
+ s += "<a href='/"+row[1]+"' class='roomdiv' style=\"width: "+Roomlist.width+"px;" + rotation(5);
+ if (parseInt(row[3]) > 0)
+ s += "<span class='count'>" + row[3] + "</span>"
+ s += "<span class='roomname'>" + row[1] + "</span>"
+ s += "<div class=\"roombg\" style=\"background-image: url('"+row[4]+"'); " + rotation(5) + "</div>"
+ s += "</a>"
+ return s
+ },
+ init: function ()
+ {
+ if (Auth.loaded)
+ Auth.unload()
+ Poll.init()
+ },
+ }
+var Main =
+ {
+ resize: function ()
+ {
+ var w = $(window).width()
+ var cols = 4 // Math.floor(w / Roomlist.minwidth)
+ Roomlist.width = Math.floor(w / cols)
+ },
+ init: function ()
+ {
+ $(window).resize(Main.resize)
+ Main.resize()
+ Roomlist.list()
+ Auth.success = Roomlist.init
+ if (! Auth.init())
+ Auth.load()
+ },
+ }
+Main.init()
+