var n,d,e,i,j,f,m,g,k;

insertStyleSheet("/lls/llonline/assets/styles/int-select.css");
var curEvt = new universalEvent();

function getElementsByClassName(classname){
        var rl = new Array();
        var re = new RegExp('(^| )'+classname+'( |$)');
        var ael = document.getElementsByTagName('*');
        var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
        if (document.all && !op) ael = document.all;
        for(i=0, j=0 ; i<ael.length ; i++) {
                if(re.test(ael[i].className)) {
                        rl[j]=ael[i];
                        j++;
                }
        }
        return rl;
}

var res = getElementsByClassName("response");

for(k=0;k<res.length;k++) 
{
		
		res[k].style.display="none";
		//alert (res[k].style.display);
}

var interactive = document.getElementById('interactive')
interactive.style.display = "none";


var i=0;
while (d=document.getElementById("select-box-" + (++i)))
{
	if ((e=document.getElementById("int-" + d.id.substr(d.id.lastIndexOf("-")+1))) != null) {
		n = document.createElement("select");
		
		n.setAttribute("id","select-box-"+i);
		n.appendChild(createOptionElement("Select one"));
		for (j=0,f=e.getElementsByTagName("div"); j<f.length; j++) 
		{
			for (k=0,g=f[j].getElementsByTagName("span"); k<g.length; k++) {
				if (g[k].className == "selection") n.appendChild(createOptionElement(g[k].innerHTML,j+1));
			}
		}
		d.parentNode.replaceChild(n,d);
		/** Create buttons at the end of each question **/
		o= document.getElementById("butt-"+i);
		if (o)
		{
			//alert (o.id);
			o=insertAfter(document.createElement("div"),o);
			o.className="buttons-div";
			p=document.createElement("input");
			p.setAttribute("type","button");
			p.id="checkpara-but-" + i;
			p.setAttribute("value","Check answer");
			p.onclick=selectChange;
			o.appendChild(p);
			//o.appendChild(document.createElement("br"));
			p=document.createElement("input");
			p.setAttribute("type","button");
			p.id="checkpara-butShow-" + i;
			p.setAttribute("value","Show answer");
			p.onclick=showFeedback;
			o.appendChild(p);
			//insert the clear answer button
			p=document.createElement("input");
			p.setAttribute("type","button");
			p.id="checkpara-butClear-" + i;
			p.setAttribute("value","Clear answer");
			p.onclick=clearFeedback;
			o.appendChild(p);
		}
		else
		{
			n.onchange=selectChange;
		}
		
	}
}

function createOptionElement(text,theValue) {
	var z;
	z=document.createElement("option");
	z.appendChild(document.createTextNode(text));
	if (arguments.length > 1) z.setAttribute("value",theValue);
	return z;
}
function showFeedback(e)
{
	curEvt.refresh(e);
	var n=0;
	n=curEvt.evtSrcId.substr(curEvt.evtSrcId.lastIndexOf("-")+1);
	if (correctOption = (document.getElementById("correctans-"+n)))
	{
		slt = document.getElementById("select-box-"+n);
		slt.options[correctOption.innerHTML].selected=true;
		selectChange(e);
	}
	
}
function selectChange(e) {
	curEvt.refresh(e);
	var n=0;
	n=curEvt.evtSrcId.substr(curEvt.evtSrcId.lastIndexOf("-")+1);
	if (but = document.getElementById("butt-")+n) //case if buttons are present
	{
		slt = document.getElementById("select-box-"+n);
		//alert (n);
		x = slt.options[slt.selectedIndex].value;
			
	}
	else
	{
		x = curEvt.evtSrc.options[curEvt.evtSrc.selectedIndex].value;
	}
	
	if (x == "")
	{
		alert ("Please select any one option");
		n=curEvt.evtSrcId.substr(curEvt.evtSrcId.lastIndexOf("-")+1);
		//alert (n);
		r = document.getElementById("response-"+n);
		if (r)
			r.style.display="none";
		return true;
	}
	if (d=document.getElementById("response-"+(n=curEvt.evtSrcId.substr(curEvt.evtSrcId.lastIndexOf("-")+1)))) {
		e=document.getElementById("int-"+n).getElementsByTagName("div")[x-1].getElementsByTagName("span");
		for (j=0; j<e.length; j++) 
		{
			if (e[j].className == "response") 
			{
				removeChildElements(d);
				
				copyChildNodes(e[j].cloneNode(true),d);
				d.style.display="block";
				
				d.scrollIntoView(false);
			}
			else
			{
				d.style.display="none";
			}
		}
	}
}
function clearFeedback(e)
{
	curEvt.refresh(e);
	var n=0;
	n=curEvt.evtSrcId.substr(curEvt.evtSrcId.lastIndexOf("-")+1);
	
	var feedback = document.getElementById("response-"+n);
	if (feedback)
		feedback.style.display="none";
		
	slt = document.getElementById("select-box-"+n);
	if (slt)
		slt.options[0].selected=true;	
}