window.onload = initQuiz;

var correctCount = 0;
var questionHTML = new Array(3);

function initQuiz()
{
    for( var i=0 ; i<questionHTML.length ; i++ ) {
	    questionHTML[i] = xGetElementById( "answer_" + i).innerHTML;
	}
	xDisplay(xGetElementById("answer_0_right"), "block");
}

function checkAnswers()
{
    var bolComplete = true;
    var intCheckCount = 0;
    var strAnswer;
    var bolOrderCorrect;
    var setCorrectAnswer;
    
    if( xGetElementById( "select_1").value == "0" ) {
        bolComplete = false;
    }

    if( xGetElementById("chkDaisy").checked )
        intCheckCount++;
    
    if( xGetElementById("chkStrawberry").checked )
        intCheckCount++;
    
    if( xGetElementById("chkRose").checked )
        intCheckCount++;
    
    if( xGetElementById("chkSpider").checked )
        intCheckCount++;
        
    if( xGetElementById("chkPoinsettia").checked )
        intCheckCount++;
            
    if( !bolComplete) {
        window.alert("You must make a selection for all question parts.");
		return;
    }
    
    if( intCheckCount != 2 ) {
        window.alert("You must select 2 answers for question c).");
		return;
    }
    
    // now check the answers
    if( xGetElementById( "select_1").value == "2" ) {
        setCorrect( "1", xGetElementById( "select_1")[xGetElementById( "select_1").selectedIndex].text );
    }
    else {
        setWrong( "1", 
            xGetElementById( "select_1")[xGetElementById( "select_1").selectedIndex].text, 
            "'" + xGetElementById( "select_1")[2].text + "'" );
    }
    
    if( xGetElementById( "chkStrawberry").checked && xGetElementById( "chkSpider").checked ) {
        setCorrect( "2", "Strawberry and Spider" );
    }
    else {
        strAnswer = "";
        
        if( xGetElementById("chkDaisy").checked ) strAnswer += "<div>Daisy</div>";
        if( xGetElementById("chkStrawberry").checked ) strAnswer += "<div>Strawberry</div>";
        if( xGetElementById("chkRose").checked ) strAnswer += "<div>Rose</div>";
        if( xGetElementById("chkSpider").checked ) strAnswer += "<div>Spider</div>";
        if( xGetElementById("chkPoinsettia").checked ) strAnswer += "<div>Poinsettia</div>";
        
        setWrong( "2", strAnswer, "'Strawberry and Spider'" );
    }
    
    // get the correct order for the list
    setCorrectAnswer = "";
    for (var i = 0; i < xGetElementById("select_0").options.length; i++) {
        for (var j = 0; j < xGetElementById("select_0").options.length; j++) {
            if( i == xGetElementById("select_0").options[j].value ) {
                setCorrectAnswer += "<div>" + xGetElementById("select_0").options[j].text + "<div>";
            }
        }
    }
    
    // check the list order
    strAnswer = "";
    bolOrderCorrect = true;
    for (var i = 0; i < xGetElementById("select_0").options.length; i++) {
        strAnswer += "<div>" + xGetElementById("select_0").options[i].text + "</div>";
        if( xGetElementById("select_0").options[i].value != i ) {
            bolOrderCorrect = false;
        }
        
    }
    
    if( bolOrderCorrect ) {
        setCorrect( "0", strAnswer);
    }
    else {
        setWrong( "0", strAnswer + "<br/>", setCorrectAnswer );
    }
 	
    xDisplay(xGetElementById("answer_0_right"), "none");
 
    
}

function setCorrect( p_strQuestionNumber, p_strAnswer ) {
       
    var responseHTML;
    
    responseHTML = "<div class='quiz_answer_correct'>" + p_strAnswer + "</div>";
       
    xGetElementById("answer_" + p_strQuestionNumber).innerHTML = responseHTML;
    xGetElementById("chk" + p_strQuestionNumber).setAttribute("src", "/res/coResourceImport/modules/en-images/ans_right.gif");
    
}

function setWrong( p_strQuestionNumber, p_strSelectedAnswer, p_strCorrectAnswer ) {

    var responseHTML;
    
    responseHTML = "<div class='quiz_answer_incorrect'>" + p_strSelectedAnswer + "</div>";
	responseHTML += "<div class='quiz_answer'>The correct answer is:<br/>" + p_strCorrectAnswer + "</div>";
	xGetElementById("answer_" + p_strQuestionNumber).innerHTML = responseHTML;
	
    xGetElementById("chk" + p_strQuestionNumber).setAttribute("src", "/res/coResourceImport/modules/en-images/ans_wrong.gif");
   
}



function resetQuestion()
{
	for (var i = 0; i < questionHTML.length; i++)
	{
		xGetElementById("answer_" + i).innerHTML = questionHTML[i];
		xGetElementById("chk" + i).setAttribute("src", "/res/coResourceImport/modules/en-images/spacer.gif");
	}

	initQuiz();
}

function moveUp()
{
	move("up");
}

function moveDown()
{
	move("down");
}

function move(direction)
{
	var	elem = xGetElementById("select_0");
	var boxLen = 7;
	var currentItem = elem.selectedIndex;
	
	if ((direction == 'up') && (currentItem > 1)) {
	
		var selText = elem.options[currentItem].text;
		var selValue = elem.options[currentItem].value;
		var swpText = elem.options[currentItem - 1].text;
		var swpValue = elem.options[currentItem - 1].value;
		
		elem.options[currentItem - 1].text = selText;
		elem.options[currentItem - 1].value = selValue;
		elem.options[currentItem].text = swpText;
		elem.options[currentItem].value = swpValue;
		
		elem.selectedIndex = currentItem - 1;
		
	} else if ((direction == 'down') && (currentItem < boxLen - 1) && (currentItem != -1) && (currentItem > 0)) {
		
		var selText = elem.options[currentItem].text;
		var selValue = elem.options[currentItem].value;
		var swpText = elem.options[currentItem + 1].text;
		var swpValue = elem.options[currentItem + 1].value;
		
		elem.options[currentItem + 1].text = selText;
		elem.options[currentItem + 1].value = selValue;
		elem.options[currentItem].text = swpText;
		elem.options[currentItem].value = swpValue;
		
		elem.selectedIndex = currentItem + 1;
		
	} else if (currentItem == -1) {
		
		alert("You must select an item before you can move it.");
		
	} else {}

}