// opstate.js

var cDepartment = 1;
var cTimeout = 2000;
var cPhpUrl = "/chat/opstate.php?department=" + cDepartment;
var gOnlineObjects = new Array();
var gOfflineObjects = new Array();

function getXMLHttpRequestObj() {
	var xmlhttp = null;
	try {
		xmlhttp = new XMLHttpRequest();
	}
	catch (e) { }
	if (xmlhttp == null) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) { }
	}
	if (xmlhttp == null) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) { }
	}
	return xmlhttp;
}

function registerCraftyOnlineObject(objId) {
	var theObject = document.getElementById(objId);
	if (theObject != null) {
		gOnlineObjects.push(theObject);
	}
}

function registerCraftyOfflineObject(objId) {
	var theObject = document.getElementById(objId);
	if (theObject != null) {
		gOfflineObjects.push(theObject);
	}
}

function isCraftyOperatorOnline() {
	var bRet = false;
	try {
		var req = getXMLHttpRequestObj();
		if (req != null) {
			req.open("GET", cPhpUrl, false);
			req.send(null);
			if (req.status == 200) {
				if (req.responseText != "0") {
					bRet = true;
				}
			}
		}
	}
	catch (e) {
	}
	return bRet;
}

function checkCraftyOperatorState() {
	try {
		if (gOnlineObjects.length != 0 || gOfflineObjects.length != 0) {
			var onState, offState;
			var i;
			if (isCraftyOperatorOnline()) {
				onState = "";
				offState = "none";
			}
			else {
				onState = "none";
				offState = "";
			}
			for (i = 0; i < gOnlineObjects.length; i++) {
				gOnlineObjects[i].style.display = onState;
			}
			for (i = 0; i < gOfflineObjects.length; i++) {
				gOfflineObjects[i].style.display = offState;
			}
		}
		window.setTimeout(checkCraftyOperatorState, cTimeout);
	}
	catch (e) {
	}
}

function openLiveHelpEx(department) {
	if (isCraftyOperatorOnline()) {
		try {
			openLiveHelp(department);
		}
		catch(e) { }
	}
}

