home *** CD-ROM | disk | FTP | other *** search
/ FCE Gold Plus / GOLD.iso / pc / fscommand / linux / main.swf / scripts / __Packages / com / screen / TestSelector.as < prev    next >
Encoding:
Text File  |  2007-09-06  |  14.1 KB  |  329 lines

  1. class com.screen.TestSelector
  2. {
  3.    var c_strScore;
  4.    var objRef;
  5.    function TestSelector()
  6.    {
  7.    }
  8.    function init(_objScreenData, _objSourceRef)
  9.    {
  10.       var _loc1_ = this;
  11.       trace(">>>>>>>>.--------- ppp1111 :::::; " + _objScreenData);
  12.       trace(">>>>>>>>.--------- ppp2222 :::::; " + _objSourceRef);
  13.       _loc1_.c_objScreenData = _objScreenData;
  14.       _loc1_.c_objSourceRef = _objSourceRef;
  15.       _loc1_.c_objTestData = new Object();
  16.       _loc1_.loadScreen();
  17.    }
  18.    function loadScreen()
  19.    {
  20.       _level101.gotoAndStop("TESTSELECT");
  21.       this.arrange();
  22.    }
  23.    function arrange()
  24.    {
  25.       var _loc2_ = this;
  26.       var objTestSel = _loc2_.c_objScreenData["get"]("objTest").tests;
  27.       trace(">>>>>>>>.--------- ppp33333 -- objTestSel :::  " + objTestSel);
  28.       _loc2_.c_objTestSel = objTestSel;
  29.       _level101.txt_Header.autoSize = true;
  30.       _level101.txt_Header.html = true;
  31.       _level101.txt_Header.htmlText = objTestSel.header.data;
  32.       com.controller.UICoordinator.getInstance().setTitle(objTestSel.Title.data);
  33.       trace(">>>>>>>>.--------- ppp4444 -- objTestSel.footer.data :::  " + objTestSel.footer.data);
  34.       _level101.txt_Footer.htmlText = objTestSel.footer.data;
  35.       var objTests = objTestSel.test;
  36.       var iTotalTests = objTests.length;
  37.       var iStartX = 3;
  38.       var iStartY = 38;
  39.       var iTestGroupDistance = 8;
  40.       var iContinue = 86;
  41.       var iCounter = 1;
  42.       var _iDepthCount = 1;
  43.       var struserName = com.controller.UICoordinator.getInstance().userName;
  44.       _loc2_.c_objTestData.UserName = struserName;
  45.       _level101.mc_MenuScrollPane._visible = true;
  46.       _level101.mc_MenuScrollPane.refreshPane();
  47.       _level101.mc_MenuScrollPane.setScrollContent("mcEmpty");
  48.       _level101.mc_MenuScrollPane.setSize(720,370);
  49.       _level101.mc_Content = _level101.mc_MenuScrollPane.getScrollContent();
  50.       var objTest;
  51.       if(iTotalTests == undefined || iTotalTests == null)
  52.       {
  53.          iTotalTests = 1;
  54.          objTest = objTests;
  55.       }
  56.       var i = 1;
  57.       while(i <= iTotalTests)
  58.       {
  59.          var _loc3_ = _level101.mc_Content.attachMovie("mc_TestSelTemplate","mcTest" + i,i);
  60.          _loc3_._x = iStartX;
  61.          _loc3_._y = iStartY;
  62.          iStartY = _loc3_._y + _loc3_._height;
  63.          if(objTests[i - 1] != null)
  64.          {
  65.             objTest = objTests[i - 1];
  66.          }
  67.          _loc3_.txt_TestTitle.autoSize = true;
  68.          var strTestTitle = objTest.attributes.title;
  69.          _loc3_.txt_TestTitle.text = objTest.attributes.title + " :";
  70.          var iTotalSkills = objTest.skill.length;
  71.          _loc2_.hideAllTestButtons(_loc3_,iTotalSkills);
  72.          var _loc1_ = 1;
  73.          while(_loc1_ <= iTotalSkills)
  74.          {
  75.             var mcPrevButton;
  76.             var _strAddName = "_" + i + "_" + _loc1_;
  77.             var strPath = objTest.attributes.path;
  78.             _loc3_["txt_TestName" + _loc1_].text = objTest.skill[_loc1_ - 1].attributes.name;
  79.             var strSkillName = objTest.skill[_loc1_ - 1].attributes.name;
  80.             var strTestName = "";
  81.             if(strSkillName.toUpperCase() == "Reading".toUpperCase())
  82.             {
  83.                strSkillName = "R";
  84.                strTestName = "reading";
  85.             }
  86.             else if(strSkillName.toUpperCase() == "Listening".toUpperCase())
  87.             {
  88.                strSkillName = "L";
  89.                strTestName = "listening";
  90.             }
  91.             else if(strSkillName.toUpperCase() == "Writing".toUpperCase())
  92.             {
  93.                strSkillName = "W";
  94.                strTestName = "writing";
  95.             }
  96.             else if(strSkillName.toUpperCase() == "Use of English".toUpperCase())
  97.             {
  98.                strSkillName = "UOE";
  99.                strTestName = "useofenglish";
  100.             }
  101.             _loc2_.c_strSkillName = strSkillName;
  102.             _loc2_.c_objTestData["Test" + i] = new Object();
  103.             _loc2_.c_objTestData["Test" + i].SkillName = _loc2_.c_strSkillName;
  104.             var strTest = strTestName + i;
  105.             var strTestTitle = strTestTitle.split(" ").join("");
  106.             var strFileName = String(struserName + strSkillName + strTestTitle);
  107.             var arrKeys111 = _loc2_.c_objScreenData.getKeys();
  108.             var bln = false;
  109.             var objScore = _loc2_.c_objScreenData["get"](strFileName).results;
  110.             _loc2_.c_strScore = objScore.score.data;
  111.             var strStatus = "Not Done";
  112.             var strWritingStatus = "";
  113.             var strScoreTime = "";
  114.             if(objScore == null)
  115.             {
  116.                _loc3_["txt_TimeLeft" + _loc1_].text = "Not Done";
  117.                strScoreTime = objTest.skill[_loc1_ - 1].attributes.time;
  118.                var iTestTime;
  119.                var arrTimeArr = objTest.skill[_loc1_ - 1].attributes.time.split(" ");
  120.                iTestTime = arrTimeArr[0];
  121.                var mcTakeTest = _loc3_["btn_TakeTest_" + _loc1_];
  122.                mcTakeTest._visible = true;
  123.                _loc2_.arrangeTakeTestButton(strTest,strFileName,mcTakeTest,strTestName,iTestTime);
  124.             }
  125.             else
  126.             {
  127.                var blnTestComplete = objScore.attributes.complete;
  128.                var strTime = objScore.time.data;
  129.                if(blnTestComplete == "true")
  130.                {
  131.                   var _strGrade = _loc2_.setGrade(strTestName);
  132.                   strScoreTime = strTime + "  minute(s) taken";
  133.                   if(strSkillName.toUpperCase() == "W".toUpperCase())
  134.                   {
  135.                      if(Number(objScore.totalAttempted.data) == Number(objScore.totalQuestion.data))
  136.                      {
  137.                         strStatus = "The writing section is not marked.";
  138.                         _loc3_.txt_TestStatus2_2._x -= 40;
  139.                      }
  140.                      else
  141.                      {
  142.                         strStatus = "The writing section is not marked.";
  143.                      }
  144.                      strWritingStatus = "The writing section is not marked.";
  145.                      _loc3_.txt_TestStatus2_2.htmlText = "<b>" + strWritingStatus + "</b>";
  146.                   }
  147.                   else
  148.                   {
  149.                      strStatus = "You scored " + objScore.score.data + "%  " + _strGrade;
  150.                   }
  151.                   var mcReviewTest = _loc3_["btn_ReviewResult_" + _loc1_];
  152.                   mcReviewTest._visible = true;
  153.                   mcReviewTest.objRef = _loc2_;
  154.                   mcPrevButton = mcReviewTest;
  155.                   _loc2_.arrangeReviewResultButton(strTest,strFileName,mcReviewTest,strTestName,strTime);
  156.                }
  157.                else
  158.                {
  159.                   strScoreTime = strTime + "  minute(s) remaining";
  160.                   strStatus = "Incomplete";
  161.                   var mcContinue = _loc3_["btn_ContinueTest_" + _loc1_];
  162.                   mcContinue._visible = true;
  163.                   mcContinue.objRef = _loc2_;
  164.                   mcPrevButton = mcContinue;
  165.                   _loc2_.arrangeContinueButton(strTest,strFileName,mcContinue,strTestName,strTime);
  166.                }
  167.                var iTestTime;
  168.                var arrTimeArr = objTest.skill[_loc1_ - 1].attributes.time.split(" ");
  169.                iTestTime = arrTimeArr[0];
  170.                objTest.skill[_loc1_ - 1].attributes.time = strScoreTime;
  171.                objTest.skill[_loc1_ - 1].attributes.result = strStatus;
  172.                var mcRetake = _loc3_["btn_RetakeTest_" + _loc1_];
  173.                mcRetake._visible = true;
  174.                mcRetake._x = mcPrevButton._x + mcPrevButton._width + 5;
  175.                mcRetake.objRef = _loc2_;
  176.                _loc2_.arrangeRetakeButton(strTest,strFileName,mcRetake,strTestName,iTestTime);
  177.             }
  178.             _loc3_["txt_TimeLeft" + _loc1_].text = strScoreTime;
  179.             _loc3_["txt_TestStatus" + _loc1_].htmlText = "<b>" + strStatus + "</b>";
  180.             _loc2_.updatePrintObject(iCounter,strScoreTime,strStatus);
  181.             iCounter += 1;
  182.             _loc1_ = _loc1_ + 1;
  183.          }
  184.          i++;
  185.       }
  186.       _level101.mc_MenuScrollPane.refreshPane();
  187.       _loc2_.setEvents(objScore);
  188.    }
  189.    function setGrade(strTestName)
  190.    {
  191.       var _iTotalQuestions = com.controller.UICoordinator.getInstance().c_objScreenFactory.c_objTest.getTotalTestQuestions();
  192.       var _loc2_ = undefined;
  193.       var _loc1_ = Number(this.c_strScore);
  194.       if(_loc1_ >= 80)
  195.       {
  196.          _loc2_ = "<font color=\'#009900\'>Grade A PASS</font>";
  197.       }
  198.       else if(_loc1_ <= 79 && _loc1_ >= 75)
  199.       {
  200.          _loc2_ = "<font color=\'#009900\'>Grade B PASS</font>";
  201.       }
  202.       else if(_loc1_ <= 74 && _loc1_ >= 60)
  203.       {
  204.          _loc2_ = "<font color=\'#009900\'>Grade C PASS</font>";
  205.       }
  206.       else if(_loc1_ <= 59 && _loc1_ >= 55)
  207.       {
  208.          _loc2_ = "<font color=\'#FF0000\'>Grade D NARROW FAIL</font>";
  209.       }
  210.       else if(_loc1_ <= 54)
  211.       {
  212.          _loc2_ = "<font color=\'#FF0000\'>Grade E FAIL</font>";
  213.       }
  214.       return _loc2_;
  215.    }
  216.    function updatePrintObject(iCnt, strScoreTime, strStatus)
  217.    {
  218.       var _loc1_ = iCnt;
  219.       var _loc2_ = this;
  220.       _loc2_.c_objTestSel["Test" + _loc1_].TimeLeft = strScoreTime;
  221.       _loc2_.c_objTestData["Test" + _loc1_].TimeLeft = strScoreTime;
  222.       _loc2_.c_objTestData["Test" + _loc1_].Score = strStatus;
  223.    }
  224.    function arrangeTakeTestButton(_strTest, strFileName, mcTakeTest, strTestName, _iTestTime)
  225.    {
  226.       var _loc1_ = this;
  227.       mcTakeTest.objRef = _loc1_;
  228.       mcTakeTest.onRelease = function()
  229.       {
  230.          _level101.mc_MenuScrollPane._visible = false;
  231.          com.controller.UICoordinator.getInstance().fileName = _strTest;
  232.          com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
  233.          com.controller.UICoordinator.getInstance().currentMode = "Take";
  234.          var _loc1_ = _strTest.charAt(_strTest.length - 1);
  235.          com.controller.UICoordinator.getInstance().c_iCurrentTestNumber = _loc1_;
  236.          com.controller.UICoordinator.getInstance().skillName = strTestName;
  237.          com.controller.UICoordinator.getInstance().setTestTime(_iTestTime);
  238.          if(strTestName == "listening")
  239.          {
  240.             this.objRef.c_objSourceRef.onProcessComplete("TestSound",strTestName);
  241.          }
  242.          else
  243.          {
  244.             this.objRef.c_objSourceRef.onProcessComplete("INSTRUCTION",strTestName);
  245.          }
  246.       };
  247.    }
  248.    function arrangeReviewResultButton(strTestXML, strFileName, mcReview, strTestName, strTime)
  249.    {
  250.       mcReview.objRef = this;
  251.       mcReview.onRelease = function()
  252.       {
  253.          _level101.mc_MenuScrollPane._visible = false;
  254.          com.controller.UICoordinator.getInstance().currentMode = "Review";
  255.          com.controller.UICoordinator.getInstance().timeLeft = strTime;
  256.          com.controller.UICoordinator.getInstance().fileName = strTestXML;
  257.          com.controller.UICoordinator.getInstance().skillName = strTestName;
  258.          com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
  259.          this.objRef.c_objSourceRef.onProcessComplete("ReviewResult",strFileName);
  260.       };
  261.    }
  262.    function arrangeContinueButton(strTestXML, strFileName, mcContinue, strTestName, strTime)
  263.    {
  264.       mcContinue.objRef = this;
  265.       mcContinue.onRelease = function()
  266.       {
  267.          _level101.mc_MenuScrollPane._visible = false;
  268.          com.controller.UICoordinator.getInstance().currentMode = "Continue";
  269.          com.controller.UICoordinator.getInstance().timeLeft = strTime;
  270.          com.controller.UICoordinator.getInstance().fileName = strTestXML;
  271.          com.controller.UICoordinator.getInstance().skillName = strTestName;
  272.          com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
  273.          this.objRef.c_objSourceRef.onProcessComplete("INSTRUCTION",strTestXML);
  274.       };
  275.    }
  276.    function arrangeRetakeButton(strTestXML, strFileName, mcRetake, strTestName, _iTestTime)
  277.    {
  278.       mcRetake.objRef = this;
  279.       mcRetake.onRelease = function()
  280.       {
  281.          _level101.mc_MenuScrollPane._visible = false;
  282.          com.controller.UICoordinator.getInstance().currentMode = "Retake";
  283.          com.controller.UICoordinator.getInstance().fileName = strTestXML;
  284.          com.controller.UICoordinator.getInstance().skillName = strTestName;
  285.          com.controller.UICoordinator.getInstance().currentTestName = com.controller.UICoordinator.getInstance().convertToASCII(strFileName.toString());
  286.          com.controller.UICoordinator.getInstance().setTestTime(_iTestTime);
  287.          var _loc1_ = strTestXML.charAt(strTestXML.length - 1);
  288.          com.controller.UICoordinator.getInstance().c_iCurrentTestNumber = _loc1_;
  289.          this.objRef.c_objSourceRef.onProcessComplete("INSTRUCTION",strTestXML);
  290.       };
  291.    }
  292.    function setEvents(_objtest)
  293.    {
  294.       var objRef = this;
  295.       var strEnvironment = com.controller.UICoordinator.getInstance().getOSEnvironment();
  296.       _level101.btn_Print2.onRelease = function()
  297.       {
  298.          var _loc1_ = objRef.c_objTestSel.Title.data;
  299.          com.comp.PrintManager.printTest(_level101.printText_mc,_loc1_,objRef.c_objTestSel);
  300.       };
  301.       _level101.btn_quit.onRelease = function()
  302.       {
  303.          if(strEnvironment == "Windows" || strEnvironment == "Macintosh")
  304.          {
  305.             trace("Quiiiiiiiiiittttttttting in Side the Test selector");
  306.             getUrl("lingo:closeApplication", "");
  307.          }
  308.          else if(strEnvironment == "Linux")
  309.          {
  310.             fscommand("quit");
  311.          }
  312.       };
  313.    }
  314.    function hideAllTestButtons(_mcTest, _iSkillCount)
  315.    {
  316.       var _loc2_ = _mcTest;
  317.       var _loc3_ = _iSkillCount;
  318.       var _loc1_ = 1;
  319.       while(_loc1_ <= _loc3_)
  320.       {
  321.          _loc2_["btn_TakeTest_" + _loc1_]._visible = false;
  322.          _loc2_["btn_ContinueTest_" + _loc1_]._visible = false;
  323.          _loc2_["btn_RetakeTest_" + _loc1_]._visible = false;
  324.          _loc2_["btn_ReviewResult_" + _loc1_]._visible = false;
  325.          _loc1_ = _loc1_ + 1;
  326.       }
  327.    }
  328. }
  329.