summaryrefslogtreecommitdiff
path: root/static/js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js')
-rw-r--r--static/js/fullscreenmgmt.js185
-rw-r--r--static/js/pichat.js4
2 files changed, 187 insertions, 2 deletions
diff --git a/static/js/fullscreenmgmt.js b/static/js/fullscreenmgmt.js
new file mode 100644
index 0000000..6137238
--- /dev/null
+++ b/static/js/fullscreenmgmt.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
diff --git a/static/js/pichat.js b/static/js/pichat.js
index 5713531..6a6d962 100644
--- a/static/js/pichat.js
+++ b/static/js/pichat.js
@@ -567,7 +567,7 @@ function refresh() {
console.error(e);
}
}
- setTimeout(refresh, 1000);
+ setTimeout(refresh, 3000);
};
var onError = function(resp, textStatus, errorThrown) {
var msg = $.trim(resp.responseText);
@@ -576,7 +576,7 @@ function refresh() {
if (IsAdmin && window.console) {
console.error(resp, textStatus, errorThrown);
}
- setTimeout(refresh, 4000);
+ setTimeout(refresh, 1000);
};
$.ajax({