home *** CD-ROM | disk | FTP | other *** search
- class com.comp.ComponentMCQ extends MovieClip
- {
- var objController;
- var c_mCurrentSelection;
- var c_arrObjChildren;
- var objCallBackFunc1;
- var objCallBackFunc;
- function ComponentMCQ()
- {
- super();
- }
- function init()
- {
- var _loc1_ = this;
- _loc1_._parent.tracker.text = "init called";
- _loc1_._parent.btnCheckAnswer._visible = false;
- _loc1_._parent.mcPopup._visible = false;
- _loc1_._parent.mcPopup.stop();
- _loc1_._visible = false;
- _loc1_.c_arrObjChildren = new Array();
- _loc1_.c_mCurrentSelection = null;
- }
- function addChild(_objChild, _strChildID, _bValue)
- {
- var _loc2_ = this;
- var _loc3_ = _objChild;
- if(typeof _loc3_ == "movieclip")
- {
- var bExist = false;
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- if(_loc2_.c_arrObjChildren[_loc1_] == _loc3_)
- {
- bExist = true;
- break;
- }
- _loc1_ = _loc1_ + 1;
- }
- if(!bExist)
- {
- _loc2_.addEventsToChild(_loc3_);
- _loc3_.strID = _strChildID;
- _loc3_.bValue = _bValue;
- _loc2_.c_arrObjChildren.push(_loc3_);
- }
- }
- }
- function addEventsToChild(_objChild)
- {
- var _loc1_ = this;
- var _loc2_ = _objChild;
- _loc2_.objController = _loc1_;
- _loc2_.onRollOver = function()
- {
- this.objController.showRollOver(this);
- };
- _loc2_.onRollOut = function()
- {
- this.objController.showRollOut(this);
- };
- _loc2_.onPress = _loc2_.onReleaseOutside = function()
- {
- this.objController.showPress(this);
- };
- _loc2_.onRelease = _loc2_.onReleaseOutside = function()
- {
- this.objController.showRelease(this);
- };
- _loc2_.stop();
- }
- function showRollOver(_objChild)
- {
- var _loc1_ = _objChild;
- _loc1_.useHandCursor = false;
- if(_loc1_ != this.c_mCurrentSelection)
- {
- _loc1_.gotoAndStop("over");
- }
- }
- function showRollOut(_objChild)
- {
- var _loc1_ = this;
- var _loc2_ = _objChild;
- if(_loc2_ != _loc1_.c_mCurrentSelection)
- {
- if(!_loc1_.c_bFadeOthers || _loc1_.c_mCurrentSelection == null)
- {
- _loc2_.gotoAndStop("up");
- }
- else
- {
- _loc2_.gotoAndStop("fade");
- }
- }
- }
- function showPress(_objChild)
- {
- this._parent.track.text = "showPress called";
- _objChild.gotoAndStop("down");
- this._parent.btnCheckAnswer._visible = true;
- }
- function showRelease(_objChild)
- {
- var _loc1_ = this;
- if(_loc1_.c_bIsToggle && _objChild == _loc1_.c_mCurrentSelection)
- {
- _loc1_._parent.btnCheckAnswer._visible = false;
- var _loc2_ = 0;
- while(_loc2_ < _loc1_.c_arrObjChildren.length)
- {
- var _loc3_ = _loc1_._name.substr(-1);
- _loc1_._parent["mcFeedback_" + _loc3_ + "_" + (_loc2_ + 1)].gotoAndStop("blank");
- _loc2_ = _loc2_ + 1;
- }
- if(_loc1_.c_bFadeOthers)
- {
- _loc2_ = 0;
- while(_loc2_ < _loc1_.c_arrObjChildren.length)
- {
- if(_objChild != _loc1_.c_arrObjChildren[_loc2_])
- {
- _loc1_.c_arrObjChildren[_loc2_].gotoAndStop("up");
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- _loc1_.objCallBackFunc1.call(_loc1_,_objChild.strID,_loc1_.c_mCurrentSelection.strID);
- }
- else
- {
- if(_loc1_.c_bFadeOthers)
- {
- _loc2_ = 0;
- while(_loc2_ < _loc1_.c_arrObjChildren.length)
- {
- if(_objChild != _loc1_.c_arrObjChildren[_loc2_])
- {
- _loc1_.c_arrObjChildren[_loc2_].gotoAndStop("fade");
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- else
- {
- _loc1_.c_mCurrentSelection.gotoAndStop("up");
- _loc1_.c_mCurrentSelection.enabled = true;
- _loc1_.c_mCurrentSelection.tabEnabled = true;
- _loc2_ = 0;
- while(_loc2_ < _loc1_.c_arrObjChildren.length)
- {
- _loc3_ = _loc1_._name.substr(-1);
- _loc1_._parent["mcFeedback_" + _loc3_ + "_" + (_loc2_ + 1)].gotoAndStop("blank");
- _loc2_ = _loc2_ + 1;
- }
- }
- _objChild.gotoAndStop("fade");
- _loc1_.objCallBackFunc.call(_loc1_,_objChild.strID,_loc1_.c_mCurrentSelection.strID);
- _loc1_.c_mCurrentSelection = _objChild;
- }
- _loc1_.objTimelineRef.getAttempted(_loc1_);
- }
- function freeze(bStatus)
- {
- var _loc2_ = this;
- var _loc3_ = bStatus;
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- _loc2_.c_arrObjChildren[_loc1_].enabled = !_loc3_;
- _loc2_.c_arrObjChildren[_loc1_].tabEnabled = !_loc3_;
- _loc1_ = _loc1_ + 1;
- }
- _loc2_._parent.btnCheckAnswer.enabled = !_loc3_;
- _loc2_._parent.btnCheckAnswer.tabEnabled = !_loc3_;
- }
- function processFeedback(_objChild)
- {
- var _loc1_ = this;
- var _componentID = _loc1_._name.substr(-1);
- var _loc2_ = Number(_objChild);
- _objChild = _loc1_.c_arrObjChildren[Number(_objChild) - 1];
- if(_objChild.bValue)
- {
- _loc1_._parent["mcFeedback_" + _componentID + "_" + _loc2_].gotoAndStop("correct");
- }
- else
- {
- _loc1_._parent["mcFeedback_" + _componentID + "_" + _loc2_].gotoAndStop("incorrect");
- }
- var _loc3_ = _loc2_;
- _loc1_._parent.mcPopup._visible = true;
- _loc1_._parent.mcPopup.gotoAndStop("instruction" + _loc3_);
- _loc1_._parent.mcPopup["txtMessage" + _loc3_].text = _loc1_._parent["message" + _loc3_];
- }
- function reattempt(_objChild)
- {
- var _loc2_ = this;
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- _loc2_.c_arrObjChildren[_loc1_].enabled = true;
- _loc2_.c_arrObjChildren[_loc1_].tabEnabled = false;
- _loc2_.c_arrObjChildren[_loc1_].gotoAndStop("up");
- _loc1_ = _loc1_ + 1;
- }
- _loc2_.c_mCurrentSelection = null;
- }
- function showCorrect()
- {
- var _loc2_ = this;
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- _loc2_.c_arrObjChildren[_loc1_].enabled = false;
- _loc2_.c_arrObjChildren[_loc1_].tabEnabled = false;
- _loc2_.c_arrObjChildren[_loc1_].gotoAndStop("up");
- if(_loc2_.c_arrObjChildren[_loc1_].bValue)
- {
- var _componentID = _loc2_._name.substr(-1);
- var _loc3_ = Number(_loc2_.c_arrObjChildren[_loc1_].strID);
- _loc2_._parent["mcFeedback_" + _componentID + "_" + _loc3_].gotoAndStop("correct");
- }
- _loc1_ = _loc1_ + 1;
- }
- }
- function setState(_objState)
- {
- var _loc2_ = this;
- var _componentID = _loc2_._name.substr(-1);
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- _loc2_.c_arrObjChildren[_loc1_].gotoAndStop("up");
- _loc1_ = _loc1_ + 1;
- }
- var _loc3_ = _objState.selected;
- _loc2_.c_arrObjChildren[_loc3_ - 1].gotoAndStop("down");
- }
- function getState()
- {
- var _loc1_ = new Object();
- var _loc2_ = this.getSelect();
- _loc1_.selected = _loc2_;
- _loc1_.feedback = !this.c_arrObjChildren[_loc2_ - 1].bValue ? "incorrect" : "correct";
- return _loc1_;
- }
- function get onDeSelection()
- {
- return "NULL";
- }
- function set onDeSelection(_objValue)
- {
- this.objCallBackFunc1 = _objValue;
- }
- function setSelect(_strID)
- {
- var _loc2_ = this;
- var _loc3_ = _strID;
- _loc2_.reset();
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- if(_loc2_.c_arrObjChildren[_loc1_].strID == _loc3_)
- {
- _loc2_.showPress(_loc2_.c_arrObjChildren[_loc1_]);
- _loc2_.showRelease(_loc2_.c_arrObjChildren[_loc1_]);
- break;
- }
- _loc1_ = _loc1_ + 1;
- }
- }
- function getSelect()
- {
- return this.c_mCurrentSelection.strID;
- }
- function reset()
- {
- var _loc2_ = this;
- var _loc3_ = _loc2_._name.substr(-1);
- _loc2_.c_mCurrentSelection = null;
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.c_arrObjChildren.length)
- {
- _loc2_.c_arrObjChildren[_loc1_].gotoAndStop("up");
- _loc2_.c_arrObjChildren[_loc1_].enabled = true;
- _loc2_.c_arrObjChildren[_loc1_].tabEnabled = true;
- _loc2_._parent["mcFeedback_" + _loc3_ + "_" + (_loc1_ + 1)].gotoAndStop("blank");
- _loc1_ = _loc1_ + 1;
- }
- }
- function get onSelection()
- {
- return "NULL";
- }
- function set onSelection(_objValue)
- {
- this.objCallBackFunc = _objValue;
- }
- }
-