summaryrefslogtreecommitdiff
path: root/js-maybe-remove/avatar.js
diff options
context:
space:
mode:
Diffstat (limited to 'js-maybe-remove/avatar.js')
-rwxr-xr-xjs-maybe-remove/avatar.js236
1 files changed, 236 insertions, 0 deletions
diff --git a/js-maybe-remove/avatar.js b/js-maybe-remove/avatar.js
new file mode 100755
index 0000000..11d39d4
--- /dev/null
+++ b/js-maybe-remove/avatar.js
@@ -0,0 +1,236 @@
+var Avatar =
+ {
+ orientation: true,
+ loaded: false,
+ }
+Room.loadCallback = function () { setTimeout(Viewport.fullscreenOn, 500) }
+Chat.store = function (lines)
+ {
+ var newVideos = []
+ var newChat = []
+ var postponeScroll = false
+ for (i in lines)
+ {
+ if (! lines[i])
+ continue
+ row = lines[i].split("\t")
+ if (row[0] === 'VIDEO')
+ {
+ row.shift()
+ if (row[0] in Chat.oldVideo)
+ continue
+ Chat.oldVideo[row[0]] = row
+ Playlist.enqueueOldVideoFormat([row])
+ }
+ else if (row[0] === 'ROOM')
+ {
+ Room.updateSetting(row[1],row[2])
+ }
+ else if (row[0] === 'LIKE')
+ {
+ username = row[1]
+ Like.enqueue(username)
+ }
+ else if (row[0] === 'CAM')
+ {
+ VideoChat.updateCount(row[1])
+ }
+ else
+ {
+ // 0 id 1 date 2 user 3 msg
+ if (row[0] in Chat.oldChat)
+ continue
+ Chat.oldChat[row[0]] = row
+ var c = Chat.parse(row)
+ if (c.indexOf("<img") !== -1)
+ {
+ postponeScroll = true
+ d.joy(">> POSTPONING")
+ }
+ if (row[2] === Auth.username && $.md5(row[3]) in Chat.messages)
+ continue
+ newChat.push(c)
+ }
+ }
+ if (newChat.length)
+ {
+ if (Avatar.loaded)
+ {
+ $("#chat").append(newChat.join(""))
+ }
+ else
+ {
+ Avatar.loaded = true
+ $("#chat").append(newChat[newChat.length-1])
+ }
+ if (postponeScroll)
+ setTimeout('d.scrollToBottom("#chat")', 2000)
+ else
+ d.scrollToBottom("#chat")
+ }
+ }
+Chat.say = function ()
+ {
+ d.act("+ sent message")
+ var msg = d.sanitize( $("#chat-message").val() )
+ $("#chat-message").val("")
+ if (! msg) return
+ if (msg === "debug=1") { $("#msg").show(); d.scrollToBottom("#msg"); return }
+ if (msg === "debug=0") { $("#msg").hide(); return }
+ if (msg === "poll=0") { d.error("+ DISABLED POLLING"); clearTimeout(Chat.timer); return}
+ if (msg.indexOf("bg=") === 0) { Room.setBg( msg.split("=",2)[1] ); return }
+ var hash = $.md5(msg)
+ Chat.messages[hash] = true
+ var newrow = [0, 0, Auth.username, msg]
+ // var newdiv = Chat.parse(newrow)
+ // $("#chat").append(newdiv)
+ // if (newdiv.indexOf("<img") !== -1)
+ // setTimeout('d.scrollToBottom("#chat")', 2000)
+ if (msg.indexOf("scannerjammer.com/avatar") === -1)
+ msg = "http://scannerjammer.com/avatar/" + d.choice(AVATARS) + " " + msg
+ $.post(API.URL.room.say, {room: Room.name, session: Auth.session, msg: msg}, Room.sayCallback)
+ d.scrollToBottom("#chat")
+ }
+Chat.parse = function (row)
+ {
+ return Chat.parseWords(row[3])
+ },
+Chat.parseWords = function (raw)
+ {
+ var words = raw.split(" ")
+ var s = ""
+ for (i in words)
+ {
+ var avatar = ""
+ var word = words[i]
+ if (word.indexOf("http") !== -1)
+ {
+ if (word.indexOf("scannerjammer.com/avatar") !== -1)
+ {
+ avatar = word
+ }
+ else if (word.indexOf("youtube.com/watch?") !== -1)
+ {
+ var ytid = "youtube_"+Youtube.getYtid(word)
+ var txt
+ if (ytid in Player.videos)
+ txt = Player.videos[ytid].title
+ else
+ txt = word
+ s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
+ }
+ else if (word.indexOf("youtube.com/v/") !== -1)
+ {
+ var index = word.indexOf("/v/")
+ var ytid = "youtube_"+word.substr(index+3,11)
+ var txt
+ if (ytid in Player.videos)
+ txt = Player.videos[ytid].title
+ else
+ txt = word
+ s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
+ }
+ else if (word.indexOf("youtu.be") !== -1)
+ {
+ var ytid = "youtube_"+word.substr(16,11)
+ var txt
+ if (ytid in Player.videos)
+ txt = Player.videos[ytid].title
+ else
+ txt = word
+ s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
+ }
+ // http://www.youtube.com/user/ahchachachacha#p/f/28/1GSBekxLR1E
+ else if (word.indexOf("youtube.com/user") !== -1)
+ {
+ var ytid = "youtube_"+word.substr(-11)
+ var txt
+ if (ytid in Player.videos)
+ txt = Player.videos[ytid].title
+ else
+ txt = word
+ s += '<a href="'+word+'" class="ytlink" id="'+ytid+'" target="_parent">'+txt+'</a> '
+ }
+ else if (word.indexOf("vimeo.com") !== -1)
+ {
+ var vimeoid = word.replace(VIMEOregexp, "vimeo_$3")
+ if (vimeoid in Player.videos)
+ txt = Player.videos[vimeoid].title
+ else
+ txt = word
+ s += '<a href="'+word+'" class="ytlink" id="'+vimeoid+'" target="_parent">'+txt+'</a> '
+ }
+ else if (word.indexOf("soundcloud.com") !== -1)
+ {
+ var scid = "soundcloud_" + $.md5(word)
+ if (scid in Player.videos)
+ txt = Player.videos[scid].title
+ else
+ txt = word
+ s += '<a href="'+word+'" class="ytlink" id="'+scid+'" target="_parent">'+txt+'</a> '
+ }
+ else if (word.indexOf(".jpeg") !== -1 ||
+ word.indexOf(".JPG") !== -1 ||
+ word.indexOf(".GIF") !== -1 ||
+ word.indexOf(".PNG") !== -1 ||
+ word.indexOf(".JPEG") !== -1 ||
+ word.indexOf(".jpg") !== -1 ||
+ word.indexOf(".gif") !== -1 ||
+ word.indexOf(".png") !== -1)
+ {
+ s += '<a href="'+word+'" target="_blank" class="pic"><img src="'+word+'" /></a>'
+ }
+ else if (word.indexOf("scannerjammer.com/profile") !== -1)
+ {
+ var username = word.substr( word.indexOf("profile")+8 ).replace("/","")
+ s += '<a href="'+word+'">ScannerJammer: '+username+'</a>'
+ }
+ else
+ {
+ var poffset = word.indexOf('//')
+ var linktext = word.substr(poffset+2, word.indexOf('/', poffset+2)).replace("www.","")
+ s += '<a href="'+word+'" target="_blank">'+linktext+'</a> '
+ }
+ }
+ else if (word.indexOf(".com") !== -1 ||
+ word.indexOf(".net") !== -1 ||
+ word.indexOf(".org") !== -1 ||
+ word.indexOf(".us") !== -1 ||
+ word.indexOf(".nu") !== -1 ||
+ word.indexOf(".uk") !== -1 ||
+ word.indexOf(".fr") !== -1 ||
+ word.indexOf(".de") !== -1 ||
+ word.indexOf(".fm") !== -1)
+ {
+ var txt = word.replace("www.","")
+ s += '<a href="http://'+word+'" target="_blank">'+txt+'</a> '
+ }
+ else
+ s += word + " "
+ }
+ if (! avatar.length)
+ avatar = d.choice(AVATARS)
+ Avatar.orientation = ! Avatar.orientation
+ if (Avatar.orientation)
+ {
+ var q = '<div class="frame"><table border="0"><tr><td valign="top" class="avatar-left"><img src="'+ avatar +'"/></td>'
+ q += '<td valign="top" class="tri"><div class="triangle-left"></div></td><td class="message">'
+ q += '<div class="message-blurb">' + s + '</div></td></tr></table></div>'
+ return q
+ }
+ else
+ {
+ var q = [
+ '<div class="frame">',
+ '<table border="0"><tr><td valign="top" class="message"><div class="message-blurb">',
+ s,
+ '</div></td><td valign="top" class="tri"><div class="triangle-right"></div></td><td valign="top" class="avatar-right">',
+ '<img src="',
+ avatar,
+ '" /></td></tr></table></div>'
+ ].join("")
+ return q
+ }
+
+ return s
+ }