<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" prefix="dc: http://purl.org/dc/elements/1.1/">

<head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to bilal."/><meta name="keywords" content="Hot Potatoes, Hot Potatoes, Half-Baked Software, Windows, University of Victoria"/>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>


<meta name="dc:creator" content="bilal" />

<meta name="dc:title" content="Grammar: Phrasal verbs with UP and DOWN" />




<title>

Grammar: Phrasal verbs with UP and DOWN 

</title>


<!-- Made with executable version 7.0 Release 3 Build 0 -->


<!-- The following insertion allows you to add your own code directly to this head tag from the configuration screen -->




<style>



/* This is the CSS stylesheet used in the exercise. */

/* Elements in square brackets are replaced by data based on configuration settings when the exercise is built. */


/* BeginCorePageCSS */


/* Made with executable version 7.0 Release 3 Build 0 */




/* CSS variables for colours. */

:root{

--strFontFace:       Geneva,Arial,sans-serif;

--strFontSize:       medium;

--strTextColor:      #000000;

--strTitleColor:     #000000;


--strFuncLightColor: #ffffff;

--strFuncShadeColor: #7f7f7f;

--strLinkColor:      #0000FF;

--strVLinkColor:     #0000CC;

--strNavBarColor:    #000000;

--strNavLightColor:  #7f7f7f;

--strNavShadeColor:  #000000;

--strNavTextColor:   #ffffff;

--strPageBGColor:    #C0C0C0;

--strExBGColor:      #FFFFFF;

}


body{

font-family: var(--strFontFace);

background-color: var(--strPageBGColor);

color: var(--strTextColor);

 

margin-right: 5%;

margin-left: 5%;

font-size: var(--strFontSize);

padding-bottom: 0.5em;

}


p{

text-align: left;

margin: 0px;

font-size: 1em;

}


table,div,span,td{

font-size: 1em;

color: var(--strTextColor);

}


div.Titles{

padding: 0.5em;;

text-align: center;

color: var(--strTitleColor);

}


button{

font-family: var(--strFontFace);

font-size: 1em;

display: inline;

}


.ExerciseTitle{

font-size: 140%;

color: var(--strTitleColor);

}


.ExerciseSubtitle{

font-size: 120%;

color: var(--strTitleColor);

}


div.StdDiv, div.ExerciseContainer, div.ReadingContainer{

background-color: var(--strExBGColor);

text-align: center;

font-size: 1em;

color: var(--strTextColor);

padding: 0.5em;

border-style: solid;

border-width: 1px 1px 1px 1px;

border-color: var(--strTextColor);

margin-bottom: 1px;

}


div.ReadingContainer, div.ExerciseContainer{

min-width: 15em;

flex-grow: 1;

flex-basis: 0;

margin: 1px;

}


div#ContainerDiv{

margin: -1px;

padding: 0;

border: none;

display: flex;

flex-direction: row;

flex-wrap: wrap;

justify-content: space-between;

}


/* EndCorePageCSS */


.RTLText{

text-align: right;

font-size: 150%;

direction: rtl;

font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", var(--strFontFace); 

}


.CentredRTLText{

text-align: center;

font-size: 150%;

direction: rtl;

font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", var(--strFontFace); 

}


button p.RTLText{

text-align: center;

}


.RTLGapBox{

text-align: right;

font-size: 150%;

direction: rtl;

font-family: "Times New Roman", var(--strFontFace);

}


.Guess{

font-weight: bold;

}


.CorrectAnswer{

font-weight: bold;

}


div#Timer{

padding: 0.25em;

margin-left: auto;

margin-right: auto;

text-align: center;

color: var(--strTitleColor);

}


span#TimerText{

padding: 0.25em;

border-width: 1px;

border-style: solid;

font-weight: bold;

display: none;

color: var(--strTitleColor);

}


span.Instructions{


}


div.ExerciseText{


}


.FeedbackText, .FeedbackText span.CorrectAnswer, .FeedbackText span.Guess, .FeedbackText span.Answer{

color: var(--strTitleColor);

}


.LeftItem{

font-size: 1em;

color: var(--strTextColor);

text-align: left;

}


.RightItem{

font-weight: bold;

font-size: 1em;

color: var(--strTextColor);

text-align: left;

}


span.CorrectMark{


}


input, textarea{

font-family: var(--strFontFace);

font-size: 120%;

}


select{

font-size: 1em;

}


div.Feedback {

background-color: var(--strPageBGColor);

left: 33%;

width: 34%;

top: 33%;

z-index: 1;

border-style: solid;

border-width: 1px;

padding: 5px;

text-align: center;

color: var(--strTitleColor);

position: absolute;

display: none;

font-size: 1em;

}





div.ExerciseDiv{

color: var(--strTextColor);

}


/* JMatch standard output table. */

table.MatchTable{

margin: 2em auto; 

border-width: 0;

}


/* JMatch flashcard styles */

table.FlashcardTable{

background-color: transparent;

color: var(--strTextColor);

border-color: var(--strTextColor);

margin-left: auto;

margin-right: auto;

margin-top: 2em;

margin-bottom: 2em;

/*width: 90%;*/

position: relative;

text-align: center;

padding: 0px;

}


table.FlashcardTable tr{

border-style: none;

margin: 0px;

padding: 0px;

background-color: var(--strExBGColor);

}


table.FlashcardTable td.Showing{

font-size: 140%;

text-align: center;

width: 50%;

display: table-cell;

padding: 2em;

margin: 0px;

border-style: solid;

border-width: 1px;

border-radius: 0.5em;

color: var(--strTextColor);

box-shadow: 0.2em 0.3em 0.2em var(--strNavShadeColor);

background-color: var(--strPageBGColor);

}


table.FlashcardTable td.Hidden{

display: none;

}


/* JMix styles */

div.JMixDrag, div.JMatchDrag{

padding: 0;

background-color: var(--strPageBGColor);

border-style: none;

}


div#GuessDiv{

padding: 0.5em;

margin-bottom: 2em;

}


div#SegmentDiv{

margin-top: 2em;

margin-bottom: 2em;

text-align: center;

}


a.ExSegment{

font-size: 120%;

font-weight: bold;

text-decoration: none;

color: var(--strTextColor);

display: inline-block;

padding: 0.5em;

border: solid 1pt gray;

margin-bottom: 0.5em;

}


span.RemainingWordList{

font-style: italic;

}


div.DropLine {

position: absolute;

text-align: left;

border-bottom-style: solid;

border-bottom-width: 1px;

border-bottom-color: var(--strTitleColor);

width: 80%;

left: 10%;

}


/* JCloze styles */


.ClozeWordList{

text-align: center;

font-weight: bold;

}


div.ClozeBody{

text-align: left;

margin-top: 2em;

margin-bottom: 2em;

line-height: 2.0

}


span.GapSpan{

font-weight: bold;

}


/* JCross styles */


table.CrosswordGrid{

margin: auto auto 1em auto;

border-collapse: collapse;

padding: 0px;

background-color: #000000;

}


table.CrosswordGrid tbody tr td{

width: 1.5em;

height: 1.5em;

text-align: center;

vertical-align: middle;

font-size: 140%;

padding: 1px;

margin: 0px;

border-style: solid;

border-width: 1px;

border-color: #000000;

color: #000000;

}


table.CrosswordGrid span{

color: #000000;

}


table.CrosswordGrid td.BlankCell{

background-color: #000000;

color: #000000;

}


table.CrosswordGrid td.LetterOnlyCell{

text-align: center;

vertical-align: middle;

background-color: #ffffff;

color: #000000;

font-weight: bold;

}


table.CrosswordGrid td.NumLetterCell{

text-align: left;

vertical-align: top;

background-color: #ffffff;

color: #000000;

padding: 1px;

font-weight: bold;

}


.NumLetterCellText{

cursor: pointer;

color: #000000;

}


.GridNum{

vertical-align: super;

font-size: 66%;

font-weight: bold;

text-decoration: none;

color: #000000;

}


.GridNum:hover, .GridNum:visited{

color: #000000;

}


table#Clues{

margin: auto;

vertical-align: top;

}


table#Clues td{

vertical-align: top;

}


table.ClueList{

  margin: auto;

}


td.ClueNum{

text-align: right;

font-weight: bold;

vertical-align: top;

}


td.Clue{

text-align: left;

}


div#ClueEntry{

text-align: left;

margin-bottom: 1em;

}


/* Keypad styles */


div.Keypad{

text-align: center;

display: none; /* initially hidden, shown if needed */

margin-bottom: 0.5em;

}


div.Keypad button{

font-family: var(--strFontFace);

font-size: 120%;

background-color: #ffffff;

color: #000000;

width: 2em;

border-style: solid;

border-width: 1px;

border-radius: 0.5em;

color: var(--strTextColor);

box-shadow: 0.2em 0.3em 0.2em var(--strTextColor);

}


/* JQuiz styles */


div.QuestionNavigation{

text-align: center;

}


.QNum{

margin: 0em 1em 0.5em 1em;

font-weight: bold;

vertical-align: middle;

}


textarea{

font-family: var(--strFontFace);

}


.QuestionText{

text-align: left;

margin: 0px;

font-size: 1em;

}


.Answer{

font-size: 120%;

}


.PartialAnswer{

font-size: 120%;

letter-spacing: 0.1em;

color: var(--strTitleColor);

}


.Highlight{

color: #000000;

background-color: #ffff00;

font-weight: bold;

font-size: 120%;

}


ol.QuizQuestions{

text-align: left;

list-style-type: none;

}


li.QuizQuestion{

padding: 1em;

border-style: solid;

border-width: 0px 0px 1px 0px;

}


ol.MCAnswers{

text-align: left;

list-style-type: upper-alpha;

padding: 1em;

}


ol.MCAnswers li{

margin-bottom: 1em;

}


ol.MSelAnswers{

text-align: left;

list-style-type: lower-alpha;

padding: 1em;

}


div.ShortAnswer{

padding: 1em;

}


.FuncButton {

border-style: solid;

border-radius: 0.5em;

padding: 0.5em;

min-width: 3em;


border-left-color: var(--strFuncLightColor);

border-top-color: var(--strFuncLightColor);

border-right-color: var(--strFuncShadeColor);

border-bottom-color: var(--strFuncShadeColor);

color: var(--strTextColor);

background-color: var(--strExBGColor);


border-width: 1pt;

cursor: pointer;

box-shadow: 0.2em 0.3em 0.2em var(--strFuncShadeColor);

}


.FuncButton:active {

box-shadow: none;

}


.FuncButton:hover{

color: var(--strExBGColor);

background-color: var(--strTextColor);

}


/*BeginNavBarStyle*/


div.NavButtonBar{

background-color: var(--strNavBarColor);

text-align: center;

margin: 0.25rem 0;

clear: both;

font-size: 1em;

padding: 0.2em;

box-sizing: border-box;

}


.NavButton {

border-style: solid;

border-radius: 0.5em;

padding: 0.5em;

min-width: 3em;

border-left-color: var(--strNavLightColor);

border-top-color: var(--strNavLightColor);

border-right-color: var(--strNavShadeColor);

border-bottom-color: var(--strNavShadeColor); 

background-color: var(--strNavBarColor);

color: var(--strNavTextColor);


border-width: 1pt;

cursor: pointer;

box-shadow: 0.2em 0.3em 0.2em var(--strNavShadeColor);

}


.NavButton:active {

box-shadow: none;

}


.NavButton:hover{

color: var(--strNavBarColor);

background-color: var(--strNavTextColor);

}


/*EndNavBarStyle*/


a{

color: var(--strLinkColor);

}


a:visited{

color: var(--strVLinkColor);

}


a:hover{

color: var(--strLinkColor);

}


div.CardStyle {

position: absolute;

font-family: var(--strFontFace);

font-size: 1em;

border-style: solid;

border-radius: 0.5em;

padding: 0.5em;

min-width: 2em;

border-width: 1pt;

color: var(--strTextColor);

box-shadow: 0.2em 0.3em 0.2em var(--strTextColor);

background-color: var(--strExBGColor);

left: -50px;

top: -50px;

overflow: visible;

touch-action: none;

user-select: none;

box-sizing: border-box;

}


div.CardStyleCentered{

text-align: center;

}


.rtl{

text-align: right;

font-size: 140%;

}



</style>


<script>


//<![CDATA[


<!--





//CODE FOR HANDLING NAV BUTTONS AND FUNCTION BUTTONS


function FocusAButton(){

if (document.getElementById('CheckButton1') != null){

document.getElementById('CheckButton1').focus();

}

else{

if (document.getElementById('CheckButton2') != null){

document.getElementById('CheckButton2').focus();

}

else{

document.getElementsByTagName('button')[0].focus();

}

}

}





//CODE FOR HANDLING DISPLAY OF POPUP FEEDBACK BOX


var topZ = 1000;


function ShowMessage(Feedback){

var Output = Feedback + '<br /><br />';

document.getElementById('FeedbackContent').innerHTML = Output;

var FDiv = document.getElementById('FeedbackDiv');

topZ++;

FDiv.style.zIndex = topZ;

FDiv.style.top = TopSettingWithScrollOffset(30) + 'px';


FDiv.style.display = 'block';


ShowElements(false, 'input');

ShowElements(false, 'select');

ShowElements(false, 'object');

ShowElements(true, 'object', 'FeedbackContent');


//Focus the OK button

setTimeout("document.getElementById('FeedbackOKButton').focus()", 50);

//

}


function ShowElements(Show, TagName, ContainerToReverse){

// added third argument to allow objects in the feedback box to appear

//IE bug -- hide all the form elements that will show through the popup

//FF on Mac bug : doesn't redisplay objects whose visibility is set to visible

//unless the object's display property is changed


//get container object (by Id passed in, or use document otherwise)

TopNode = document.getElementById(ContainerToReverse);

var Els;

if (TopNode != null) {

Els = TopNode.getElementsByTagName(TagName);

} else {

Els = document.getElementsByTagName(TagName);

}


for (var i=0; i<Els.length; i++){

if (TagName == "object") {

//manipulate object elements in all browsers

if (Show == true){

Els[i].style.visibility = 'visible';

}

else{

Els[i].style.visibility = 'hidden';

}

}

}




function HideFeedback(){

document.getElementById('FeedbackDiv').style.display = 'none';

ShowElements(true, 'input');

ShowElements(true, 'select');

ShowElements(true, 'object');

}



//GENERAL UTILITY FUNCTIONS AND VARIABLES


//PAGE DIMENSION FUNCTIONS

function PageDim(){

//Get the page width and height

this.W = 600;

this.H = 400;

this.W = document.getElementsByTagName('body')[0].offsetWidth;

this.H = document.getElementsByTagName('body')[0].offsetHeight;

}


var pg = null;


function GetPageXY(El) {

var XY = {x: 0, y: 0};

while(El){

XY.x += El.offsetLeft;

XY.y += El.offsetTop;

El = El.offsetParent;

}

return XY;

}


function GetScrollTop(){

if (typeof(window.pageYOffset) == 'number'){

return window.pageYOffset;

}

else{

if ((document.body)&&(document.body.scrollTop)){

return document.body.scrollTop;

}

else{

if ((document.documentElement)&&(document.documentElement.scrollTop)){

return document.documentElement.scrollTop;

}

else{

return 0;

}

}

}

}


function GetViewportHeight(){

if (typeof window.innerHeight != 'undefined'){

return window.innerHeight;

}

else{

if (((typeof document.documentElement != 'undefined')&&(typeof document.documentElement.clientHeight !=

     'undefined'))&&(document.documentElement.clientHeight != 0)){

return document.documentElement.clientHeight;

}

else{

return document.getElementsByTagName('body')[0].clientHeight;

}

}

}


function TopSettingWithScrollOffset(TopPercent){

var T = Math.floor(GetViewportHeight() * (TopPercent/100));

return GetScrollTop() + T; 

}


//CODE FOR AVOIDING LOSS OF DATA WHEN BACKSPACE KEY INVOKES history.back()

var InTextBox = false;


function SuppressBackspace(e){ 

if (InTextBox == true){return;}

thisKey = e.keyCode;


var Suppress = false;


if (thisKey == 8) {

Suppress = true;

e.preventDefault();

}

}


window.addEventListener('keypress',SuppressBackspace,false);


function ReduceItems(InArray, ReduceToSize){

var ItemToDump=0;

var j=0;

while (InArray.length > ReduceToSize){

ItemToDump = Math.floor(InArray.length*Math.random());

InArray.splice(ItemToDump, 1);

}

}


function Shuffle(InArray){

var Num;

var Temp = new Array();

var Len = InArray.length;


var j = Len;


for (var i=0; i<Len; i++){

Temp[i] = InArray[i];

}


for (i=0; i<Len; i++){

Num = Math.floor(j  *  Math.random());

InArray[i] = Temp[Num];


for (var k=Num; k < (j-1); k++) {

Temp[k] = Temp[k+1];

}

j--;

}

return InArray;

}


function WriteToInstructions(Feedback) {

document.getElementById('InstructionsDiv').innerHTML = Feedback;


}





function EscapeDoubleQuotes(InString){

return InString.replace(/"/g, '&quot;')

}


function TrimString(InString){

        var x = 0;


        if (InString.length != 0) {

                while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){

                        InString = InString.substring(0, InString.length - 1)

                }


                while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){

                        InString = InString.substring(1, InString.length)

                }


                while (InString.indexOf('  ') != -1) {

                        x = InString.indexOf('  ')

                        InString = InString.substring(0, x) + InString.substring(x+1, InString.length)

                 }


                return InString;

        }


        else {

                return '';

        }

}


function FindLongest(InArray){

if (InArray.length < 1){return -1;}


var Longest = 0;

for (var i=1; i<InArray.length; i++){

if (InArray[i].length > InArray[Longest].length){

Longest = i;

}

}

return Longest;

}


//SELECTION OBJECT FOR TYPING WITH KEYPAD

var selObj = null;

            

SelObj = function(box){

this.box = box;

this.selStart = this.box.selectionStart;

this.selEnd = this.box.selectionEnd;

this.selText = this.box.value.substring(this.selStart, this.selEnd);

return this;

}


function setSelText(newText){

var caretPos = this.selStart + newText.length;

var newValue = this.box.value.substring(0, this.selStart);

newValue += newText;

newValue += this.box.value.substring(this.selEnd, this.box.value.length);

this.box.value = newValue;

this.box.setSelectionRange(caretPos, caretPos);

this.box.focus();

}

SelObj.prototype.setSelText = setSelText;


function setSelSelectionRange(start, end){

this.box.setSelectionRange(start, end);

}

SelObj.prototype.setSelSelectionRange = setSelSelectionRange;


//UNICODE CHARACTER FUNCTIONS

function IsCombiningDiacritic(CharNum){

var Result = (((CharNum >= 0x0300)&&(CharNum <= 0x370))||((CharNum >= 0x20d0)&&(CharNum <= 0x20ff)));

Result = Result || (((CharNum >= 0x3099)&&(CharNum <= 0x309a))||((CharNum >= 0xfe20)&&(CharNum <= 0xfe23)));

return Result;

}


function IsCJK(CharNum){

return ((CharNum >= 0x3000)&&(CharNum < 0xd800));

}


//SETUP FUNCTIONS

//BROWSER WILL REFILL TEXT BOXES FROM CACHE IF NOT PREVENTED

function ClearTextBoxes(){

var NList = document.getElementsByTagName('input');

for (var i=0; i<NList.length; i++){

if ((NList[i].id.indexOf('Guess') > -1)||(NList[i].id.indexOf('Gap') > -1)){

NList[i].value = '';

}

if (NList[i].id.indexOf('Chk') > -1){

NList[i].checked = '';

}

}

}








//JCLOZE CORE JAVASCRIPT CODE


function ItemState(){

this.ClueGiven = false;

this.HintsAndChecks = 0;

this.MatchedAnswerLength = 0;

this.ItemScore = 0;

this.AnsweredCorrectly = false;

this.Guesses = new Array();

return this;

}


var Feedback = '';

var Correct = 'Correct! Well done.';

var Incorrect = 'Some of your answers are incorrect. Incorrect answers have been left in place for you to change.'; 

var GiveHint = 'The next correct letter has been added to the answer.';

var CaseSensitive = false;

var YourScoreIs = 'Your score is ';

var Finished = false;

var Locked = false;

var Score = 0;

var CurrentWord = 0;

var Guesses = '';

var TimeOver = false;


I = new Array();


I[0] = new Array();

I[0][1] = new Array();

I[0][1][0] = new Array();

I[0][1][0][0] = '\u0064\u006F\u0077\u006E';

I[0][2]='\u0064\u0065\u0073\u0074\u0072\u006F\u0079\u0065\u0064';


I[1] = new Array();

I[1][1] = new Array();

I[1][1][0] = new Array();

I[1][1][0][0] = '\u0075\u0070';

I[1][2]='\u0065\u0073\u0074\u0061\u0062\u006C\u0069\u0073\u0068\u0065\u0064';


I[2] = new Array();

I[2][1] = new Array();

I[2][1][0] = new Array();

I[2][1][0][0] = '\u0064\u006F\u0077\u006E';

I[2][2]='\u0072\u0065\u0064\u0075\u0063\u0065';


I[3] = new Array();

I[3][1] = new Array();

I[3][1][0] = new Array();

I[3][1][0][0] = '\u0075\u0070';

I[3][2]='\u006C\u006F\u0075\u0064\u0065\u0072';


I[4] = new Array();

I[4][1] = new Array();

I[4][1][0] = new Array();

I[4][1][0][0] = '\u0075\u0070';

I[4][2]='\u0066\u0061\u0073\u0074\u0065\u0072';


I[5] = new Array();

I[5][1] = new Array();

I[5][1][0] = new Array();

I[5][1][0][0] = '\u0075\u0070';

I[5][2]='\u0063\u006F\u006E\u0073\u0075\u006D\u0065\u0064';



State = new Array();


function StartUp(){

//Show a keypad if there is one (added bugfix for 6.0.4.12)

if (document.getElementById('CharacterKeypad') != null){

document.getElementById('CharacterKeypad').style.display = 'block';

}







var i = 0;


State.length = 0;

for (i=0; i<I.length; i++){

State[i] = new ItemState();

}

ClearTextBoxes();



}


function ShowClue(ItemNum){

if (Locked == true){return;}

State[ItemNum].ClueGiven = true;

ShowMessage(I[ItemNum][2]);

}


function SaveCurrentAnswers(){

var Ans = '';

for (var i=0; i<I.length; i++){

Ans = GetGapValue(i);

if ((Ans.length > 0)&&(Ans != State[i].Guesses[State[i].Guesses.length-1])){

State[i].Guesses[State[i].Guesses.length] = Ans;

}

}

}


function CompileGuesses(){

var F = document.getElementById('store');

if (F != null){

var Temp = '<?xml version="1.0"?><hpnetresult><fields>';

var GapLabel = '';

for (var i=0; i<State.length; i++){

GapLabel = 'Gap ' + (i+1).toString();

Temp += '<field><fieldname>' + GapLabel + '</fieldname>';

Temp += '<fieldtype>student-responses</fieldtype><fieldlabel>' + GapLabel + '</fieldlabel>';

Temp += '<fieldlabelid>JClozeStudentResponses</fieldlabelid><fielddata>';

for (var j=0; j<State[i].Guesses.length; j++){

if (j>0){Temp += '| ';}

Temp += State[i].Guesses[j] + ' ';

}

  Temp += '</fielddata></field>';

}

Temp += '</fields></hpnetresult>';

Detail = Temp;

}

}


function CheckAnswers(){

if (Locked == true){return;}

SaveCurrentAnswers();

var AllCorrect = true;


//Check each answer

for (var i = 0; i<I.length; i++){


if (State[i].AnsweredCorrectly == false){

//If it's right, calculate its score

if (CheckAnswer(i, true) > -1){

var TotalChars = GetGapValue(i).length;

State[i].ItemScore = (TotalChars-State[i].HintsAndChecks)/TotalChars;

if (State[i].ClueGiven == true){State[i].ItemScore /= 2;}

if (State[i].ItemScore <0 ){State[i].ItemScore = 0;}

State[i].AnsweredCorrectly = true;

//Drop the correct answer into the page, replacing the text box

SetCorrectAnswer(i, GetGapValue(i));

}

else{

//Otherwise, increment the hints for this item, as a penalty

State[i].HintsAndChecks++;


//then set the flag

AllCorrect = false;

}

}

}


//Calculate the total score

var TotalScore = 0;

for (i=0; i<State.length; i++){

TotalScore += State[i].ItemScore;

}

TotalScore = Math.floor((TotalScore * 100)/I.length);


//Compile the output

Output = '';


if (AllCorrect == true){

Output = Correct + '<br />';

}


Output += YourScoreIs + ' ' + TotalScore + '%.<br />';

if (AllCorrect == false){

Output += Incorrect;

}

ShowMessage(Output);

setTimeout('WriteToInstructions(Output)', 50);

Score = TotalScore;

CompileGuesses();

if ((AllCorrect == true)||(Finished == true)){



TimeOver = true;

Locked = true;

Finished = true;

}


}


function TrackFocus(BoxNumber){

CurrentWord = BoxNumber;

InTextBox = true;

}


function LeaveGap(){

InTextBox = false;

}


function CheckBeginning(Guess, Answer){

var OutString = '';

var i = 0;

var UpperGuess = '';

var UpperAnswer = '';


if (CaseSensitive == false) {

UpperGuess = Guess.toUpperCase();

UpperAnswer = Answer.toUpperCase();

}

else {

UpperGuess = Guess;

UpperAnswer = Answer;

}


while (UpperGuess.charAt(i) == UpperAnswer.charAt(i)) {

OutString += Guess.charAt(i);

i++;

}

OutString += Answer.charAt(i);

return OutString;

}


function GetGapValue(GNum){

var RetVal = '';

if ((GNum<0)||(GNum>=I.length)){return RetVal;}

if (document.getElementById('Gap' + GNum) != null){

RetVal = document.getElementById('Gap' + GNum).value;

RetVal = TrimString(RetVal);

}

else{

RetVal = State[GNum].Guesses[State[GNum].Guesses.length-1];

}

return RetVal;

}


function SetGapValue(GNum, Val){

if ((GNum<0)||(GNum>=I.length)){return;}

if (document.getElementById('Gap' + GNum) != null){

document.getElementById('Gap' + GNum).value = Val;

document.getElementById('Gap' + GNum).focus();

}

}


function SetCorrectAnswer(GNum, Val){

if ((GNum<0)||(GNum>=I.length)){return;}

if (document.getElementById('GapSpan' + GNum) != null){

document.getElementById('GapSpan' + GNum).innerHTML = Val;

}

}


function FindCurrent() {

var x = 0;

FoundCurrent = -1;


//Test the current word:

//If its state is not set to already correct, check the word.

if (State[CurrentWord].AnsweredCorrectly == false){

if (CheckAnswer(CurrentWord, false) < 0){

return CurrentWord;

}

}

x=CurrentWord + 1;

while (x<I.length){

if (State[x].AnsweredCorrectly == false){

if (CheckAnswer(x, false) < 0){

return x;

}

}

x++;

}


x = 0;

while (x<CurrentWord){

if (State[x].AnsweredCorrectly == false){

if (CheckAnswer(x, false) < 0){

return x;

}

}

x++;

}

return FoundCurrent;

}


function CheckAnswer(GapNum, MarkAnswer){

var Guess = GetGapValue(GapNum);

var UpperGuess = '';

var UpperAnswer = '';

if (CaseSensitive == false){

UpperGuess = Guess.toUpperCase();

}

else{

UpperGuess = Guess;

}

var Match = -1;

for (var i = 0; i<I[GapNum][1].length; i++){

if (CaseSensitive == false){

UpperAnswer = I[GapNum][1][i][0].toUpperCase();

}

else{

UpperAnswer = I[GapNum][1][i][0];

}

if (TrimString(UpperGuess) == UpperAnswer){

Match = i;

if (MarkAnswer == true){

State[GapNum].AnsweredCorrectly = true;

}

}

}

return Match;

}


function GetHint(GapNum){

Guess = GetGapValue(GapNum);


if (CheckAnswer(GapNum, false) > -1){return ''}

RightBits = new Array();

for (var i=0; i<I[GapNum][1].length; i++){

RightBits[i] = CheckBeginning(Guess, I[GapNum][1][i][0]);

}

var RightOne = FindLongest(RightBits);

var Result = I[GapNum][1][RightOne][0].substring(0,RightBits[RightOne].length);

//Add another char if the last one is a space

if (Result.charAt(Result.length-1) == ' '){

Result = I[GapNum][1][RightOne][0].substring(0,RightBits[RightOne].length+1);

}

return Result;

}


function ShowHint(){

if (document.getElementById('FeedbackDiv').style.display == 'block'){return;}

if (Locked == true){return;}

var CurrGap = FindCurrent();

if (CurrGap < 0){return;}


var HintString = GetHint(CurrGap);


if (HintString.length > 0){

SetGapValue(CurrGap, HintString);

State[CurrGap].HintsAndChecks += 1;

}

ShowMessage(GiveHint);

}


function TypeChars(Chars){

var CurrGap = FindCurrent();

if (CurrGap < 0){return;}

var box = document.getElementById('Gap' + CurrGap);


if (box != null){

var selObj = SelObj(box);

selObj.setSelText(Chars);

}

}









//-->


//]]>


</script>



</head>


<body onload="StartUp()" id="TheBody" >


<!-- BeginTopNavButtons -->



<div class="NavButtonBar" id="TopNavBar">





<button class="NavButton" onclick="location='contents.htm'; return false;"> Index </button>




<button class="NavButton" onclick="location='nextpage.htm'; return false;">=&gt;</button>



</div>




<!-- EndTopNavButtons -->


<div class="Titles">

<h2 class="ExerciseTitle">Grammar: Phrasal verbs with UP and DOWN </h2>


<h3 class="ExerciseSubtitle">Gap-fill exercise</h3>




</div>


<div id="InstructionsDiv" class="StdDiv">

<div id="Instructions">Fill in all the gaps, then press "Check" to check your answers. Use the "Hint" button to get a free letter if an answer is giving you trouble. You can also click on the "[?]" button to get a clue. Note that you will lose points if you ask for hints or clues!</div>

</div>



<div id="ContainerDiv">




<div class="ExerciseContainer">







<!-- These top buttons hidden; reveal if required -->

<!--

<button id="CheckButton1" class="FuncButton" onclick="CheckAnswers()">&#160;Check&#160;</button>



<button class="FuncButton" onclick="ShowHint()">&#160;Hint&#160;</button>



 -->

 

<div id="ClozeDiv">

<form id="Cloze" method="post" autocomplete="off" onsubmit="return false;">

<div class="ClozeBody">

1. To build a new bridge, the construction company pulled <span class="GapSpan" id="GapSpan0"><input type="text" autocomplete="off" id="Gap0" onfocus="TrackFocus(0)" onblur="LeaveGap()" class="GapBox" size="6"/><button style="line-height: 1.0" class="FuncButton" onclick="ShowClue(0)">[?]</button></span> the old one.<br />2. The international organisation set <span class="GapSpan" id="GapSpan1"><input type="text" autocomplete="off" id="Gap1" onfocus="TrackFocus(1)" onblur="LeaveGap()" class="GapBox" size="6"/><button style="line-height: 1.0" class="FuncButton" onclick="ShowClue(1)">[?]</button></span> a new branch in our area.<br />3. The radio is driving me crazy! Please, turn it <span class="GapSpan" id="GapSpan2"><input type="text" autocomplete="off" id="Gap2" onfocus="TrackFocus(2)" onblur="LeaveGap()" class="GapBox" size="6"/><button style="line-height: 1.0" class="FuncButton" onclick="ShowClue(2)">[?]</button></span>.<br />4. Speak <span class="GapSpan" id="GapSpan3"><input type="text" autocomplete="off" id="Gap3" onfocus="TrackFocus(3)" onblur="LeaveGap()" class="GapBox" size="6"/><button style="line-height: 1.0" class="FuncButton" onclick="ShowClue(3)">[?]</button></span>, please. I can&#x2019;t hear what you&#x2019;re saying!<br />5. We sped <span class="GapSpan" id="GapSpan4"><input type="text" autocomplete="off" id="Gap4" onfocus="TrackFocus(4)" onblur="LeaveGap()" class="GapBox" size="6"/><button style="line-height: 1.0" class="FuncButton" onclick="ShowClue(4)">[?]</button></span> the road so that we could get before sunset.<br />6. We were so hungry that we ate <span class="GapSpan" id="GapSpan5"><input type="text" autocomplete="off" id="Gap5" onfocus="TrackFocus(5)" onblur="LeaveGap()" class="GapBox" size="6"/><button style="line-height: 1.0" class="FuncButton" onclick="ShowClue(5)">[?]</button></span> all the food in our plates.<br /><br />

</div>

</form>

</div>




<button id="CheckButton2" class="FuncButton" onclick="CheckAnswers()">&#160;Check&#160;</button>



<button class="FuncButton" onclick="ShowHint()">&#160;Hint&#160;</button>



</div>


</div>



<div class="Feedback" id="FeedbackDiv">

<div class="FeedbackText" id="FeedbackContent"></div>

<button id="FeedbackOKButton" class="FuncButton" onclick="HideFeedback(); return false;">&#160;OK&#160;</button>

</div>


<!-- BeginBottomNavButtons -->



<div class="NavButtonBar" id="BottomNavBar">





<button class="NavButton" onclick="location='contents.htm'; return false;"> Index </button>




<button class="NavButton" onclick="location='nextpage.htm'; return false;">=&gt;</button>



</div>




<!-- EndBottomNavButtons -->


<!-- BeginSubmissionForm -->


<!-- EndSubmissionForm -->


</body>


</html>

Comments

Popular posts from this blog

What is CRMEF-Casablanca Settat and why you should join it?

AI Responses for Mr. Ouali's Task

Didactics of English: What, Why, and How?