diff options
| author | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2013-08-09 09:28:41 -0400 |
|---|---|---|
| committer | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2013-08-09 09:28:41 -0400 |
| commit | a7cad3dea595698294e55673b10b4380315a8013 (patch) | |
| tree | 8e33586d86acd62efff419c9fec01fa3c32eb112 /photobooth/fullscreenphotobooth.js | |
| parent | 9c565b805bd0a3315ea56c5e9960f6846fe073be (diff) | |
Prod commit
Diffstat (limited to 'photobooth/fullscreenphotobooth.js')
| -rw-r--r-- | photobooth/fullscreenphotobooth.js | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/photobooth/fullscreenphotobooth.js b/photobooth/fullscreenphotobooth.js new file mode 100644 index 0000000..6137238 --- /dev/null +++ b/photobooth/fullscreenphotobooth.js @@ -0,0 +1,185 @@ +function initFullscreen(){ + Room = "mgmt"; + 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<messages.length; m++) { + var images = getImagesAsArray(messages[m].content) + for (var i = 0; i<images.length; i++){ + NextImage = new Image() + NextImage.onload = displayImage + NextImage.src = images[i] + NextImage.msg_id = messages[m].msg_id; + } + } +} + +function clickImage(img) { + if (!LoggedIn) return; + var msg_id = $(img).attr('msg_id'); + if (!$(img).hasClass('fullscreen-favorite')) { + FavedMap[msg_id] = true; + $('#fav-indicator').show(); + Tag.add(msg_id, "favorite"); + $(img).addClass("fullscreen-favorite"); + track('UI', 'FullscreenFav'); + } else { + delete FavedMap[msg_id]; + $('#fav-indicator').hide(); + Tag.rm(msg_id, "favorite"); + $(img).removeClass("fullscreen-favorite"); + track('UI', 'FullscreenDeFav'); + } +} + +function displayImage(){ + $("#big-image").html('<img src="'+this.src+'" msg_id = "' + this.msg_id + '" onclick="clickImage(this)">'); + 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 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 = 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("Couldn't log you in :( Bad password?"); + } + + $.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('<div style="border: ' + ridges[i] + '">'); + } + }); + }}); +})(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"); +});
\ No newline at end of file |
