Index: lams_tool_chat/web/includes/javascript/learning.js =================================================================== diff -u -r4085b736d5e7e6a90806eaeee4291cb08dcb2dab -r0308a385767d48715f9d9beed2ac9583e982aaa3 --- lams_tool_chat/web/includes/javascript/learning.js (.../learning.js) (revision 4085b736d5e7e6a90806eaeee4291cb08dcb2dab) +++ lams_tool_chat/web/includes/javascript/learning.js (.../learning.js) (revision 0308a385767d48715f9d9beed2ac9583e982aaa3) @@ -83,7 +83,13 @@ } } - rosterDiv.parentNode.innerHTML = rosterDiv.parentNode.innerHTML; + // IE hack to ensure onclick event work when rosterDiv is updated. Only being used when in moderator mode. + if (navigator.appName == "Microsoft Internet Explorer" && MODE == "moderator") { + rosterDiv.parentNode.innerHTML = rosterDiv.parentNode.innerHTML; + // following commands are ignored by IE unless we use a delay + var t1 = setTimeout("scrollMessageDisplay()", 5); + var t2 = setTimeout("setFocusOnTextarea()", 5); + } } function Roster() { this.users = []; @@ -108,6 +114,13 @@ } } /* ******* Chat functions ******* */ +function setFocusOnTextarea() { + document.forms[0].msg.focus(); +} +function scrollMessageDisplay() { + var iRespDiv = document.getElementById("iResp"); + iRespDiv.scrollTop = iRespDiv.scrollHeight; +} function generateMessageHTML(nick, message, type) { var colour = getColour(nick); var fromElem = createElem("div", {attrClass:"messageFrom"}, null, nick); @@ -210,7 +223,7 @@ roster.updateDisplay(); } function handleConnected() { - if (MODE == "teacher" || (LEARNER_FINISHED == "true" && LOCK_ON_FINISHED == "true")) { + if (LEARNER_FINISHED == "true" && LOCK_ON_FINISHED == "true") { // disable sending messages. document.getElementById("msgArea").disabled = "disabled"; var sendButton = document.getElementById("sendButton");