// 1);
if (this.gecko){
this.geckoVer = parseInt(this.ua.substring(this.ua.indexOf('Gecko')+6, this.ua.length));
if (this.geckoVer < 20020000){this.min = false;}
}
//Look for Firebird
this.firebird = (this.ua.indexOf('Firebird') > 1);
//Look for Safari
this.safari = (this.ua.indexOf('Safari') > 1);
if (this.safari){
this.gecko = false;
}
//Look for IE
this.ie = (this.ua.indexOf('MSIE') > 0);
if (this.ie){
this.ieVer = parseFloat(this.ua.substring(this.ua.indexOf('MSIE')+5, this.ua.length));
if (this.ieVer < 5.5){this.min = false;}
}
//Look for Opera
this.opera = (this.ua.indexOf('Opera') > 0);
if (this.opera){
this.operaVer = parseFloat(this.ua.substring(this.ua.indexOf('Opera')+6, this.ua.length));
if (this.operaVer < 7.04){this.min = false;}
}
if (this.min == false){
alert('Your browser may not be able to handle this page.');
}
//Special case for the horrible ie5mac
this.ie5mac = (this.ie&&this.mac&&(this.ieVer<6));
}
var C = new Client();
//for (prop in C){
// alert(prop + ': ' + C[prop]);
//}
//CODE FOR HANDLING NAV BUTTONS AND FUNCTION BUTTONS
//[strNavBarJS]
function NavBtnOver(Btn){
if (Btn.className != 'NavButtonDown'){Btn.className = 'NavButtonUp';}
}
function NavBtnOut(Btn){
Btn.className = 'NavButton';
}
function NavBtnDown(Btn){
Btn.className = 'NavButtonDown';
}
//[/strNavBarJS]
function FuncBtnOver(Btn){
if (Btn.className != 'FuncButtonDown'){Btn.className = 'FuncButtonUp';}
}
function FuncBtnOut(Btn){
Btn.className = 'FuncButton';
}
function FuncBtnDown(Btn){
Btn.className = 'FuncButtonDown';
}
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 + '
';
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 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 InArray[Longest].length){
Longest = i;
}
}
return Longest;
}
//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 -1)||(NList[i].id.indexOf('Gap') > -1)){
NList[i].value = '';
}
if (NList[i].id.indexOf('Chk') > -1){
NList[i].checked = '';
}
}
}
//EXTENSION TO ARRAY OBJECT
function Array_IndexOf(Input){
var Result = -1;
for (var i=0; i 0){
I[QNum][3][ANum][1] = DefaultRight;
}
else{
I[QNum][3][ANum][1] = DefaultWrong;
}
}
}
}
}
}
function SetUpQuestions(){
var AList = new Array();
var QList = new Array();
var i, j;
Qs = document.getElementById('Questions');
while (Qs.getElementsByTagName('li').length > 0){
QList.push(Qs.removeChild(Qs.getElementsByTagName('li')[0]));
}
var DumpItem = 0;
if (QsToShow > QList.length){
QsToShow = QList.length;
}
while (QsToShow < QList.length){
DumpItem = Math.floor(QList.length*Math.random());
for (j=DumpItem; j<(QList.length-1); j++){
QList[j] = QList[j+1];
}
QList.length = QList.length-1;
}
if (ShuffleQs == true){
QList = Shuffle(QList);
}
if (ShuffleAs == true){
var As;
for (var i=0; i 0){
AList.push(As.removeChild(As.getElementsByTagName('li')[0]));
}
AList = Shuffle(AList);
for (j=0; j= QArray.length)){return;}
QArray[CurrQNum].style.display = 'none';
CurrQNum += ChangeBy;
QArray[CurrQNum].style.display = '';
//Undocumented function added 10/12/2004
ShowSpecialReadingForQuestion();
SetQNumReadout();
SetFocusToTextbox();
}
var HiddenReadingShown = false;
function ShowSpecialReadingForQuestion(){
//Undocumented function for showing specific reading text elements which change with each question
//Added on 10/12/2004
if (document.getElementById('ReadingDiv') != null){
if (HiddenReadingShown == true){
document.getElementById('ReadingDiv').innerHTML = '';
}
if (QArray[CurrQNum] != null){
//Fix for 6.0.4.25
var Children = QArray[CurrQNum].getElementsByTagName('div');
for (var i=0; i= QArray.length){
if (document.getElementById('NextQButton') != null){
document.getElementById('NextQButton').style.visibility = 'hidden';
}
}
else{
if (document.getElementById('NextQButton') != null){
document.getElementById('NextQButton').style.visibility = 'visible';
}
}
if (CurrQNum <= 0){
if (document.getElementById('PrevQButton') != null){
document.getElementById('PrevQButton').style.visibility = 'hidden';
}
}
else{
if (document.getElementById('PrevQButton') != null){
document.getElementById('PrevQButton').style.visibility = 'visible';
}
}
}
var I=new Array();
I[0]=new Array();I[0][0]=100;
I[0][1]='';
I[0][2]='0';
I[0][3]=new Array();
I[0][3][0]=new Array('Once the week.','',0,0,1);
I[0][3][1]=new Array('All weeks.','',0,0,1);
I[0][3][2]=new Array('Every week.','',1,100,1);
I[0][3][3]=new Array('Each week one time.','',0,0,1);
I[1]=new Array();I[1][0]=100;
I[1][1]='';
I[1][2]='0';
I[1][3]=new Array();
I[1][3][0]=new Array('the more intelligent from','',0,0,1);
I[1][3][1]=new Array('the most intelligent of','',1,100,1);
I[1][3][2]=new Array('most intelligent than','',0,0,1);
I[1][3][3]=new Array('more intelligent as','',0,0,1);
I[2]=new Array();I[2][0]=100;
I[2][1]='';
I[2][2]='0';
I[2][3]=new Array();
I[2][3][0]=new Array('you didn\'t study','',0,0,1);
I[2][3][1]=new Array('didn\'t you study','',1,100,1);
I[2][3][2]=new Array('you not studied','',0,0,1);
I[2][3][3]=new Array('didn\'t you studied','',0,0,1);
I[3]=new Array();I[3][0]=100;
I[3][1]='';
I[3][2]='0';
I[3][3]=new Array();
I[3][3][0]=new Array('fifteen three','',0,0,1);
I[3][3][1]=new Array('a quarter past three','',1,100,1);
I[3][3][2]=new Array('fifteen minutes past to three','',0,0,1);
I[3][3][3]=new Array('three and a quarter','',0,0,1);
I[4]=new Array();I[4][0]=100;
I[4][1]='';
I[4][2]='0';
I[4][3]=new Array();
I[4][3][0]=new Array('go','',0,0,1);
I[4][3][1]=new Array('went','',0,0,1);
I[4][3][2]=new Array('been','',1,100,1);
I[4][3][3]=new Array('was','',0,0,1);
I[5]=new Array();I[5][0]=100;
I[5][1]='';
I[5][2]='0';
I[5][3]=new Array();
I[5][3][0]=new Array('going flying','',0,0,1);
I[5][3][1]=new Array('fly','',0,0,1);
I[5][3][2]=new Array('to fly','',0,0,1);
I[5][3][3]=new Array('going to fly','',1,100,1);
I[6]=new Array();I[6][0]=100;
I[6][1]='';
I[6][2]='0';
I[6][3]=new Array();
I[6][3][0]=new Array('doesn\'t he?','',0,0,1);
I[6][3][1]=new Array('does he?','',0,0,1);
I[6][3][2]=new Array('is he?','',0,0,1);
I[6][3][3]=new Array('isn\'t he?','',1,100,1);
I[7]=new Array();I[7][0]=100;
I[7][1]='';
I[7][2]='0';
I[7][3]=new Array();
I[7][3][0]=new Array('Three of June, nineteen hundred','',0,0,1);
I[7][3][1]=new Array('The third of June, nineteen','',0,0,1);
I[7][3][2]=new Array('Third June, nineteen and','',1,100,1);
I[7][3][3]=new Array('June third, thousand nine hundred','',0,0,1);
I[8]=new Array();I[8][0]=100;
I[8][1]='';
I[8][2]='0';
I[8][3]=new Array();
I[8][3][0]=new Array('its name is','',1,100,1);
I[8][3][1]=new Array('it is called','',0,0,1);
I[8][3][2]=new Array('it\'s name is','',0,0,1);
I[8][3][3]=new Array('they call it','',0,0,1);
I[9]=new Array();I[9][0]=100;
I[9][1]='';
I[9][2]='0';
I[9][3]=new Array();
I[9][3][0]=new Array('a','',0,0,1);
I[9][3][1]=new Array('an','',0,0,1);
I[9][3][2]=new Array('some','',0,0,1);
I[9][3][3]=new Array('any','',1,100,1);
I[10]=new Array();I[10][0]=100;
I[10][1]='';
I[10][2]='0';
I[10][3]=new Array();
I[10][3][0]=new Array('was painting','',1,100,1);
I[10][3][1]=new Array('was to paint','',0,0,1);
I[10][3][2]=new Array('painting','',0,0,1);
I[10][3][3]=new Array('painted','',0,0,1);
I[11]=new Array();I[11][0]=100;
I[11][1]='';
I[11][2]='0';
I[11][3]=new Array();
I[11][3][0]=new Array('passed','',0,0,1);
I[11][3][1]=new Array('took','',0,0,1);
I[11][3][2]=new Array('did','',0,0,1);
I[11][3][3]=new Array('spent','',1,100,1);
I[12]=new Array();I[12][0]=100;
I[12][1]='';
I[12][2]='0';
I[12][3]=new Array();
I[12][3][0]=new Array('will get','',0,0,1);
I[12][3][1]=new Array('get','',1,100,1);
I[12][3][2]=new Array('are going to get','',0,0,1);
I[12][3][3]=new Array('are getting','',0,0,1);
I[13]=new Array();I[13][0]=100;
I[13][1]='';
I[13][2]='0';
I[13][3]=new Array();
I[13][3][0]=new Array('isn\'t it','',0,0,1);
I[13][3][1]=new Array('aren\'t you','',1,100,1);
I[13][3][2]=new Array('don\'t you','',0,0,1);
I[13][3][3]=new Array('you are','',0,0,1);
I[14]=new Array();I[14][0]=100;
I[14][1]='';
I[14][2]='0';
I[14][3]=new Array();
I[14][3][0]=new Array('who','',1,100,1);
I[14][3][1]=new Array('which','',0,0,1);
I[14][3][2]=new Array('that he','',0,0,1);
I[14][3][3]=new Array('where','',0,0,1);
I[15]=new Array();I[15][0]=100;
I[15][1]='';
I[15][2]='0';
I[15][3]=new Array();
I[15][3][0]=new Array('bigger','',0,0,1);
I[15][3][1]=new Array('the most tall','',0,0,1);
I[15][3][2]=new Array('the tallest','',1,100,1);
I[15][3][3]=new Array('tall','',0,0,1);
I[16]=new Array();I[16][0]=100;
I[16][1]='';
I[16][2]='0';
I[16][3]=new Array();
I[16][3][0]=new Array('not often writes','',0,0,1);
I[16][3][1]=new Array('doesn\'t often write','',1,100,1);
I[16][3][2]=new Array('don\'t often writes','',0,0,1);
I[16][3][3]=new Array('doesn\'t often writes','',0,0,1);
I[17]=new Array();I[17][0]=100;
I[17][1]='';
I[17][2]='0';
I[17][3]=new Array();
I[17][3][0]=new Array('How often','',1,100,1);
I[17][3][1]=new Array('How many','',0,0,1);
I[17][3][2]=new Array('How long','',0,0,1);
I[17][3][3]=new Array('How much','',0,0,1);
I[18]=new Array();I[18][0]=100;
I[18][1]='';
I[18][2]='0';
I[18][3]=new Array();
I[18][3][0]=new Array('are','',0,0,1);
I[18][3][1]=new Array('am','',0,0,1);
I[18][3][2]=new Array('is','',1,100,1);
I[18][3][3]=new Array('be','',0,0,1);
I[19]=new Array();I[19][0]=100;
I[19][1]='';
I[19][2]='0';
I[19][3]=new Array();
I[19][3][0]=new Array('Are','',0,0,1);
I[19][3][1]=new Array('Have','',0,0,1);
I[19][3][2]=new Array('Do','',0,0,1);
I[19][3][3]=new Array('Is','',1,100,1);
function StartUp(){
RemoveBottomNavBarForIE();
//If there's only one question, no need for question navigation controls
if (QsToShow < 2){
document.getElementById('QNav').style.display = 'none';
}
//Stash the instructions so they can be redisplayed
strInstructions = document.getElementById('InstructionsDiv').innerHTML;
CompleteEmptyFeedback();
SetUpQuestions();
ClearTextBoxes();
CreateStatusArray();
//Check search string for q parameter
if (document.location.search.length > 0){
if (ShuffleQs == false){
var JumpTo = parseInt(document.location.search.substring(1,document.location.search.length))-1;
if (JumpTo <= QsToShow){
ChangeQ(JumpTo);
}
}
}
//Undocumented function added 10/12/2004
ShowSpecialReadingForQuestion();
}
function ShowHideQuestions(){
FuncBtnOut(document.getElementById('ShowMethodButton'));
document.getElementById('ShowMethodButton').style.display = 'none';
if (ShowingAllQuestions == false){
for (var i=0; i -1){
//Add an extra message explaining that the question
// is finished if defined by the user
if (strQuestionFinished.length > 0){Feedback += ' ' + strQuestionFinished;}
//Show the feedback
ShowMessage(Feedback);
//New for 6.2.2.1: If you want to mark an answer as correct even when it's the final choice, uncomment this line.
// if (I[QNum][3][ANum][2] >= 1){Btn.innerHTML = CorrectIndicator;}else{Btn.innerHTML = IncorrectIndicator;}
return;
}
//Hide the button while processing
Btn.style.display = 'none';
//Increment the number of tries
State[QNum][2]++;
//Add the percent-correct value of this answer
State[QNum][3] += I[QNum][3][ANum][3];
//Store the try number in the answer part of the State array, for tracking purposes
State[QNum][1][ANum] = State[QNum][2];
if (State[QNum][5].length > 0){State[QNum][5] += ' | ';}
State[QNum][5] += String.fromCharCode(65+ANum);
//Should this answer be accepted as correct?
if (I[QNum][3][ANum][2] < 1){
//It's wrong
//Mark the answer
Btn.innerHTML = IncorrectIndicator;
//Remove any previous score unless exercise is finished (6.0.3.8+)
if (Finished == false){
WriteToInstructions(strInstructions);
}
//Check whether this leaves just one MC answer unselected, in which case the Q is terminated
var RemainingAnswer = FinalAnswer(QNum);
if (RemainingAnswer > -1){
//Behave as if the last answer had been selected, but give no credit for it
//Increment the number of tries
State[QNum][2]++;
//Calculate the score for this question
CalculateMCQuestionScore(QNum);
//Get the overall score and add it to the feedback
CalculateOverallScore();
//New for 6.2.2.1
var QsDone = CheckQuestionsCompleted();
if ((ContinuousScoring == true)||(Finished == true)){
Feedback += ' ' + YourScoreIs + ' ' + Score + '%.' + ' ' + QsDone;
WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + ' ' + QsDone);
}
else{
WriteToInstructions(QsDone);
}
}
}
else{
//It's right
//Mark the answer
Btn.innerHTML = CorrectIndicator;
//Calculate the score for this question
CalculateMCQuestionScore(QNum);
//New for 6.2.2.0
var QsDone = CheckQuestionsCompleted();
//Get the overall score and add it to the feedback
if (ContinuousScoring == true){
CalculateOverallScore();
if ((ContinuousScoring == true)||(Finished == true)){
Feedback += ' ' + YourScoreIs + ' ' + Score + '%.' + ' ' + QsDone;
WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + ' ' + QsDone);
}
}
else{
WriteToInstructions(QsDone);
}
}
//Show the button again
Btn.style.display = 'inline';
//Finally, show the feedback
ShowMessage(Feedback);
//Check whether all questions are now done
CheckFinished();
}
function CalculateMCQuestionScore(QNum){
var Tries = State[QNum][2] + State[QNum][4]; //include tries and hint penalties
var PercentCorrect = State[QNum][3];
var TotAns = GetTotalMCAnswers(QNum);
var HintPenalties = State[QNum][4];
//Make sure it's not already complete
if (State[QNum][0] < 0){
//Allow for Hybrids
if (HintPenalties >= 1){
State[QNum][0] = 0;
}
else{
//This line calculates the score for this question
if (TotAns == 1){
State[QNum][0] = 1;
}
else{
State[QNum][0] = ((TotAns-((Tries*100)/State[QNum][3]))/(TotAns-1));
}
}
//Fix for Safari bug added for version 6.0.3.42 (negative infinity problem)
if ((State[QNum][0] < 0)||(State[QNum][0] == Number.NEGATIVE_INFINITY)){
State[QNum][0] = 0;
}
}
}
function GetTotalMCAnswers(QNum){
var Result = 0;
for (var ANum=0; ANum -1){
TotalWeighting += I[QNum][0];
TotalScore += (I[QNum][0] * State[QNum][0]);
}
}
}
if (TotalWeighting > 0){
Score = Math.floor((TotalScore/TotalWeighting)*100);
}
else{
//if TotalWeighting is 0, no questions so far have any value, so
//no penalty should be shown.
Score = 100;
}
}
//New for 6.2.2.0
function CheckQuestionsCompleted(){
if (ShowCompletedSoFar == false){return '';}
var QsCompleted = 0;
for (var QNum=0; QNum= 0){
QsCompleted++;
}
}
}
//Fixes for 6.2.2.2
if (QsCompleted >= QArray.length){
return ExerciseCompleted;
}
else{
return CompletedSoFar + ' ' + QsCompleted + '/' + QArray.length + '.';
}
}
function CheckFinished(){
var FB = '';
var AllDone = true;
for (var QNum=0; QNum= 1){
CFT++;
}
}
}
FB += ' ' + CorrectFirstTime + ' ' + CFT + '/' + QsToShow;
}
//New for 6.2.2.0
FB += ' ' + ExerciseCompleted;
WriteToInstructions(FB);
Finished == true;
TimeOver = true;
Locked = true;
Finished = true;
Detail = '';
for (QNum=0; QNum 0){
Detail += 'Question #' + (QNum+1) + 'question-trackingQ ' + (QNum+1) + 'QuestionTrackingField' + State[QNum][5] + '';
}
}
}
Detail += '';
setTimeout('Finish()', SubmissionTimeout);
}
}
//-->
//]]>
B1 test
Quiz
How often do you go to the bank?
Once the week.
All weeks.
Every week.
Each week one time.
John is __________ the three students.
the more intelligent from
the most intelligent of
most intelligent than
more intelligent as
Why __________ ?
you didn’t study
didn’t you study
you not studied
didn’t you studied
It’s __________ .
fifteen three
a quarter past three
fifteen minutes past to three
three and a quarter
Have you ever __________ to Mallorca?
go
went
been
was
They are _________ to Brazil tomorrow.
going flying
fly
to fly
going to fly
Robert is from New York,_____
doesn’t he?
does he?
is he?
isn’t he?
Date of birth? 3rd June, 1960 ____________sixty.
Three of June, nineteen hundred
The third of June, nineteen
Third June, nineteen and
June third, thousand nine hundred
They have a dog: __________ Spot.
its name is
it is called
it’s name is
they call it
They haven’t got ____________ children
a
an
some
any
He ________ the bathroom when I went to see him
was painting
was to paint
painting
painted
We _______ a lovely three weeks in the south of Spain last year.
passed
took
did
spent
Please don’t forget to ring me when you _______ home.
will get
get
are going to get
are getting
You’re from New York, ______________?
isn’t it
aren’t you
don’t you
you are
That’s the man ___________ was talking behind me during the film!
who
which
that he
where
Dubai has __________ building in the world.
bigger
the most tall
the tallest
tall
He __________ to his parents.
not often writes
doesn’t often write
don’t often writes
doesn’t often writes
Sue: «_________________ do you see her?» Mark: «Twice a week.»