Better fix for previous commit

This commit is contained in:
calzoneman 2013-03-31 20:29:39 -05:00
parent 28b9bdb54d
commit a0c26ee0e5
1 changed files with 61 additions and 67 deletions

View File

@ -197,70 +197,67 @@ $("#register").click(function() {
}); });
}); });
function initChatCallback() { $("#chatline").keydown(function(ev) {
$("#chatline").keydown(function(ev) { if(ev.keyCode == 13 && $("#chatline").val() != "") {
if(ev.keyCode == 13 && $("#chatline").val() != "") { socket.emit("chatMsg", {
socket.emit("chatMsg", { msg: $("#chatline").val()
msg: $("#chatline").val() });
}); CHATHIST.push($("#chatline").val());
if(CHATHIST.length > 10)
CHATHIST.shift();
CHATHISTIDX = CHATHIST.length;
$("#chatline").val("");
}
else if(ev.keyCode == 9) { // Tab completion
var words = $("#chatline").val().split(" ");
var current = words[words.length - 1].toLowerCase();
var users = $("#userlist").children();
var match = null;
for(var i = 0; i < users.length; i++) {
var name = users[i].children[1].innerHTML.toLowerCase();
if(name.indexOf(current) == 0 && match == null) {
match = users[i].children[1].innerHTML;
}
else if(name.indexOf(current) == 0) {
match = null;
break;
}
}
if(match != null) {
words[words.length - 1] = match;
if(words.length == 1)
words[0] += ": ";
else
words[words.length - 1] += " ";
$("#chatline").val(words.join(" "));
}
ev.preventDefault();
return false;
}
else if(ev.keyCode == 38) {
if(CHATHISTIDX == CHATHIST.length) {
CHATHIST.push($("#chatline").val()); CHATHIST.push($("#chatline").val());
if(CHATHIST.length > 10)
CHATHIST.shift();
CHATHISTIDX = CHATHIST.length;
$("#chatline").val("");
} }
else if(ev.keyCode == 9) { // Tab completion if(CHATHISTIDX > 0) {
var words = $("#chatline").val().split(" "); CHATHISTIDX--;
var current = words[words.length - 1].toLowerCase(); $("#chatline").val(CHATHIST[CHATHISTIDX]);
var users = $("#userlist").children();
var match = null;
for(var i = 0; i < users.length; i++) {
var name = users[i].children[1].innerHTML.toLowerCase();
if(name.indexOf(current) == 0 && match == null) {
match = users[i].children[1].innerHTML;
}
else if(name.indexOf(current) == 0) {
match = null;
break;
}
}
if(match != null) {
words[words.length - 1] = match;
if(words.length == 1)
words[0] += ": ";
else
words[words.length - 1] += " ";
$("#chatline").val(words.join(" "));
}
ev.preventDefault();
return false;
} }
else if(ev.keyCode == 38) {
if(CHATHISTIDX == CHATHIST.length) { ev.preventDefault();
CHATHIST.push($("#chatline").val()); return false;
} }
if(CHATHISTIDX > 0) { else if(ev.keyCode == 40) {
CHATHISTIDX--; if(CHATHISTIDX < CHATHIST.length - 1) {
$("#chatline").val(CHATHIST[CHATHISTIDX]); CHATHISTIDX++;
} $("#chatline").val(CHATHIST[CHATHISTIDX]);
ev.preventDefault();
return false;
} }
else if(ev.keyCode == 40) {
if(CHATHISTIDX < CHATHIST.length - 1) { ev.preventDefault();
CHATHISTIDX++; return false;
$("#chatline").val(CHATHIST[CHATHISTIDX]); }
} });
$("#messagebuffer").mouseenter(function() { SCROLLCHAT = false; });
ev.preventDefault(); $("#messagebuffer").mouseleave(function() { SCROLLCHAT = true; });
return false;
}
});
$("#messagebuffer").mouseenter(function() { SCROLLCHAT = false; });
$("#messagebuffer").mouseleave(function() { SCROLLCHAT = true; });
}
initChatCallback();
$("#opt_submit").click(function() { $("#opt_submit").click(function() {
@ -316,14 +313,13 @@ function largeLayout() {
VWIDTH = "770"; VWIDTH = "770";
VHEIGHT = "430"; VHEIGHT = "430";
$("#ytapiplayer").attr("width", "770").attr("height", "430"); $("#ytapiplayer").attr("width", "770").attr("height", "430");
var chat = $("#chatdiv").remove(); var chat = $("#chatdiv").detach();
$("#layoutrow").remove(); $("#layoutrow").remove();
var r = $("<div />").addClass("row").insertAfter($(".row")[1]); var r = $("<div />").addClass("row").insertAfter($(".row")[1]);
r.attr("id", "layoutrow"); r.attr("id", "layoutrow");
chat.removeClass().addClass("span8 offset2").appendTo(r); chat.removeClass().addClass("span8 offset2").appendTo(r);
$("#userlist").css("width", "200px"); $("#userlist").css("width", "200px");
//$("#chatline").css("width", "756px"); //$("#chatline").css("width", "756px");
initChatCallback();
} }
function hugeLayout() { function hugeLayout() {
@ -331,7 +327,7 @@ function hugeLayout() {
VHEIGHT = "658"; VHEIGHT = "658";
$("#videodiv").removeClass().addClass("span12"); $("#videodiv").removeClass().addClass("span12");
$("#ytapiplayer").attr("width", "1170").attr("height", "658"); $("#ytapiplayer").attr("width", "1170").attr("height", "658");
var chat = $("#chatdiv").remove(); var chat = $("#chatdiv").detach();
$("#layoutrow").remove(); $("#layoutrow").remove();
var r = $("<div />").addClass("row").insertAfter($(".row")[1]); var r = $("<div />").addClass("row").insertAfter($(".row")[1]);
r.attr("id", "layoutrow"); r.attr("id", "layoutrow");
@ -339,7 +335,6 @@ function hugeLayout() {
$("#userlist").css("width", "200px").css("height", "200px"); $("#userlist").css("width", "200px").css("height", "200px");
$("#messagebuffer").css("height", "200px"); $("#messagebuffer").css("height", "200px");
//$("#chatline").css("width", "1156px"); //$("#chatline").css("width", "1156px");
initChatCallback();
} }
function narrowLayout() { function narrowLayout() {
@ -347,18 +342,17 @@ function narrowLayout() {
VHEIGHT = "321"; VHEIGHT = "321";
$("#videodiv").removeClass().addClass("span6"); $("#videodiv").removeClass().addClass("span6");
$("#ytapiplayer").attr("width", "570").attr("height", "321"); $("#ytapiplayer").attr("width", "570").attr("height", "321");
var chat = $("#chatdiv").remove(); var chat = $("#chatdiv").detach();
$("#layoutrow").remove(); $("#layoutrow").remove();
var r = $("<div />").addClass("row").insertAfter($(".row")[1]); var r = $("<div />").addClass("row").insertAfter($(".row")[1]);
r.attr("id", "layoutrow"); r.attr("id", "layoutrow");
chat.removeClass().addClass("span6").appendTo(r); chat.removeClass().addClass("span6").appendTo(r);
$("#userlist").css("width", "150px"); $("#userlist").css("width", "150px");
//$("#chatline").css("width", "556px"); //$("#chatline").css("width", "556px");
initChatCallback();
} }
function synchtubeLayout() { function synchtubeLayout() {
$("#videodiv").remove().insertBefore($("#chatdiv")); $("#videodiv").detach().insertBefore($("#chatdiv"));
} }
function onYouTubeIframeAPIReady() { function onYouTubeIframeAPIReady() {