/*
Used for text click interactions where you have to click the appropriate piece of text.
e.g. grammar/engineering/parallel-structure/1.xml
*/
insertStyleSheet("/lls/assets/styles/showlinks.css");
var ans;
var evt = new universalEvent();
var correct=new Image(25,25);
correct.src="assets/images/correct.gif";
var incorrect=new Image(25,25);
incorrect.src="assets/images/incorrect.gif";

function evaluate(e) {
	var ln,sn,t;
	evt.refresh(e);
	if (evt.evtSrc.nodeName.toLowerCase() == "span" && evt.evtSrcId.indexOf("txtClick") > -1) {
		ln = parseInt(evt.evtSrcId.substring(evt.evtSrcId.indexOf("-")+1,evt.evtSrcId.lastIndexOf("-")));
		sn = parseInt(evt.evtSrcId.substr(evt.evtSrcId.lastIndexOf("-")+1));
		clearLine(ln);
		
		tmp=evt.evtSrc.parentNode;
		
		/*
		var j=0;
		
		while (obj = document.getElementById(('txtClick-'+ (ln) + '-' + (++j))))
		{
			if (j != (ln-1))
			alert (obj.id);
			obj.style.background = '#FFFFFF';			
			
		}
		*/
		evt.evtSrc.className="highlightactive";
		
		//evt.evtSrc.style.background = '#FF0000';
		
		t=document.getElementById("txtClick-tick-"+ln);
		if (ans[ln-1] == sn && t) {
			t.src=correct.src;
			if(cmt=document.getElementById("txtClick-ct-"+ln)) cmt.style.display="block";
		}
		else t.src=incorrect.src;
	}
}
function showanswer(e)
{
	evt.refresh(e);
	var n=0;
	if (a=document.getElementById("txtClickAns"))
	{
		ans=a.firstChild.nodeValue.split(",");
	}

		while (cAns=document.getElementById("txtClick-"+(++n)+"-"+ans[n-1])) 
		{
			//alert (cAns.id);
			
			// highlight the correct chunk!
			cAns.className="highlightactive";
			//show the tick image!
			t=document.getElementById("txtClick-tick-"+n);
			t.src=correct.src;
			// if comments are there...then show it!
			if (cmt = document.getElementById("txtClick-ct-"+n))
			{
				cmt.style.display="block";
			}
		}
}
function clearLine(num) {
	var sp,i=0;
	while(sp=document.getElementById("txtClick-" + num + "-" + (++i))) 
	{
		//sp.style.background="";
		sp.className="";
	}
}

function newTick() {
	var p=document.createElement("img");
	p.setAttribute("src","assets/images/spacer.gif");
	return p;
}
function changestyle(e) {
	evt.refresh(e);
	curElementId	=	evt.evtSrc.id;
	curElement		=	document.getElementById(curElementId);
	if ((curElement) && (curElement.className!="highlightactive")) {
		curElement.className = "optionChunks";
		// specifying the className does not work here... 	
		//curElement.style.background = '#FCFF64';
	}
}
function revertstyle(e) {
	evt.refresh(e);
	curElementId	=	evt.evtSrc.id;
	curElement		=	document.getElementById(curElementId);
	if ((curElement) && (curElement.className!="highlightactive")) {
		curElement.className = "optionChunksNormal";
		// specifying the className does not work here...		
		//curElement.style.background = '#FFFFFF';
	}
}
function clearanswer()
{
	var m =0;
	while (res=document.getElementById("txtClick-ct-" + (++m))) //scenario1
	{
		// hide the comments
		res.style.display = "none";	
		// remove the tick/cross image
		t=document.getElementById("txtClick-tick-"+m);
		t.src = "assets/images/spacer.gif";

		var n=0;
		while (txtChunks = document.getElementById("txtClick-"+m+"-"+(++n)))
		{
			//alert ("txtClick-"+m+"-"+(++n));
			txtChunks.className = "optionChunksNormal";	
			//txtChunks.style.background = "#FFFFFF";
		}
		
	}
	var n=0,m=0;
	while (res=document.getElementById("txtClick-" + (++m))) //scenario 1
	{
		t=document.getElementById("txtClick-tick-"+m);
		t.src = "assets/images/spacer.gif";
		var n=0;
		while (txtChunks = document.getElementById("txtClick-"+(m)+"-"+(++n)))
		{
			//alert ("txtClick-"+m+"-"+(n));
			txtChunks.className = "optionChunksNormal";	
			//txtChunks.style.background = "#FFFFFF";
		}
	}
}


function init() {
	var intDiv,ps,i=0,a,t,cmt,j=0;
	if (intDiv = document.getElementById("int-txtClick")) {
		
		while(ps=document.getElementById("txtClick-" + (++i))){
			j =0;
			ps.style.cursor="pointer";
			ps.onclick=evaluate;
			t=ps.appendChild(newTick());
			t.id="txtClick-tick-"+i;
			t.height=25;
			t.width=25;
			if(cmt=document.getElementById("txtClick-ct-"+i)) {
				cmt.className="essay-comment";
				cmt.style.width = "500px";
			}
			/** Apply change color on mouseover **/
			while (txtChunks = document.getElementById("txtClick-"+i+"-"+(++j)))
			{
				txtChunks.onmouseover	=	changestyle;
				txtChunks.onmouseout	=	revertstyle;
			}
			//alert ('Values are '+i+' and '+j);
		}
	}
	if (a=document.getElementById("txtClickAns")) {
		ans=a.firstChild.nodeValue.split(",");
	}
}
	if (cBut=document.getElementById("but-clear"))
	{
		
		var i =0;
		e=document.createElement("input");
		e.setAttribute("type","button");
		e.setAttribute("class","response");
		e.setAttribute("value","Show answers");
		e.setAttribute("id","txtClick-showanswer-button-"+(i));
		e.onclick=showanswer;
		cBut.appendChild(e);
		
		var i =0;
		e=document.createElement("input");
		e.setAttribute("type","button");
		e.setAttribute("class","response");
		e.setAttribute("value","Clear answers");
		e.setAttribute("id","txtClick-clearanswer-button-"+(i));
		e.onclick=clearanswer;
		cBut.appendChild(e);
		
		
	}
	
	
init();
