home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FCE Gold Plus
/
GOLD.iso
/
pc
/
shell.swf
/
scripts
/
__Packages
/
com
/
comp
/
ComponentMCQ.as
next >
Wrap
Text File
|
2007-10-16
|
9KB
|
296 lines
class com.comp.ComponentMCQ extends MovieClip
{
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;
}
}