// JavaScript Document

var loop;
var ajax = new Ajax();
var AnQsLoop;
var timeout = 180000 //180sec before the question gets timed out
var timeoutLoop;
var SessionCheckLoop;

function InitialSetup()
{
	AnQsLoop = setTimeout("retrieveAnQs()",1000);
	SessionCheckLoop = setTimeout("retrieveSession()",10000);
}

function btnAction_onClick(btnValue, str)
{
	if (btnValue == "Submit")
	{
		insertQ(str);
	}
	else if (btnValue == "Cancel")
	{
		stopLoop();
	}
}	

function insertQ(str) {
	document.getElementById("enterQ").innerHTML = "Q: " + str;
	var url="ajax/insertQ.asp";
	url=url+"?q=" + str;
	url=url+"&sessionID=" + document.getElementById("sessionID").value;
	url=url+"&random="+Math.random();
	ajax.doGet(url, printLoading);
}

function retrieveA() {
	var url="ajax/retrieveA.asp";
	url=url+"?a=" + document.getElementById("qID").value;
	url=url+"&random="+Math.random();
	ajax.doGet(url, printResult);
}

function CancelQ() {
	var url="ajax/updateQ.asp";
	url=url+"?qID=" + document.getElementById("qID").value;
	url=url+"&func=cancel";
	url=url+"&random="+Math.random();
	ajax.doGet(url, printResult);
}

function retrieveAnQs() {
	
	var url="ajax/retrieveAnQs.asp";
	url=url+"?random="+Math.random();
	url=url+"&sessionID=" + document.getElementById("sessionID").value;
	ajax.doGet(url, printAnQs, "xml");
}

function printLoading(str) {
	document.getElementById("QuestionAnswer").innerHTML = str;
	document.Form_QnA.btnAction.value = "Cancel";
	loop=setTimeout("retrieveA()",10000);
	timeoutLoop=setTimeout(stopLoop, timeout);
}

function printResult(str) {
	if (str == "0")
	{
		loop=setTimeout("retrieveA()",5000)
	}
	else
	{
		document.getElementById("QuestionAnswer").innerHTML = "A: " + str;
		document.Form_QnA.inputQuestion.value = "";
		document.Form_QnA.btnAction.value = "Submit";
		clearTimeout(loop);
		clearTimeout(timeoutLoop);
	}
}

function printAnQs(xmlDoc) {

	var QnAs
	var x=xmlDoc.getElementsByTagName("QnA");
	QnAs = "";
	
	for (i=0;i<x.length;i++)
	  {
		QnAs += "Q: " + x[i].childNodes[0].childNodes[0].nodeValue;
		QnAs += "<br />";
		QnAs += "A: " + x[i].childNodes[1].childNodes[0].nodeValue;
		QnAs += "<br />";
		QnAs += "<hr />";
	  }
	
	document.getElementById("QnAFrame").innerHTML = QnAs;
	AnQsLoop = setTimeout("retrieveAnQs()",10000);
}

function stopLoop() {
	clearTimeout(loop)
	//ajax.abort();
	CancelQ();
	document.Form_QnA.inputQuestion.value = "";
	document.Form_QnA.btnAction.value = "Submit";
	document.getElementById("QuestionAnswer").innerHTML = "";
}

//update active session
function retrieveSession() 
{
	var url="ajax/session.asp";
	url=url+"?random="+Math.random();
	url=url+"&process=retrieve";
	url=url+"&sessionID=" + document.getElementById("sessionID").value;
	ajax.doGet(url, printSession);
}

//display the session description
function printSession(str) {
	
	if (str == "null")
	{
		document.getElementById("sDescription").innerHTML = "&lt;The Q and A session has ended&gt;";
		clearTimeout(loop);
		clearTimeout(timeoutLoop);
		clearTimeout(AnQsLoop);
		document.Form_QnA.inputQuestion.value = "";
		document.Form_QnA.btnAction.disabled = true;
		document.getElementById("QuestionAnswer").innerHTML = "";
	}
	else
	{
		document.getElementById("sDescription").innerHTML = str;
		SessionCheckLoop = setTimeout("retrieveSession()",10000);
	}
}