home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FCE Gold Plus
/
GOLD.iso
/
pc
/
shell.swf
/
scripts
/
__Packages
/
com
/
screen
/
DropDownCollection.as
< prev
next >
Wrap
Text File
|
2007-10-16
|
18KB
|
494 lines
class com.screen.DropDownCollection
{
var iLineSp = 22;
var iLevel = 1;
var btnNo = 0;
function DropDownCollection()
{
}
function init(_objRef, _objSection, _wth, x, y, _mcName, _group, _navRef)
{
var _loc1_ = this;
_loc1_.objRef = _objRef;
_loc1_.iWidth = _wth;
_loc1_.xLoc = x;
_loc1_.yLoc = y;
_loc1_.c_strAthMC = _mcName;
_loc1_.c_iGroup = _group;
_loc1_.c_objNavRef = _navRef;
_loc1_.c_objSection = _objSection;
_loc1_.c_strMode = _loc1_.c_objNavRef.c_objTestRef.c_strMode;
_loc1_.c_strSkill = _loc1_.c_objNavRef.c_objTestRef.c_strSkill;
_loc1_.c_objHMObj = _loc1_.c_objNavRef.c_objTestRef.c_hQuestionState;
_loc1_.startProcess();
}
function startProcess()
{
var _loc1_ = this;
var _loc2_ = _loc1_.c_objSection.question;
_loc1_.objRef.mc_feedbackBox._visible = false;
trace(">>DDC this.objRef.mc_feedbackBox : " + _loc1_.objRef.mc_feedbackBox);
_loc1_.textHolder = _loc1_.objRef.createEmptyMovieClip("textHolder",_loc1_.iLevel);
_loc1_.comboHolder = _loc1_.objRef.createEmptyMovieClip("comboHolder",_loc1_.objRef.getNextHighestDepth());
_loc1_.displayTextHolders();
_loc1_.displayDropDown();
_loc1_.fillComboData(_loc1_.comboHolder,_loc2_);
_loc1_.setComboValues(_loc2_);
_loc1_.displaySelectionClip();
_loc1_.displayShowCorrectButtons();
}
function displayTextHolders()
{
var _loc1_ = this;
var arrQuestions = _loc1_.c_objSection.question;
var iRef1X = _loc1_.objRef.mc_resizeRef1._x + 3;
var iRef1Y = _loc1_.objRef.mc_resizeRef1._y + 15;
var iRef2X = _loc1_.objRef.mc_resizeRef2._x + 3;
var iRef2Y = _loc1_.objRef.mc_resizeRef2._y + 15;
_loc1_.arrQuePosition = new Array();
var _loc3_ = 0;
while(_loc3_ < arrQuestions.length)
{
var strQue = _loc1_.c_objSection.question[_loc3_].attributes.number;
var strAnsHint = _loc1_.c_objSection.question[_loc3_].ansHint.data;
var _loc2_ = _loc1_.textHolder.attachMovie("mc_DDTextHolder","mcTextHolder_" + _loc3_,_loc3_);
_loc2_.txt_QueNo.text = strQue;
_loc2_.txt_AnsHint.text = strAnsHint;
_loc1_.quePos = new Object();
if(_loc3_ < 5)
{
_loc2_._x = iRef1X;
_loc2_._y = iRef1Y + 50 * _loc3_;
_loc1_.quePos.xpos = _loc2_._x + 97;
_loc1_.quePos.ypos = _loc2_._y;
_loc1_.arrQuePosition.push(_loc1_.quePos);
}
else
{
_loc2_._x = iRef2X;
_loc2_._y = iRef2Y + 50 * (_loc3_ - 5);
_loc1_.quePos.xpos = _loc2_._x + 97;
_loc1_.quePos.ypos = _loc2_._y;
_loc1_.arrQuePosition.push(_loc1_.quePos);
}
_loc3_ = _loc3_ + 1;
}
}
function displayDropDown()
{
var _loc1_ = this;
var arrQuestions = _loc1_.c_objSection.question;
_loc1_.c_arrQuesNos = new Array();
var queNo;
var _loc3_ = 0;
while(_loc3_ < arrQuestions.length)
{
var _loc2_ = _loc1_.comboHolder.attachMovie(_loc1_.c_strAthMC,"Box" + _loc1_.btnNo,_loc3_);
_loc2_._x = _loc1_.arrQuePosition[_loc3_].xpos;
_loc2_._y = _loc1_.arrQuePosition[_loc3_].ypos;
_loc2_.setSize(245,22);
_loc2_.strCorrectAnswer = _loc1_.getCorrectAnswer(_loc1_.btnNo);
_loc2_.queNumber = _loc1_.getQueNo(_loc1_.btnNo);
_loc2_.answered = "no";
queNo = _loc1_.c_objSection.question[_loc3_].attributes.number;
_loc1_.c_arrQuesNos.push(queNo);
if(_loc1_.c_strMode == "Review")
{
var iQuesNum = _loc1_.getQueNo(_loc1_.btnNo);
var objHMQues = _loc1_.c_objHMObj["get"](_loc1_.c_strSkill + "_" + iQuesNum);
var strCorrect = objHMQues.correct;
var mcFeedback = _loc2_.attachMovie("mc_TickCrossL","mc_TickCross_" + _loc3_,100);
mcFeedback._x = 250;
mcFeedback.gotoAndStop("BLANK");
_level101.txt_Tracer7.text += "\n >> mcFeedback._x : " + mcFeedback._x;
_level101.txt_Tracer7.text += "\n >>mcFeedback : " + mcFeedback;
if(strCorrect == "1")
{
mcFeedback.gotoAndStop("CORRECT");
}
else
{
mcFeedback.gotoAndStop("INCORRECT");
}
}
else if(_loc1_.c_strMode == "Continue")
{
var iQuesNum = _loc1_.getQueNo(_loc1_.btnNo);
var objHMQues = _loc1_.c_objHMObj["get"](_loc1_.c_strSkill + "_" + iQuesNum);
var strAnswered = objHMQues.attempted;
if(strAnswered != null || strAnswered != undefined)
{
_loc2_.answered = "yes";
_loc2_.setSelectedIndex(strAnswered);
}
else
{
_loc2_.answered = "no";
_loc2_.setSelectedIndex(strAnswered);
}
}
_loc1_.addEventToDropDown(_loc2_,_loc1_.objRef);
_loc1_.btnNo = _loc1_.btnNo + 1;
_loc3_ = _loc3_ + 1;
}
_loc1_.c_iDepth = 50;
}
function fillComboData(objScrollContent, arrQuestions)
{
var _loc3_ = arrQuestions;
var iQueLen = _loc3_.length;
var _loc1_ = 0;
while(_loc1_ < iQueLen)
{
var arrComboData = new Array();
var queTextNo = _loc3_[_loc1_].attributes.number;
var queTextCorrectAns = _loc3_[_loc1_].attributes.correct;
var queTextChoicesLen = _loc3_[_loc1_].choices.choice.length;
var queNumber = _loc3_[_loc1_].attributes.number;
var _loc2_ = 0;
while(_loc2_ < queTextChoicesLen)
{
var queData = _loc3_[_loc1_].choices.choice[_loc2_].data;
var queID = _loc3_[_loc1_].choices.choice[_loc2_].attributes.id;
arrComboData.push({label:queData,data:queID});
_loc2_ = _loc2_ + 1;
}
objScrollContent["Box" + _loc1_].setDataProvider(arrComboData);
_loc1_ = _loc1_ + 1;
}
}
function setComboValues(arrQuestions)
{
var _loc3_ = this;
var _loc1_ = 0;
while(_loc1_ < arrQuestions.length)
{
var strQuestionID = arrQuestions[_loc1_].attributes.number;
var _loc2_ = _loc3_.c_objHMObj["get"](String(_loc3_.c_strSkill + "_" + strQuestionID));
if(_loc2_.attempted != null || _loc2_.attempted != undefined)
{
_loc3_.comboHolder["Box" + _loc1_].answered = "yes";
_loc3_.comboHolder["Box" + _loc1_].setSelectedIndex(_loc2_.attempted);
}
else
{
trace(">>DD :::: objHMObject.attempted : " + _loc2_.attempted);
_loc3_.comboHolder["Box" + _loc1_].setSelectedIndex(0);
}
_loc1_ = _loc1_ + 1;
}
}
function getCorrectAnswer(iComboNo)
{
var _loc2_ = this.c_objSection.question;
var queLength = _loc2_.length;
var _loc1_ = 0;
while(_loc1_ <= queLength)
{
if(_loc2_[_loc1_] == _loc2_[iComboNo])
{
var _loc3_ = _loc2_[_loc1_].attributes.correct;
return _loc3_;
}
_loc1_ = _loc1_ + 1;
}
}
function displaySelectionClip()
{
var iTotalQuestions = this.c_arrQuesNos.length;
var mcSelectionClipHolder = this.comboHolder.createEmptyMovieClip("mcSelectionClipHolder",this.c_iDepth + 1);
var _loc1_ = 1;
while(_loc1_ <= iTotalQuestions)
{
var _loc2_ = mcSelectionClipHolder.attachMovie("mcComboSelectionDD","mcSelectionRect_" + _loc1_,_loc1_);
var _loc3_ = this.comboHolder["Box" + (_loc1_ - 1)];
_loc2_._x = _loc3_._x - 1;
_loc2_._y = _loc3_._y - 1;
_loc1_ = _loc1_ + 1;
}
this.deselectAllCombo();
}
function getQueNo(iComboNo)
{
var _loc2_ = this.c_objSection.question;
var _loc1_ = 0;
while(_loc1_ <= _loc2_.length)
{
if(_loc2_[_loc1_] == _loc2_[iComboNo])
{
var _loc3_ = _loc2_[_loc1_].attributes.number;
return _loc3_;
}
_loc1_ = _loc1_ + 1;
}
}
function addEventToDropDown(box, objRef)
{
var _loc2_ = this;
box.objBoxCombo = new Object();
box.objBoxCombo.objRef = _loc2_;
box.onSetFocus = function()
{
box.pCustomFocus = true;
trace("evt::::OPEN:: && iBoxID : " + iBoxID);
var iBoxID = Number(box._name.substr(-1));
box.objBoxCombo.objRef.showComboSelection(iBoxID + 1);
box.objBoxCombo.objRef.showNavigationSelection(iBoxID,this.objRef);
};
box.objBoxCombo.change = function(evt)
{
var _loc1_ = box.getSelectedIndex();
trace("LL :::::::::::::::::::::Hello::::" + _loc1_);
this.objRef.onComboChanged(box,this.objRef,_loc1_);
box.pCustomFocus = false;
};
box.setChangeHandler("change",box.objBoxCombo);
}
function showComboSelection(iBoxNumber)
{
this.deselectAllCombo();
this.comboHolder.mcSelectionClipHolder["mcSelectionRect_" + iBoxNumber].gotoAndStop("_SELECT");
}
function showNavigationSelection(iBoxNumber, objRef)
{
var _loc1_ = this;
var _loc2_ = iBoxNumber;
_loc1_.fileNo = _loc2_;
_loc1_.c_objNavRef.c_iSeleID = _loc1_.c_arrQuesNos[_loc2_];
_loc1_.c_objNavRef.c_preSelecetd = _loc1_.c_objNavRef.c_strSelecetd;
_loc1_.c_objNavRef.c_strSelecetd = "_" + _loc1_.c_iGroup + "_" + _loc1_.fileNo;
_loc1_.objRef.txt_QuestionNo.text = _loc1_.c_objSection.question[_loc2_].attributes.number;
_loc1_.c_objNavRef.navClickedfunction();
}
function onComboChanged(box, objRef, iSelectedIndex)
{
var _loc1_ = this;
var _loc3_ = iSelectedIndex;
if(box.pCustomFocus && _loc3_ > 0)
{
trace("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& NOT EQAL 0 : iSelectedIndex : " + _loc3_);
var iBoxID = box._name.substr(-1);
var _loc2_ = new Object();
var _strCorrAns = Number(box.strCorrectAnswer);
box.answered = "yes";
_loc2_.attempted = _loc3_;
if(_loc3_ == _strCorrAns)
{
_loc2_.correct = 1;
}
else
{
_loc2_.correct = 0;
}
_loc1_.c_objNavRef.c_objTestRef.c_strCurrSelected = iBoxID;
_loc1_.c_objNavRef.c_objTestRef.c_iCurrQuestion = _loc1_.c_objSection.question[iBoxID].attributes.number;
_loc1_.objRef.txt_QuestionNo.text = _loc1_.c_objSection.question[iBoxID].attributes.number;
_loc1_.c_objNavRef.markAttempted();
_loc1_.c_objNavRef.c_objTestRef.appendQuesObject(_loc2_);
_loc1_.showNextButton();
}
else if(box.pCustomFocus && _loc3_ == 0)
{
trace("************* EQAL 0 : iSelectedIndex : " + _loc3_);
_loc1_.c_objNavRef.markUnAttempted();
_loc1_.c_objNavRef.c_objTestRef.removeQuesObject(_loc2_);
}
}
function displayShowCorrectButtons()
{
var _loc1_ = this;
var objRef = _loc1_;
var iTotalQuestions = _loc1_.c_arrQuesNos.length;
var mcSCHolder = _loc1_.comboHolder.createEmptyMovieClip("mcSCHolder",_loc1_.c_iDepth + 20);
var _loc2_ = 1;
while(_loc2_ <= iTotalQuestions)
{
var _loc3_ = mcSCHolder.attachMovie("mc_showbtn","mc_ShowButton_" + _loc2_,_loc2_);
_loc3_.gotoAndStop("NORMAL");
_loc3_._visible = false;
var mcBox = _loc1_.comboHolder["Box" + (_loc2_ - 1)];
_loc3_._x = _loc1_.arrQuePosition[_loc2_ - 1].xpos + 169;
_loc3_._y = _loc1_.arrQuePosition[_loc2_ - 1].ypos + 23;
_loc3_.objRef = _loc1_;
_loc3_.onRelease = function()
{
var _loc1_ = this;
_level101.txt_Tracer7.text += "\n mcShowButton RELEASE & this : " + _loc1_;
_loc1_.gotoAndStop("CLICKED");
_loc1_.enabled = false;
var _loc2_ = Number(_loc1_._name.split("_")[2]);
_level101.txt_Tracer7.text += "\n iID : " + _loc2_;
_loc1_.objRef.c_btnShowPrevious = _loc1_.objRef.c_btnShowCurrent;
_loc1_.objRef.c_btnShowCurrent = _loc1_;
_loc1_.objRef.showCurrectAnswer(_loc2_ - 1,true);
_loc1_.objRef.showNavigationSelection(_loc2_ - 1);
};
_loc2_ = _loc2_ + 1;
}
}
function navBtnClicked(_iCurrQuestion)
{
var _loc1_ = this;
var _loc2_ = undefined;
if(_loc1_.c_strMode == "Review")
{
_loc2_ = true;
}
else
{
_loc2_ = false;
}
_loc1_.fileNo = _iCurrQuestion;
_loc1_.objRef.mc_feedbackBox._visible = false;
_loc1_.c_btnShowCurrent.gotoAndStop("NORMAL");
_loc1_.showNextButton();
_loc1_.showComboSelection(_iCurrQuestion + 1);
_loc1_.freeze(_loc2_);
_loc1_.showSCButtons(_loc2_);
}
function deselectAllCombo()
{
var _loc3_ = this;
var _loc2_ = _loc3_.c_arrQuesNos.length;
var _loc1_ = 1;
while(_loc1_ <= _loc2_)
{
_loc3_.comboHolder.mcSelectionClipHolder["mcSelectionRect_" + _loc1_].gotoAndStop("_DESELECT");
_loc1_ = _loc1_ + 1;
}
}
function showCurrectAnswer(iComboID, _bln)
{
_level101.txt_Tracer7.text += "\n iComboID : " + iComboID + " && _bln : " + _bln;
var strCorrectAnswer = this.getCorrectAnswer(iComboID);
_level101.txt_Tracer7.text += "\n strCorrectAnswer : " + strCorrectAnswer;
var iQuesNo = this.getQueNo(iComboID);
var arrQuestions = this.c_objSection.question;
this.c_btnShowPrevious.gotoAndStop("NORMAL");
this.c_btnShowPrevious.enabled = true;
this.c_btnShowCurrent.gotoAndStop("CLICKED");
this.c_btnShowCurrent.enabled = false;
_level101.txt_Tracer7.text += "\n DDC objRef.mc_feedbackBox : " + this.objRef.mc_feedbackBox;
var _loc1_ = this.objRef.mc_feedbackBox;
if(_bln)
{
_level101.txt_Tracer7.text += "\n SOWWWWWWW && review : " + _loc1_;
_loc1_._visible = true;
_loc1_.btn_close.enabled = true;
_loc1_.btn_close.objRef = this;
_loc1_.btn_close.onRelease = function()
{
var _loc1_ = this;
_loc1_.objRef.c_btnShowCurrent.gotoAndStop("NORMAL");
_loc1_.objRef.c_btnShowCurrent.enabled = true;
_loc1_.enabled = false;
_loc1_._parent._visible = false;
_loc1_._parent.txt_header.text = "";
_loc1_._parent.txt_options.text = "";
};
_loc1_.swapDepths(100);
_loc1_.mc_resizableBox.useHandCursor = false;
_loc1_.mc_resizableBox.onPress = function()
{
this._parent.startDrag(false,-55,-47,324,193);
};
_loc1_.mc_resizableBox.onRelease = _loc1_.mc_resizableBox.onReleaseOutside = function()
{
stopDrag();
};
var objRB = new com.comp.ResizableBox();
objRB.resizeBox(370,80,_loc1_.mc_resizableBox);
var revTxt = this.objRef.mc_resizableBox;
_loc1_.txt_header.text = "Correct Answer(s) for Question No. " + iQuesNo;
_loc1_.txt_header.autoSize = "left";
_loc1_.txt_options.autoSize = true;
_loc1_.txt_options.text = "";
var _loc3_ = strCorrectAnswer.split("|");
var _loc2_ = 0;
while(_loc2_ < _loc3_.length)
{
_loc1_.txt_options.text += arrQuestions[iQuesNo - 21].choices.choice[_loc3_].data;
if(!(_loc2_ % 2) && _loc3_.length > 1)
{
_loc1_.txt_options.text += " or ";
}
_loc2_ = _loc2_ + 1;
}
_loc1_.txt_options.autoSize = "left";
}
else
{
_loc1_._visible = false;
}
}
function showSCButtons(bIfReview)
{
var _loc2_ = this;
if(bIfReview)
{
_loc2_.showHideSCButtons(true);
var iTotalQuestions = _loc2_.c_arrQuesNos.length;
var _loc1_ = 1;
while(_loc1_ <= iTotalQuestions)
{
var iQuesNum = _loc2_.getQueNo(_loc1_ - 1);
var _loc3_ = _loc2_.c_objHMObj["get"](_loc2_.c_strSkill + "_" + iQuesNum);
var strCorrect = _loc3_.correct;
if(strCorrect == "1")
{
var mcShowButton = _loc2_.comboHolder.mcSCHolder["mc_ShowButton_" + _loc1_];
mcShowButton._visible = false;
}
_loc1_ = _loc1_ + 1;
}
}
}
function showHideSCButtons(bVisible)
{
var _loc3_ = this.c_arrQuesNos.length;
var _loc1_ = 1;
while(_loc1_ <= _loc3_)
{
var _loc2_ = this.comboHolder.mcSCHolder["mc_ShowButton_" + _loc1_];
_loc2_._visible = bVisible;
_loc1_ = _loc1_ + 1;
}
}
function showNextButton()
{
var _loc2_ = this;
if(_loc2_.c_objNavRef.c_objTestRef.c_objScreenData.DOC.section.length - 1 != _loc2_.c_objNavRef.c_objTestRef.c_iPartNo)
{
if(_loc2_.c_strMode == "Review")
{
_loc2_.objRef.btn_next._visible = true;
}
else
{
var _loc1_ = 0;
while(_loc1_ < _loc2_.c_arrQuesNos.length)
{
_loc2_.objRef.btn_next._visible = true;
if(_loc2_.comboHolder["Box" + _loc1_].answered == "no")
{
_loc2_.objRef.btn_next._visible = false;
break;
}
_loc1_ = _loc1_ + 1;
}
}
}
}
function freeze(_blnFreeze)
{
var _loc2_ = this;
var _loc3_ = _blnFreeze;
var _loc1_ = 0;
while(_loc1_ < _loc2_.c_arrQuesNos.length)
{
_loc2_.comboHolder["Box" + _loc1_].enabled = !_loc3_;
_loc1_ = _loc1_ + 1;
}
}
}