JF_Jaramillo

Wordpress

Sep 5th, 2020
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 34.05 KB | None | 0 0
  1. <?xml version="1.0"?>
  2.        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
  3.        <html xmlns="http://www.w3.org/1999/xhtml"
  4.             xml:lang="en"><head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Juan Pinillos."></meta><meta name="keywords" content="Hot Potatoes, Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta>
  5.  
  6. <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
  7. <meta name="DC:Creator" content="Juan Pinillos" />
  8. <meta name="DC:Title" content="Acuerdo 009 (Parte 1)" />
  9.  
  10.  
  11. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  12.  
  13. <title>
  14. Acuerdo 009 (Parte 1)
  15. </title>
  16.  
  17. <!-- Made with executable version 6.3 Release 0 Build 5 -->
  18.  
  19. <!-- The following insertion allows you to add your own code directly to this head tag from the configuration screen -->
  20.  
  21.  
  22.  
  23. <style type="text/css">
  24.  
  25.  
  26. /* This is the CSS stylesheet used in the exercise. */
  27. /* Elements in square brackets are replaced by data based on configuration settings when the exercise is built. */
  28.  
  29. /* BeginCorePageCSS */
  30.  
  31. /* Made with executable version 6.3 Release 0 Build 5 */
  32.  
  33.  
  34. /* Hack to hide a nested Quicktime player from IE, which can't handle it. */
  35. * html object.MediaPlayerNotForIE {
  36.     display: none;
  37. }
  38.  
  39. body{
  40.     font-family: Geneva,Arial,sans-serif;
  41.     background-color: #800000;
  42.     color: #ffffff;
  43.  
  44.     margin-right: 5%;
  45.     margin-left: 5%;
  46.     font-size: small;
  47. }
  48.  
  49. p{
  50.     text-align: left;
  51.     margin: 0px;
  52.     font-size: 100%;
  53. }
  54.  
  55. table,div,span,td{
  56.     font-size: 100%;
  57.     color: #ffffff;
  58. }
  59.  
  60. div.Titles{
  61.     padding: 0.5em;;
  62.     text-align: center;
  63.     color: #ffffff;
  64. }
  65.  
  66. button{
  67.     font-family: Geneva,Arial,sans-serif;
  68.     font-size: 100%;
  69.     display: inline;
  70. }
  71.  
  72. .ExerciseTitle{
  73.     font-size: 140%;
  74.     color: #ffffff;
  75. }
  76.  
  77. .ExerciseSubtitle{
  78.     font-size: 120%;
  79.     color: #ffffff;
  80. }
  81.  
  82. div.StdDiv{
  83.     background-color: #000000;
  84.     text-align: center;
  85.     font-size: 100%;
  86.     color: #ffffff;
  87.     padding: 0.5em;
  88.     border-style: solid;
  89.     border-width: 1px 1px 1px 1px;
  90.     border-color: #ffffff;
  91.     margin-bottom: 1px;
  92. }
  93.  
  94. /* EndCorePageCSS */
  95.  
  96. .RTLText{
  97.     text-align: right;
  98.     font-size: 150%;
  99.     direction: rtl;
  100.     font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Geneva,Arial,sans-serif;
  101. }
  102.  
  103. .CentredRTLText{
  104.     text-align: center;
  105.     font-size: 150%;
  106.     direction: rtl;
  107.     font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Geneva,Arial,sans-serif;
  108. }
  109.  
  110. button p.RTLText{
  111.     text-align: center;
  112. }
  113.  
  114. .RTLGapBox{
  115.     text-align: right;
  116.     font-size: 150%;
  117.     direction: rtl;
  118.     font-family: "Times New Roman", Geneva,Arial,sans-serif;
  119. }
  120.  
  121. .Guess{
  122.     font-weight: bold;
  123. }
  124.  
  125. .CorrectAnswer{
  126.     font-weight: bold;
  127. }
  128.  
  129. div#Timer{
  130.     padding: 0.25em;
  131.     margin-left: auto;
  132.     margin-right: auto;
  133.     text-align: center;
  134.     color: #ffffff;
  135. }
  136.  
  137. span#TimerText{
  138.     padding: 0.25em;
  139.     border-width: 1px;
  140.     border-style: solid;
  141.     font-weight: bold;
  142.     display: none;
  143.     color: #ffffff;
  144. }
  145.  
  146. span.Instructions{
  147.  
  148. }
  149.  
  150. div.ExerciseText{
  151.  
  152. }
  153.  
  154. .FeedbackText, .FeedbackText span.CorrectAnswer, .FeedbackText span.Guess, .FeedbackText span.Answer{
  155.     color: #ffffff;
  156. }
  157.  
  158. .LeftItem{
  159.     font-size: 100%;
  160.     color: #ffffff;
  161.     text-align: left;
  162. }
  163.  
  164. .RightItem{
  165.     font-weight: bold;
  166.     font-size: 100%;
  167.     color: #ffffff;
  168. }
  169.  
  170. span.CorrectMark{
  171.  
  172. }
  173.  
  174. input, textarea{
  175.     font-family: Geneva,Arial,sans-serif;
  176.     font-size: 120%;
  177. }
  178.  
  179. select{
  180.     font-size: 100%;
  181. }
  182.  
  183. div.Feedback {
  184.     background-color: #800000;
  185.     left: 33%;
  186.     width: 34%;
  187.     top: 33%;
  188.     z-index: 1;
  189.     border-style: solid;
  190.     border-width: 1px;
  191.     padding: 5px;
  192.     text-align: center;
  193.     color: #ffffff;
  194.     position: absolute;
  195.     display: none;
  196.     font-size: 100%;
  197. }
  198.  
  199.  
  200.  
  201.  
  202. div.ExerciseDiv{
  203.     color: #ffffff;
  204. }
  205.  
  206. /* JMatch flashcard styles */
  207. table.FlashcardTable{
  208.     background-color: transparent;
  209.     color: #ffffff;
  210.     border-color: #ffffff;
  211.     margin-left: 5%;
  212.     margin-right: 5%;
  213.     margin-top: 2em;
  214.     margin-bottom: 2em;
  215.     width: 90%;
  216.     position: relative;
  217.     text-align: center;
  218.     padding: 0px;
  219. }
  220.  
  221. table.FlashcardTable tr{
  222.     border-style: none;
  223.     margin: 0px;
  224.     padding: 0px;
  225.     background-color: #000000;
  226. }
  227.  
  228. table.FlashcardTable td.Showing{
  229.     font-size: 140%;
  230.     text-align: center;
  231.     width: 50%;
  232.     display: table-cell;
  233.     padding: 2em;
  234.     margin: 0px;
  235.     border-style: solid;
  236.     border-width: 1px;
  237.     color: #ffffff;
  238.     background-color: #000000;
  239. }
  240.  
  241. table.FlashcardTable td.Hidden{
  242.     display: none;
  243. }
  244.  
  245. /* JMix styles */
  246. div#SegmentDiv{
  247.     margin-top: 2em;
  248.     margin-bottom: 2em;
  249.     text-align: center;
  250. }
  251.  
  252. a.ExSegment{
  253.     font-size: 120%;
  254.     font-weight: bold;
  255.     text-decoration: none;
  256.     color: #ffffff;
  257. }
  258.  
  259. span.RemainingWordList{
  260.     font-style: italic;
  261. }
  262.  
  263. div.DropLine {
  264.     position: absolute;
  265.     text-align: center;
  266.     border-bottom-style: solid;
  267.     border-bottom-width: 1px;
  268.     border-bottom-color: #ffffff;
  269.     width: 80%;
  270. }
  271.  
  272. /* JCloze styles */
  273.  
  274. .ClozeWordList{
  275.     text-align: center;
  276.     font-weight: bold;
  277. }
  278.  
  279. div.ClozeBody{
  280.     text-align: left;
  281.     margin-top: 2em;
  282.     margin-bottom: 2em;
  283.     line-height: 2.0
  284. }
  285.  
  286. span.GapSpan{
  287.     font-weight: bold;
  288. }
  289.  
  290. /* JCross styles */
  291.  
  292. table.CrosswordGrid{
  293.     margin: auto auto 1em auto;
  294.     border-collapse: collapse;
  295.     padding: 0px;
  296.     background-color: #000000;
  297. }
  298.  
  299. table.CrosswordGrid tbody tr td{
  300.     width: 1.5em;
  301.     height: 1.5em;
  302.     text-align: center;
  303.     vertical-align: middle;
  304.     font-size: 140%;
  305.     padding: 1px;
  306.     margin: 0px;
  307.     border-style: solid;
  308.     border-width: 1px;
  309.     border-color: #000000;
  310.     color: #000000;
  311. }
  312.  
  313. table.CrosswordGrid span{
  314.     color: #000000;
  315. }
  316.  
  317. table.CrosswordGrid td.BlankCell{
  318.     background-color: #000000;
  319.     color: #000000;
  320. }
  321.  
  322. table.CrosswordGrid td.LetterOnlyCell{
  323.     text-align: center;
  324.     vertical-align: middle;
  325.     background-color: #ffffff;
  326.     color: #000000;
  327.     font-weight: bold;
  328. }
  329.  
  330. table.CrosswordGrid td.NumLetterCell{
  331.     text-align: left;
  332.     vertical-align: top;
  333.     background-color: #ffffff;
  334.     color: #000000;
  335.     padding: 1px;
  336.     font-weight: bold;
  337. }
  338.  
  339. .NumLetterCellText{
  340.     cursor: pointer;
  341.     color: #000000;
  342. }
  343.  
  344. .GridNum{
  345.     vertical-align: super;
  346.     font-size: 66%;
  347.     font-weight: bold;
  348.     text-decoration: none;
  349.     color: #000000;
  350. }
  351.  
  352. .GridNum:hover, .GridNum:visited{
  353.     color: #000000;
  354. }
  355.  
  356. table#Clues{
  357.     margin: auto;
  358.     vertical-align: top;
  359. }
  360.  
  361. table#Clues td{
  362.     vertical-align: top;
  363. }
  364.  
  365. table.ClueList{
  366.   margin: auto;
  367. }
  368.  
  369. td.ClueNum{
  370.     text-align: right;
  371.     font-weight: bold;
  372.     vertical-align: top;
  373. }
  374.  
  375. td.Clue{
  376.     text-align: left;
  377. }
  378.  
  379. div#ClueEntry{
  380.     text-align: left;
  381.     margin-bottom: 1em;
  382. }
  383.  
  384. /* Keypad styles */
  385.  
  386. div.Keypad{
  387.     text-align: center;
  388.     display: none; /* initially hidden, shown if needed */
  389.     margin-bottom: 0.5em;
  390. }
  391.  
  392. div.Keypad button{
  393.     font-family: Geneva,Arial,sans-serif;
  394.     font-size: 120%;
  395.     background-color: #ffffff;
  396.     color: #000000;
  397.     width: 2em;
  398. }
  399.  
  400. /* JQuiz styles */
  401.  
  402. div.QuestionNavigation{
  403.     text-align: center;
  404. }
  405.  
  406. .QNum{
  407.     margin: 0em 1em 0.5em 1em;
  408.     font-weight: bold;
  409.     vertical-align: middle;
  410. }
  411.  
  412. textarea{
  413.     font-family: Geneva,Arial,sans-serif;
  414. }
  415.  
  416. .QuestionText{
  417.     text-align: left;
  418.     margin: 0px;
  419.     font-size: 100%;
  420. }
  421.  
  422. .Answer{
  423.     font-size: 120%;
  424.     letter-spacing: 0.1em;
  425. }
  426.  
  427. .PartialAnswer{
  428.     font-size: 120%;
  429.     letter-spacing: 0.1em;
  430.     color: #ffffff;
  431. }
  432.  
  433. .Highlight{
  434.     color: #000000;
  435.     background-color: #ffff00;
  436.     font-weight: bold;
  437.     font-size: 120%;
  438. }
  439.  
  440. ol.QuizQuestions{
  441.     text-align: left;
  442.     list-style-type: none;
  443. }
  444.  
  445. li.QuizQuestion{
  446.     padding: 1em;
  447.     border-style: solid;
  448.     border-width: 0px 0px 1px 0px;
  449. }
  450.  
  451. ol.MCAnswers{
  452.     text-align: left;
  453.     list-style-type: upper-alpha;
  454.     padding: 1em;
  455. }
  456.  
  457. ol.MCAnswers li{
  458.     margin-bottom: 1em;
  459. }
  460.  
  461. ol.MSelAnswers{
  462.     text-align: left;
  463.     list-style-type: lower-alpha;
  464.     padding: 1em;
  465. }
  466.  
  467. div.ShortAnswer{
  468.     padding: 1em;
  469. }
  470.  
  471. .FuncButton {
  472.     text-align: center;
  473.     border-style: solid;
  474.  
  475.     border-left-color: #7f7f7f;
  476.     border-top-color: #7f7f7f;
  477.     border-right-color: #000000;
  478.     border-bottom-color: #000000;
  479.     color: #ffffff;
  480.     background-color: #000000;
  481.  
  482.     border-width: 2px;
  483.     padding: 3px 6px 3px 6px;
  484.     cursor: pointer;
  485. }
  486.  
  487. .FuncButtonUp {
  488.     color: #000000;
  489.     text-align: center;
  490.     border-style: solid;
  491.  
  492.     border-left-color: #7f7f7f;
  493.     border-top-color: #7f7f7f;
  494.     border-right-color: #000000;
  495.     border-bottom-color: #000000;
  496.  
  497.     background-color: #ffffff;
  498.     color: #000000;
  499.     border-width: 2px;
  500.     padding: 3px 6px 3px 6px;
  501.     cursor: pointer;
  502. }
  503.  
  504. .FuncButtonDown {
  505.     color: #000000;
  506.     text-align: center;
  507.     border-style: solid;
  508.  
  509.     border-left-color: #000000;
  510.     border-top-color: #000000;
  511.     border-right-color: #7f7f7f;
  512.     border-bottom-color: #7f7f7f;
  513.     background-color: #ffffff;
  514.     color: #000000;
  515.  
  516.     border-width: 2px;
  517.     padding: 3px 6px 3px 6px;
  518.     cursor: pointer;
  519. }
  520.  
  521. /*BeginNavBarStyle*/
  522.  
  523. div.NavButtonBar{
  524.     background-color: #000000;
  525.     text-align: center;
  526.     margin: 2px 0px 2px 0px;
  527.     clear: both;
  528.     font-size: 100%;
  529. }
  530.  
  531. .NavButton {
  532.     border-style: solid;
  533.    
  534.     border-left-color: #7f7f7f;
  535.     border-top-color: #7f7f7f;
  536.     border-right-color: #000000;
  537.     border-bottom-color: #000000;
  538.     background-color: #000000;
  539.     color: #ffffff;
  540.  
  541.     border-width: 2px;
  542.     cursor: pointer;   
  543. }
  544.  
  545. .NavButtonUp {
  546.     border-style: solid;
  547.  
  548.     border-left-color: #7f7f7f;
  549.     border-top-color: #7f7f7f;
  550.     border-right-color: #000000;
  551.     border-bottom-color: #000000;
  552.     color: #000000;
  553.     background-color: #ffffff;
  554.  
  555.     border-width: 2px;
  556.     cursor: pointer;   
  557. }
  558.  
  559. .NavButtonDown {
  560.     border-style: solid;
  561.  
  562.     border-left-color: #000000;
  563.     border-top-color: #000000;
  564.     border-right-color: #7f7f7f;
  565.     border-bottom-color: #7f7f7f;
  566.     color: #000000;
  567.     background-color: #ffffff;
  568.  
  569.     border-width: 2px;
  570.     cursor: pointer;   
  571. }
  572.  
  573. /*EndNavBarStyle*/
  574.  
  575. a{
  576.     color: #0000FF;
  577. }
  578.  
  579. a:visited{
  580.     color: #0000CC;
  581. }
  582.  
  583. a:hover{
  584.     color: #0000FF;
  585. }
  586.  
  587. div.CardStyle {
  588.     position: absolute;
  589.     font-family: Geneva,Arial,sans-serif;
  590.     font-size: 100%;
  591.     padding: 5px;
  592.     border-style: solid;
  593.     border-width: 1px;
  594.     color: #ffffff;
  595.     background-color: #000000;
  596.     left: -50px;
  597.     top: -50px;
  598.     overflow: visible;
  599. }
  600.  
  601. .rtl{
  602.     text-align: right;
  603.     font-size: 140%;
  604. }
  605.  
  606.  
  607. </style>
  608.  
  609. <script type="text/javascript">
  610.  
  611. //<![CDATA[
  612.  
  613. <!--
  614.  
  615.  
  616.  
  617.  
  618. function Client(){
  619. //if not a DOM browser, hopeless
  620.     this.min = false; if (document.getElementById){this.min = true;};
  621.  
  622.     this.ua = navigator.userAgent;
  623.     this.name = navigator.appName;
  624.     this.ver = navigator.appVersion;  
  625.  
  626. //Get data about the browser
  627.     this.mac = (this.ver.indexOf('Mac') != -1);
  628.     this.win = (this.ver.indexOf('Windows') != -1);
  629.  
  630. //Look for Gecko
  631.     this.gecko = (this.ua.indexOf('Gecko') > 1);
  632.     if (this.gecko){
  633.         this.geckoVer = parseInt(this.ua.substring(this.ua.indexOf('Gecko')+6, this.ua.length));
  634. //      if (this.geckoVer < 20020000){this.min = false;}
  635.     }
  636.    
  637. //Look for Firebird
  638.     this.firebird = (this.ua.indexOf('Firebird') > 1);
  639.    
  640. //Look for Safari
  641.     this.safari = (this.ua.indexOf('Safari') > 1);
  642.     if (this.safari){
  643.         this.gecko = false;
  644.     }
  645.    
  646. //Look for IE
  647.     this.ie = (this.ua.indexOf('MSIE') > 0);
  648.     if (this.ie){
  649.         this.ieVer = parseFloat(this.ua.substring(this.ua.indexOf('MSIE')+5, this.ua.length));
  650.         if (this.ieVer < 5.5){this.min = false;}
  651.     }
  652.    
  653. //Look for Opera
  654.     this.opera = (this.ua.indexOf('Opera') > 0);
  655.     if (this.opera){
  656.         this.operaVer = parseFloat(this.ua.substring(this.ua.indexOf('Opera')+6, this.ua.length));
  657.         if (this.operaVer < 7.04){this.min = false;}
  658.     }
  659.     if (this.min == false){
  660. //      alert('Your browser may not be able to handle this page.');
  661.     }
  662.    
  663. //Special case for the horrible ie5mac
  664.     this.ie5mac = (this.ie&&this.mac&&(this.ieVer<6));
  665. }
  666.  
  667. var C = new Client();
  668.  
  669. //for (prop in C){
  670. //  alert(prop + ': ' + C[prop]);
  671. //}
  672.  
  673.  
  674.  
  675. //CODE FOR HANDLING NAV BUTTONS AND FUNCTION BUTTONS
  676.  
  677. //[strNavBarJS]
  678. function NavBtnOver(Btn){
  679.     if (Btn.className != 'NavButtonDown'){Btn.className = 'NavButtonUp';}
  680. }
  681.  
  682. function NavBtnOut(Btn){
  683.     Btn.className = 'NavButton';
  684. }
  685.  
  686. function NavBtnDown(Btn){
  687.     Btn.className = 'NavButtonDown';
  688. }
  689. //[/strNavBarJS]
  690.  
  691. function FuncBtnOver(Btn){
  692.     if (Btn.className != 'FuncButtonDown'){Btn.className = 'FuncButtonUp';}
  693. }
  694.  
  695. function FuncBtnOut(Btn){
  696.     Btn.className = 'FuncButton';
  697. }
  698.  
  699. function FuncBtnDown(Btn){
  700.     Btn.className = 'FuncButtonDown';
  701. }
  702.  
  703. function FocusAButton(){
  704.     if (document.getElementById('CheckButton1') != null){
  705.         document.getElementById('CheckButton1').focus();
  706.     }
  707.     else{
  708.         if (document.getElementById('CheckButton2') != null){
  709.             document.getElementById('CheckButton2').focus();
  710.         }
  711.         else{
  712.             document.getElementsByTagName('button')[0].focus();
  713.         }
  714.     }
  715. }
  716.  
  717.  
  718.  
  719.  
  720. //CODE FOR HANDLING DISPLAY OF POPUP FEEDBACK BOX
  721.  
  722. var topZ = 1000;
  723.  
  724. function ShowMessage(Feedback){
  725.     var Output = Feedback + '<br /><br />';
  726.     document.getElementById('FeedbackContent').innerHTML = Output;
  727.     var FDiv = document.getElementById('FeedbackDiv');
  728.     topZ++;
  729.     FDiv.style.zIndex = topZ;
  730.     FDiv.style.top = TopSettingWithScrollOffset(30) + 'px';
  731.  
  732.     FDiv.style.display = 'block';
  733.  
  734.     ShowElements(false, 'input');
  735.     ShowElements(false, 'select');
  736.     ShowElements(false, 'object');
  737.     ShowElements(true, 'object', 'FeedbackContent');
  738.  
  739. //Focus the OK button
  740.     setTimeout("document.getElementById('FeedbackOKButton').focus()", 50);
  741.    
  742. //
  743. }
  744.  
  745. function ShowElements(Show, TagName, ContainerToReverse){
  746. // added third argument to allow objects in the feedback box to appear
  747. //IE bug -- hide all the form elements that will show through the popup
  748. //FF on Mac bug : doesn't redisplay objects whose visibility is set to visible
  749. //unless the object's display property is changed
  750.  
  751.     //get container object (by Id passed in, or use document otherwise)
  752.     TopNode = document.getElementById(ContainerToReverse);
  753.     var Els;
  754.     if (TopNode != null) {
  755.         Els = TopNode.getElementsByTagName(TagName);
  756.     } else {
  757.         Els = document.getElementsByTagName(TagName);
  758.     }
  759.  
  760.     for (var i=0; i<Els.length; i++){
  761.         if (TagName == "object") {
  762.             //manipulate object elements in all browsers
  763.             if (Show == true){
  764.                 Els[i].style.visibility = 'visible';
  765.                 //get Mac FireFox to manipulate display, to force screen redraw
  766.                 if (C.mac && C.gecko) {Els[i].style.display = '';}
  767.             }
  768.             else{
  769.                 Els[i].style.visibility = 'hidden';
  770.                 if (C.mac && C.gecko) {Els[i].style.display = 'none';}
  771.             }
  772.         }
  773.         else {
  774.             // tagName is either input or select (that is, Form Elements)
  775.             // ie6 has a problem with Form elements, so manipulate those
  776.             if (C.ie) {
  777.                 if (C.ieVer < 7) {
  778.                     if (Show == true){
  779.                         Els[i].style.visibility = 'visible';
  780.                     }
  781.                     else{
  782.                         Els[i].style.visibility = 'hidden';
  783.                     }
  784.                 }
  785.             }
  786.         }
  787.     }
  788. }
  789.  
  790.  
  791.  
  792. function HideFeedback(){
  793.     document.getElementById('FeedbackDiv').style.display = 'none';
  794.     ShowElements(true, 'input');
  795.     ShowElements(true, 'select');
  796.     ShowElements(true, 'object');
  797.     if (Finished == true){
  798.         Finish();
  799.     }
  800. }
  801.  
  802.  
  803. //GENERAL UTILITY FUNCTIONS AND VARIABLES
  804.  
  805. //PAGE DIMENSION FUNCTIONS
  806. function PageDim(){
  807. //Get the page width and height
  808.     this.W = 600;
  809.     this.H = 400;
  810.     this.W = document.getElementsByTagName('body')[0].clientWidth;
  811.     this.H = document.getElementsByTagName('body')[0].clientHeight;
  812. }
  813.  
  814. var pg = null;
  815.  
  816. function GetPageXY(El) {
  817.     var XY = {x: 0, y: 0};
  818.     while(El){
  819.         XY.x += El.offsetLeft;
  820.         XY.y += El.offsetTop;
  821.         El = El.offsetParent;
  822.     }
  823.     return XY;
  824. }
  825.  
  826. function GetScrollTop(){
  827.     if (typeof(window.pageYOffset) == 'number'){
  828.         return window.pageYOffset;
  829.     }
  830.     else{
  831.         if ((document.body)&&(document.body.scrollTop)){
  832.             return document.body.scrollTop;
  833.         }
  834.         else{
  835.             if ((document.documentElement)&&(document.documentElement.scrollTop)){
  836.                 return document.documentElement.scrollTop;
  837.             }
  838.             else{
  839.                 return 0;
  840.             }
  841.         }
  842.     }
  843. }
  844.  
  845. function GetViewportHeight(){
  846.     if (typeof window.innerHeight != 'undefined'){
  847.         return window.innerHeight;
  848.     }
  849.     else{
  850.         if (((typeof document.documentElement != 'undefined')&&(typeof document.documentElement.clientHeight !=
  851.     'undefined'))&&(document.documentElement.clientHeight != 0)){
  852.             return document.documentElement.clientHeight;
  853.         }
  854.         else{
  855.             return document.getElementsByTagName('body')[0].clientHeight;
  856.         }
  857.     }
  858. }
  859.  
  860. function TopSettingWithScrollOffset(TopPercent){
  861.     var T = Math.floor(GetViewportHeight() * (TopPercent/100));
  862.     return GetScrollTop() + T;
  863. }
  864.  
  865. //CODE FOR AVOIDING LOSS OF DATA WHEN BACKSPACE KEY INVOKES history.back()
  866. var InTextBox = false;
  867.  
  868. function SuppressBackspace(e){
  869.     if (InTextBox == true){return;}
  870.     if (C.ie) {
  871.         thisKey = window.event.keyCode;
  872.     }
  873.     else {
  874.         thisKey = e.keyCode;
  875.     }
  876.  
  877.     var Suppress = false;
  878.  
  879.     if (thisKey == 8) {
  880.         Suppress = true;
  881.     }
  882.  
  883.     if (Suppress == true){
  884.         if (C.ie){
  885.             window.event.returnValue = false;  
  886.             window.event.cancelBubble = true;
  887.         }
  888.         else{
  889.             e.preventDefault();
  890.         }
  891.     }
  892. }
  893.  
  894. if (C.ie){
  895.     document.attachEvent('onkeydown',SuppressBackspace);
  896.     window.attachEvent('onkeydown',SuppressBackspace);
  897. }
  898. else{
  899.     if (window.addEventListener){
  900.         window.addEventListener('keypress',SuppressBackspace,false);
  901.     }
  902. }
  903.  
  904. function ReduceItems(InArray, ReduceToSize){
  905.     var ItemToDump=0;
  906.     var j=0;
  907.     while (InArray.length > ReduceToSize){
  908.         ItemToDump = Math.floor(InArray.length*Math.random());
  909.         InArray.splice(ItemToDump, 1);
  910.     }
  911. }
  912.  
  913. function Shuffle(InArray){
  914.     var Num;
  915.     var Temp = new Array();
  916.     var Len = InArray.length;
  917.  
  918.     var j = Len;
  919.  
  920.     for (var i=0; i<Len; i++){
  921.         Temp[i] = InArray[i];
  922.     }
  923.  
  924.     for (i=0; i<Len; i++){
  925.         Num = Math.floor(j  *  Math.random());
  926.         InArray[i] = Temp[Num];
  927.  
  928.         for (var k=Num; k < (j-1); k++) {
  929.             Temp[k] = Temp[k+1];
  930.         }
  931.         j--;
  932.     }
  933.     return InArray;
  934. }
  935.  
  936. function WriteToInstructions(Feedback) {
  937.     document.getElementById('InstructionsDiv').innerHTML = Feedback;
  938.  
  939. }
  940.  
  941.  
  942.  
  943.  
  944. function EscapeDoubleQuotes(InString){
  945.     return InString.replace(/"/g, '&quot;')
  946. }
  947.  
  948. function TrimString(InString){
  949.        var x = 0;
  950.  
  951.        if (InString.length != 0) {
  952.                while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){
  953.                        InString = InString.substring(0, InString.length - 1)
  954.                }
  955.  
  956.                while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){
  957.                        InString = InString.substring(1, InString.length)
  958.                }
  959.  
  960.                while (InString.indexOf('  ') != -1) {
  961.                        x = InString.indexOf('  ')
  962.                        InString = InString.substring(0, x) + InString.substring(x+1, InString.length)
  963.                 }
  964.  
  965.                return InString;
  966.        }
  967.  
  968.        else {
  969.                return '';
  970.        }
  971. }
  972.  
  973. function FindLongest(InArray){
  974.     if (InArray.length < 1){return -1;}
  975.  
  976.     var Longest = 0;
  977.     for (var i=1; i<InArray.length; i++){
  978.         if (InArray[i].length > InArray[Longest].length){
  979.             Longest = i;
  980.         }
  981.     }
  982.     return Longest;
  983. }
  984.  
  985. //UNICODE CHARACTER FUNCTIONS
  986. function IsCombiningDiacritic(CharNum){
  987.     var Result = (((CharNum >= 0x0300)&&(CharNum <= 0x370))||((CharNum >= 0x20d0)&&(CharNum <= 0x20ff)));
  988.     Result = Result || (((CharNum >= 0x3099)&&(CharNum <= 0x309a))||((CharNum >= 0xfe20)&&(CharNum <= 0xfe23)));
  989.     return Result;
  990. }
  991.  
  992. function IsCJK(CharNum){
  993.     return ((CharNum >= 0x3000)&&(CharNum < 0xd800));
  994. }
  995.  
  996. //SETUP FUNCTIONS
  997. //BROWSER WILL REFILL TEXT BOXES FROM CACHE IF NOT PREVENTED
  998. function ClearTextBoxes(){
  999.     var NList = document.getElementsByTagName('input');
  1000.     for (var i=0; i<NList.length; i++){
  1001.         if ((NList[i].id.indexOf('Guess') > -1)||(NList[i].id.indexOf('Gap') > -1)){
  1002.             NList[i].value = '';
  1003.         }
  1004.         if (NList[i].id.indexOf('Chk') > -1){
  1005.             NList[i].checked = '';
  1006.         }
  1007.     }
  1008. }
  1009.  
  1010. //EXTENSION TO ARRAY OBJECT
  1011. function Array_IndexOf(Input){
  1012.     var Result = -1;
  1013.     for (var i=0; i<this.length; i++){
  1014.         if (this[i] == Input){
  1015.             Result = i;
  1016.         }
  1017.     }
  1018.     return Result;
  1019. }
  1020. Array.prototype.indexOf = Array_IndexOf;
  1021.  
  1022. //IE HAS RENDERING BUG WITH BOTTOM NAVBAR
  1023. function RemoveBottomNavBarForIE(){
  1024.     if ((C.ie)&&(document.getElementById('Reading') != null)){
  1025.         if (document.getElementById('BottomNavBar') != null){
  1026.             document.getElementById('TheBody').removeChild(document.getElementById('BottomNavBar'));
  1027.         }
  1028.     }
  1029. }
  1030.  
  1031.  
  1032.  
  1033.  
  1034. //HOTPOTNET-RELATED CODE
  1035.  
  1036. var HPNStartTime = (new Date()).getTime();
  1037. var SubmissionTimeout = 30000;
  1038. var Detail = ''; //Global that is used to submit tracking data
  1039.  
  1040. function Finish(){
  1041. //If there's a form, fill it out and submit it
  1042.     if (document.store != null){
  1043.         Frm = document.store;
  1044.         Frm.starttime.value = HPNStartTime;
  1045.         Frm.endtime.value = (new Date()).getTime();
  1046.         Frm.mark.value = Score;
  1047.         Frm.detail.value = Detail;
  1048.         Frm.submit();
  1049.     }
  1050. }
  1051.  
  1052.  
  1053.  
  1054. function Card(ID, OverlapTolerance){
  1055.     this.elm=document.getElementById(ID);
  1056.     this.name=ID;
  1057.     this.css=this.elm.style;
  1058.     this.elm.style.left = 0 +'px';
  1059.     this.elm.style.top = 0 +'px';
  1060.     this.HomeL = 0;
  1061.     this.HomeT = 0;
  1062.     this.tag=-1;
  1063.     this.index=-1;
  1064.     this.OverlapTolerance = OverlapTolerance;
  1065. }
  1066.  
  1067. function CardGetL(){return parseInt(this.css.left)}
  1068. Card.prototype.GetL=CardGetL;
  1069.  
  1070. function CardGetT(){return parseInt(this.css.top)}
  1071. Card.prototype.GetT=CardGetT;
  1072.  
  1073. function CardGetW(){return parseInt(this.elm.offsetWidth)}
  1074. Card.prototype.GetW=CardGetW;
  1075.  
  1076. function CardGetH(){return parseInt(this.elm.offsetHeight)}
  1077. Card.prototype.GetH=CardGetH;
  1078.  
  1079. function CardGetB(){return this.GetT()+this.GetH()}
  1080. Card.prototype.GetB=CardGetB;
  1081.  
  1082. function CardGetR(){return this.GetL()+this.GetW()}
  1083. Card.prototype.GetR=CardGetR;
  1084.  
  1085. function CardSetL(NewL){this.css.left = NewL+'px'}
  1086. Card.prototype.SetL=CardSetL;
  1087.  
  1088. function CardSetT(NewT){this.css.top = NewT+'px'}
  1089. Card.prototype.SetT=CardSetT;
  1090.  
  1091. function CardSetW(NewW){this.css.width = NewW+'px'}
  1092. Card.prototype.SetW=CardSetW;
  1093.  
  1094. function CardSetH(NewH){this.css.height = NewH+'px'}
  1095. Card.prototype.SetH=CardSetH;
  1096.  
  1097. function CardInside(X,Y){
  1098.     var Result=false;
  1099.     if(X>=this.GetL()){if(X<=this.GetR()){if(Y>=this.GetT()){if(Y<=this.GetB()){Result=true;}}}}
  1100.     return Result;
  1101. }
  1102. Card.prototype.Inside=CardInside;
  1103.  
  1104. function CardSwapColours(){
  1105.     var c=this.css.backgroundColor;
  1106.     this.css.backgroundColor=this.css.color;
  1107.     this.css.color=c;
  1108. }
  1109. Card.prototype.SwapColours=CardSwapColours;
  1110.  
  1111. function CardHighlight(){
  1112.     this.css.backgroundColor='#ffffff';
  1113.     this.css.color='#000000';
  1114. }
  1115. Card.prototype.Highlight=CardHighlight;
  1116.  
  1117. function CardUnhighlight(){
  1118.     this.css.backgroundColor='#000000';
  1119.     this.css.color='#ffffff';
  1120. }
  1121. Card.prototype.Unhighlight=CardUnhighlight;
  1122.  
  1123. function CardOverlap(OtherCard){
  1124.     var smR=(this.GetR()<(OtherCard.GetR()+this.OverlapTolerance))? this.GetR(): (OtherCard.GetR()+this.OverlapTolerance);
  1125.     var lgL=(this.GetL()>OtherCard.GetL())? this.GetL(): OtherCard.GetL();
  1126.     var HDim=smR-lgL;
  1127.     if (HDim<1){return 0;}
  1128.     var smB=(this.GetB()<OtherCard.GetB())? this.GetB(): OtherCard.GetB();
  1129.     var lgT=(this.GetT()>OtherCard.GetT())? this.GetT(): OtherCard.GetT();
  1130.     var VDim=smB-lgT;
  1131.     if (VDim<1){return 0;}
  1132.     return (HDim*VDim);
  1133. }
  1134. Card.prototype.Overlap=CardOverlap;
  1135.  
  1136. function CardDockToR(OtherCard){
  1137.     this.SetL(OtherCard.GetR() + 5);
  1138.     this.SetT(OtherCard.GetT());
  1139. }
  1140.  
  1141. Card.prototype.DockToR=CardDockToR;
  1142.  
  1143. function CardSetHome(){
  1144.     this.HomeL=this.GetL();
  1145.     this.HomeT=this.GetT();
  1146. }
  1147. Card.prototype.SetHome=CardSetHome;
  1148.  
  1149. function CardGoHome(){
  1150.     this.SetL(this.HomeL);
  1151.     this.SetT(this.HomeT);
  1152. }
  1153.  
  1154. Card.prototype.GoHome=CardGoHome;
  1155.  
  1156. //Fix for 6.2.5.2: avoid image dragging problem in draggable cards
  1157. function CardSetHTML(HTML){
  1158.     this.elm.innerHTML = HTML;
  1159.     var DragImgs = this.elm.getElementsByTagName('img');
  1160.     if (DragImgs.length > 0){
  1161.         for (var i=0; i<DragImgs.length; i++){
  1162.             DragImgs[i]. onmousedown = function(){return false;}
  1163.         }
  1164.     }
  1165. }
  1166.  
  1167. Card.prototype.SetHTML = CardSetHTML;
  1168.  
  1169. function doDrag(e) {
  1170.     if (CurrDrag == -1) {return};
  1171.     if (C.ie){var Ev = window.event}else{var Ev = e}
  1172.     var difX = Ev.clientX-window.lastX;
  1173.     var difY = Ev.clientY-window.lastY;
  1174.     var newX = DC[CurrDrag].GetL()+difX;
  1175.     var newY = DC[CurrDrag].GetT()+difY;
  1176.     DC[CurrDrag].SetL(newX);
  1177.     DC[CurrDrag].SetT(newY);
  1178.     window.lastX = Ev.clientX;
  1179.     window.lastY = Ev.clientY;
  1180.     return false;
  1181. }
  1182.  
  1183. function beginDrag(e, DragNum) {
  1184.     CurrDrag = DragNum;
  1185.     if (C.ie){
  1186.         var Ev = window.event;
  1187.         document.onmousemove=doDrag;
  1188.         document.onmouseup=endDrag;
  1189.     }
  1190.     else{
  1191.         var Ev = e;
  1192.         window.onmousemove=doDrag;
  1193.         window.onmouseup=endDrag;
  1194.     }
  1195.     DC[CurrDrag].Highlight();
  1196.     topZ++;
  1197.     DC[CurrDrag].css.zIndex = topZ;
  1198.     window.lastX=Ev.clientX;
  1199.     window.lastY=Ev.clientY;
  1200.     return false;  
  1201. }
  1202.  
  1203. function endDrag(e) {
  1204.     if (CurrDrag == -1) {return};
  1205.     DC[CurrDrag].Unhighlight();
  1206.     if (C.ie){document.onmousemove=null}else{window.onmousemove=null;}
  1207.     onEndDrag();   
  1208.     CurrDrag = -1;
  1209. //Need a bugfix for Opera focus problem here
  1210.     if (C.opera){FocusAButton();}
  1211.     return true;
  1212. }
  1213.  
  1214. var CurrDrag = -1;
  1215. var topZ = 100;
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222. //JMATCH-SPECIFIC CORE JAVASCRIPT CODE
  1223.  
  1224. var CorrectResponse = '&#x00A1;Correcto! Bien hecho.';
  1225. var IncorrectResponse = '&#x00A1;Lo siento! Int&#x00E9;ntalo de nuevo. Se han eliminado coincidencias incorrectas.';
  1226. var YourScoreIs = 'Tu puntaje es: ';
  1227. var DivWidth = 600; //default value
  1228. var FeedbackWidth = 200; //default
  1229. var ExBGColor = '#000000';
  1230. var PageBGColor = '#800000';
  1231. var TextColor = '#ffffff';
  1232. var TitleColor = '#ffffff';
  1233. var Penalties = 0;
  1234. var Score = 0;
  1235. var TimeOver = false;
  1236. var Locked = false;
  1237. var ShuffleQs = false;
  1238. var QsToShow = 5;
  1239.  
  1240. var DragWidth = 200;
  1241. var LeftColPos = 100;
  1242. var RightColPos = 500;
  1243. var DragTop = 120;
  1244. var Finished = false;
  1245. var AnswersTried = '';
  1246.  
  1247. //Fixed and draggable card arrays
  1248. FC = new Array();
  1249. DC = new Array();
  1250.  
  1251. function onEndDrag(){
  1252. //Is it dropped on any of the fixed cards?
  1253.     var Docked = false;
  1254.     var DropTarget = DroppedOnFixed(CurrDrag);
  1255.     if (DropTarget > -1){
  1256. //If so, send home any card that is currently docked there
  1257.         for (var i=0; i<DC.length; i++){
  1258.             if (DC[i].tag == DropTarget+1){
  1259.                 DC[i].GoHome();
  1260.                 DC[i].tag = 0;
  1261.                 D[i][2] = 0;
  1262.             }
  1263.         }
  1264. //Dock the dropped card
  1265.         DC[CurrDrag].DockToR(FC[DropTarget]);
  1266.         D[CurrDrag][2] = F[DropTarget][1];
  1267.         DC[CurrDrag].tag = DropTarget+1;
  1268.         Docked = true;
  1269.     }
  1270.  
  1271.     if (Docked == false){
  1272.         DC[CurrDrag].GoHome();
  1273.         DC[CurrDrag].tag = 0;
  1274.         D[CurrDrag][2] = 0;
  1275.     }
  1276. }
  1277.  
  1278. function DroppedOnFixed(DNum){
  1279.     var Result = -1;
  1280.     var OverlapArea = 0;
  1281.     var Temp = 0;
  1282.     for (var i=0; i<FC.length; i++){
  1283.         Temp = DC[DNum].Overlap(FC[i]);
  1284.         if (Temp > OverlapArea){
  1285.             OverlapArea = Temp;
  1286.             Result = i;
  1287.         }
  1288.     }
  1289.     return Result;
  1290. }
  1291.  
  1292.  
  1293. function StartUp(){
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301. //Calculate page dimensions and positions
  1302.     pg = new PageDim();
  1303.     DivWidth = Math.floor((pg.W*4)/5);
  1304.     DragWidth = Math.floor((DivWidth*3)/10);
  1305.     LeftColPos = Math.floor(pg.W/15);
  1306.     RightColPos = pg.W - (DragWidth + LeftColPos);
  1307.     DragTop = parseInt(document.getElementById('CheckButtonDiv').offsetHeight) + parseInt(document.getElementById('CheckButtonDiv').offsetTop) + 10;
  1308.  
  1309.     if (C.ie){
  1310.         DragTop += 15;
  1311.     }
  1312.    
  1313. //Reduce array if required
  1314.     if (QsToShow < F.length){
  1315.         ReduceItems2();
  1316.     }
  1317.    
  1318. //Shuffle the left items if required
  1319.     if (ShuffleQs == true){
  1320.         F = Shuffle(F);
  1321.     }
  1322.  
  1323. //Shuffle the items on the right
  1324.     D = Shuffle(D);
  1325.  
  1326.     var CurrTop = DragTop;
  1327.     var TempInt = 0;
  1328.     var DropHome = 0;
  1329.     var Widest = 0;
  1330.     var CardContent = '';
  1331.     for (var i=0; i<F.length; i++){
  1332.         CardContent = F[i][0];
  1333.         FC[i] = new Card('F' + i, 10);
  1334.         FC[i].elm.innerHTML = CardContent;
  1335.         if (FC[i].GetW() > Widest){
  1336.             Widest = FC[i].GetW();
  1337.         }
  1338.     }
  1339.     if (Widest > DragWidth){Widest = DragWidth;}
  1340.  
  1341.     CurrTop = DragTop;
  1342.  
  1343.     DragWidth = Math.floor((DivWidth-Widest)/2) - 24;
  1344.     RightColPos = DivWidth + LeftColPos - (DragWidth + 14);
  1345.     var Highest = 0;
  1346.     var WidestRight = 0;
  1347.  
  1348.     for (i=0; i<D.length; i++){
  1349.         DC[i] = new Card('D' + i, 10);
  1350.         CardContent = D[i][0];
  1351.        
  1352. //Fix for 6.2.5.2 problem with dragging images.
  1353.         DC[i].SetHTML(CardContent);
  1354.         //DC[i].elm.innerHTML = CardContent;  //old version
  1355.         if (DC[i].GetW() > DragWidth){DC[i].SetW(DragWidth);}
  1356.         DC[i].css.cursor = 'move';
  1357.         DC[i].css.backgroundColor = '#000000';
  1358.         DC[i].css.color = '#ffffff';
  1359.         TempInt = DC[i].GetH();
  1360.         if (TempInt > Highest){Highest = TempInt;}
  1361.         TempInt = DC[i].GetW();
  1362.         if (TempInt > WidestRight){WidestRight = TempInt;}
  1363.     }
  1364.  
  1365. //Fix for 6.2: the reduction by 12 seems to be required -- no idea why!
  1366.     var HeightToSet = Highest-12;
  1367.     var WidthToSet = WidestRight-12;
  1368.  
  1369.     for (i=0; i<D.length; i++){
  1370.         DC[i].SetT(CurrTop);
  1371.         DC[i].SetL(RightColPos);
  1372.         if (DC[i].GetH() < Highest){
  1373.             DC[i].SetH(HeightToSet);
  1374.         }
  1375.         if (DC[i].GetW() < WidestRight){
  1376.             DC[i].SetW(WidthToSet);
  1377.         }
  1378.         DC[i].SetHome();
  1379.         DC[i].tag = -1;
  1380.         CurrTop = CurrTop + DC[i].GetH() + 5;
  1381.     }
  1382.  
  1383.     CurrTop = DragTop;
  1384.  
  1385.     for (var i=0; i<F.length; i++){
  1386.         FC[i].SetW(Widest);
  1387.         if (FC[i].GetH() < Highest){
  1388.             FC[i].SetH(HeightToSet);
  1389.         }
  1390.         FC[i].SetT(CurrTop);
  1391.         FC[i].SetL(LeftColPos);
  1392.         FC[i].SetHome();
  1393.         TempInt = FC[i].GetH();
  1394.         CurrTop = CurrTop + TempInt + 5;
  1395.     }
  1396.  
  1397.  
  1398.  
  1399. }
  1400.  
  1401.  
  1402.  
  1403. F = new Array();
  1404. F[0] = new Array();
  1405. F[0][0]='&#x00BF;Que es el acuerdo 009?';
  1406. F[0][1] = 1;
  1407. F[1] = new Array();
  1408. F[1][0]='&#x00BF;Que se requiere para ser estudiante de la universidad del valle?';
  1409. F[1][1] = 2;
  1410. F[2] = new Array();
  1411. F[2][0]='Se considera situaci&#x00F3;n de bajo rendimiento acad&#x00E9;mico:';
  1412. F[2][1] = 3;
  1413. F[3] = new Array();
  1414. F[3][0]='&#x00BF;Que pasa con un estudiante que incurra en bajo rendimiento por segunda vez en un programa acad&#x00E9;mico?';
  1415. F[3][1] = 4;
  1416. F[4] = new Array();
  1417. F[4][0]='&#x00BF;Que se entiende por reingreso?';
  1418. F[4][1] = 5;
  1419.  
  1420.  
  1421. D = new Array();
  1422. D[0] = new Array();
  1423. D[0][0]='Reglamento por el cual se introducen modificaciones al Acuerdo 002 del 31 de Octubre<br />de 1994 del Consejo Superior';
  1424. D[0][1] = 1;
  1425. D[0][2] = 0;
  1426. D[1] = new Array();
  1427. D[1][0]='Haber sido oficialmente admitido, en concordancia con el Reglamento de Inscripci&#x00F3;n y Admisiones vigente de la Instituci&#x00F3;n y realizar los tramites de matr&#x00ED;cula financiera y acad&#x00E9;mica correspondientes.';
  1428. D[1][1] = 2;
  1429. D[1][2] = 0;
  1430. D[2] = new Array();
  1431. D[2][0]='La p&#x00E9;rdida de la habilitaci&#x00F3;n de una asignatura que se cursa en calidad de repitente por segunda vez.';
  1432. D[2][1] = 3;
  1433. D[2][2] = 0;
  1434. D[3] = new Array();
  1435. D[3][0]='No podra continuar en &#x00E9;l a menos que haya aprobado el 60% de sus creditos o aprobado mas del 60% de las asignaturas.';
  1436. D[3][1] = 4;
  1437. D[3][2] = 0;
  1438. D[4] = new Array();
  1439. D[4][0]='La autorizaci&#x00F3;n de matricula de un estudiante a la univerisdad despues de que ha dejado de hacerlo por uno o mas periodos academicos.';
  1440. D[4][1] = 5;
  1441. D[4][2] = 0;
  1442.  
  1443.  
  1444. function ReduceItems2(){
  1445.     var ItemToDump=0;
  1446.     var j=0;
  1447.     while (F.length > QsToShow){
  1448.         ItemToDump = Math.floor(F.length*Math.random());
  1449.         for (j=ItemToDump; j<(F.length-1); j++){
  1450.             F[j] = F[j+1];
  1451.         }
  1452.         for (j=ItemToDump; j<(D.length-1); j++){
  1453.             D[j] = D[j+1];
  1454.         }      
  1455.         F.length = F.length-1;
  1456.         D.length = D.length-1;
  1457.     }
  1458. }
  1459.  
  1460. function TimerStartUp(){
  1461.     setTimeout('StartUp()', 300);
  1462. }
  1463.  
  1464. function CheckAnswers(){
  1465.     if (Locked == true){return;}
  1466. //Set the default score and response
  1467.     var TotalCorrect = 0;
  1468.     Score = 0;
  1469.     var Feedback = '';
  1470.  
  1471. //for each fixed, check to see if the tag value for the draggable is the same as the fixed
  1472.     if (AnswersTried.length > 0){AnswersTried += ' | ';}
  1473.     var i, j;
  1474.     for (i=0; i<D.length; i++){
  1475.         if (i>0){AnswersTried += ',';}
  1476.         AnswersTried += D[i][1] + '.' + D[i][2] + '';
  1477.         if ((D[i][2] == D[i][1])&&(D[i][2] > 0)){
  1478.             TotalCorrect++;
  1479.         }
  1480.         else{
  1481. //Change made for version 6.0.3.41: don't send wrong items home,
  1482. //show them in a more conspicuous way.
  1483. //          DC[i].GoHome();
  1484.                 DC[i].SetL(DC[i].GetL() + 10);
  1485.                 DC[i].Highlight();
  1486.         }
  1487.     }
  1488.  
  1489.     Score = Math.floor((100*(TotalCorrect-Penalties))/F.length);
  1490.  
  1491.     var AllDone = false;
  1492.  
  1493.     if (TotalCorrect == F.length) {
  1494.         AllDone = true;
  1495.     }
  1496.  
  1497.     if (AllDone == true){
  1498.         Feedback = YourScoreIs + ' ' + Score + '%.';
  1499.         ShowMessage(Feedback + '<br />' + CorrectResponse);
  1500.     }
  1501.     else {
  1502.         Feedback = YourScoreIs + ' ' + Score + '%.' + '<br />' + IncorrectResponse;
  1503.         ShowMessage(Feedback);
  1504.         Penalties++; // Penalty for inaccurate check
  1505.     }
  1506. //If the exercise is over, deal with that
  1507.     if ((AllDone == true)||(TimeOver == true)){
  1508.  
  1509.  
  1510.         TimeOver = true;
  1511.         Locked = true;
  1512.         Finished = true;
  1513.         setTimeout('Finish()', SubmissionTimeout);
  1514.         WriteToInstructions(Feedback);
  1515.     }
  1516.  
  1517. }
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527. //-->
  1528.  
  1529. //]]>
  1530.  
  1531. </script>
  1532.  
  1533. </head>
  1534.  
  1535. <body onload="TimerStartUp()" id="TheBody" >
  1536. <!-- BeginTopNavButtons -->
  1537.  
  1538.  
  1539. <div class="NavButtonBar" id="TopNavBar">
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='009parte2.htm'; return false;">=&gt;</button>
  1547.  
  1548.  
  1549. </div>
  1550.  
  1551.  
  1552.  
  1553. <!-- EndTopNavButtons -->
  1554.  
  1555. <div class="Titles">
  1556.     <h2 class="ExerciseTitle">Acuerdo 009 (Parte 1)</h2>
  1557.  
  1558.     <h3 class="ExerciseSubtitle">Ejercicio de conocimiento general</h3>
  1559.  
  1560.  
  1561.  
  1562. </div>
  1563.  
  1564. <div id="InstructionsDiv" class="StdDiv">
  1565.     <div id="Instructions">Haga coincidir los elementos de la derecha con los elementos de la izquierda.</div>
  1566. </div>
  1567.  
  1568. <div class="StdDiv" id="CheckButtonDiv">
  1569. <button id="CheckButton1" class="FuncButton" onmouseover="FuncBtnOver(this)" onfocus="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onblur="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" onclick="CheckAnswers()">&nbsp;Revisar&nbsp;</button>
  1570. </div>
  1571.  
  1572. <script type="text/javascript">
  1573.  
  1574. //<![CDATA[
  1575.  
  1576. <!--
  1577.  
  1578.  
  1579. for (var i=0; i<F.length; i++){
  1580.     document.write('<div id="F' + i + '" class="CardStyle"></div>');
  1581. }
  1582.  
  1583. for (var i=0; i<D.length; i++){
  1584.     document.write('<div id="D' + i + '" class="CardStyle" onmousedown="beginDrag(event, ' + i + ')"></div>');
  1585. }
  1586.  
  1587. //-->
  1588.  
  1589. //]]>
  1590. </script>
  1591.  
  1592. <div class="Feedback" id="FeedbackDiv">
  1593. <div class="FeedbackText" id="FeedbackContent"></div>
  1594. <button id="FeedbackOKButton" class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" onclick="HideFeedback(); return false;">&nbsp;OK&nbsp;</button>
  1595. </div>
  1596.  
  1597. <!-- BeginBottomNavButtons -->
  1598.  
  1599. <!-- EndBottomNavButtons -->
  1600.  
  1601. <!-- BeginSubmissionForm -->
  1602.  
  1603. <!-- EndSubmissionForm -->
  1604.  
  1605. </body>
  1606. </html>
  1607.  
Add Comment
Please, Sign In to add comment