function assignGlobals() {
// Assign Globals
GLOBAL.userList = new Array();
GLOBAL.lastCheck = -1;
GLOBAL.xreqMsg;
GLOBAL.xreqMsgActive = false;
GLOBAL.xreqSubmit;
GLOBAL.xreqSubmitActive = false;
GLOBAL.xreqDeact;
}
//----------------------------------------------------------
function reqMsgs() {
// request any new messages and users from server.
if (GLOBAL.xreqMsgActive) { return; }
if (GLOBAL.xreqSubmitActive) {
setTimeout(reqMsgs, 1000);
return;
}
GLOBAL.xreqMsgActive = true;
if ( !(GLOBAL.xreqMsg = createXreq()) ) {
alert("Problem with AJAX object.");
return;
}
GLOBAL.xreqMsg.open(
"POST",
"/poisedsolutions/chatmsgs",
true);
GLOBAL.xreqMsg.setRequestHeader(
"Content-type",
"application/x-www-form-urlencoded");
GLOBAL.xreqMsg.onreadystatechange = reqMsgsCallback;
var postStr =
"lastCheck=" + encodeURI(GLOBAL.lastCheck);
GLOBAL.xreqMsg.send(postStr);
}
//----------------------------------------------------------
function reqMsgsCallback() {
// Call back for reqMsgs
if (GLOBAL.xreqMsg.readyState == 4) {
if (GLOBAL.xreqMsg.status == 200) {
updateMsgUser(GLOBAL.xreqMsg.responseText);
GLOBAL.xreqMsgActive = false;
setTimeout(reqMsgs, 1000);
}
else {
alert("Problem getting messages: " +
GLOBAL.xreqMsg.status);
GLOBAL.xreqMsgActive = false;
}
}
}
//----------------------------------------------------------
function updateMsgUser(data) {
// Update Messages and User List
if (data == "error\n" || data == "no update\n") {
return;
}
data = data.replace(/\r/g, '');
eval(data);
// Add Messages
if (msgChangedIn) {
msgEle = document.getElementById('msg');
for (var k = 0; k < msgIn.length; ++k) {
var line = "";
line = authorIn[k] + " : ";
msgInLst = msgIn[k].split("
");
return;
}
data = data.replace(/\r/g, '');
eval(data);
// Add Messages
if (msgChangedIn) {
msgEle = document.getElementById('msg');
for (var k = 0; k < msgIn.length; ++k) {
var line = "";
line = authorIn[k] + " : ";
msgInLst = msgIn[k].split("
");
for (var c = 0; c < msgInLst.length; ++c) {
line += msgInLst[c];
var lineTxt = document.createTextNode(line);
msgEle.appendChild(lineTxt);
var brEle = document.createElement("br");
msgEle.appendChild(brEle);
line = "";
}
}
}
// Update User List
if (userChangedIn) {
userEle = document.getElementById('user');
userEle.innerHTML = "";
for (var k = 0; k < userIn.length; ++k) {
var line = "";
line = userIn[k];
var lineTxt = document.createTextNode(line);
userEle.appendChild(lineTxt);
var brEle = document.createElement("br");
userEle.appendChild(brEle);
}
}
// set last check time
GLOBAL.lastCheck = lastCheckIn;
}
//----------------------------------------------------------
function createXreq() {
// Create an X Req
if (window.XMLHttpRequest) {
var xreq = new XMLHttpRequest();
xreq.overrideMimeType('text/html');
return xreq;
}
else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
//----------------------------------------------------------