var xmlHttp;
var currentID;
var currentAnswer_State = new Array();


function displayQAnswer(id) {
	if (id > -1 ) { 
		if ( currentAnswer_State[id] == null || currentAnswer_State[id] == "C") {
			/* Closed so open it */

 			currentID = id;
			document.getElementById("answer_area_" + id).innerHTML = "Loading answer...";

			var url="front_support.php?Mode=get_question_answer&sid=" + Math.random() + "&id=" + id;
			xmlHttp=GetXmlHttpObject(displayQAnswer_stateChanged);
			xmlHttp.open("GET", url , true);
			xmlHttp.send(null);
		}
		else if ( currentAnswer_State[id] == "O") {
			/* Currently open, so close it */
			document.getElementById("answer_area_" + id).innerHTML = "";
			currentAnswer_State[id] = "C";
			document.getElementById("answer_link_" + id).innerHTML = 'View Answer';
			document.getElementById("answer_link_img_" + id).src = 'img/style/arrow01.gif';
		}

	} 
	else { 
		document.getElementById("answer_area_" + id).innerHTML = "";
		document.getElementById("answer_link_" + id).innerHTML = 'View Answer';
		document.getElementById("answer_link_img_" + id).src = 'img/style/arrow01.gif';		
		currentID = '';
	} 
} 

function displayQAnswer_stateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		document.getElementById("answer_area_" + currentID).innerHTML = xmlHttp.responseText;
		currentAnswer_State[currentID] = "O";
		document.getElementById("answer_link_" + currentID).innerHTML = 'Hide Answer';
		document.getElementById("answer_link_img_" + currentID).src = 'img/style/arrow02.gif';
		closeOtherAnswers();
	} 
} 

function GetXmlHttpObject(handler) { 
	var objXmlHttp=null;

	if (navigator.userAgent.indexOf("MSIE")>=0) { 
		var strName="Msxml2.XMLHTTP";

		if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
			strName="Microsoft.XMLHTTP";
		} 
		try { 
			objXmlHttp=new ActiveXObject(strName);
			objXmlHttp.onreadystatechange=handler;
			return objXmlHttp;
		} 
		catch(e) { 
			alert("Error. Scripting for ActiveX might be disabled");
			return 
		} 
	} 

	if (navigator.userAgent.indexOf("Mozilla")>=0 || navigator.userAgent.indexOf("Opera")>=0 ) {
		objXmlHttp=new XMLHttpRequest();
		if ( handler != null ) {
			objXmlHttp.onload=handler;
			objXmlHttp.onerror=handler;
		}
		return objXmlHttp;
	}
} 

function closeOtherAnswers() {
	var doc = document.getElementsByTagName('span');
	for (var i = 0; i < doc.length; i++){
		//document.getElementById("answer_area_2").innerHTML = document.getElementById("answer_area_2").innerHTML + "<br/>" + doc[i].id.substring(0,11);
   		if (  doc[i].id.substring(0,12) == "answer_link_" ) {
			id = doc[i].id.substring(12);
			if ( id != currentID && currentAnswer_State[id] != null && currentAnswer_State[id] == "O" ) {
				// Close this one.
				document.getElementById("answer_area_" + id).innerHTML = ""
				currentAnswer_State[id] = "C";
				document.getElementById("answer_link_" + id).innerHTML = "View Answer";
				document.getElementById("answer_link_img_" + id).src = 'img/style/arrow01.gif';				

			}
		}
	}
}
