﻿//-----------------------------------------------------------------------------
// Common.js
// Copyright: (C) 2009 CLTNet Pty Ltd (ACN: 132	335 427)
// Author: Contact Solutions Pty Ltd O.B.O. Incalis Pty Ltd - www.incalis.com
//-----------------------------------------------------------------------------

function ShowQuizAnswer(sender, topParentId)
{
	var pnlQuiz = $get(topParentId);
	var oAttrib;

	// Iterate quiz question controls
	for (var i = pnlQuiz.childNodes.length - 1; i >= 0; --i)
	{
		var quizControl = pnlQuiz.childNodes[i];
		if (quizControl.nodeName == 'DIV')
		{
			// Iterate elements of quiz control
			for (var m = quizControl.childNodes.length - 1; m >= 0; --m)
			{
				var quizControlElement = quizControl.childNodes[m];
				if (quizControlElement.nodeName != 'DIV')
					continue;
				if (quizControlElement.attributes == null)
					continue;

				// Iterate elements, look for DIV with 'distracters' attribute
				for (var j = quizControlElement.attributes.length - 1; j >= 0; --j)
				{
					oAttrib = quizControlElement.attributes[j];
					if (oAttrib.nodeName == 'distracters')
					{
						// Find first SPAN child element
						var rblDistracters;
						for (var n = 0; n < quizControlElement.childNodes.length; ++n)
						{
							if (quizControlElement.childNodes[n].nodeName == 'SPAN')
							{
								rblDistracters = quizControlElement.childNodes[n];
								break;
							}
						}
						
						// Iterate attributes and look for 'correct' attribute
						for (var k = rblDistracters.attributes.length - 1; k >= 0; --k)
						{
							oAttrib = rblDistracters.attributes[j];
							if (oAttrib.nodeName == 'correct')
							{
								var correctDistracter = oAttrib.nodeValue - 0;
								{
									var selectedDistracter = 0;

									// Now work out which one is selected
									for (var l = rblDistracters.childNodes.length - 1; l >= 0; --l)
									{
										var oElement = rblDistracters.childNodes[l];
										if (oElement.nodeName == 'INPUT' && oElement.checked)
										{
											selectedDistracter = oElement.value - 0;

											// Stop searching for selected distracter - found it
											break;
										}
									}

									// If user answered
									if (selectedDistracter > 0)
									{
										if (selectedDistracter == correctDistracter)
										{
											SwapClass__CssFriendlyAdapters(quizControl, 'answer', 'correct');
											SwapClass__CssFriendlyAdapters(quizControl, 'wrong', 'correct');
										}
										else
										{
											SwapClass__CssFriendlyAdapters(quizControl, 'answer', 'wrong');
											SwapClass__CssFriendlyAdapters(quizControl, 'correct', 'wrong');
										}
									}
								}

								// Stop searching other attributes
								break;
							}
						}

						// Stop searching for other elements
						break;
					}
				}
			}
		}
	}
	return false;
}

///////////////////////////////////////////////////////////////////////////////
if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

