summaryrefslogtreecommitdiff
path: root/photobooth/fullscreenphotobooth.js
diff options
context:
space:
mode:
authordumpfmprod <dumpfmprod@ubuntu.(none)>2013-08-09 09:28:41 -0400
committerdumpfmprod <dumpfmprod@ubuntu.(none)>2013-08-09 09:28:41 -0400
commita7cad3dea595698294e55673b10b4380315a8013 (patch)
tree8e33586d86acd62efff419c9fec01fa3c32eb112 /photobooth/fullscreenphotobooth.js
parent9c565b805bd0a3315ea56c5e9960f6846fe073be (diff)
Prod commit
Diffstat (limited to 'photobooth/fullscreenphotobooth.js')
-rw-r--r--photobooth/fullscreenphotobooth.js185
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