var xmlHttp;
var xmlObj; // XML Instance

var arrImage; // store image name
var arrQuestion;//
var arrExplanation;
var arrAnswer;
var arrCorrect;

var KetQua; // 0 : wrong ;1 right
function stateChanged()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		// get response from server
		var xmlDoc=xmlHttp.responseXML.documentElement;

		//
		arrImage=new Array();
		arrQuestion=new Array();
		arrAnswer=new Array();
		arrExplanation=new Array();
		arrCorrect=new 	Array();
		var t=0;
		var x=xmlDoc.getElementsByTagName("ques");
		for(i=0;i<x.length;i++)
		{
			// get image name
			//arrImage[i]=x[i].childNodes[1].textContent;
			arrImage[i]=x[i].getElementsByTagName("image")[0].childNodes[0].nodeValue;
			// get question
			arrQuestion[i]=x[i].getElementsByTagName("question")[0].childNodes[0].nodeValue;

			for(j=0;j<4;j++)
			{
				arrAnswer[t]=x[i].getElementsByTagName("answer")[j].childNodes[0].nodeValue;
				var att=x[i].getElementsByTagName("answer")[j].attributes;
				if(att.length>0)
				{
					arrCorrect[i]=j;
				}

				t++;
			}  // end for j
			// arrExplanation
			arrExplanation[i]=x[i].getElementsByTagName("explanation")[0].childNodes[0].nodeValue;

		} // end for i

		// get testname
		var testname= xmlDoc.getElementsByTagName("TestName")[0].childNodes[0].nodeValue;
		document.getElementById("dvTestName").innerHTML=" "+testname+" ";
		//Danh coded - repalace test name by image
		//document.getElementById("dvTestName").innerHTML="<img src='/onair/the_hills/season_3/quiz/images/quizTitle.gif' />";
		//////////////////////////////////////////
		document.getElementById("dvImg").innerHTML="<img class='clImg' src='"+arrImage[0]+"' />";
		//
		var curr=document.getElementById("currNo").value;
		curr++;
		document.getElementById("dvtitle").innerHTML="<h2>Question "+curr+":</h2>";
		document.getElementById("dvQuestion").innerHTML=arrQuestion[0];
		//
		document.getElementById("dvAns1").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='0' onclick='ShowSubmitButton();'/>"+arrAnswer[0];
		document.getElementById("dvAns2").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='1' onclick='ShowSubmitButton();'/>"+arrAnswer[1];
		document.getElementById("dvAns3").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='2' onclick='ShowSubmitButton();'/>"+arrAnswer[2];
		document.getElementById("dvAns4").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='3' onclick='ShowSubmitButton();'/>"+arrAnswer[3];
		// currAns
		document.getElementById("currAns").value=3;
		//
		document.getElementById("dvControl").innerHTML="<input id='btnSubmit' type='button' value='' onclick='Answer();REPORTING.repeatCall();'  />";

	}

}

//Change active mode
function GetXmlHttpObject()
{
	var objXMLHttp=null
	try
  	{
	  // Firefox, Opera 8.0+, Safari
	  objXMLHttp=new XMLHttpRequest();
	}
	catch (e)
	{
	  // Internet Explorer
	  try
		{
			//objXMLHttp=new ActiveXObject("Msxml2.XMLHTTP");
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	  catch (e)
		{
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
  	}

	return objXMLHttp
}
// load xml file
function LoadXML(xmlfile)
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}
	var url;
	url=xmlfile;
	xmlHttp.onreadystatechange=stateChanged;
	//
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

}
//
function NextQuestion()
{
	if(document.getElementById("currNo").value==-1)
		return ;
	// show answer
	document.getElementById("dvAnswer").style.display="block";
	// hide exp
	document.getElementById("dvEx").style.display="none";
	// hide dvCorrectQuestion
	document.getElementById("dvCorrectQuestion").style.display="none";
	var i=0;
	var currAns=0;
	i=document.getElementById("currNo").value;
	currAns=document.getElementById("currAns").value;
	i++;
	currAns++;
	// show answer No
	var count=i;
	count++;
	document.getElementById("dvtitle").innerHTML="<h2 >Question "+ count +"</h2>";
	// set value for control
	document.getElementById("currNo").value=i;
	//
	document.getElementById("dvImg").innerHTML="<img class='clImg' width='100px' height='100px' src='"+arrImage[i]+"' />";
	document.getElementById("dvQuestion").innerHTML=arrQuestion[i];
	//
	document.getElementById("dvAns1").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='0' onclick='ShowSubmitButton();'/>"+arrAnswer[currAns];
	document.getElementById("dvAns2").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='1' onclick='ShowSubmitButton();'/>"+arrAnswer[currAns+1];
	document.getElementById("dvAns3").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='2' onclick='ShowSubmitButton();'/>"+arrAnswer[currAns+2];
	document.getElementById("dvAns4").innerHTML="<input type='radio' id='rdAns' name='rdAns' value='3' onclick='ShowSubmitButton();'/>"+arrAnswer[currAns+3];
	document.getElementById("currAns").value=currAns+3;
	//

	// change Submit button
	document.getElementById("dvControl").innerHTML="<input id='btnSubmit' type='button' value='' onclick='Answer();REPORTING.repeatCall();'  />";

}
function Answer()
{
	var choose=-1;;
	for (i=0;i<document.form1.rdAns.length;i++)
	{
		  if (document.form1.rdAns[i].checked)
		  {
				choose=document.form1.rdAns[i].value;
		  }
	}
	if(choose==-1)
	{
		document.getElementById("btnSubmit").style.display="none";
		document.getElementById("dvControl").innerHTML="<div style='color:#E6953F'>Please make a selection</div>";
		return ;
	}
	// check user's answer
	var curr=document.getElementById("currNo").value;
	if(choose==arrCorrect[curr])
	{
		KetQua=1;
		var no=document.getElementById("noCorrect").value;
		no++;
		document.getElementById("noCorrect").value=no;
		document.getElementById("dvNoCorrect").innerHTML="Score: "+no+" out of 10";
		// change image
		curr++;
		//document.getElementById("dvqs"+curr).innerHTML="<img src='icons/yes.gif' />";
		//changed to use clored text
		document.getElementById("dvqs"+curr).innerHTML="<font color='#2A9026'><b>" + curr + "</b></font>";

	}
	else
	{
		KetQua=0;
		curr++;
		//document.getElementById("dvqs"+curr).innerHTML="<img valign='bottom' src='icons/no.gif' />";
		//changed to use clored text
		document.getElementById("dvqs"+curr).innerHTML="<font color='#AF0B10'><b>" + curr + "</b></font>";
	}
	// hide the answer
	//document.getElementById("dvmain").style.display="none";
	// then show result
	timeout(KetQua);
}
function timeout(KetQua)
{
	ShowResult();
	window.setTimeout("HideResult()",0);
	// show main  and show explain
	window.setTimeout("ShowMain(" + KetQua + ")",0);

}
// show the result
function ShowResult()
{
	/*
	if(KetQua==1) // right
	{
		document.getElementById("dvResult").innerHTML="<h1 align='center'>Right!</h1>";
		document.getElementById("dvResult").style.display="block";
	}
	else
	{
		var curr=document.getElementById("currNo").value;
		var t=curr*4+arrCorrect[curr];
		var str="<h1 align='center'>Sorry, Wrong Answer</h1>";
		str+="<br><div align='center'>"+"The correct answer is "+arrAnswer[t]+"</div>";

		document.getElementById("dvResult").innerHTML=str;
		document.getElementById("dvResult").style.display="block";
	}
	*/
}
function HideResult()
{
	document.getElementById("dvResult").style.display="none";
}
function ShowMain(KetQua)
{
	// show main
	document.getElementById("dvmain").style.display="block";
	// hide answer
	document.getElementById("dvAnswer").style.display="none";
	// show correct question
	var curr=document.getElementById("currNo").value;
	var t=curr*4+arrCorrect[curr];
	document.getElementById("dvCorrectQuestion").style.display="block";
	document.getElementById("dvCorrectQuestion").innerHTML="The correct answer is "+arrAnswer[t];
	// show exp
	var correct=arrCorrect[curr];
	document.getElementById("dvEx").innerHTML=arrExplanation[curr];
	document.getElementById("dvEx").style.display="block";

	var currQues = parseInt(curr) + 1;
	if(KetQua==1)//true
		document.getElementById("dvtitle").innerHTML="<h2><font color='#2A9026'>Question "+currQues+": Correct!</font></h2>";
	else
		document.getElementById("dvtitle").innerHTML="<h2><font color='#AF0B10'>Question "+currQues+": Wrong!</font></h2>";
	// change submit button to Next button
	var xmlDoc=xmlHttp.responseXML.documentElement;
	var x=xmlDoc.getElementsByTagName("ques");
	if(curr==x.length-1)
	{
		//document.getElementById("dvControl").innerHTML="<input id='btnFinish' type='button' value='Finish' onclick='ShowGLobalResult();' />";
		//need to change to button Finish here
		document.getElementById("dvControl").innerHTML="<input id='btnFinish' type='button' value='' onclick='ShowGLobalResult();REPORTING.repeatCall();' />";
		return ;
	}
	document.getElementById("dvControl").innerHTML="<br/><input id='btnNext' type='button' value='' onclick='NextQuestion();REPORTING.repeatCall();'  />";
}
function ShowGLobalResult()
{
    var xmlDoc=xmlHttp.responseXML.documentElement;
	var x=xmlDoc.getElementsByTagName("result");

	var imageLost = x[0].getElementsByTagName("imageLost")[0].childNodes[0].nodeValue;
	var imagePotential = x[0].getElementsByTagName("imagePotential")[0].childNodes[0].nodeValue;
	var textLost = x[0].getElementsByTagName("textLost")[0].childNodes[0].nodeValue;
	var textGood = x[0].getElementsByTagName("textGood")[0].childNodes[0].nodeValue;
	var textPotential = x[0].getElementsByTagName("textPotential")[0].childNodes[0].nodeValue;
	var textConfirm = x[0].getElementsByTagName("textConfirm")[0].childNodes[0].nodeValue;

	var goodLinkText = x[0].getElementsByTagName("goodLinkText")[0].childNodes[0].nodeValue;
	var lostLinkText = x[0].getElementsByTagName("lostLinkText")[0].childNodes[0].nodeValue;
	var potentialLinkText = x[0].getElementsByTagName("potentialLinkText")[0].childNodes[0].nodeValue;

	var goodLink = x[0].getElementsByTagName("goodLink")[0].childNodes[0].nodeValue;
	var lostLink = x[0].getElementsByTagName("lostLink")[0].childNodes[0].nodeValue;
	var potentialLink = x[0].getElementsByTagName("potentialLink")[0].childNodes[0].nodeValue;



	var totalcorrect=document.getElementById("noCorrect").value;
	document.getElementById("dvmain").style.display="none";
	document.getElementById("dvGlobalTest").style.display="block";

	if(totalcorrect<4)
	{
		//document.getElementById("dvGlobalResult").innerHTML="<h3>You are Lost</h3>";
		document.getElementById("imageResult").innerHTML="<img src='" + imageLost + "' width='281px' height='211px'/>";
		document.getElementById("dvGlobalResult").innerHTML="<h3>" + textLost + "</h3>";
		document.getElementById("divTryAgain").innerHTML="<h3>" + textConfirm + "</h3>";
		document.getElementById("divLink").innerHTML="<a style='cursor:pointer;' onclick=location.href='" + lostLink + "' class='tryagain'><font color='#F6E387' ><b>" + lostLinkText + "</b></font></a>";
	}
	else if(totalcorrect>3 && totalcorrect<7)
	{
		//document.getElementById("dvGlobalResult").innerHTML="<h3>You are Lost</h3>";
		document.getElementById("imageResult").innerHTML="<img src='" + imageLost + "' width='281px' height='211px'/>";
		document.getElementById("dvGlobalResult").innerHTML="<h3>" + textGood + "</h3>";
		document.getElementById("divTryAgain").innerHTML="<h3>" + textConfirm + "</h3>";
		document.getElementById("divLink").innerHTML="<a style='cursor:pointer;' onclick=location.href='" + goodLink + "' class='tryagain'><font color='#F6E387' ><b>" + goodLinkText + "</b></font></a>";
	}
	else
	{
		//document.getElementById("dvGlobalResult").innerHTML="<h3>You have potential</h3>";
		document.getElementById("imageResult").innerHTML="<img src='" + imagePotential + "' width='281px' height='211px'>";
		document.getElementById("dvGlobalResult").innerHTML="<h3>" + textPotential + "</h3>";
		document.getElementById("divTryAgain").innerHTML="<h3>" + textConfirm + "</h3>";
		document.getElementById("divLink").innerHTML="<a target='new' style='cursor:pointer;' onclick=location.href='" + potentialLink + "' class='tryagain'><font color='#F6E387' ><b>" + potentialLinkText + "</b></font></a>";
	}
}
function ShowSubmitButton()
{
	document.getElementById("dvControl").innerHTML="<input id='btnSubmit' type='button' value='' onclick='Answer();REPORTING.repeatCall();'  />";
}