function initFullscreen(){ Room = "photobooth"; refresh(); ImageCache = []; SeenImages = {}; FavedMap = {}; $('#tools-button').click(toolsToggle); } function toolsToggle(){ if ($("#msgInputDiv").css("display") == "none") toolsShow() else toolsHide() } function toolsShow(){ $("#msgInputDiv").css("display", "block") } function toolsHide(){ $("#msgInputDiv").css("display", "none") } function scanMessagesForImages(messages){ for(var m=0; m'); if (FavedMap[this.msg_id]) $('#fav-indicator').show(); else $('#fav-indicator').hide(); } function refresh() { var onSuccess = function(json) { try { if (json.messages && json.messages.length) scanMessagesForImages(json.messages); Timestamp = json.timestamp; } catch(e) { } setTimeout(refresh, 1000); }; var onError = function(resp, textStatus, errorThrown) { setTimeout(refresh, 4000); }; $.ajax({ type: 'GET', timeout: 5000, url: '/refresh', data: { 'room': Room, 'since': Timestamp }, cache: false, dataType: 'json', success: onSuccess, error: onError }); } function initLogin() { $('#logininner').ridgificate('2px solid #dd0000', '2px solid #fe6230', '2px solid #fef600', '2px solid #00bc00', '2px solid #009bfe', '2px solid #000083', '2px solid #30009b', '2px solid #dd0000', '2px solid #fe6230', '2px solid #fef600', '2px solid #00bc00', '2px solid #009bfe', '2px solid #000083', '2px solid #30009b'); } function loginErrorText(resp) { var code = ""; try { code = (resp && resp.responseText) ? ("" + resp.responseText).replace(/^\s+|\s+$/g, "") : ""; } catch(e) {} if (code == "NICK_TOO_SHORT") return "Username too short (min 3 characters)."; if (code == "NICK_TOO_LONG") return "Username too long (max 16 characters)."; if (code == "NICK_INVALID_CHARS") return "Username can only use letters, numbers, '_' and '-'."; if (code == "NICK_TAKEN") return "That username is taken/reserved. Try another."; if (code == "RECENTLY_CREATED") return "Too many new accounts from this IP. Try an existing username."; if (code == "RECENTLY_MUTED") return "This IP is restricted from creating new accounts. Try an existing username."; if (code && code != "BAD_LOGIN") return "Couldn't log you in (" + code + ")."; return "Couldn't log you in :( Try a different username."; } function showLogin() { $('#nickInput').val(''); $('#passwordInput').val(''); $('#loginbox').show().center().center(); $('#username').focus(); $('input').removeAttr('disabled'); } function login() { $('#spinner').show(); $('input').attr('disabled', 'disabled'); var nick = $('#nickInput').val(); var password = $('#passwordInput').val() || ''; var rememberme = $('#remembermeInput').attr('checked') ? 'yes' : ''; var hash = password ? hex_sha1(nick + '$' + password + '$dumpfm') : ''; var onSuccess = function(json) { if (typeof pageTracker !== 'undefined') { pageTracker._setCustomVar(1, "logged-in", nick); } LoggedIn = true; $('#loginbox').hide(); $('.sublogo').text('click to fav'); }; var onError = function(resp, textStatus, errorThrown) { $('#spinner').hide(); $('input').removeAttr('disabled'); $('#errormsg').text(loginErrorText(resp)); } $.ajax({ type: 'POST', timeout: 5000, url: '/login', data: {'nick': nick, ts: '', 'hash': hash, 'rememberme': rememberme}, cache: false, dataType: 'json', success: onSuccess, error: onError }); } // http://plugins.jquery.com/project/autocenter (function($){ $.fn.extend({ center: function () { return this.each(function() { var top = ($(window).height() - $(this).outerHeight()) / 2; var left = ($(window).width() - $(this).outerWidth()) / 2; $(this).css({position:'absolute', margin:0, top: (top > 0 ? top : 0)+'px', left: (left > 0 ? left : 0)+'px'}); }); } }); })(jQuery); (function($) { $.fn.extend({ ridgificate: function() { var ridges = arguments; return this.each(function() { for (var i = 0; i < ridges.length; i++) { $(this).wrap('
'); } }); }}); })(jQuery); var LogoFadeDelay = 3000; var PrevMouseCoord = [-1, -1]; $(function() { $(document).mousemove(function(e) { if (e.pageX == PrevMouseCoord[0] && e.pageY == PrevMouseCoord[1]) return; PrevMouseCoord = [e.pageX, e.pageY]; $('#memelogo').stop(true, false).animate({opacity: 1.0}, "fast").delay(LogoFadeDelay).animate({opacity: 0}, "slow"); }); $('#memelogo').delay(LogoFadeDelay).animate({opacity: 0}, "slow"); });