var Keyboard =
{
altMode: false,
fullscreenKeys: function (event)
{
kc = event.keyCode
if (kc === 27)
Viewport.fullscreenOff()
if (kc === 37 || kc === 177)
Player.playPrev()
if (kc === 39 || kc === 176)
Player.playNext()
if (kc === 32 || kc === 179)
Player.toggle()
if (kc === 76)
Player.likeClick()
return false
},
standardKeys: function (event)
{
kc = event.keyCode
if (kc === 91)
{
Keyboard.altMode = true
return true
}
if (kc === 27)
{
Viewport.fullscreenOn()
return false
}
if (kc === 37 || kc === 177)
{
Player.playPrev()
return false
}
else if (kc === 39 || kc === 176)
{
Player.playNext()
return false
}
if (! Menu.isOpen && ! Keyboard.altMode && kc === 76)
{
Player.likeClick()
return false
}
if (kc === 32 || kc === 179)
{
Player.toggle()
return false
}
Keyboard.altMode = false
return true
}
}
var Viewport =
{
fullscreenMode: false,
fullscreenOn: function ()
{
$("#logo,#logobg,#sitez,#playlist,#playlistbg,#contact,#bg,#gif-container,#controls").hide()
$("#settings-container").hide()
$(window).unbind("resize")
$(window).bind("resize", Viewport.fullscreenResize)
$(window).unbind("keydown")
$(window).bind("keydown", Keyboard.fullscreenKeys)
// 1) HIDDEN
// $("body").css("overflow-y", "hidden")
d.scrollToTop("body")
Viewport.fullscreenResize()
Viewport.fullscreenMode = true
// $("#fullscreen").unbind("click")
// $("#fullscreen").bind("click", Viewport.fullscreenOff)
$("#fullscreen-warning").show().fadeOut(3000)
$("#video-title").addClass("fullscreen")
},
fullscreenResize: function ()
{
// 2) FIXED
// $("#projector").css({ position: 'fixed', top: 0, left: 0, width: $(window).width(), height: $(window).height() })
$("#player").css({ top: 0, left: 0, width: $(window).width(), height: $(window).height() })
$("#screen,#ytscreen").css({ width: $(window).width(), height: $(window).height() })
},
fullscreenOff: function ()
{
$("#logo,#logobg,#sitez,#playlist,#playlistbg,#contact,#bg,#gif-container,#controls").show()
// $("body").css("overflow-y", "scroll")
$(window).unbind("resize")
$(window).bind("resize", Viewport.standardResize)
Viewport.standardResize()
Viewport.fullscreenMode = false
$(window).unbind("keydown")
$(window).bind("keydown", Keyboard.standardKeys)
$("#fullscreen").unbind("click")
$("#fullscreen").bind("click", Viewport.fullscreenOn)
$("#video-title").removeClass("fullscreen")
},
standardResize: function ()
{
var w = $(window).width()
var h = $(window).height()
var contact = w * 200 / 1425
var ytw = (w-contact-40)*4/7
var yth = ytw * 9/16
var plw = (w-contact-40)*3/7
$("#contact img").css("max-width", contact)
var conheight = $("#controls").height()
var contactheight = $("#contact").height()
var qheight = Math.max(yth+conheight+40, h - 94 - 60) // Math.max(yth+conheight+40, contactheight)
$("#playlist").css("top", 94).css("left", contact+40)
$("#playlist,#playlistbg").css("width", plw-20)
$("#playlist,#playlistbg").css("height", qheight)
$("#queue").css("height", qheight)
var queuetop = $("#queue").offset().top
$("#playlistbg").css("top", queuetop).css("left", contact+40)
$("#contact").css("width", contact).css("top", 94).css("left", 20)
$("#projector").css({ position: 'absolute', })
$("#player").css("height", yth+conheight+10)
$("#player").css("top", queuetop).css("left", plw+contact+40)
$("#projector").css("left", 0)
$("#player,#projector,#screen,#ytscreen").width(ytw-40)
$("#projector,#screen,#ytscreen").height(yth)
$("#controls").css({ position: 'absolute', top: yth+20, bottom: 'auto', right: 'auto', })
$("#gif-container").css("top", qheight+30+134)
},
focus: function ()
{
d.warn("VIEWPORT FOCUS")
// if (! Viewport.fullscreenMode || Viewport.fullscreenInterface)
// Keyboard.focusTextarea()
document.body.tabIndex = 0
document.body.focus()
Viewport.focused = true
// Chat.delay = 1000
// if (Like.pending)
// Like.fire()
// Chat.delay = Chat.delayShort
},
blur: function ()
{
d.warn("VIEWPORT BLUR")
Viewport.focused = false
// Chat.delay = Chat.delayLong
}
}
var Room =
{
load: function ()
{
Settings.open()
}
}
var Settings =
{
bio: "",
data: {},
eventSet: false,
defaults:
{
avatar: "http://scannerjammer.com/img/runner.gif",
bg: "http://scannerjammer.com/bgz/scannerjammer_cyberspace.jpg",
},
open: function ()
{
if (parseInt(Auth.userid) !== userProfile[0])
return
$("#settings-hook").show()
$("#profile-avatar").val(Settings.data.avatar)
$("#profile-bg").val(Settings.data.bg)
$("#profile-bio").html(Settings.bio)
if (! Profile.eventSet)
{
$("#profile-settings-save").bind("click", Settings.save)
Profile.eventSet = true
}
},
save: function ()
{
d.warn("saving profile")
var avatar = d.sanitize( $("#profile-avatar").val() )
Settings.data.avatar = avatar
var bg = d.sanitize( $("#profile-bg").val() )
Settings.data.bg = bg
var bio = d.sanitizeWithNewlines( $("#profile-bio").val() )
Settings.bio = bio
Settings.load()
var s = "avatar\t"+avatar+"\n"
s += "bg\t"+bg+"\n"
var data = {
userid: userProfile[0],
settings: s,
bio: bio,
session: Auth.session,
}
$.post(API.URL.user.settings, data).success(Settings.saveCallback).error(Settings.errorCallback)
},
errorCallback: function (raw)
{
},
saveCallback: function (raw)
{
Menu.settings.close()
},
load: function ()
{
if (Settings.data.avatar.indexOf("http://") === 0)
$(".avatar").attr("src", Settings.data.avatar).show()
else
$(".avatar").hide()
if (Settings.data.bg.indexOf("http://") === 0)
{
$("#bg img").attr("src", Settings.data.bg)
$("#bg").show()
}
else
$("#bg").hide()
var bio = ''
if (! Settings.bio.length)
{
bio = "
"
}
var lines = d.trim( Settings.bio ).split("\n")
for (i in lines)
{
if (lines[i].length === 0)
continue
var s = Chat.parseWords(lines[i])
if (s.indexOf(""+s+"
