insertStyleSheet("/lls/assets/styles/quiz.css");
var correct=new Image(25,25);
correct.src="assets/images/correct.gif";
var incorrect=new Image(25,25);
incorrect.src="assets/images/incorrect.gif";

var ans = new Array(),responses;
var evt = new universalEvent();

function evaluateCheck(e) {
	var optionSelected = 0;
	evt.refresh(e);
	var n=0,i=0,ch,cmt,WrongCmt;
	n = parseInt(evt.evtSrcId.substr(evt.evtSrcId.lastIndexOf("-")+1));
	var alwaysCorrect = document.getElementById("alwaysCorrect");
	
	while (r=document.getElementById("answers-" + (++i)))
	{
		ans[i]=r.firstChild.nodeValue.split(",");
		//alert ("The no of choices for qn "+ i + " id "+ ans[i].length);
	}
	//alert ("The answer array is "+ans[n]);
	for (i=0;i<ans[n].length;i++) 
	{
		//alert ("N is "+n+" and i is "+i);
		ch=document.getElementById("quest-" + n + "-" + (i+1));
		if (ch.checked)
		{
			optionSelected++;
		}
	}
	if (optionSelected==0) 
	{
		alert ('Please select any one option');
		return false;
	}
	var i=0;
	var  IncorrectansSelected = 0;
	if (alwaysCorrect)
	{
		// any option selected >> always correct and no wrong answer
		var isCorrect = true;
	}
	else
	{
			var isCorrect=false;
			var correctansSelected = 0;
			for (i=0;i<ans[n].length;i++) 
			{
				ch=document.getElementById("quest-" + n + "-" + (i+1));
				//alert (ans[n][i]);
				if ((ch.checked) && (ch.checked==ans[n][i]))
				{
					//alert ('Correct-'+n+'-'+(i+1));
					correctansSelected++;
					if ((cmt=document.getElementById("qcomment-" + n + "-" + (i+1))))
					{
						//alert ('Incmt');
						//cmt.style.display="block";
						//cmt.style.width = "500px";
					}
				}
				
				if ((ch.checked) && (ans[n][i]==0))
				{
					//alert ('INCorrect-'+n+'-'+(i+1));
					IncorrectansSelected++;
					if (WrongCmt=document.getElementById("qcomment-" + n + "-" + (i+1)))
					{
						//WrongCmt.style.display="none";
					}

				}
				
			}

	}


		
	ch = document.getElementById("fb-img-quiz" + n);
	clearQuizComment2(n);
	//alert (IncorrectansSelected);
	if (IncorrectansSelected<=0) 
	{
		if (cmt)
		{
			cmt.style.display="block";
			cmt.style.width = "500px";
		}
		ch.src = correct.src;
	}
	else 
	{
		ch.src = incorrect.src;
		//alert (WrongCmt);
		if (WrongCmt)
		{
		WrongCmt.style.display="block";
		WrongCmt.style.width = "500px";
		}
	}
	
	showQuizComment(n);
}

function showQuizComment(n) { //  one overall comment for one question
	//alert (n);
	var n;
	if (c=document.getElementById("qcomment-" + n)) {
		c.className = "comment";
		c.style.display="block";
	}
}
function clearQuizComment(n) {
	var n,i=0;
	if (n=document.getElementById("qcomment-" + n)) {
		n.style.display="none";
	}
	
	while (cmt=document.getElementById("qcomment-" + n + "-" + (++i))) 
	{
			//alert (("qcomment-" + n + "-" + (++i)));
			cmt.style.display="none";
	}
}
function clearQuizComment2(n) {
	var n,i=0;
	
	while (cmt=document.getElementById("qcomment-" + n + "-" + (++i))) 
	{
			//alert (("qcomment-" + n + "-" + (i)));
			cmt.style.display="none";
	}
			
}

function showAnswer(e) {
	evt.refresh(e);
	var n=0,i=0,ch;
	var commentShown = 1;
	n = parseInt(evt.evtSrcId.substr(evt.evtSrcId.lastIndexOf("-")+1));
	clearAnswer(e);
	while (r=document.getElementById("answers-" + (++i)))
	{
		ans[i]=r.firstChild.nodeValue.split(",");
		//alert ("The no of choices for qn "+ i + " id "+ ans[i].length);
	}
		for (i=0;i<ans[n].length;i++) {
			ch=document.getElementById("quest-" + n + "-" + (i+1));
			ch.checked = (ans[n][i] > 0);
			if (ch.checked)
			{
				
				if ((cmt=document.getElementById("qcomment-" + n + "-" + (i+1)))) 
				{
					if (commentShown==1) // to get rid of 2 same comments getting displayed 
					{
						cmt.style.display="block";
						cmt.style.width = "500px";
						commentShown = 2;
					}
				}
			}
			
		}
	
	ch = document.getElementById("fb-img-quiz" + n);
	ch.src = correct.src;
	showQuizComment(n);
	//}
}
function clearAnswer(e) {
	evt.refresh(e);
	var n,i=0,ch;
	n = parseInt(evt.evtSrcId.substr(evt.evtSrcId.lastIndexOf("-")+1));
	while (r=document.getElementById("answers-" + (++i)))
	{
		ans[i]=r.firstChild.nodeValue.split(",");
		//alert ("The no of choices for qn "+ i + " id "+ ans[i].length);
	}	for (i=0;i<ans[n].length;i++) {
		ch=document.getElementById("quest-" + n + "-" + (i+1));
		//alert ("quest-" + n + "-" + (i+1));
		ch.checked = false;
		if (cmt=document.getElementById("qcomment-" + n + "-" + (i+1)))
		{
				cmt.style.display="none";
		}
	}
	ch = document.getElementById("fb-img-quiz" + n);
	ch.src = "assets/images/spacer.gif";
	clearQuizComment(n);
	//}
}
function clearCheckboxes(e) // this may have to be removed;
{

	evt.refresh(e);
	var n,i=0,ch;
	n = parseInt(evt.evtSrcId.substr(evt.evtSrcId.lastIndexOf("-")+1));
	while (intr=document.getElementById("interaction-" + (++i)))
	{
			var j=0;
			while (qCmt = document.getElementById("qcomment-"+ i +"-"+ (++j)))
			{
				if (n!=i)
					qCmt.style.display="none";
					//alert ("N is "+n+"and i is "+i);
			}
	}
}
function init() 
{
	var i=0,o,p,s,r,j;
	var responses = new Array()
	if (r=document.getElementById("responses"))	
	{
		r.style.display="none";
		//r.style.visibility="hidden";
		//r.style.position="relative";
		responses = r.firstChild.nodeValue.split(";");
	}
	while (r=document.getElementById("answers-" + (++i)))
	{
		r.style.display="none";
		//r.style.position="relative";
		ans[i]=r.firstChild.nodeValue.split(",");
		//alert ("The no of choices for qn "+ i + " id "+ ans[i].length);
	}
	//alert (ans[4][1]);
	i=0;
	while(o=document.getElementById("interaction-" + (++i))) 
	{
		o=insertAfter(document.createElement("div"),o.lastChild);
		//o.className="buttons-div";
		p=document.createElement("input");
		p.setAttribute("type","button");
		p.id="checkquiz-but-" + i;
		p.setAttribute("value","Check answer");
		p.onclick=evaluateCheck;
		o.appendChild(p);
		//o.appendChild(document.createElement("br"));
		p=document.createElement("input");
		p.setAttribute("type","button");
		p.id="checkquiz-butShow-" + i;
		p.setAttribute("value","Show answer");
		p.onclick=showAnswer;
		o.appendChild(p);
		//insert the clear answer button
		p=document.createElement("input");
		p.setAttribute("type","button");
		p.id="checkquiz-butClear-" + i;
		p.setAttribute("value","Clear answer");
		p.onclick=clearAnswer;
		o.appendChild(p);
		
		var totalQuestions = i;
		s=document.getElementById("quest-" + i);
		
		if (responses.length==0 || getin==1)
		{
			// get the specific response, case: when options differ for each question
			var rp = document.getElementById("responses-" + i);
			rp.style.display="none";
			//rp.style.position="relative";
			responses = rp.firstChild.nodeValue.split(";");
			
			var getin=1;
		}
		if (qCommonCmt = document.getElementById("qcomment-"+ i))
		{
			qCommonCmt.className = "comment";
			qCommonCmt.style.display="none";
			//qCmt.style.position="relative";
		}
		for (j=0; j<responses.length;j++) 
		{
			
			p=document.createElement("input");
			p.setAttribute("type","checkbox");
			//p.setAttribute("style","padding-left:50px");
			p.id="quest-" + i + "-" + (j+1);
			//p.onclick=clearCheckboxes;
			//alert (p.id);
			s.appendChild(p);
			p=document.createElement("label");
			p.setAttribute("for","quest-" + i + "-" + (j+1));
			p.setAttribute("class","inputform");
			p.appendChild(document.createTextNode(responses[j]));
			s.appendChild(p);
			if (!(noBreak = document.getElementById("noBrForOptions")))
				s.appendChild(document.createElement("br"));
			
			if (qCmt = document.getElementById("qcomment-"+ i +"-"+ (j+1)))
			{
				qCmt.className = "comment";
				qCmt.style.display="none";
				//qCmt.style.position="relative";
			}
		}
		p=document.createElement("img");
		s.appendChild(p);
		//p.height=25;
		//p.width=25;
		p.src="assets/images/spacer.gif";
		p.id="fb-img-quiz"+i;
		p.className="fb-img";
	}
	
}
init();