home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FCE Gold Plus
/
GOLD.iso
/
pc
/
shell.swf
/
scripts
/
__Packages
/
com
/
handler
/
TestSelectHandler.as
< prev
Wrap
Text File
|
2007-10-16
|
6KB
|
190 lines
class com.handler.TestSelectHandler
{
function TestSelectHandler()
{
var _loc1_ = this;
_loc1_.c_hMap = new com.util.HashMap();
_loc1_.c_arrFileNames = [];
_loc1_.c_arrRecordFileNames = [];
_loc1_.c_iCounter = 0;
}
function startProcess(_strObjectName, _objRecordXML)
{
var _loc3_ = this;
_loc3_.c_objRecordXML = _objRecordXML;
var objData;
var objTest = "";
objData = com.controller.UICoordinator.getInstance().getObjectManagerInstance().getObject(_strObjectName);
objTest = _loc3_.c_hMap["get"]("objTest");
var _loc2_ = _loc3_.c_hMap.getKeys();
var bln = false;
var _loc1_ = 1;
while(_loc1_ <= _loc2_.length)
{
if("objTest" == _loc2_[_loc1_ - 1])
{
bln = true;
break;
}
_loc1_ = _loc1_ + 1;
}
if(bln == false)
{
_loc3_.c_hMap.put("objTest",objData);
}
if(delete objData)
{
}
_loc3_.getFileNames(objData);
var strFileName = _loc3_.getFilenameatIndex(_loc3_.c_iCounter);
_loc3_.c_strFileName = strFileName;
_loc3_.loadScoreXML(_loc3_.c_strFileName,0);
}
function loadScoreXML(_strFileName, _iIndex)
{
var _loc3_ = this;
_level101.txt_Trace.text += "\n LEngth::&&" + _loc3_.c_objRecordXML.record.testname.length;
var strtemp = _loc3_.c_strFileName + "_s";
var _loc2_ = com.controller.UICoordinator.getInstance().convertToASCII(strtemp.toString()) + ".xml";
_loc3_.c_arrRecordFileNames = _loc3_.c_objRecordXML.record.testname;
if(_loc3_.c_objRecordXML.record.testname.length > 1)
{
var _loc1_ = 0;
while(true)
{
if(_loc1_ < _loc3_.c_objRecordXML.record.testname.length)
{
strRecordXML = _loc3_.c_objRecordXML.record.testname[_loc1_].data;
if(_loc2_ == strRecordXML)
{
_level101.txt_Trace.text += "\n greater -- " + _loc2_ + "::";
com.controller.UICoordinator.getInstance().doAction("LoadScore",_loc2_);
break;
}
continue;
}
}
}
var strRecordXML = _loc3_.c_objRecordXML.record.testname.data;
if(_loc2_ == strRecordXML)
{
_level101.txt_Trace.text += "\n less -- " + _loc2_ + "::";
com.controller.UICoordinator.getInstance().doAction("LoadScore",_loc2_);
}
else
{
addr173:
_loc3_.getScore("NOXML");
}
§§goto(addr173);
}
function getFilenameatIndex(iCount)
{
return this.c_arrFileNames[iCount];
}
function incrementCounter()
{
this.c_iCounter = this.c_iCounter + 1;
}
function getScore(strScreenName)
{
var _loc1_ = this;
var _loc2_ = undefined;
if("NOXML" != strScreenName)
{
_loc2_ = com.controller.UICoordinator.getInstance().getObjectManagerInstance().getObject("ScoreXML");
_level101.txt_Trace.text += "\n DATA DATA DATA" + _loc2_ + " " + _loc1_.c_strFileName;
_loc1_.addScoreObject(_loc1_.c_strFileName,_loc2_);
}
_loc1_.incrementCounter();
var _loc3_ = _loc1_.getFilenameatIndex(_loc1_.c_iCounter);
_loc1_.c_strFileName = _loc3_;
if(_loc1_.c_iCounter <= _loc1_.c_arrFileNames.length)
{
_loc1_.loadScoreXML(_loc1_.c_strFileName,_loc1_.c_iCounter);
}
else
{
com.controller.UICoordinator.getInstance().getScreenFactoryInstance().showScreen("TestSelect",_loc1_.c_hMap,_loc1_,true);
}
}
function getNumberofTests(objTestData)
{
var _loc1_ = objTestData;
var _loc2_ = 0;
if(_loc1_ != "")
{
_loc2_ = _loc1_.length;
return _loc2_;
}
}
function getNumberofSkills(objTest)
{
var _loc1_ = 0;
if(objTest != "")
{
_loc1_ = objTest.skill.length;
return _loc1_;
}
}
function getFileNames(objData)
{
var objTests = objData.tests.test;
var iNumberofTests = this.getNumberofTests(objTests);
if(iNumberofTests == undefined)
{
iNumberofTests = 1;
objTests[0] = objData.tests.Test;
}
var struserName = com.controller.UICoordinator.getInstance().userName;
var arrFileNames = [];
var _loc3_ = 0;
var i = 0;
while(i < iNumberofTests)
{
var objTest = objTests[i];
var strTestTitle = objTest.attributes.title;
var iTotalSkills = this.getNumberofSkills(objTest);
var _loc2_ = 1;
while(_loc2_ <= iTotalSkills)
{
var _loc1_ = objTest.skill[_loc2_ - 1].attributes.name;
if(_loc1_.toUpperCase() == "Reading".toUpperCase())
{
_loc1_ = "R";
}
else if(_loc1_.toUpperCase() == "Writing".toUpperCase())
{
_loc1_ = "W";
}
else if(_loc1_.toUpperCase() == "Listening".toUpperCase())
{
_loc1_ = "L";
}
else if(_loc1_.toUpperCase() == "Use of English".toUpperCase())
{
_loc1_ = "UOE";
}
var strTestTitle = strTestTitle.split(" ").join("");
var strFileName = struserName + _loc1_ + strTestTitle;
this.c_arrFileNames[_loc3_] = strFileName;
_loc3_ += 1;
_loc2_ = _loc2_ + 1;
}
i++;
}
return this.c_arrFileNames;
}
function addScoreObject(strFileName, objScoreData)
{
if(this.c_hMap["get"]() != strFileName)
{
this.c_hMap.put(strFileName,objScoreData);
}
}
function onProcessComplete(_strProcessName, _objData)
{
com.controller.UICoordinator.getInstance().doAction(_strProcessName,_objData);
}
}