home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Spanish 3 / ProOne-MultimediaSpanishIII-WinMac.bin / pc / span3web / vmtchfr.js < prev    next >
Text File  |  1998-04-19  |  5KB  |  253 lines

  1. var engWords;
  2. var spanWords;
  3. var wordOrder;
  4. var matchOrder;
  5. var playSound;
  6.  
  7. var startProblem;
  8.  
  9. function SetWords( wArray, startPos )
  10. {
  11.     var i;
  12.  
  13.     for (i=2; i<SetWords.arguments.length; i++)
  14.     {
  15.         wArray[startPos + i - 2] = SetWords.arguments[i];
  16.     }
  17. }
  18.  
  19.  
  20. function SetNumeric( arr, n )
  21. {
  22.     var i;
  23.     
  24.     for (i=0; i < n; i++)
  25.     {
  26.         arr[i] = i;
  27.     }
  28. }
  29.  
  30. function Shuffle( list, startAt, n )
  31. {
  32.     var i, j, swap;
  33.     
  34.     for (i = startAt; i < startAt + n; i++)
  35.     {
  36.         j = startAt + Math.round(Math.random() * (n - 1));
  37.         swap = list[i];
  38.         list[i] = list[j];
  39.         list[j] = swap;
  40.     }
  41. }
  42.  
  43. function WriteProblem( n )
  44. {
  45.     var    i;
  46.     var    doc;
  47.     
  48.     doc = top.problemFrame.document;
  49.     
  50.     doc.open();
  51.  
  52.     doc.writeln("<html><head></head><body bgcolor='#ffffff' link='#006600' vlink='#009900' alink='#00ff00'>");
  53.     doc.writeln("<div align='center'><img src='pics/barflgs.gif' width='514' height='16'></div><p>");
  54.     doc.writeln("Next to each English word, enter the number of the");
  55.     doc.writeln("corresponding Spanish word.<p>");
  56.     doc.writeln("<form>");
  57.     doc.writeln("<table>");
  58.     
  59.     for (i = n; i < n + 5; i++)
  60.     {
  61.         doc.writeln("<tr>");
  62.         doc.writeln("<td valign='top' width='150'>", i-n+1, ". ",
  63.             "<a href='javascript:top.MatchSound(", wordOrder[i]+1, ")'>",
  64.             spanWords[wordOrder[i]],
  65.             "</a></td>");
  66.         doc.writeln("<td valign='top' width='400'><input type='text' size='3'> ", 
  67.             engWords[matchOrder[i]],
  68.             "</td>");
  69.         doc.writeln("</tr>");
  70.         if (i == maxProblem - 1)
  71.         {
  72.             break;
  73.         }
  74.     }
  75.     
  76.     doc.writeln("</table>");
  77.     doc.writeln("</form>");
  78.     doc.writeln("</body></html>");
  79.     doc.close();
  80.  
  81.     if (n == 0)
  82.     {
  83.         top.naviFrame.location.href = "vcheckN.htm";
  84.     }
  85.     else if (n+5 >= maxProblem)
  86.     {
  87.         top.naviFrame.location.href = "vcheckB.htm";
  88.     }
  89.     else
  90.     {
  91.         top.naviFrame.location.href = "vcheckBN.htm";
  92.     }
  93. }
  94.  
  95. function CheckAnswer( n )
  96. {
  97.     var    answers = new Array(5);
  98.     var doc;
  99.     
  100.     doc = top.problemFrame.document;
  101.     
  102.     for (i=0; i<5; i++)
  103.     {
  104.         answers[i] = doc.forms[0].elements[i].value;
  105.         if (answers[i])
  106.         {
  107.             answers[i] = answers[i] - 1;
  108.         }
  109.         else
  110.         {
  111.             answers[i] = -1;
  112.         }
  113.         if (i+n == maxProblem - 1)
  114.         {
  115.             break;
  116.         }
  117.     }
  118.  
  119.     doc.open();
  120.  
  121.     doc.writeln("<html><head></head><body bgcolor='#ffffff'>");
  122.     doc.writeln("<div align='center'><img src='pics/barflgs.gif' width='514' height='16'></div><p>");
  123.     doc.writeln("Here are the results:<p>");
  124.     doc.writeln("<table>");
  125.     
  126.     for (i = n; i < n + 5; i++)
  127.     {
  128.         doc.write("<tr><td width='150'>", i-n+1, ". ",
  129.             spanWords[wordOrder[i]],
  130.             "</td><td width='300'>",answers[i-n]+1, ". ", 
  131.             engWords[matchOrder[i]]);
  132.         if (answers[i-n] >= 0 && (wordOrder[eval(answers[i-n])+n] == matchOrder[i]))
  133.         {
  134.             doc.write(" <font color='#990000'>  Correct!</font>");
  135.         }
  136.         doc.writeln("</td></tr>");
  137.         if (i == maxProblem - 1)
  138.         {
  139.             break;
  140.         }
  141.     }
  142.     
  143.     doc.writeln("</table>");
  144.     doc.writeln("<p></body></html>");
  145.     doc.close();
  146.     
  147.     if (n == 0)
  148.     {
  149.         top.naviFrame.location = "vredoN.htm";
  150.     }
  151.     else if (n+5 >= maxProblem)
  152.     {
  153.         top.naviFrame.location = "vredoB.htm";
  154.     }
  155.     else
  156.     {
  157.         top.naviFrame.location = "vredoBN.htm";
  158.     }
  159. }
  160.  
  161. function GoNext()
  162. {
  163.     if (startProblem < maxProblem - 5)
  164.     {
  165.         startProblem += 5;
  166.         WriteProblem( startProblem );
  167.     }
  168.     else
  169.     {
  170.         window.status = "You are already on the last set."
  171.     }
  172. }
  173.  
  174. function GoBack()
  175. {
  176.     if (startProblem != 0)
  177.     {
  178.         startProblem -= 5;
  179.         WriteProblem( startProblem );
  180.     }
  181.     else
  182.     {
  183.         window.status = "You are already on the first set."
  184.     }
  185. }
  186.  
  187. function GoIndex()
  188. {
  189.     top.location.href = lessonURL + top.location.search;
  190. }
  191.  
  192. function MatchSound( n )
  193. {
  194.     var     d;
  195.     var        name;
  196.  
  197.     if (playSound)
  198.     {
  199.         name = soundDir + n + ".wav";
  200.         d = top.soundFrame.document;
  201.         d.open();
  202.         d.writeln("<html><head></head><body bgcolor=\"#ffffff\">");
  203.         d.writeln("<center>");
  204.         if (navigator.appVersion.indexOf("Mac") == -1)
  205.         {
  206.             d.writeln("<embed src=\"" + name + "\" autostart=\"true\" ");
  207.             d.writeln(" width=\"144\" height=\"15\" controls=\"smallconsole\">");
  208.         }
  209.         else
  210.         {
  211.             d.writeln("<embed src=\"" + name + "\" width=\"144\" height=\"24\" autoplay=\"true\"",
  212.                 " autostart=\"true\" controls=\"smallconsole\">");
  213.         }
  214.         d.writeln("</center>");
  215.         d.writeln("</body></html>");
  216.         d.close();
  217.     }
  218. }
  219.  
  220. function Setup()
  221. {
  222.     var    prefs;
  223.  
  224.     startProblem = 0;
  225.     InitArrays();
  226.     WriteProblem(0);
  227.     prefs = top.location.search;
  228.     prefs = prefs.substring(prefs.indexOf("=") + 1);
  229.     
  230.     if (prefs.charAt(0) == "0")
  231.     {
  232.         SoundOff();
  233.     }
  234.     else
  235.     {
  236.         SoundOn();
  237.     }
  238. }
  239.  
  240. function SoundOn()
  241. {
  242.     playSound = 1;
  243.     top.soundControlFrame.location.href= "soundon.htm";
  244.     top.soundFrame.location.href="null.htm";
  245. }
  246.  
  247. function SoundOff()
  248. {
  249.     playSound = 0;
  250.     top.soundControlFrame.location.href= "soundoff.htm";
  251.     top.soundFrame.location.href="null.htm";
  252. }
  253.