home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FCE Gold Plus
/
GOLD.iso
/
pc
/
shell.swf
/
scripts
/
__Packages
/
com
/
screen
/
TestSelector.as
< prev
next >
Wrap
Text File
|
2007-10-16
|
14KB
|
313 lines
class com.screen.TestSelector
{
function TestSelector()
{
}
function init(_objScreenData, _objSourceRef)
{
var _loc1_ = this;
trace(">>>>>>>>.--------- ppp1111 :::::; " + _objScreenData);
trace(">>>>>>>>.--------- ppp2222 :::::; " + _objSourceRef);
_loc1_.c_objScreenData = _objScreenData;
_loc1_.c_objSourceRef = _objSourceRef;
_loc1_.c_objTestData = new Object();
_loc1_.loadScreen();
}
function loadScreen()
{
_level101.gotoAndStop("TESTSELECT");
this.arrange();
}
function arrange()
{
var _loc2_ = this;
var objTestSel = _loc2_.c_objScreenData["get"]("objTest").tests;
trace(">>>>>>>>.--------- ppp33333 -- objTestSel ::: " + objTestSel);
_loc2_.c_objTestSel = objTestSel;
_level101.txt_Header.autoSize = true;
_level101.txt_Header.html = true;
_level101.txt_Header.htmlText = objTestSel.header.data;
com.controller.UICoordinator.getInstance().setTitle(objTestSel.Title.data);
trace(">>>>>>>>.--------- ppp4444 -- objTestSel.footer.data ::: " + objTestSel.footer.data);
_level101.txt_Footer.htmlText = objTestSel.footer.data;
var objTests = objTestSel.test;
var iTotalTests = objTests.length;
var iStartX = 3;
var iStartY = 38;
var iTestGroupDistance = 8;
var iContinue = 86;
var iCounter = 1;
var _iDepthCount = 1;
var struserName = com.controller.UICoordinator.getInstance().userName;
_loc2_.c_objTestData.UserName = struserName;
_level101.mc_MenuScrollPane._visible = true;
_level101.mc_MenuScrollPane.refreshPane();
_level101.mc_MenuScrollPane.setScrollContent("mcEmpty");
_level101.mc_MenuScrollPane.setSize(720,370);
_level101.mc_Content = _level101.mc_MenuScrollPane.getScrollContent();
var objTest;
if(iTotalTests == undefined || iTotalTests == null)
{
iTotalTests = 1;
objTest = objTests;
}
var i = 1;
while(i <= iTotalTests)
{
var _loc3_ = _level101.mc_Content.attachMovie("mc_TestSelTemplate","mcTest" + i,i);
_loc3_._x = iStartX;
_loc3_._y = iStartY;
iStartY = _loc3_._y + _loc3_._height;
if(objTests[i - 1] != null)
{
objTest = objTests[i - 1];
}
_loc3_.txt_TestTitle.autoSize = true;
var strTestTitle = objTest.attributes.title;
_loc3_.txt_TestTitle.text = objTest.attributes.title + " :";
var iTotalSkills = objTest.skill.length;
_loc2_.hideAllTestButtons(_loc3_,iTotalSkills);
var _loc1_ = 1;
while(_loc1_ <= iTotalSkills)
{
var mcPrevButton;
var _strAddName = "_" + i + "_" + _loc1_;
var strPath = objTest.attributes.path;
_loc3_["txt_TestName" + _loc1_].text = objTest.skill[_loc1_ - 1].attributes.name;
var strSkillName = objTest.skill[_loc1_ - 1].attributes.name;
var strTestName = "";
if(strSkillName.toUpperCase() == "Reading".toUpperCase())
{
strSkillName = "R";
strTestName = "reading";
}
else if(strSkillName.toUpperCase() == "Listening".toUpperCase())
{
strSkillName = "L";
strTestName = "listening";
}
else if(strSkillName.toUpperCase() == "Writing".toUpperCase())
{
strSkillName = "W";
strTestName = "writing";
}
else if(strSkillName.toUpperCase() == "Use of English".toUpperCase())
{
strSkillName = "UOE";
strTestName = "useofenglish";
}
_loc2_.c_strSkillName = strSkillName;
_loc2_.c_objTestData["Test" + i] = new Object();
_loc2_.c_objTestData["Test" + i].SkillName = _loc2_.c_strSkillName;
var strTest = strTestName + i;
var strTestTitle = strTestTitle.split(" ").join("");
var strFileName = String(struserName + strSkillName + strTestTitle);
var arrKeys111 = _loc2_.c_objScreenData.getKeys();
var bln = false;
var objScore = _loc2_.c_objScreenData["get"](strFileName).results;
_loc2_.c_strScore = objScore.score.data;
var strStatus = "Not Done";
var strWritingStatus = "";
var strScoreTime = "";
if(objScore == null)
{
_loc3_["txt_TimeLeft" + _loc1_].text = "Not Done";
strScoreTime = objTest.skill[_loc1_ - 1].attributes.time;
var iTestTime;
var arrTimeArr = objTest.skill[_loc1_ - 1].attributes.time.split(" ");
iTestTime = arrTimeArr[0];
var mcTakeTest = _loc3_["btn_TakeTest_" + _loc1_];
mcTakeTest._visible = true;
_loc2_.arrangeTakeTestButton(strTest,strFileName,mcTakeTest,strTestName,iTestTime);
}
else
{
var blnTestComplete = objScore.attributes.complete;
var strTime = objScore.time.data;
if(blnTestComplete == "true")
{
var _strGrade = _loc2_.setGrade(strTestName);
strScoreTime = strTime + " minute(s) taken";
if(strSkillName.toUpperCase() == "W".toUpperCase())
{
if(Number(objScore.totalAttempted.data) == Number(objScore.totalQuestion.data))
{
strStatus = "The writing section is not marked.";
_loc3_.txt_TestStatus2_2._x -= 40;
}
else
{
strStatus = "The writing section is not marked.";
}
strWritingStatus = "The writing section is not marked.";
_loc3_.txt_TestStatus2_2.htmlText = "<b>" + strWritingStatus + "</b>";
}
else
{
strStatus = "You scored " + objScore.score.data + "% " + _strGrade;
}
var mcReviewTest = _loc3_["btn_ReviewResult_" + _loc1_];
mcReviewTest._visible = true;
mcReviewTest.objRef = _loc2_;
mcPrevButton = mcReviewTest;
_loc2_.arrangeReviewResultButton(strTest,strFileName,mcReviewTest,strTestName,strTime);
}
else
{
strScoreTime = strTime + " minute(s) remaining";
strStatus = "Incomplete";
var mcContinue = _loc3_["btn_ContinueTest_" + _loc1_];
mcContinue._visible = true;
mcContinue.objRef = _loc2_;
mcPrevButton = mcContinue;
_loc2_.arrangeContinueButton(strTest,strFileName,mcContinue,strTestName,strTime);
}
var iTestTime;
var arrTimeArr = objTest.skill[_loc1_ - 1].attributes.time.split(" ");
iTestTime = arrTimeArr[0];
objTest.skill[_loc1_ - 1].attributes.time = strScoreTime;
objTest.skill[_loc1_ - 1].attributes.result = strStatus;
var mcRetake = _loc3_["btn_RetakeTest_" + _loc1_];
mcRetake._visible = true;
mcRetake._x = mcPrevButton._x + mcPrevButton._width + 5;
mcRetake.objRef = _loc2_;
_loc2_.arrangeRetakeButton(strTest,strFileName,mcRetake,strTestName,iTestTime);
}
_loc3_["txt_TimeLeft" + _loc1_].text = strScoreTime;
_loc3_["txt_TestStatus" + _loc1_].htmlText = "<b>" + strStatus + "</b>";
iCounter += 1;
_loc1_ = _loc1_ + 1;
}
i++;
}
_level101.mc_MenuScrollPane.refreshPane();
_loc2_.setEvents(objScore);
}
function setGrade(strTestName)
{
var _iTotalQuestions = com.controller.UICoordinator.getInstance().c_objScreenFactory.c_objTest.getTotalTestQuestions();
var _loc2_ = undefined;
var _loc1_ = Number(this.c_strScore);
if(_loc1_ >= 80)
{
_loc2_ = "<font color=\'#009900\'>Grade A PASS</font>";
}
else if(_loc1_ <= 79 && _loc1_ >= 75)
{
_loc2_ = "<font color=\'#009900\'>Grade B PASS</font>";
}
else if(_loc1_ <= 74 && _loc1_ >= 60)
{
_loc2_ = "<font color=\'#009900\'>Grade C PASS</font>";
}
else if(_loc1_ <= 59 && _loc1_ >= 55)
{
_loc2_ = "<font color=\'#FF0000\'>Grade D NARROW FAIL</font>";
}
else if(_loc1_ <= 54)
{
_loc2_ = "<font color=\'#FF0000\'>Grade E FAIL</font>";
}
return _loc2_;
}
function arrangeTakeTestButton(_strTest, strFileName, mcTakeTest, strTestName, _iTestTime)
{
var _loc1_ = this;
mcTakeTest.objRef = _loc1_;
mcTakeTest.onRelease = function()
{
_level101.mc_MenuScrollPane._visible = false;
com.controller.UICoordinator.getInstance().fileName = _strTest;
com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
com.controller.UICoordinator.getInstance().currentMode = "Take";
var _loc1_ = _strTest.charAt(_strTest.length - 1);
com.controller.UICoordinator.getInstance().c_iCurrentTestNumber = _loc1_;
com.controller.UICoordinator.getInstance().skillName = strTestName;
com.controller.UICoordinator.getInstance().setTestTime(_iTestTime);
if(strTestName == "listening")
{
this.objRef.c_objSourceRef.onProcessComplete("TestSound",strTestName);
}
else
{
this.objRef.c_objSourceRef.onProcessComplete("INSTRUCTION",strTestName);
}
};
}
function arrangeReviewResultButton(strTestXML, strFileName, mcReview, strTestName, strTime)
{
mcReview.objRef = this;
mcReview.onRelease = function()
{
_level101.mc_MenuScrollPane._visible = false;
com.controller.UICoordinator.getInstance().currentMode = "Review";
com.controller.UICoordinator.getInstance().timeLeft = strTime;
com.controller.UICoordinator.getInstance().fileName = strTestXML;
com.controller.UICoordinator.getInstance().skillName = strTestName;
com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
this.objRef.c_objSourceRef.onProcessComplete("ReviewResult",strFileName);
};
}
function arrangeContinueButton(strTestXML, strFileName, mcContinue, strTestName, strTime)
{
mcContinue.objRef = this;
mcContinue.onRelease = function()
{
_level101.mc_MenuScrollPane._visible = false;
com.controller.UICoordinator.getInstance().currentMode = "Continue";
com.controller.UICoordinator.getInstance().timeLeft = strTime;
com.controller.UICoordinator.getInstance().fileName = strTestXML;
com.controller.UICoordinator.getInstance().skillName = strTestName;
com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
this.objRef.c_objSourceRef.onProcessComplete("INSTRUCTION",strTestXML);
};
}
function arrangeRetakeButton(strTestXML, strFileName, mcRetake, strTestName, _iTestTime)
{
mcRetake.objRef = this;
mcRetake.onRelease = function()
{
_level101.mc_MenuScrollPane._visible = false;
com.controller.UICoordinator.getInstance().currentMode = "Retake";
com.controller.UICoordinator.getInstance().fileName = strTestXML;
com.controller.UICoordinator.getInstance().skillName = strTestName;
com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
com.controller.UICoordinator.getInstance().setTestTime(_iTestTime);
var _loc1_ = strTestXML.charAt(strTestXML.length - 1);
com.controller.UICoordinator.getInstance().c_iCurrentTestNumber = _loc1_;
this.objRef.c_objSourceRef.onProcessComplete("INSTRUCTION",strTestXML);
};
}
function setEvents(_objtest)
{
var objRef = this;
var strEnvironment = com.controller.UICoordinator.getInstance().getOSEnvironment();
_level101.btn_quit.onRelease = function()
{
if(strEnvironment == "Windows" || strEnvironment == "Macintosh")
{
trace("Quiiiiiiiiiittttttttting in Side the Test selector");
getUrl("lingo:closeApplication", "");
}
else if(strEnvironment == "Linux")
{
fscommand("quit");
}
};
}
function hideAllTestButtons(_mcTest, _iSkillCount)
{
var _loc2_ = _mcTest;
var _loc3_ = _iSkillCount;
var _loc1_ = 1;
while(_loc1_ <= _loc3_)
{
_loc2_["btn_TakeTest_" + _loc1_]._visible = false;
_loc2_["btn_ContinueTest_" + _loc1_]._visible = false;
_loc2_["btn_RetakeTest_" + _loc1_]._visible = false;
_loc2_["btn_ReviewResult_" + _loc1_]._visible = false;
_loc1_ = _loc1_ + 1;
}
}
}