﻿package com.adobe.captivate.widgets
{
	/**
		* This class describes the properties of the slide containing the widget.
		
		* @see CPMovieHandle#getQuizData
	*/
	public class CPQuizData
	{
		/**
     		* @private
     	*/
		public function CPQuizData(numQuestionsInQuizVal :uint = 0,firstSlideIndexInQuizVal:uint=0,lastSlideIndexInQuizVal:uint=0,totalAttemptsVal:uint=0,numTriesVal:uint=0,minScoreVal:int=0,maxScoreVal:int = 0,passScoreVal:int=0,currentScoreVal:int=0,inReviewModeVal:Boolean = false,isQuizPassedVal:Boolean=false)
		{
			this._numQuestionsInQuiz = numQuestionsInQuizVal;
			this._firstSlideIndexInQuiz = firstSlideIndexInQuizVal;
			this._lastSlideIndexInQuiz = lastSlideIndexInQuizVal;
			this._totalAttempts = totalAttemptsVal;
			this._numTries = numTriesVal;
			this._minScore = minScoreVal;
			this._maxScore = maxScoreVal;
			this._passScore = passScoreVal;
			this._currentScore = currentScoreVal;
			this._inReviewMode = inReviewModeVal;
			this._isQuizPassed = isQuizPassedVal;
		}
		/**
     		* @private
     	*/
		private var _numQuestionsInQuiz:uint;
		/**
     		* @private
     	*/
		private var _firstSlideIndexInQuiz:uint;
		/**
     		* @private
     	*/
		private var _lastSlideIndexInQuiz:uint;
		/**
     		* @private
     	*/
		private var _totalAttempts:uint;
		/**
     		* @private
     	*/
		private var _numTries:uint;
		/**
     		* @private
     	*/
		private var _minScore:int;
		/**
     		* @private
     	*/
		private var _maxScore:int;
		/**
     		* @private
     	*/
		private var _passScore:int;
		/**
     		* @private
     	*/
		private var _currentScore:int;
		/**
     		* @private
     	*/
		private var _inReviewMode:Boolean;
		
		/**
     		* @private
     	*/
		private var _isQuizPassed:Boolean;
		
		/**
     		* This function returns the number of questions in the quiz.
			* @return An unsigned integer indicating the number of questions in the quiz 
		*/
		public function get numberOfQuestionsInQuiz():uint
		{ 
			return _numQuestionsInQuiz;
		}
		
		/**
     		* This function returns the index of the slide at which the quiz begins.
			* @return An unsigned integer indicating the index of the slide at which the quiz begins 
		*/
		public function get firstSlideIndexInQuiz():uint
		{ 
			return _firstSlideIndexInQuiz;
		}
		
		/**
     		* This function returns the index of the slide at which the quiz ends.
			* @return An unsigned integer indicating the index of the slide at which the quiz begins 
		*/
		public function get lastSlideIndexInQuiz():uint
		{ 
			return _lastSlideIndexInQuiz;
		}
		/**
     		* This function returns the total number of attempts for the quiz. 
			* @return An unsigned integer indicating total attempts for the quiz 
		*/
		public function get totalAttempts():uint
		{ 
			return _totalAttempts;
		}
		/**
     		* This function returns the number of times the user has attempted the quiz
			* @return An unsigned integer indicating the number of times the user has attempted the quiz
		*/
		public function get numTries():uint
		{		
			return _numTries;
		}
		/**
     		* This function returns the minimum possible score the quiz.
			* @return An integer containing minimum possible score of the quiz 
		*/
		public function get minScore():int
		{ 
			return _minScore;
		}
		/**
     		* This function returns the maximum possible score the quiz.
			* @return An integer containing maximum possible score of the quiz 
		*/
		public function get maxScore():int
		{ 
			return _maxScore;
		}
		/**
     		* This function returns the passing score the quiz.
			* @return An integer containing passing score of the quiz 
		*/
		public function get passScore():int
		{ 
			return _passScore;
		}
		/**
     		* This function returns the current score the quiz.
			* @return An integer containing current score of the quiz 
		*/
		public function get currentScore():int
		{ 
			return _currentScore;
		}
		/**
     		* This function returns true if the quiz is in review mode else false.
			* @return A boolean value indicating whether the quiz is in review mode or not 
		*/
		public function get inReviewMode():Boolean
		{
			return _inReviewMode;
		}
		
		/**
     		* This function returns true if the quiz is passed else false.
			* @return A boolean value indicating whether the quiz is passed or not 
		*/
		public function get isQuizPassed():Boolean
		{
			return _isQuizPassed;
		}
	}
}
