question_widget_Impl = {
	
	onLoad: function()
	{
		if ( ! this.captivate )
			return;
		
		var lWidgetParamsStr = this.captivate.CPMovieHandle.widgetParams();//Get Widget Parameters from Captivate Movie
		var xmlDoc;
		if (window.DOMParser)
		{
			parser=new DOMParser();
			xmlDoc=parser.parseFromString(lWidgetParamsStr,"text/xml");
		}
		else // Internet Explorer
		{
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async=false;
			xmlDoc.loadXML(lWidgetParamsStr); 
		}
		
		//OTHER CODE TO EXECUTE ON LOAD OF WIDGET
		
		this.drawInputElements();
	},
	
	drawInputElements: function()
	{
		//DRAW ALL THE INPUT CONTROLS
	},
	
	//Captivate App will not recognize a Question Widget unless this function is implemented and returns true
	getWidgetQuestionState: function()
	{
		//IMPLEMENT THIS TO RETURN WIDGET STATE AS COMMA SEPARATED STRING		
	},
	
	setWidgetQuestionState: function(aVal)
	{
		//IMPLEMENT THIS TO SET WIDGET STATE FROM COMMA SEPARATED INPUT STRING(aVal)				
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	answeredCorrectly: function(aIsSurvey) //aIsSurvey = Boolean
	{		
		return true;
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	answersIncomplete: function(aMustAnswerAll) //aMustAnswerAll = Boolean //Not being used -- can be removed
	{
		return true;
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	enableAnswers:function()
	{
		//ENABLE THE ANSWERS
	},

	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	disableAnswers:function()
	{
		//DISABLE THE ANSWERS
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	clearAnswers:function()
	{
		//RESET THE STATE OF QUESTION WIDGET
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	setAccessibility: function()
	{		
		//SET ACCESSIBILITY INFORMATION
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	answers: function() //Should Return Answer Array
	{
		var lAnsArray  = [];
		var lAns = {};
		lAns.answerID = "1";		
		lAns.chosenAnswer = this.GetChosenAnswer();		
		lAns.correctAnswer = this.CorrectString();
		lAnsArray.push(lAns);
		return lAnsArray;
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	GetChosenAnswer:function() // Return Chosen Answers as String
	{
		//RETURN CHOSEN ANSWERS AS STRING
	},
	
	//To be implemented by a QUESTION WIDGET to be part of Captivate's Quizzing framework
	CorrectString:function() // Return Correct Answers as String
	{
		//RETURN CORRECT ANSWERS AS STRING
	},	
}	

question_widget = function ()
{
	return question_widget_Impl;
}

