// $Id: library.js 127 2004-02-21 17:02:19Z michaelp $

	wrongAnswer = new Array();
	right = new Image;
	wrong = new Image;

	right.src = "/cpdonline/includes/images/right.gif";
	wrong.src = "/cpdonline/includes/images/wrong.gif";

function AnswerInfo( answerDetails, answerCount )	{

	// QuestionId of for radio button clicked
	var answerObj = document.getElementsByName( answerDetails.name );

	/* 
		Name of div where right / wrong image is displayed
		A clear gif is display initially
	*/
	
	var resultObj = document.getElementsByName( "img" + answerDetails.name )[0];
	
	// Name of div where correct / incorrect is display
	// positioned imediatly after question table
	
	var responseObj = document.getElementsByName( "response" + answerDetails.name )[0];

	// 
	var responseAnswerObj = document.getElementsByName( "answer" + answerDetails.name )[0];
	
	var currentAnswerObj = document.getElementsByName( "answerResponse" + answerDetails.name + "a" + answerCount )[0];
	
	
	var hiddenResponseObj = document.getElementsByName( "hiddenResponse" + answerDetails.name )[0];
		
	var currentAnswerImgObj = document.getElementsByName( "answerImg" + answerDetails.name + "a" + answerCount )[0];
	
	// alert("answerResponse" + answerDetails.name + "a" + answerCount);
	
//  If Answer Responce is in answeDb that question is correct

	// set to 1 to restrict to one attempt
	wrongAnswer[answerDetails.name] = 1;
	
	
	if ( answerDetails.value ) {
	// if CORRECT answer radio selected 
	// correct answer is determind be radio with any value != ""
		// resultObj.src = right.src;	
		currentAnswerImgObj.src = right.src;

	// disable any radio with name = questionID of selected radio
		disable( answerObj, answerDetails.name );
	// reveal responseText for selected answer
	//	currentAnswerObj.style.display = 'block';

	//	show( correctAnswerObj, 'correctAnswerObj' );
		// show( responseObj, 'CORRECT!' );
		
		show( responseObj, currentAnswerObj);
		show( responseAnswerObj, hiddenResponseObj);
		
	} else {
		// this will always skip to else block if
		// wrongAnswer[answerDetails.name] = 1; above.
		// set to 0 to give them two attempts at answering q
		
		if ( !wrongAnswer[answerDetails.name] ) {
		// if user has not attempted the question before
		// they get another go
	
			// resultObj.src = wrong.src;
			currentAnswerImgObj.src = wrong.src;
			
			wrongAnswer[answerDetails.name] = 1;
			alert( "Wrong! Try Again" );
			//show( correctAnswerObj, '<p align="centre"><i><B><font size="2" face="Arial" color="#0000FF">WRONG<Br>TRY AGAIN!</font></b></i>' );
		} else {
		//	alert (currentAnswerObj.value);

//		resultObj.src = wrong.src;
		currentAnswerImgObj.src = wrong.src;

		// disable any radio with name = questionID of selected radio
		disable( answerObj, answerDetails.name );
		
		// reveal responseText for selected answer
		// currentAnswerObj.style.display = 'block';
		
		// show( responseObj, 'INCORRECT!' );
		show( responseObj, currentAnswerObj);
		show( responseAnswerObj, hiddenResponseObj);
		
	///	show( responseObj, '<h1>INCORRECT!</h1>' );
		///	show( correctAnswerObj, '<h1></h1>' );
		///	showCorrectAnswer( correctAnswerObj, answerObj );

}
	}
	
}

function getResponse( answerObj )	{
	if 	( answerObj[0].value )
		return answerObj[0].value;

	if 	( answerObj[1].value )
		return answerObj[1].value;

	if 	( answerObj[2].value )
		return answerObj[2].value;
		
	if 	( answerObj[3].value )
		return answerObj[3].value;
}

function disable( answerObj, answerName )	{
    
	var debug = false;
    var yourAnswer = -1;
	
	// i is the radio button index value
	var i = 0;
	
	// if the radio button exists, disable it.
	while (testIsValidObject(answerObj[i]))  
		{	
			
	    	answerObj[i].disabled = true;
			
    		if(answerObj[i].checked == true) 
			{
				// alert(answerObj[i].value);
            	yourAnswer = i;			
        	}
	i++;
	}
    
	
	
	if(debug == true) 
	{
    var msg = '';
		
    for(i=0;i<=10;i++) 
	{
		if (testIsValidObject(answerObj[i]))  
		{	
			msg += 'answerObj['+i+'].checked = '+answerObj[i].checked+'\n';
		}
    }
        msg += 'yourAnswer = '+yourAnswer;
        alert(msg);
		
    }
	
    // call cgi in "spacer" frame to store user's answer in the db
    if(debug == true) {
        alert('saving answers by calling :: saveAnswer.php?question='+answerName+'&answer='+yourAnswer);
    }
    // top.spacer.location = '../../saveAnswer.php?question='+answerName+'&answer='+yourAnswer;
}

function show( response, responseText ) {
	// alert(response.innerHTML);
	response.innerHTML = responseText.innerHTML;
	// alert(response.innerHTML);
}

function showCorrectAnswer( correct, answerObj )	{
	if 	( answerObj[0].value )
		correctAnswer = "a";

	if 	( answerObj[1].value )
		correctAnswer = "b";

	if 	( answerObj[2].value )
		correctAnswer = "c";
	
	if 	( answerObj[3].value )
		correctAnswer = "d";
		
	//if 	( answerObj[4].value )
	//	correctAnswer = "e";
		
	// alert(correct.innerHTML);
	// alert(correct.innerHTML);
	correct.innerHTML =  '<span class="contentRed"><h1> <h3> - The correct answer is ' + correctAnswer + '.</h3></h1></b></span>';
	// alert(correct.innerHTML);
	// alert(correct.innerHTML);
}


function completed() {
	// Get a list of all the <div> tags
	var respObj = document.getElementsByTagName( "div" );

	// Only interested in tag 0 and even tags so skip odd tags
	for( i = 0; i < respObj.length; i++ ) {
		// alert( respObj[i].id + respObj[i].innerHTML );
		// If tag is empty then that question has not been answered so session not completed
		if ( respObj[i].id.match("response") && respObj[i].innerHTML =="") {
	
		// alert( respObj[i].id + respObj[i].innerHTML );

		return false;
			
		}
	}

	return true;
}

function disableAllRadioButtons() {
	// alert("hello again");
	// Get a list of all the <div> tags
	var respObj = document.getElementsByTagName( "input" );

	// Only interested in tag 0 and even tags so skip odd tags
	for( i = 0; i < respObj.length; i++ ) {
	
//		alert( respObj[i].name );
		respObj[i].disabled = true
	
	}

	// return true;
}


function nextSession( sessionNumber ) {
	if ( completed() ) {
	//	alert( "Completed going to next level DEBUG." );
		top.window.location = '../../ToNextLevel.php?LEVEL=' + sessionNumber;
	} else {
		alert( "You must complete each question before you can proceed to the next one." );
	}
}

function testIsValidObject(objToTest) {
  if (objToTest == null || objToTest == undefined) {
    return false;
  }
return true;
}
