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 ika."></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="ika" />
  8. <meta name="DC:Creator" content="yuli" />
  9. <meta name="DC:Title" content="Holiday- Arrange the sentences" />
  10. 
  11. 
  12. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  13. 
  14. <title>
  15. Holiday- Arrange the sentences
  16. </title>
  17. 
  18. <!-- Made with executable version 6.3 Release 0 Build 1 -->
  19. 
  20. <!-- The following insertion allows you to add your own code directly to this head tag from the configuration screen -->
  21. 
  22. 
  23. 
  24. <style type="text/css">
  25. 
  26. 
  27. /* This is the CSS stylesheet used in the exercise. */
  28. /* Elements in square brackets are replaced by data based on configuration settings when the exercise is built. */
  29. 
  30. /* BeginCorePageCSS */
  31. 
  32. /* Made with executable version 6.3 Release 0 Build 1 */
  33. 
  34. 
  35. /* Hack to hide a nested Quicktime player from IE, which can't handle it. */
  36. * html object.MediaPlayerNotForIE {
  37. display: none;
  38. }
  39. 
  40. body{
  41. font-family: Geneva,Arial,sans-serif;
  42. background-color: #C0C0C0;
  43. color: #000000;
  44. background-image: url(turtle.jpg);
  45. margin-right: 5%;
  46. margin-left: 5%;
  47. font-size: small;
  48. }
  49. 
  50. p{
  51. text-align: left;
  52. margin: 0px;
  53. font-size: 100%;
  54. }
  55. 
  56. table,div,span,td{
  57. font-size: 100%;
  58. color: #000000;
  59. }
  60. 
  61. div.Titles{
  62. padding: 0.5em;;
  63. text-align: center;
  64. color: #000000;
  65. }
  66. 
  67. button{
  68. font-family: Geneva,Arial,sans-serif;
  69. font-size: 100%;
  70. display: inline;
  71. }
  72. 
  73. .ExerciseTitle{
  74. font-size: 140%;
  75. color: #000000;
  76. }
  77. 
  78. .ExerciseSubtitle{
  79. font-size: 120%;
  80. color: #000000;
  81. }
  82. 
  83. div.StdDiv{
  84. background-color: #FFFFFF;
  85. text-align: center;
  86. font-size: 100%;
  87. color: #000000;
  88. padding: 0.5em;
  89. border-style: solid;
  90. border-width: 1px 1px 1px 1px;
  91. border-color: #000000;
  92. margin-bottom: 1px;
  93. }
  94. 
  95. /* EndCorePageCSS */
  96. 
  97. .RTLText{
  98. text-align: right;
  99. font-size: 150%;
  100. direction: rtl;
  101. font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Geneva,Arial,sans-serif;
  102. }
  103. 
  104. .CentredRTLText{
  105. text-align: center;
  106. font-size: 150%;
  107. direction: rtl;
  108. font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Geneva,Arial,sans-serif;
  109. }
  110. 
  111. button p.RTLText{
  112. text-align: center;
  113. }
  114. 
  115. .RTLGapBox{
  116. text-align: right;
  117. font-size: 150%;
  118. direction: rtl;
  119. font-family: "Times New Roman", Geneva,Arial,sans-serif;
  120. }
  121. 
  122. .Guess{
  123. font-weight: bold;
  124. }
  125. 
  126. .CorrectAnswer{
  127. font-weight: bold;
  128. }
  129. 
  130. div#Timer{
  131. padding: 0.25em;
  132. margin-left: auto;
  133. margin-right: auto;
  134. text-align: center;
  135. color: #000000;
  136. }
  137. 
  138. span#TimerText{
  139. padding: 0.25em;
  140. border-width: 1px;
  141. border-style: solid;
  142. font-weight: bold;
  143. display: none;
  144. color: #000000;
  145. }
  146. 
  147. span.Instructions{
  148. 
  149. }
  150. 
  151. div.ExerciseText{
  152. 
  153. }
  154. 
  155. .FeedbackText, .FeedbackText span.CorrectAnswer, .FeedbackText span.Guess, .FeedbackText span.Answer{
  156. color: #000000;
  157. }
  158. 
  159. .LeftItem{
  160. font-size: 100%;
  161. color: #000000;
  162. text-align: left;
  163. }
  164. 
  165. .RightItem{
  166. font-weight: bold;
  167. font-size: 100%;
  168. color: #000000;
  169. }
  170. 
  171. span.CorrectMark{
  172. 
  173. }
  174. 
  175. input, textarea{
  176. font-family: Geneva,Arial,sans-serif;
  177. font-size: 120%;
  178. }
  179. 
  180. select{
  181. font-size: 100%;
  182. }
  183. 
  184. div.Feedback {
  185. background-color: #C0C0C0;
  186. left: 33%;
  187. width: 34%;
  188. top: 33%;
  189. z-index: 1;
  190. border-style: solid;
  191. border-width: 1px;
  192. padding: 5px;
  193. text-align: center;
  194. color: #000000;
  195. position: absolute;
  196. display: none;
  197. font-size: 100%;
  198. }
  199. 
  200. 
  201. 
  202. 
  203. div.ExerciseDiv{
  204. color: #000000;
  205. }
  206. 
  207. /* JMatch flashcard styles */
  208. table.FlashcardTable{
  209. background-color: transparent;
  210. color: #000000;
  211. border-color: #000000;
  212. margin-left: 5%;
  213. margin-right: 5%;
  214. margin-top: 2em;
  215. margin-bottom: 2em;
  216. width: 90%;
  217. position: relative;
  218. text-align: center;
  219. padding: 0px;
  220. }
  221. 
  222. table.FlashcardTable tr{
  223. border-style: none;
  224. margin: 0px;
  225. padding: 0px;
  226. background-color: #FFFFFF;
  227. }
  228. 
  229. table.FlashcardTable td.Showing{
  230. font-size: 140%;
  231. text-align: center;
  232. width: 50%;
  233. display: table-cell;
  234. padding: 2em;
  235. margin: 0px;
  236. border-style: solid;
  237. border-width: 1px;
  238. color: #000000;
  239. background-color: #FFFFFF;
  240. }
  241. 
  242. table.FlashcardTable td.Hidden{
  243. display: none;
  244. }
  245. 
  246. /* JMix styles */
  247. div#SegmentDiv{
  248. margin-top: 2em;
  249. margin-bottom: 2em;
  250. text-align: center;
  251. }
  252. 
  253. a.ExSegment{
  254. font-size: 120%;
  255. font-weight: bold;
  256. text-decoration: none;
  257. color: #000000;
  258. }
  259. 
  260. span.RemainingWordList{
  261. font-style: italic;
  262. }
  263. 
  264. div.DropLine {
  265. position: absolute;
  266. text-align: center;
  267. border-bottom-style: solid;
  268. border-bottom-width: 1px;
  269. border-bottom-color: #000000;
  270. width: 80%;
  271. }
  272. 
  273. /* JCloze styles */
  274. 
  275. .ClozeWordList{
  276. text-align: center;
  277. font-weight: bold;
  278. }
  279. 
  280. div.ClozeBody{
  281. text-align: left;
  282. margin-top: 2em;
  283. margin-bottom: 2em;
  284. line-height: 2.0
  285. }
  286. 
  287. span.GapSpan{
  288. font-weight: bold;
  289. }
  290. 
  291. /* JCross styles */
  292. 
  293. table.CrosswordGrid{
  294. margin: auto auto 1em auto;
  295. border-collapse: collapse;
  296. padding: 0px;
  297. background-color: #000000;
  298. }
  299. 
  300. table.CrosswordGrid tbody tr td{
  301. width: 1.5em;
  302. height: 1.5em;
  303. text-align: center;
  304. vertical-align: middle;
  305. font-size: 140%;
  306. padding: 1px;
  307. margin: 0px;
  308. border-style: solid;
  309. border-width: 1px;
  310. border-color: #000000;
  311. color: #000000;
  312. }
  313. 
  314. table.CrosswordGrid span{
  315. color: #000000;
  316. }
  317. 
  318. table.CrosswordGrid td.BlankCell{
  319. background-color: #000000;
  320. color: #000000;
  321. }
  322. 
  323. table.CrosswordGrid td.LetterOnlyCell{
  324. text-align: center;
  325. vertical-align: middle;
  326. background-color: #ffffff;
  327. color: #000000;
  328. font-weight: bold;
  329. }
  330. 
  331. table.CrosswordGrid td.NumLetterCell{
  332. text-align: left;
  333. vertical-align: top;
  334. background-color: #ffffff;
  335. color: #000000;
  336. padding: 1px;
  337. font-weight: bold;
  338. }
  339. 
  340. .NumLetterCellText{
  341. cursor: pointer;
  342. color: #000000;
  343. }
  344. 
  345. .GridNum{
  346. vertical-align: super;
  347. font-size: 66%;
  348. font-weight: bold;
  349. text-decoration: none;
  350. color: #000000;
  351. }
  352. 
  353. .GridNum:hover, .GridNum:visited{
  354. color: #000000;
  355. }
  356. 
  357. table#Clues{
  358. margin: auto;
  359. vertical-align: top;
  360. }
  361. 
  362. table#Clues td{
  363. vertical-align: top;
  364. }
  365. 
  366. table.ClueList{
  367. margin: auto;
  368. }
  369. 
  370. td.ClueNum{
  371. text-align: right;
  372. font-weight: bold;
  373. vertical-align: top;
  374. }
  375. 
  376. td.Clue{
  377. text-align: left;
  378. }
  379. 
  380. div#ClueEntry{
  381. text-align: left;
  382. margin-bottom: 1em;
  383. }
  384. 
  385. /* Keypad styles */
  386. 
  387. div.Keypad{
  388. text-align: center;
  389. display: none; /* initially hidden, shown if needed */
  390. margin-bottom: 0.5em;
  391. }
  392. 
  393. div.Keypad button{
  394. font-family: Geneva,Arial,sans-serif;
  395. font-size: 120%;
  396. background-color: #ffffff;
  397. color: #000000;
  398. width: 2em;
  399. }
  400. 
  401. /* JQuiz styles */
  402. 
  403. div.QuestionNavigation{
  404. text-align: center;
  405. }
  406. 
  407. .QNum{
  408. margin: 0em 1em 0.5em 1em;
  409. font-weight: bold;
  410. vertical-align: middle;
  411. }
  412. 
  413. textarea{
  414. font-family: Geneva,Arial,sans-serif;
  415. }
  416. 
  417. .QuestionText{
  418. text-align: left;
  419. margin: 0px;
  420. font-size: 100%;
  421. }
  422. 
  423. .Answer{
  424. font-size: 120%;
  425. letter-spacing: 0.1em;
  426. }
  427. 
  428. .PartialAnswer{
  429. font-size: 120%;
  430. letter-spacing: 0.1em;
  431. color: #000000;
  432. }
  433. 
  434. .Highlight{
  435. color: #000000;
  436. background-color: #ffff00;
  437. font-weight: bold;
  438. font-size: 120%;
  439. }
  440. 
  441. ol.QuizQuestions{
  442. text-align: left;
  443. list-style-type: none;
  444. }
  445. 
  446. li.QuizQuestion{
  447. padding: 1em;
  448. border-style: solid;
  449. border-width: 0px 0px 1px 0px;
  450. }
  451. 
  452. ol.MCAnswers{
  453. text-align: left;
  454. list-style-type: upper-alpha;
  455. padding: 1em;
  456. }
  457. 
  458. ol.MCAnswers li{
  459. margin-bottom: 1em;
  460. }
  461. 
  462. ol.MSelAnswers{
  463. text-align: left;
  464. list-style-type: lower-alpha;
  465. padding: 1em;
  466. }
  467. 
  468. div.ShortAnswer{
  469. padding: 1em;
  470. }
  471. 
  472. .FuncButton {
  473. text-align: center;
  474. border-style: solid;
  475. 
  476. border-left-color: #ffffff;
  477. border-top-color: #ffffff;
  478. border-right-color: #7f7f7f;
  479. border-bottom-color: #7f7f7f;
  480. color: #000000;
  481. background-color: #FFFFFF;
  482. 
  483. border-width: 2px;
  484. padding: 3px 6px 3px 6px;
  485. cursor: pointer;
  486. }
  487. 
  488. .FuncButtonUp {
  489. color: #FFFFFF;
  490. text-align: center;
  491. border-style: solid;
  492. 
  493. border-left-color: #ffffff;
  494. border-top-color: #ffffff;
  495. border-right-color: #7f7f7f;
  496. border-bottom-color: #7f7f7f;
  497. 
  498. background-color: #000000;
  499. color: #FFFFFF;
  500. border-width: 2px;
  501. padding: 3px 6px 3px 6px;
  502. cursor: pointer;
  503. }
  504. 
  505. .FuncButtonDown {
  506. color: #FFFFFF;
  507. text-align: center;
  508. border-style: solid;
  509. 
  510. border-left-color: #7f7f7f;
  511. border-top-color: #7f7f7f;
  512. border-right-color: #ffffff;
  513. border-bottom-color: #ffffff;
  514. background-color: #000000;
  515. color: #FFFFFF;
  516. 
  517. border-width: 2px;
  518. padding: 3px 6px 3px 6px;
  519. cursor: pointer;
  520. }
  521. 
  522. /*BeginNavBarStyle*/
  523. 
  524. div.NavButtonBar{
  525. background-color: #000000;
  526. text-align: center;
  527. margin: 2px 0px 2px 0px;
  528. clear: both;
  529. font-size: 100%;
  530. }
  531. 
  532. .NavButton {
  533. border-style: solid;
  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: #000000;
  595. background-color: #FFFFFF;
  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. //Look for Firebird
  637. this.firebird = (this.ua.indexOf('Firebird') > 1);
  638. //Look for Safari
  639. this.safari = (this.ua.indexOf('Safari') > 1);
  640. if (this.safari){
  641. this.gecko = false;
  642. }
  643. //Look for IE
  644. this.ie = (this.ua.indexOf('MSIE') > 0);
  645. if (this.ie){
  646. this.ieVer = parseFloat(this.ua.substring(this.ua.indexOf('MSIE')+5, this.ua.length));
  647. if (this.ieVer < 5.5){this.min = false;}
  648. }
  649. //Look for Opera
  650. this.opera = (this.ua.indexOf('Opera') > 0);
  651. if (this.opera){
  652. this.operaVer = parseFloat(this.ua.substring(this.ua.indexOf('Opera')+6, this.ua.length));
  653. if (this.operaVer < 7.04){this.min = false;}
  654. }
  655. if (this.min == false){
  656. alert('Your browser may not be able to handle this page.');
  657. }
  658. //Special case for the horrible ie5mac
  659. this.ie5mac = (this.ie&&this.mac&&(this.ieVer<6));
  660. }
  661. 
  662. var C = new Client();
  663. 
  664. //for (prop in C){
  665. // alert(prop + ': ' + C[prop]);
  666. //}
  667. 
  668. 
  669. 
  670. //CODE FOR HANDLING NAV BUTTONS AND FUNCTION BUTTONS
  671. 
  672. //[strNavBarJS]
  673. function NavBtnOver(Btn){
  674. if (Btn.className != 'NavButtonDown'){Btn.className = 'NavButtonUp';}
  675. }
  676. 
  677. function NavBtnOut(Btn){
  678. Btn.className = 'NavButton';
  679. }
  680. 
  681. function NavBtnDown(Btn){
  682. Btn.className = 'NavButtonDown';
  683. }
  684. //[/strNavBarJS]
  685. 
  686. function FuncBtnOver(Btn){
  687. if (Btn.className != 'FuncButtonDown'){Btn.className = 'FuncButtonUp';}
  688. }
  689. 
  690. function FuncBtnOut(Btn){
  691. Btn.className = 'FuncButton';
  692. }
  693. 
  694. function FuncBtnDown(Btn){
  695. Btn.className = 'FuncButtonDown';
  696. }
  697. 
  698. function FocusAButton(){
  699. if (document.getElementById('CheckButton1') != null){
  700. document.getElementById('CheckButton1').focus();
  701. }
  702. else{
  703. if (document.getElementById('CheckButton2') != null){
  704. document.getElementById('CheckButton2').focus();
  705. }
  706. else{
  707. document.getElementsByTagName('button')[0].focus();
  708. }
  709. }
  710. }
  711. 
  712. 
  713. 
  714. 
  715. //CODE FOR HANDLING DISPLAY OF POPUP FEEDBACK BOX
  716. 
  717. var topZ = 1000;
  718. 
  719. function ShowMessage(Feedback){
  720. var Output = Feedback + '<br /><br />';
  721. document.getElementById('FeedbackContent').innerHTML = Output;
  722. var FDiv = document.getElementById('FeedbackDiv');
  723. topZ++;
  724. FDiv.style.zIndex = topZ;
  725. FDiv.style.top = TopSettingWithScrollOffset(30) + 'px';
  726. 
  727. FDiv.style.display = 'block';
  728. 
  729. ShowElements(false, 'input');
  730. ShowElements(false, 'select');
  731. ShowElements(false, 'object');
  732. ShowElements(true, 'object', 'FeedbackContent');
  733. 
  734. //Focus the OK button
  735. setTimeout("document.getElementById('FeedbackOKButton').focus()", 50);
  736. //
  737. }
  738. 
  739. function ShowElements(Show, TagName, ContainerToReverse){
  740. // added third argument to allow objects in the feedback box to appear
  741. //IE bug -- hide all the form elements that will show through the popup
  742. //FF on Mac bug : doesn't redisplay objects whose visibility is set to visible
  743. //unless the object's display property is changed
  744. 
  745. //get container object (by Id passed in, or use document otherwise)
  746. TopNode = document.getElementById(ContainerToReverse);
  747. var Els;
  748. if (TopNode != null) {
  749. Els = TopNode.getElementsByTagName(TagName);
  750. } else {
  751. Els = document.getElementsByTagName(TagName);
  752. }
  753. 
  754. for (var i=0; i<Els.length; i++){
  755. if (TagName == "object") {
  756. //manipulate object elements in all browsers
  757. if (Show == true){
  758. Els[i].style.visibility = 'visible';
  759. //get Mac FireFox to manipulate display, to force screen redraw
  760. if (C.mac && C.gecko) {Els[i].style.display = '';}
  761. }
  762. else{
  763. Els[i].style.visibility = 'hidden';
  764. if (C.mac && C.gecko) {Els[i].style.display = 'none';}
  765. }
  766. }
  767. else {
  768. // tagName is either input or select (that is, Form Elements)
  769. // ie6 has a problem with Form elements, so manipulate those
  770. if (C.ie) {
  771. if (C.ieVer < 7) {
  772. if (Show == true){
  773. Els[i].style.visibility = 'visible';
  774. }
  775. else{
  776. Els[i].style.visibility = 'hidden';
  777. }
  778. }
  779. }
  780. }
  781. }
  782. }
  783. 
  784. 
  785. 
  786. function HideFeedback(){
  787. document.getElementById('FeedbackDiv').style.display = 'none';
  788. ShowElements(true, 'input');
  789. ShowElements(true, 'select');
  790. ShowElements(true, 'object');
  791. if (Finished == true){
  792. Finish();
  793. }
  794. }
  795. 
  796. 
  797. //GENERAL UTILITY FUNCTIONS AND VARIABLES
  798. 
  799. //PAGE DIMENSION FUNCTIONS
  800. function PageDim(){
  801. //Get the page width and height
  802. this.W = 600;
  803. this.H = 400;
  804. this.W = document.getElementsByTagName('body')[0].clientWidth;
  805. this.H = document.getElementsByTagName('body')[0].clientHeight;
  806. }
  807. 
  808. var pg = null;
  809. 
  810. function GetPageXY(El) {
  811. var XY = {x: 0, y: 0};
  812. while(El){
  813. XY.x += El.offsetLeft;
  814. XY.y += El.offsetTop;
  815. El = El.offsetParent;
  816. }
  817. return XY;
  818. }
  819. 
  820. function GetScrollTop(){
  821. if (typeof(window.pageYOffset) == 'number'){
  822. return window.pageYOffset;
  823. }
  824. else{
  825. if ((document.body)&&(document.body.scrollTop)){
  826. return document.body.scrollTop;
  827. }
  828. else{
  829. if ((document.documentElement)&&(document.documentElement.scrollTop)){
  830. return document.documentElement.scrollTop;
  831. }
  832. else{
  833. return 0;
  834. }
  835. }
  836. }
  837. }
  838. 
  839. function GetViewportHeight(){
  840. if (typeof window.innerHeight != 'undefined'){
  841. return window.innerHeight;
  842. }
  843. else{
  844. if (((typeof document.documentElement != 'undefined')&&(typeof document.documentElement.clientHeight !=
  845. 'undefined'))&&(document.documentElement.clientHeight != 0)){
  846. return document.documentElement.clientHeight;
  847. }
  848. else{
  849. return document.getElementsByTagName('body')[0].clientHeight;
  850. }
  851. }
  852. }
  853. 
  854. function TopSettingWithScrollOffset(TopPercent){
  855. var T = Math.floor(GetViewportHeight() * (TopPercent/100));
  856. return GetScrollTop() + T;
  857. }
  858. 
  859. //CODE FOR AVOIDING LOSS OF DATA WHEN BACKSPACE KEY INVOKES history.back()
  860. var InTextBox = false;
  861. 
  862. function SuppressBackspace(e){
  863. if (InTextBox == true){return;}
  864. if (C.ie) {
  865. thisKey = window.event.keyCode;
  866. }
  867. else {
  868. thisKey = e.keyCode;
  869. }
  870. 
  871. var Suppress = false;
  872. 
  873. if (thisKey == 8) {
  874. Suppress = true;
  875. }
  876. 
  877. if (Suppress == true){
  878. if (C.ie){
  879. window.event.returnValue = false;
  880. window.event.cancelBubble = true;
  881. }
  882. else{
  883. e.preventDefault();
  884. }
  885. }
  886. }
  887. 
  888. if (C.ie){
  889. document.attachEvent('onkeydown',SuppressBackspace);
  890. window.attachEvent('onkeydown',SuppressBackspace);
  891. }
  892. else{
  893. if (window.addEventListener){
  894. window.addEventListener('keypress',SuppressBackspace,false);
  895. }
  896. }
  897. 
  898. function ReduceItems(InArray, ReduceToSize){
  899. var ItemToDump=0;
  900. var j=0;
  901. while (InArray.length > ReduceToSize){
  902. ItemToDump = Math.floor(InArray.length*Math.random());
  903. InArray.splice(ItemToDump, 1);
  904. }
  905. }
  906. 
  907. function Shuffle(InArray){
  908. var Num;
  909. var Temp = new Array();
  910. var Len = InArray.length;
  911. 
  912. var j = Len;
  913. 
  914. for (var i=0; i<Len; i++){
  915. Temp[i] = InArray[i];
  916. }
  917. 
  918. for (i=0; i<Len; i++){
  919. Num = Math.floor(j * Math.random());
  920. InArray[i] = Temp[Num];
  921. 
  922. for (var k=Num; k < (j-1); k++) {
  923. Temp[k] = Temp[k+1];
  924. }
  925. j--;
  926. }
  927. return InArray;
  928. }
  929. 
  930. function WriteToInstructions(Feedback) {
  931. document.getElementById('InstructionsDiv').innerHTML = Feedback;
  932. 
  933. }
  934. 
  935. 
  936. 
  937. 
  938. function EscapeDoubleQuotes(InString){
  939. return InString.replace(/"/g, '&quot;')
  940. }
  941. 
  942. function TrimString(InString){
  943. var x = 0;
  944. 
  945. if (InString.length != 0) {
  946. while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){
  947. InString = InString.substring(0, InString.length - 1)
  948. }
  949. 
  950. while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){
  951. InString = InString.substring(1, InString.length)
  952. }
  953. 
  954. while (InString.indexOf(' ') != -1) {
  955. x = InString.indexOf(' ')
  956. InString = InString.substring(0, x) + InString.substring(x+1, InString.length)
  957. }
  958. 
  959. return InString;
  960. }
  961. 
  962. else {
  963. return '';
  964. }
  965. }
  966. 
  967. function FindLongest(InArray){
  968. if (InArray.length < 1){return -1;}
  969. 
  970. var Longest = 0;
  971. for (var i=1; i<InArray.length; i++){
  972. if (InArray[i].length > InArray[Longest].length){
  973. Longest = i;
  974. }
  975. }
  976. return Longest;
  977. }
  978. 
  979. //UNICODE CHARACTER FUNCTIONS
  980. function IsCombiningDiacritic(CharNum){
  981. var Result = (((CharNum >= 0x0300)&&(CharNum <= 0x370))||((CharNum >= 0x20d0)&&(CharNum <= 0x20ff)));
  982. Result = Result || (((CharNum >= 0x3099)&&(CharNum <= 0x309a))||((CharNum >= 0xfe20)&&(CharNum <= 0xfe23)));
  983. return Result;
  984. }
  985. 
  986. function IsCJK(CharNum){
  987. return ((CharNum >= 0x3000)&&(CharNum < 0xd800));
  988. }
  989. 
  990. //SETUP FUNCTIONS
  991. //BROWSER WILL REFILL TEXT BOXES FROM CACHE IF NOT PREVENTED
  992. function ClearTextBoxes(){
  993. var NList = document.getElementsByTagName('input');
  994. for (var i=0; i<NList.length; i++){
  995. if ((NList[i].id.indexOf('Guess') > -1)||(NList[i].id.indexOf('Gap') > -1)){
  996. NList[i].value = '';
  997. }
  998. if (NList[i].id.indexOf('Chk') > -1){
  999. NList[i].checked = '';
  1000. }
  1001. }
  1002. }
  1003. 
  1004. //EXTENSION TO ARRAY OBJECT
  1005. function Array_IndexOf(Input){
  1006. var Result = -1;
  1007. for (var i=0; i<this.length; i++){
  1008. if (this[i] == Input){
  1009. Result = i;
  1010. }
  1011. }
  1012. return Result;
  1013. }
  1014. Array.prototype.indexOf = Array_IndexOf;
  1015. 
  1016. //IE HAS RENDERING BUG WITH BOTTOM NAVBAR
  1017. function RemoveBottomNavBarForIE(){
  1018. if ((C.ie)&&(document.getElementById('Reading') != null)){
  1019. if (document.getElementById('BottomNavBar') != null){
  1020. document.getElementById('TheBody').removeChild(document.getElementById('BottomNavBar'));
  1021. }
  1022. }
  1023. }
  1024. 
  1025. 
  1026. 
  1027. 
  1028. //HOTPOTNET-RELATED CODE
  1029. 
  1030. var HPNStartTime = (new Date()).getTime();
  1031. var SubmissionTimeout = 30000;
  1032. var Detail = ''; //Global that is used to submit tracking data
  1033. 
  1034. function Finish(){
  1035. //If there's a form, fill it out and submit it
  1036. if (document.store != null){
  1037. Frm = document.store;
  1038. Frm.starttime.value = HPNStartTime;
  1039. Frm.endtime.value = (new Date()).getTime();
  1040. Frm.mark.value = Score;
  1041. Frm.detail.value = Detail;
  1042. Frm.submit();
  1043. }
  1044. }
  1045. 
  1046. 
  1047. 
  1048. 
  1049. //JMIX STANDARD OUTPUT FORMAT CODE
  1050. 
  1051. var CorrectResponse = '';
  1052. var IncorrectResponse = '';
  1053. var TheseAnswersToo = 'These answers are also correct:';
  1054. var ThisMuchCorrect = 'This much of your answer is correct:';
  1055. var NextCorrect = 'The next correct part is: ';
  1056. var YourScoreIs = 'Your score is ';
  1057. var CapitalizeFirst = false;
  1058. var Penalties = 0;
  1059. var Finished = false;
  1060. var TimeOver = false;
  1061. var Score = 0;
  1062. var strInstructions = '';
  1063. var AnswersTried = '';
  1064. 
  1065. 
  1066. var SegmentTemplate = '&nbsp; &nbsp;<a class="ExSegment" href="javascript:void(0)" onclick="AddSegment([SegmentNumber])" title="Click on words to add them to the sentence.">[CurrentSegment]</a>&nbsp; &nbsp;';
  1067. 
  1068. var Exercise = '';
  1069. 
  1070. var Punctuation = '';
  1071. 
  1072. var Openers = '';
  1073. 
  1074. var Guesses = new Array();
  1075. var Remaining = new Array();
  1076. var CorrectParts = new Array();
  1077. 
  1078. var ClosestMatch = 0;
  1079. 
  1080. var LowerString='';
  1081. var UpperString='';
  1082. 
  1083. var Output = '';
  1084. 
  1085. var Segments = new Array();
  1086. Segments[0] = new Array();
  1087. Segments[0][0] = '\u0052\u0061\u0067\u0075\u006E\u0061\u006E';
  1088. Segments[0][1] = 6;
  1089. Segments[0][2] = 0;
  1090. Segments[1] = new Array();
  1091. Segments[1][0] = '\u004A\u0061\u006B\u0061\u0072\u0074\u0061';
  1092. Segments[1][1] = 11;
  1093. Segments[1][2] = 0;
  1094. Segments[2] = new Array();
  1095. Segments[2][0] = '\u0070\u006C\u0061\u006E\u0065';
  1096. Segments[2][1] = 14;
  1097. Segments[2][2] = 0;
  1098. Segments[3] = new Array();
  1099. Segments[3][0] = '\u0062\u0065\u0061\u0063\u0068';
  1100. Segments[3][1] = 7;
  1101. Segments[3][2] = 0;
  1102. Segments[4] = new Array();
  1103. Segments[4][0] = '\u0077\u0065\u006E\u0074';
  1104. Segments[4][1] = 5;
  1105. Segments[4][2] = 0;
  1106. Segments[5] = new Array();
  1107. Segments[5][0] = '\u006C\u0061\u0073\u0074';
  1108. Segments[5][1] = 1;
  1109. Segments[5][2] = 0;
  1110. Segments[6] = new Array();
  1111. Segments[6][0] = '\u0077\u0065\u0065\u006B';
  1112. Segments[6][1] = 2;
  1113. Segments[6][2] = 0;
  1114. Segments[7] = new Array();
  1115. Segments[7][0] = '\u0077\u0069\u0074\u0068';
  1116. Segments[7][1] = 15;
  1117. Segments[7][2] = 0;
  1118. Segments[8] = new Array();
  1119. Segments[8][0] = '\u0063\u0061\u0072';
  1120. Segments[8][1] = 13;
  1121. Segments[8][2] = 0;
  1122. Segments[9] = new Array();
  1123. Segments[9][0] = '\u007A\u006F\u006F';
  1124. Segments[9][1] = 8;
  1125. Segments[9][2] = 0;
  1126. Segments[10] = new Array();
  1127. Segments[10][0] = '\u0074\u0068\u0065';
  1128. Segments[10][1] = 9;
  1129. Segments[10][2] = 0;
  1130. Segments[11] = new Array();
  1131. Segments[11][0] = '\u0074\u006F';
  1132. Segments[11][1] = 3;
  1133. Segments[11][2] = 0;
  1134. Segments[12] = new Array();
  1135. Segments[12][0] = '\u0069\u006E';
  1136. Segments[12][1] = 10;
  1137. Segments[12][2] = 0;
  1138. Segments[13] = new Array();
  1139. Segments[13][0] = '\u0062\u0079';
  1140. Segments[13][1] = 12;
  1141. Segments[13][2] = 0;
  1142. Segments[14] = new Array();
  1143. Segments[14][0] = '\u0049';
  1144. Segments[14][1] = 4;
  1145. Segments[14][2] = 0;
  1146. 
  1147. 
  1148. var GuessSequence = new Array();
  1149. 
  1150. var Answers = new Array();
  1151. Answers[0] = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
  1152. Answers[1] = new Array(1,2,4,5,3,9,6,8,10,11,12,13);
  1153. Answers[2] = new Array(4,5,3,9,6,8,10,11,12,13,1,2);
  1154. 
  1155. 
  1156. function WriteToGuess(Feedback) {
  1157. document.getElementById('GuessDiv').innerHTML = Feedback;
  1158. 
  1159. }
  1160. 
  1161. function Undo(){
  1162. if (GuessSequence.length < 1){
  1163. return;
  1164. }
  1165. GuessSequence.length = GuessSequence.length - 1;
  1166. BuildCurrGuess();
  1167. BuildExercise();
  1168. DisplayExercise(Exercise);
  1169. //Following line modified for 6.0.4.44 -- "remaining words" message removed, no longer needed
  1170. WriteToGuess('<span class="Answer">' + Output + '</span>');
  1171. }
  1172. 
  1173. function AddSegment(SegNum){
  1174. 
  1175. if (TimeOver == true){return;}
  1176. 
  1177. GuessSequence[GuessSequence.length] = SegNum;
  1178. BuildCurrGuess();
  1179. WriteToGuess('<span class="Answer">' + Output + '</span>');
  1180. BuildExercise();
  1181. DisplayExercise(Exercise);
  1182. }
  1183. 
  1184. function BuildCurrGuess(){
  1185. 
  1186. var i = 0;
  1187. var j = 0;
  1188. var NewSeg = '';
  1189. 
  1190. //first, create arrays of all the segments guessed so far and those not yet used
  1191. GuessSegs = new Array();
  1192. GuessSegs.length = 0;
  1193. 
  1194. //set the "used" markers all to 0
  1195. for (i=0; i<Segments.length; i++){
  1196. Segments[i][2] = 0;
  1197. }
  1198. 
  1199. for (i=0; i<GuessSequence.length; i++){
  1200. for (j=0; j<Segments.length; j++){
  1201. if ((Segments[j][1] == GuessSequence[i])&&(Segments[j][2] == 0)){
  1202. GuessSegs[GuessSegs.length] = Segments[j][0];
  1203. Segments[j][2] = 1;
  1204. break;
  1205. }
  1206. }
  1207. }
  1208. 
  1209. //Create the list of unused segments
  1210. RemainingList = '';
  1211. for (i=0; i<Segments.length; i++){
  1212. if (Segments[i][2] == 0){
  1213. RemainingList += Segments[i][0] + '&nbsp; &nbsp;&nbsp;';
  1214. }
  1215. }
  1216. //now concatenate the segments, adding spaces where appropriate;
  1217. Output = CompileString(GuessSequence);
  1218. }
  1219. 
  1220. function CompileString(InArray){
  1221. var OutString = '';
  1222. var i = 0;
  1223. OutArray = new Array();
  1224. 
  1225. for (i=0; i<InArray.length; i++){
  1226. OutArray[OutArray.length] = FindSegment(InArray[i]);
  1227. }
  1228. 
  1229. if (OutArray.length > 0){
  1230. OutString = OutArray[0];
  1231. }
  1232. else{
  1233. OutString = '';
  1234. }
  1235. var Spacer = '';
  1236. 
  1237. for (i=1; i<OutArray.length; i++){
  1238. Spacer = ' ';
  1239. if ((Openers.indexOf(OutString.charAt(OutString.length-1)) > -1)||(Punctuation.indexOf(OutArray[i].charAt(0)) > -1)){
  1240. Spacer = '';
  1241. }
  1242. OutString = OutString + Spacer + OutArray[i];
  1243. }
  1244. 
  1245. //Capitalize the first letter if necessary
  1246. if (CapitalizeFirst == true){
  1247. i = 0;
  1248. if ((Openers.indexOf(OutString.charAt(i))>-1)||(OutString.charAt(i) == ' ')){
  1249. i++;
  1250. }
  1251. if ((Openers.indexOf(OutString.charAt(i))>-1)||(OutString.charAt(i) == ' ')){
  1252. i++;
  1253. }
  1254. var Temp = OutString.charAt(i);
  1255. Temp = Temp.toUpperCase();
  1256. OutString = OutString.substring(0, i) + Temp + OutString.substring(i+1, OutString.length);
  1257. }
  1258. return OutString;
  1259. }
  1260. function CheckAnswer(CheckType){
  1261. 
  1262. if (GuessSequence.length < 1){
  1263. if (CheckType == 1){
  1264. ShowMessage(NextCorrect + '<br /><span class="Answer">' + FindSegment(Answers[0][0]) + '</span>');
  1265. Penalties++;
  1266. }
  1267. return;
  1268. }
  1269. 
  1270. var i = 0;
  1271. var j = 0;
  1272. var k = 0;
  1273. var WellDone = '';
  1274. var WhichCorrect = -1;
  1275. var TryAgain = '';
  1276. var LongestCorrectBit = '';
  1277. TempCorrect = new Array();
  1278. LongestCorrect = new Array();
  1279. var TempHint = '';
  1280. var HintToReturn = 1;
  1281. var OtherAnswers = '';
  1282. var AllDone = false;
  1283. 
  1284. for (i=0; i<Answers.length; i++){
  1285. TempCorrect.length = 0;
  1286. for (j=0; j<Answers[i].length; j++){
  1287. if (Answers[i][j] == GuessSequence[j]){
  1288. TempCorrect[j] = GuessSequence[j];
  1289. }
  1290. else{
  1291. TempHint = Answers[i][j];
  1292. break;
  1293. }
  1294. }
  1295. if ((TempCorrect.length == GuessSequence.length)&&(TempCorrect.length == Answers[i].length)){
  1296. 
  1297. WhichCorrect = i;
  1298. break;
  1299. }
  1300. else{
  1301. if (TempCorrect.length > LongestCorrect.length){
  1302. LongestCorrect.length = 0;
  1303. for (k=0; k<TempCorrect.length; k++){
  1304. LongestCorrect[k] = TempCorrect[k];
  1305. }
  1306. HintToReturn = TempHint;
  1307. }
  1308. }
  1309. }
  1310. if (WhichCorrect > -1){
  1311. AllDone = true;
  1312. for (i=0; i<Answers.length; i++){
  1313. if (i!=WhichCorrect){
  1314. OtherAnswers += '<br />' + CompileString(Answers[i]);
  1315. }
  1316. }
  1317. 
  1318. WellDone = '<span class="Answer">' + Output + '</span><br /><br />' + CorrectResponse + '<br />';
  1319. 
  1320. if (AnswersTried.length > 0){AnswersTried += ' | ';}
  1321. AnswersTried += Output;
  1322. //Do score calculation here
  1323. Score = Math.floor(((Segments.length-Penalties) * 100)/Segments.length);
  1324. 
  1325. 
  1326. if (OtherAnswers.length > 0){
  1327. WellDone += TheseAnswersToo + '<span class="Answer">' + OtherAnswers + '</span>';
  1328. }
  1329. 
  1330. 
  1331. WriteToGuess(WellDone);
  1332. ShowMessage(WellDone + '<br />' + YourScoreIs + ' ' + Score + '%.');
  1333. }
  1334. 
  1335. else{
  1336. var WrongGuess = CompileString(GuessSequence);
  1337. if (AnswersTried.length > 0){AnswersTried += ' | ';}
  1338. AnswersTried += WrongGuess;
  1339. TryAgain = '<span class="Answer">' + WrongGuess + '</span><br /><br />';
  1340. if (CheckType == 0){
  1341. TryAgain += IncorrectResponse + '<br />';
  1342. }
  1343. 
  1344. if (LongestCorrect.length > 0){
  1345. 
  1346. LongestCorrectBit = CompileString(LongestCorrect);
  1347. GuessSequence.length = LongestCorrect.length;
  1348. TryAgain += ThisMuchCorrect + '<br /><span class="Answer">' + LongestCorrectBit + '</span><br />';
  1349. 
  1350. //These lines added for 6.0.3.44
  1351. WriteToGuess('<span class="Answer">' + LongestCorrectBit + '</span>');
  1352. }
  1353. else{
  1354. GuessSequence.length = 0;
  1355. WriteToGuess('');
  1356. }
  1357. 
  1358. if (CheckType == 1){
  1359. TryAgain += NextCorrect + '<br /><span class="Answer">' + FindSegment(HintToReturn) + '</span>';
  1360. }
  1361. 
  1362. BuildCurrGuess();
  1363. BuildExercise();
  1364. DisplayExercise(Exercise);
  1365. ShowMessage(TryAgain);
  1366. Penalties++; //Penalty for inaccurate check
  1367. 
  1368. if (TimeOver == true){
  1369. Score = Math.floor(((LongestCorrect.length-Penalties) * 100)/Segments.length);
  1370. if (Score < 0){Score = 0;}
  1371. ShowMessage(YourScoreIs + ' ' + Score + '%.<br />');
  1372. }
  1373. 
  1374. 
  1375. }
  1376. //If the exercise is over, deal with that
  1377. if ((AllDone == true)||(TimeOver == true)){
  1378. 
  1379. 
  1380. window.clearInterval(Interval);
  1381. 
  1382. TimeOver = true;
  1383. Locked = true;
  1384. Finished = true;
  1385. setTimeout('Finish()', SubmissionTimeout);
  1386. WriteToInstructions(YourScoreIs + ' ' + Score + '%.');
  1387. }
  1388. 
  1389. }
  1390. 
  1391. function FindSegment(SegID){
  1392. var Seg = '';
  1393. for (var i=0; i<Segments.length; i++){
  1394. if (Segments[i][1] == SegID){
  1395. Seg = Segments[i][0];
  1396. break;
  1397. }
  1398. }
  1399. return Seg;
  1400. }
  1401. 
  1402. function StartUp(){
  1403. RemoveBottomNavBarForIE();
  1404. 
  1405. //Stash the instructions so they can be redisplayed
  1406. strInstructions = document.getElementById('InstructionsDiv').innerHTML;
  1407. 
  1408. 
  1409. 
  1410. 
  1411. 
  1412. 
  1413. Segments = Shuffle(Segments);
  1414. 
  1415. //Build and show the exercise
  1416. BuildExercise();
  1417. DisplayExercise(Exercise);
  1418. 
  1419. StartTimer();
  1420. 
  1421. }
  1422. 
  1423. 
  1424. function BuildExercise(){
  1425. Exercise = '';
  1426. 
  1427. var SegRow = '';
  1428. var TempRow = '';
  1429. 
  1430. for (var i=0; i<Segments.length; i++){
  1431. //if the segment hasn't been used yet
  1432. if (Segments[i][2] == 0){
  1433. TempRow = SegmentTemplate;
  1434. TempRow = TempRow.replace(/\[SegmentNumber\]/g, Segments[i][1]);
  1435. TempRow = TempRow.replace(/\[CurrentSegment\]/g, Segments[i][0]);
  1436. SegRow += TempRow;
  1437. }
  1438. }
  1439. 
  1440. //Make it into a table
  1441. Exercise = SegRow;
  1442. }
  1443. 
  1444. function DisplayExercise(StuffToDisplay){
  1445. document.getElementById('SegmentDiv').innerHTML = StuffToDisplay;
  1446. FocusAButton();
  1447. 
  1448. }
  1449. 
  1450. 
  1451. function TimesUp() {
  1452. document.getElementById('Timer').innerHTML = 'Your time is over!';
  1453. 
  1454. TimeOver = true;
  1455. Finished = true;
  1456. CheckAnswer(0);
  1457. Locked = true;
  1458. 
  1459. }
  1460. 
  1461. 
  1462. 
  1463. 
  1464. 
  1465. 
  1466. //CODE FOR HANDLING TIMER
  1467. //Timer code
  1468. var Seconds = 900;
  1469. var Interval = null;
  1470. 
  1471. function StartTimer(){
  1472. Interval = window.setInterval('DownTime()',1000);
  1473. document.getElementById('TimerText').style.display = 'inline';
  1474. }
  1475. 
  1476. function DownTime(){
  1477. var ss = Seconds % 60;
  1478. if (ss<10){
  1479. ss='0' + ss + '';
  1480. }
  1481. 
  1482. var mm = Math.floor(Seconds / 60);
  1483. 
  1484. if (document.getElementById('Timer') == null){
  1485. return;
  1486. }
  1487. 
  1488. document.getElementById('TimerText').innerHTML = mm + ':' + ss;
  1489. if (Seconds < 1){
  1490. window.clearInterval(Interval);
  1491. TimeOver = true;
  1492. TimesUp();
  1493. }
  1494. Seconds--;
  1495. }
  1496. 
  1497. 
  1498. 
  1499. 
  1500. 
  1501. 
  1502. //-->
  1503. 
  1504. //]]>
  1505. 
  1506. </script>
  1507. 
  1508. 
  1509. </head>
  1510. 
  1511. <body onload="StartUp()" id="TheBody" >
  1512. 
  1513. <!-- BeginTopNavButtons -->
  1514. 
  1515. 
  1516. <div class="NavButtonBar" id="TopNavBar">
  1517. 
  1518. 
  1519. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="history.back(); return false;">&lt;=</button>
  1520. 
  1521. 
  1522. 
  1523. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='index.htm'; return false;"> Index </button>
  1524. 
  1525. 
  1526. 
  1527. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='Holiday-JQuiz.htm'; return false;">=&gt;</button>
  1528. 
  1529. 
  1530. </div>
  1531. 
  1532. 
  1533. 
  1534. <!-- EndTopNavButtons -->
  1535. 
  1536. <div class="Titles">
  1537. <h2 class="ExerciseTitle">Holiday- Arrange the sentences</h2>
  1538. 
  1539. <h3 class="ExerciseSubtitle">Mixed-up sentence exercise</h3>
  1540. 
  1541. 
  1542. <div id="Timer"><span id="TimerText">&nbsp;&nbsp;</span></div>
  1543. 
  1544. 
  1545. </div>
  1546. 
  1547. <div id="InstructionsDiv" class="StdDiv">
  1548. <div id="Instructions">Put the parts in order to form a sentence. When you think your answer is correct, click on "Check" to check your answer. If you get stuck, click on "Hint" to find out the next correct part.</div>
  1549. </div>
  1550. 
  1551. 
  1552. 
  1553. <div id="GuessDiv" class="StdDiv">
  1554. 
  1555. </div>
  1556. 
  1557. <div id="MainDiv" class="StdDiv">
  1558. 
  1559. <button id="CheckButton1" class="FuncButton" onmouseover="FuncBtnOver(this)" onfocus="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onblur="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" onclick="CheckAnswer(0)">&nbsp;Check&nbsp;</button>
  1560. 
  1561. 
  1562. <button class="FuncButton" onmouseover="FuncBtnOver(this)" onfocus="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onblur="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" onclick="Undo()">&nbsp;Undo&nbsp;</button>
  1563. 
  1564. 
  1565. 
  1566. <button class="FuncButton" onmouseover="FuncBtnOver(this)" onfocus="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onblur="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" onclick="location.reload()">&nbsp;Restart&nbsp;</button>
  1567. 
  1568. 
  1569. 
  1570. <button class="FuncButton" onmouseover="FuncBtnOver(this)" onfocus="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onblur="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" onclick="CheckAnswer(1)">&nbsp;Hint&nbsp;</button>
  1571. 
  1572. 
  1573. <div id="SegmentDiv">
  1574. 
  1575. </div>
  1576. 
  1577. </div>
  1578. 
  1579. 
  1580. 
  1581. <div class="Feedback" id="FeedbackDiv">
  1582. <div class="FeedbackText" id="FeedbackContent"></div>
  1583. <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>
  1584. </div>
  1585. 
  1586. <!-- BeginBottomNavButtons -->
  1587. 
  1588. 
  1589. <div class="NavButtonBar" id="BottomNavBar">
  1590. 
  1591. 
  1592. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="history.back(); return false;">&lt;=</button>
  1593. 
  1594. 
  1595. 
  1596. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='index.htm'; return false;"> Index </button>
  1597. 
  1598. 
  1599. 
  1600. <button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='Holiday-JQuiz.htm'; return false;">=&gt;</button>
  1601. 
  1602. 
  1603. </div>
  1604. 
  1605. 
  1606. 
  1607. <!-- EndBottomNavButtons -->
  1608. 
  1609. <!-- BeginSubmissionForm -->
  1610. 
  1611. <!-- EndSubmissionForm -->
  1612. 
  1613. </body>
  1614. 
  1615. </html>