<?xml version="1.0"?> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml" | |
xml:lang="en"><head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to wara hongto."></meta><meta name="keywords" content="Hot Potatoes, Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta> | |
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" /> | |
<meta name="DC:Creator" content="UNREGISTERED" /> | |
<meta name="DC:Title" content="Ẻ·´ÊͺẺàÅ×Í¡µÍº" /> | |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> | |
<title> | |
แบบทดสอบแบบเลือกตอบ | |
</title> | |
<!-- Made with executable version 6.0 Release 4 Build 0 --> | |
<!-- The following insertion allows you to add your own code directly to this head tag from the configuration screen --> | |
<style type="text/css"> | |
/* 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 6.0 Release 4 Build 0 */ | |
body{ | |
font-family: Geneva,Arial,sans-serif; | |
background-color: #ffff00; | |
color: #000000; | |
margin-right: 5%; | |
margin-left: 5%; | |
font-size: small; | |
} | |
p{ | |
text-align: left; | |
margin: 0px; | |
font-size: 100%; | |
} | |
table,div,span,td{ | |
font-size: 100%; | |
color: #000000; | |
} | |
div.Titles{ | |
padding: 0.5em;; | |
text-align: center; | |
color: #000000; | |
} | |
button{ | |
font-size: 100%; | |
display: inline; | |
} | |
.ExerciseTitle{ | |
font-size: 140%; | |
color: #000000; | |
} | |
.ExerciseSubtitle{ | |
font-size: 120%; | |
color: #000000; | |
} | |
div.StdDiv{ | |
background-color: #FFFFFF; | |
text-align: center; | |
font-size: 100%; | |
color: #000000; | |
padding: 8px; | |
border-style: solid; | |
border-width: 1px 1px 1px 1px; | |
border-color: #000000; | |
margin-bottom: 1px; | |
} | |
/* EndCorePageCSS */ | |
.RTLText{ | |
text-align: right; | |
font-size: 150%; | |
direction: rtl; | |
font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Geneva,Arial,sans-serif; | |
} | |
.CentredRTLText{ | |
text-align: center; | |
font-size: 150%; | |
direction: rtl; | |
font-family: "Simplified Arabic", "Traditional Arabic", "Times New Roman", Geneva,Arial,sans-serif; | |
} | |
button p.RTLText{ | |
text-align: center; | |
} | |
.RTLGapBox{ | |
text-align: right; | |
font-size: 150%; | |
direction: rtl; | |
font-family: "Times New Roman", Geneva,Arial,sans-serif; | |
} | |
.Guess{ | |
font-weight: bold; | |
} | |
.CorrectAnswer{ | |
font-weight: bold; | |
} | |
div#Timer{ | |
padding: 6px; | |
margin-left: auto; | |
margin-right: auto; | |
text-align: center; | |
color: #000000; | |
} | |
span#TimerText{ | |
padding: 6px; | |
border-width: 1px; | |
border-style: solid; | |
font-weight: bold; | |
display: none; | |
color: #000000; | |
} | |
span.Instructions{ | |
} | |
div.ExerciseText{ | |
} | |
.FeedbackText, .FeedbackText span.CorrectAnswer, .FeedbackText span.Guess, .FeedbackText span.Answer{ | |
color: #000000; | |
} | |
.LeftItem{ | |
font-size: 100%; | |
color: #000000; | |
text-align: left; | |
} | |
.RightItem{ | |
font-weight: bold; | |
font-size: 100%; | |
color: #000000; | |
} | |
span.CorrectMark{ | |
} | |
input, textarea{ | |
font-family: Geneva,Arial,sans-serif; | |
font-size: 120%; | |
} | |
select{ | |
font-size: 100%; | |
} | |
div.Feedback { | |
background-color: #ffff00; | |
left: 33%; | |
width: 34%; | |
top: 33%; | |
z-index: 1; | |
border-style: solid; | |
border-width: 1px; | |
padding: 5px; | |
text-align: center; | |
color: #000000; | |
position: absolute; | |
display: none; | |
font-size: 100%; | |
} | |
div.ExerciseDiv{ | |
color: #000000; | |
} | |
/* JMatch flashcard styles */ | |
table.FlashcardTable{ | |
background-color: transparent; | |
color: #000000; | |
border-color: #000000; | |
margin-left: 5%; | |
margin-right: 5%; | |
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: #FFFFFF; | |
} | |
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; | |
color: #000000; | |
background-color: #FFFFFF; | |
} | |
table.FlashcardTable td.Hidden{ | |
display: none; | |
} | |
/* JMix styles */ | |
div#SegmentDiv{ | |
margin-top: 2em; | |
margin-bottom: 2em; | |
text-align: center; | |
} | |
a.ExSegment{ | |
font-size: 120%; | |
font-weight: bold; | |
text-decoration: none; | |
color: #000000; | |
} | |
span.RemainingWordList{ | |
font-style: italic; | |
} | |
div.DropLine { | |
position: absolute; | |
text-align: center; | |
border-bottom-style: solid; | |
border-bottom-width: 1px; | |
border-bottom-color: #000000; | |
width: 80%; | |
} | |
/* 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; | |
} | |
div.Keypad button{ | |
font-family: Geneva,Arial,sans-serif; | |
font-size: 120%; | |
background-color: #ffffff; | |
color: #000000; | |
width: 2em; | |
} | |
/* JQuiz styles */ | |
div.QuestionNavigation{ | |
text-align: center; | |
} | |
.QNum{ | |
margin: 0em 1em 0.5em 1em; | |
font-weight: bold; | |
vertical-align: middle; | |
} | |
textarea{ | |
font-family: Geneva,Arial,sans-serif; | |
} | |
.QuestionText{ | |
} | |
.Answer{ | |
font-size: 120%; | |
letter-spacing: 0.1em; | |
} | |
.PartialAnswer{ | |
font-size: 120%; | |
letter-spacing: 0.1em; | |
color: #000000; | |
} | |
.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 { | |
text-align: center; | |
border-style: solid; | |
border-left-color: #ffffff; | |
border-top-color: #ffffff; | |
border-right-color: #7f7f7f; | |
border-bottom-color: #7f7f7f; | |
color: #000000; | |
background-color: #FFFFFF; | |
border-width: 2px; | |
padding: 3px 6px 3px 6px; | |
cursor: pointer; | |
} | |
.FuncButtonUp { | |
color: #FFFFFF; | |
text-align: center; | |
border-style: solid; | |
border-left-color: #ffffff; | |
border-top-color: #ffffff; | |
border-right-color: #7f7f7f; | |
border-bottom-color: #7f7f7f; | |
background-color: #000000; | |
color: #FFFFFF; | |
border-width: 2px; | |
padding: 3px 6px 3px 6px; | |
cursor: pointer; | |
} | |
.FuncButtonDown { | |
color: #FFFFFF; | |
text-align: center; | |
border-style: solid; | |
border-left-color: #7f7f7f; | |
border-top-color: #7f7f7f; | |
border-right-color: #ffffff; | |
border-bottom-color: #ffffff; | |
background-color: #000000; | |
color: #FFFFFF; | |
border-width: 2px; | |
padding: 3px 6px 3px 6px; | |
cursor: pointer; | |
} | |
/*BeginNavBarStyle*/ | |
div.NavButtonBar{ | |
background-color: #00ffff; | |
text-align: center; | |
margin: 2px 0px 2px 0px; | |
clear: both; | |
font-size: 100%; | |
} | |
.NavButton { | |
border-style: solid; | |
border-left-color: #7fffff; | |
border-top-color: #7fffff; | |
border-right-color: #007f7f; | |
border-bottom-color: #007f7f; | |
background-color: #00ffff; | |
color: #000000; | |
border-width: 2px; | |
cursor: pointer; | |
} | |
.NavButtonUp { | |
border-style: solid; | |
border-left-color: #7fffff; | |
border-top-color: #7fffff; | |
border-right-color: #007f7f; | |
border-bottom-color: #007f7f; | |
color: #00ffff; | |
background-color: #000000; | |
border-width: 2px; | |
cursor: pointer; | |
} | |
.NavButtonDown { | |
border-style: solid; | |
border-left-color: #007f7f; | |
border-top-color: #007f7f; | |
border-right-color: #7fffff; | |
border-bottom-color: #7fffff; | |
color: #00ffff; | |
background-color: #000000; | |
border-width: 2px; | |
cursor: pointer; | |
} | |
/*EndNavBarStyle*/ | |
a{ | |
color: #0000FF; | |
} | |
a:visited{ | |
color: #0000CC; | |
} | |
a:hover{ | |
color: #0000FF; | |
} | |
div.CardStyle { | |
position: absolute; | |
font-family: Geneva,Arial,sans-serif; | |
font-size: 100%; | |
padding: 5px; | |
border-style: solid; | |
border-width: 1px; | |
color: #000000; | |
background-color: #FFFFFF; | |
left: -50px; | |
top: -50px; | |
overflow: visible; | |
} | |
.rtl{ | |
text-align: right; | |
font-size: 140%; | |
} | |
</style> | |
<script type="text/javascript"> | |
//<![CDATA[ | |
<!-- | |
function Client(){ | |
//if not a DOM browser, hopeless | |
this.min = false; if (document.getElementById){this.min = true;}; | |
this.ua = navigator.userAgent; | |
this.name = navigator.appName; | |
this.ver = navigator.appVersion; | |
//Get data about the browser | |
this.mac = (this.ver.indexOf('Mac') != -1); | |
this.win = (this.ver.indexOf('Windows') != -1); | |
//Look for Gecko | |
this.gecko = (this.ua.indexOf('Gecko') > 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 + '<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'); | |
//Focus the OK button | |
setTimeout("document.getElementById('FeedbackOKButton').focus()", 50); | |
// | |
} | |
function ShowElements(Show, TagName){ | |
//Special for IE bug -- hide all the form elements that will show through the popup | |
if (C.ie){ | |
var Els = document.getElementsByTagName(TagName); | |
for (var i=0; i<Els.length; i++){ | |
if (Show == true){ | |
Els[i].style.display = 'inline'; | |
} | |
else{ | |
Els[i].style.display = 'none'; | |
} | |
} | |
} | |
} | |
function HideFeedback(){ | |
document.getElementById('FeedbackDiv').style.display = 'none'; | |
ShowElements(true, 'input'); | |
ShowElements(true, 'select'); | |
ShowElements(true, 'object'); | |
if (Finished == true){ | |
Finish(); | |
} | |
} | |
//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].clientWidth; | |
this.H = document.getElementsByTagName('body')[0].clientHeight; | |
} | |
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 (document.documentElement && document.documentElement.scrollTop){ | |
return document.documentElement.scrollTop; | |
} | |
else{ | |
if (document.body){ | |
return document.body.scrollTop; | |
} | |
else{ | |
return window.pageYOffset; | |
} | |
} | |
} | |
function GetViewportHeight(){ | |
if (window.innerHeight){ | |
return window.innerHeight; | |
} | |
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;} | |
if (C.ie) { | |
thisKey = window.event.keyCode; | |
} | |
else { | |
thisKey = e.keyCode; | |
} | |
var Suppress = false; | |
if (thisKey == 8) { | |
Suppress = true; | |
} | |
if (Suppress == true){ | |
if (C.ie){ | |
window.event.returnValue = false; | |
window.event.cancelBubble = true; | |
} | |
else{ | |
e.preventDefault(); | |
} | |
} | |
} | |
if (C.ie){ | |
document.attachEvent('onkeydown',SuppressBackspace); | |
window.attachEvent('onkeydown',SuppressBackspace); | |
} | |
else{ | |
if (window.addEventListener){ | |
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, '"') | |
} | |
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; | |
} | |
//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 = ''; | |
} | |
} | |
} | |
//EXTENSION TO ARRAY OBJECT | |
function Array_IndexOf(Input){ | |
var Result = -1; | |
for (var i=0; i<this.length; i++){ | |
if (this[i] == Input){ | |
Result = i; | |
} | |
} | |
return Result; | |
} | |
Array.prototype.indexOf = Array_IndexOf; | |
//IE HAS RENDERING BUG WITH BOTTOM NAVBAR | |
function RemoveBottomNavBarForIE(){ | |
if ((C.ie)&&(document.getElementById('Reading') != null)){ | |
if (document.getElementById('BottomNavBar') != null){ | |
document.getElementById('TheBody').removeChild(document.getElementById('BottomNavBar')); | |
} | |
} | |
} | |
//HOTPOTNET-RELATED CODE | |
var HPNStartTime = (new Date()).getTime(); | |
var SubmissionTimeout = 30000; | |
var Detail = ''; //Global that is used to submit tracking data | |
function Finish(){ | |
//If there's a form, fill it out and submit it | |
if (document.store != null){ | |
Frm = document.store; | |
Frm.starttime.value = HPNStartTime; | |
Frm.endtime.value = (new Date()).getTime(); | |
Frm.mark.value = Score; | |
Frm.detail.value = Detail; | |
Frm.submit(); | |
} | |
} | |
//JQUIZ CORE JAVASCRIPT CODE | |
var CurrQNum = 0; | |
var CorrectIndicator = ':-)'; | |
var IncorrectIndicator = 'X'; | |
var YourScoreIs = 'Your score is '; | |
var ContinuousScoring = true; | |
var CorrectFirstTime = 'Questions answered correctly first time: '; | |
var ShowCorrectFirstTime = true; | |
var ShuffleQs = false; | |
var ShuffleAs = false; | |
var DefaultRight = 'Correct!'; | |
var DefaultWrong = 'Sorry! Try again.'; | |
var QsToShow = 10; | |
var Score = 0; | |
var Finished = false; | |
var Qs = null; | |
var QArray = new Array(); | |
var ShowingAllQuestions = false; | |
var ShowAllQuestionsCaption = 'Show all questions'; | |
var ShowOneByOneCaption = 'Show questions one by one'; | |
var State = new Array(); | |
var Feedback = ''; | |
var TimeOver = false; | |
var strInstructions = ''; | |
//The following variable can be used to add a message explaining that | |
//the question is finished, so no further marking will take place. | |
var strQuestionFinished = ''; | |
function CompleteEmptyFeedback(){ | |
var QNum, ANum; | |
for (QNum=0; QNum<I.length; QNum++){ | |
//Only do this if not multi-select | |
if (I[QNum][2] != '3'){ | |
for (ANum = 0; ANum<I[QNum][3].length; ANum++){ | |
if (I[QNum][3][ANum][1].length < 1){ | |
if (I[QNum][3][ANum][2] > 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<QList.length; i++){ | |
As = QList[i].getElementsByTagName('ol')[0]; | |
if (As != null){ | |
AList.length = 0; | |
while (As.getElementsByTagName('li').length > 0){ | |
AList.push(As.removeChild(As.getElementsByTagName('li')[0])); | |
} | |
AList = Shuffle(AList); | |
for (j=0; j<AList.length; j++){ | |
As.appendChild(AList[j]); | |
} | |
} | |
} | |
} | |
for (i=0; i<QList.length; i++){ | |
Qs.appendChild(QList[i]); | |
QArray[QArray.length] = QList[i]; | |
} | |
//Show the first item | |
QArray[0].style.display = ''; | |
//Now hide all except the first item | |
for (i=1; i<QArray.length; i++){ | |
QArray[i].style.display = 'none'; | |
} | |
SetQNumReadout(); | |
SetFocusToTextbox(); | |
} | |
function SetFocusToTextbox(){ | |
//if there's a textbox, set the focus in it | |
if (QArray[CurrQNum].getElementsByTagName('input')[0] != null){ | |
QArray[CurrQNum].getElementsByTagName('input')[0].focus(); | |
} | |
else{ | |
if (QArray[CurrQNum].getElementsByTagName('textarea')[0] != null){ | |
QArray[CurrQNum].getElementsByTagName('textarea')[0].focus(); | |
} | |
} | |
} | |
function ChangeQ(ChangeBy){ | |
//The following line prevents moving to another question until the current | |
//question is answered correctly. Uncomment it to enable this behaviour. | |
// if (State[CurrQNum][0] == -1){return;} | |
if (((CurrQNum + ChangeBy) < 0)||((CurrQNum + ChangeBy) >= QArray.length)){return;} | |
QArray[CurrQNum].style.display = 'none'; | |
CurrQNum += ChangeBy; | |
QArray[CurrQNum].style.display = ''; | |
SetQNumReadout(); | |
SetFocusToTextbox(); | |
} | |
function SetQNumReadout(){ | |
document.getElementById('QNumReadout').innerHTML = (CurrQNum+1) + ' / ' + QArray.length; | |
} | |
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('\u0E2A\u0E49\u0E21\u0E15\u0E33','\u0E1C\u0E34\u0E14',0,0,1); | |
I[0][3][1]=new Array('\u0E44\u0E01\u0E48\u0E17\u0E2D\u0E14','\u0E1C\u0E34\u0E14',0,0,1); | |
I[0][3][2]=new Array('\u0E15\u0E49\u0E21\u0E22\u0E33\u0E01\u0E38\u0E49\u0E07','\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07',1,100,1); | |
I[0][3][3]=new Array('\u0E02\u0E49\u0E32\u0E27\u0E15\u0E49\u0E21','\u0E1C\u0E34\u0E14',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('\u0E40\u0E1B\u0E47\u0E19\u0E2D\u0E32\u0E2B\u0E32\u0E23\u0E04\u0E32\u0E27','\u0E16\u0E39\u0E01',1,100,1); | |
I[1][3][1]=new Array('\u0E40\u0E1B\u0E47\u0E19\u0E2D\u0E32\u0E2B\u0E32\u0E23\u0E2B\u0E27\u0E32\u0E19','\u0E1C\u0E34\u0E14',0,0,1); | |
I[1][3][2]=new Array('\u0E40\u0E1B\u0E47\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2D\u0E32\u0E2B\u0E32\u0E23\u0E04\u0E32\u0E27\u0E41\u0E25\u0E30\u0E2D\u0E32\u0E2B\u0E32\u0E23\u0E2B\u0E27\u0E32\u0E19','\u0E1C\u0E34\u0E14',0,0,1); | |
I[1][3][3]=new Array('\u0E44\u0E21\u0E48\u0E40\u0E1B\u0E47\u0E19\u0E2D\u0E32\u0E2B\u0E32\u0E23','\u0E1C\u0E34\u0E14',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('\u0E15\u0E49\u0E21\u0E22\u0E33\u0E01\u0E38\u0E49\u0E07','\u0E1C\u0E34\u0E14',0,0,1); | |
I[2][3][1]=new Array(' \u0E2D\u0E32\u0E21\u0E47\u0E2D\u0E01','\u0E16\u0E39\u0E01',1,100,1); | |
I[2][3][2]=new Array(' \u0E2D\u0E31\u0E21\u0E1A\u0E39\u0E22\u0E31\u0E15 ','\u0E1C\u0E34\u0E14',0,0,1); | |
I[2][3][3]=new Array('\u0E44\u0E01\u0E48\u0E17\u0E2D\u0E14','\u0E1C\u0E34\u0E14',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(' \u0E2D\u0E31\u0E21\u0E1A\u0E39\u0E22\u0E31\u0E15 ','\u0E16\u0E39\u0E01',1,100,1); | |
I[3][3][1]=new Array(' \u0E2B\u0E25\u0E48\u0E32\u0E40\u0E1E\u0E47\u0E14 ','\u0E1C\u0E34\u0E14',0,0,1); | |
I[3][3][2]=new Array('\u0E44\u0E01\u0E48\u0E17\u0E2D\u0E14','\u0E1C\u0E34\u0E14',0,0,1); | |
I[3][3][3]=new Array('\u0E15\u0E49\u0E21\u0E22\u0E33\u0E01\u0E38\u0E49\u0E07','\u0E1C\u0E34\u0E14',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(' \u0E2D\u0E42\u0E14\u0E42\u0E1A\u0E49','\u0E1C\u0E34\u0E14',0,0,1); | |
I[4][3][1]=new Array('\u0E2B\u0E25\u0E48\u0E32\u0E40\u0E1E\u0E47\u0E14 ','\u0E16\u0E39\u0E01',1,100,1); | |
I[4][3][2]=new Array('\u0E15\u0E49\u0E21\u0E22\u0E33\u0E01\u0E38\u0E49\u0E07','\u0E1C\u0E34\u0E14',0,0,1); | |
I[4][3][3]=new Array('\u0E01\u0E32\u0E42\u0E14 \u0E01\u0E32\u0E42\u0E14','\u0E1C\u0E34\u0E14',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(' \u0E2B\u0E25\u0E48\u0E32\u0E40\u0E1E\u0E47\u0E14','\u0E1C\u0E34\u0E14',0,0,1); | |
I[5][3][1]=new Array(' \u0E2D\u0E31\u0E21\u0E1A\u0E39\u0E22\u0E31\u0E15 ','\u0E1C\u0E34\u0E14',0,0,1); | |
I[5][3][2]=new Array(' \u0E2D\u0E42\u0E14\u0E42\u0E1A\u0E49 ','\u0E16\u0E39\u0E01',1,100,1); | |
I[5][3][3]=new Array('\u0E21\u0E32\u0E21\u0E48\u0E32','\u0E1C\u0E34\u0E14',0,0,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('\u0E44\u0E01\u0E48\u0E22\u0E48\u0E32\u0E07','\u0E1C\u0E34\u0E14',0,0,1); | |
I[6][3][1]=new Array('\u0E2A\u0E49\u0E21\u0E22\u0E33','\u0E1C\u0E34\u0E14',0,0,1); | |
I[6][3][2]=new Array('\u0E01\u0E4B\u0E27\u0E22\u0E40\u0E15\u0E35\u0E4B\u0E22\u0E27','\u0E16\u0E39\u0E01',1,100,1); | |
I[6][3][3]=new Array('\u0E02\u0E49\u0E32\u0E27\u0E15\u0E49\u0E21','\u0E1C\u0E34\u0E14',0,0,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('\u0E44\u0E17\u0E22','\u0E1C\u0E34\u0E14',0,0,1); | |
I[7][3][1]=new Array('\u0E25\u0E32\u0E27','\u0E1C\u0E34\u0E14',0,0,1); | |
I[7][3][2]=new Array('\u0E08\u0E35\u0E19','\u0E1C\u0E34\u0E14',0,0,1); | |
I[7][3][3]=new Array(' \u0E2D\u0E34\u0E19\u0E42\u0E14\u0E19\u0E35\u0E40\u0E0B\u0E35\u0E22','\u0E16\u0E39\u0E01',1,100,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('\u0E25\u0E32\u0E27','\u0E16\u0E39\u0E01',1,100,1); | |
I[8][3][1]=new Array('\u0E44\u0E17\u0E22','\u0E1C\u0E34\u0E14',0,0,1); | |
I[8][3][2]=new Array('\u0E1E\u0E21\u0E48\u0E32','\u0E1C\u0E34\u0E14',0,0,1); | |
I[8][3][3]=new Array('\u0E2D\u0E31\u0E07\u0E01\u0E24\u0E29','\u0E1C\u0E34\u0E14 ',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('\u0E1E\u0E21\u0E48\u0E32','\u0E1C\u0E34\u0E14',0,0,1); | |
I[9][3][1]=new Array('\u0E01\u0E31\u0E21\u0E1E\u0E39\u0E0A\u0E32','\u0E1C\u0E34\u0E14',0,0,1); | |
I[9][3][2]=new Array('\u0E25\u0E32\u0E27','\u0E1C\u0E34\u0E14',0,0,1); | |
I[9][3][3]=new Array('\u0E40\u0E27\u0E35\u0E22\u0E14\u0E19\u0E32\u0E21','\u0E16\u0E39\u0E01',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); | |
} | |
} | |
} | |
} | |
function ShowHideQuestions(){ | |
FuncBtnOut(document.getElementById('ShowMethodButton')); | |
document.getElementById('ShowMethodButton').style.display = 'none'; | |
if (ShowingAllQuestions == false){ | |
for (var i=0; i<QArray.length; i++){ | |
QArray[i].style.display = ''; | |
} | |
document.getElementById('Questions').style.listStyleType = 'decimal'; | |
document.getElementById('OneByOneReadout').style.display = 'none'; | |
document.getElementById('ShowMethodButton').innerHTML = ShowOneByOneCaption; | |
ShowingAllQuestions = true; | |
} | |
else{ | |
for (var i=0; i<QArray.length; i++){ | |
if (i != CurrQNum){ | |
QArray[i].style.display = 'none'; | |
} | |
} | |
document.getElementById('Questions').style.listStyleType = 'none'; | |
document.getElementById('OneByOneReadout').style.display = ''; | |
document.getElementById('ShowMethodButton').innerHTML = ShowAllQuestionsCaption; | |
ShowingAllQuestions = false; | |
} | |
document.getElementById('ShowMethodButton').style.display = 'inline'; | |
} | |
function CreateStatusArray(){ | |
var QNum, ANum; | |
//For each item in the item array | |
for (QNum=0; QNum<I.length; QNum++){ | |
//Check if the question still exists (hasn't been nuked by showing a random selection) | |
if (document.getElementById('Q_' + QNum) != null){ | |
State[QNum] = new Array(); | |
State[QNum][0] = -1; //Score for this q; -1 shows question not done yet | |
State[QNum][1] = new Array(); //answers | |
for (ANum = 0; ANum<I[QNum][3].length; ANum++){ | |
State[QNum][1][ANum] = 0; //answer not chosen yet; when chosen, will store its position in the series of choices | |
} | |
State[QNum][2] = 0; //tries at this q so far | |
State[QNum][3] = 0; //incrementing percent-correct values of selected answers | |
State[QNum][4] = 0; //penalties incurred for hints | |
State[QNum][5] = ''; //Sequence of answers chosen by number | |
} | |
else{ | |
State[QNum] = null; | |
} | |
} | |
} | |
function CheckMCAnswer(QNum, ANum, Btn){ | |
//if question doesn't exist, bail | |
if (State[QNum].length < 1){return;} | |
//Get the feedback | |
Feedback = I[QNum][3][ANum][1]; | |
//Now show feedback and bail if question already complete | |
if (State[QNum][0] > -1){ | |
//Add an extra message explaining that the question | |
// is finished if defined by the user | |
if (strQuestionFinished.length > 0){Feedback += '<br />' + strQuestionFinished;} | |
//Show the feedback | |
ShowMessage(Feedback); | |
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]; | |
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(); | |
if ((ContinuousScoring == true)||(Finished == true)){ | |
Feedback += '<br />' + YourScoreIs + ' ' + Score + '%.'; | |
WriteToInstructions(YourScoreIs + ' ' + Score + '%.'); | |
} | |
} | |
} | |
else{ | |
//It's right | |
//Mark the answer | |
Btn.innerHTML = CorrectIndicator; | |
//Calculate the score for this question | |
CalculateMCQuestionScore(QNum); | |
//Get the overall score and add it to the feedback | |
if (ContinuousScoring == true){ | |
CalculateOverallScore(); | |
if ((ContinuousScoring == true)||(Finished == true)){ | |
Feedback += '<br />' + YourScoreI</br' ' + Score + '%.'; | |
WriteToInstructions(YourScoreIs + ' ' + Score + '%.'); | |
} | |
} | |
} | |
//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<I[QNum][3].length; ANum++){ | |
if (I[QNum][3][ANum][4] == 1){ //This is an MC answer | |
Result++; | |
} | |
} | |
return Result; | |
} | |
function FinalAnswer(QNum){ | |
var UnchosenAnswers = 0; | |
var FinalAnswer = -1; | |
for (var ANum=0; ANum<I[QNum][3].length; ANum++){ | |
if (I[QNum][3][ANum][4] == 1){ //This is an MC answer | |
if (State[QNum][1][ANum] < 1){ //This answer hasn't been chosen yet | |
UnchosenAnswers++; | |
FinalAnswer = ANum; | |
} | |
} | |
} | |
if (UnchosenAnswers == 1){ | |
return FinalAnswer; | |
} | |
else{ | |
return -1; | |
} | |
} | |
function CalculateOverallScore(){ | |
var TotalWeighting = 0; | |
var TotalScore = 0; | |
for (var QNum=0; QNum<State.length; QNum++){ | |
if (State[QNum] != null){ | |
if (State[QNum][0] > -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; | |
} | |
} | |
function CheckFinished(){ | |
var FB = ''; | |
var AllDone = true; | |
for (var QNum=0; QNum<State.length; QNum++){ | |
if (State[QNum] != null){ | |
if (State[QNum][0] < 0){ | |
AllDone = false; | |
} | |
} | |
} | |
if (AllDone == true){ | |
//Report final score and submit if necessary | |
CalculateOverallScore(); | |
FB = YourScoreIs + ' ' + Score + '%.'; | |
if (ShowCorrectFirstTime == true){ | |
var CFT = 0; | |
for (QNum=0; QNum<State.length; QNum++){ | |
if (State[QNum] != null){ | |
if (State[QNum][0] >= 1){ | |
CFT++; | |
} | |
} | |
} | |
FB += '<br />' + CorrectFirstTime + ' ' + CFT + '/' + QsToShow; | |
} | |
WriteToInstructions(FB); | |
Finished == true; | |
TimeOver = true; | |
Locked = true; | |
Finished = true; | |
Detail = '<?xml version="1.0"?><hpnetresult><fields>'; | |
for (QNum=0; QNum<State.length; QNum++){ | |
if (State[QNum] != null){ | |
if (State[QNum][5].length > 0){ | |
Detail += '<field><fieldname>Question #' + (QNum+1) + '</fieldname><fieldtype>question-tracking</fieldtype><fieldlabel>Q ' + (QNum+1) + '</fieldlabel><fieldlabelid>QuestionTrackingField</fieldlabelid><fielddata>' + State[QNum][5] + '</fielddata></field>'; | |
} | |
} | |
} | |
Detail += '</fields></hpnetresult>'; | |
setTimeout('Finish()', SubmissionTimeout); | |
} | |
} | |
//--> | |
//]]> | |
</script> | |
</head> | |
<body onload="StartUp()" id="TheBody"> | |
<!-- BeginTopNavButtons --> | |
<div class="NavButtonBar" id="TopNavBar"> | |
<button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='contents.htm'; return false;"> Index </button> | |
<button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='jcross1.htm'; return false;">=></button> | |
</div> | |
<!-- EndTopNavButtons --> | |
<div class="Titles"> | |
<h2 class="ExerciseTitle">แบบทดสอบแบบเลือกตอบ</h2> | |
<h3 class="ExerciseSubtitle">Quiz</h3> | |
</div> | |
<div id="InstructionsDiv" class="StdDiv"> | |
<p id="Instructions"></p> | |
</div> | |
<div id="MainDiv" class="StdDiv"> | |
<div id="QNav" class="QuestionNavigation"> | |
<p style="text-align: right;"> | |
<button id="ShowMethodButton" class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOver(this)" onclick="ShowHideQuestions(); return false;">Show all questions</button> | |
</p> | |
<div id="OneByOneReadout"> | |
<button id="PrevQButton" class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOver(this)" onclick="ChangeQ(-1); return false;"><=</button> | |
<span id="QNumReadout" class="QNum"> </span> | |
<button id="NextQButton" class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOver(this)" onclick="ChangeQ(1); return false;">=></button> | |
<br /> | |
</div> | |
</div> | |
<ol class="QuizQuestions" id="Questions"> | |
<li class="QuizQuestion" id="Q_0" style="display: none;"><p class="QuestionText">อาหารประจำชาติไทย</p><ol class="MCAnswers"><li id="Q_0_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_0_0_Btn" onclick="CheckMCAnswer(0,0,this)"> ? </button> ส้มตำ</li><li id="Q_0_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_0_1_Btn" onclick="CheckMCAnswer(0,1,this)"> ? </button> ไก่ทอด</li><li id="Q_0_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_0_2_Btn" onclick="CheckMCAnswer(0,2,this)"> ? </button> ต้มยำกุ้ง</li><li id="Q_0_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_0_3_Btn" onclick="CheckMCAnswer(0,3,this)"> ? </button> ข้าวต้ม</li></ol></li> | |
<li class="QuizQuestion" id="Q_1" style="display: none;"><p class="QuestionText">ต้มยำกุ้งเป็นอาหารประเภทใด</p><ol class="MCAnswers"><li id="Q_1_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_1_0_Btn" onclick="CheckMCAnswer(1,0,this)"> ? </button> เป็นอาหารคาว</li><li id="Q_1_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_1_1_Btn" onclick="CheckMCAnswer(1,1,this)"> ? </button> เป็นอาหารหวาน</li><li id="Q_1_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_1_2_Btn" onclick="CheckMCAnswer(1,2,this)"> ? </button> เป็นทั้งอาหารคาวและอาหารหวาน</li><li id="Q_1_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_1_3_Btn" onclick="CheckMCAnswer(1,3,this)"> ? </button> ไม่เป็นอาหาร</li></ol></li> | |
<li class="QuizQuestion" id="Q_2" style="display: none;"><p class="QuestionText">อาหารประจำชาติกัมพูชาคืออะไร</p><ol class="MCAnswers"><li id="Q_2_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_2_0_Btn" onclick="CheckMCAnswer(2,0,this)"> ? </button> ต้มยำกุ้ง</li><li id="Q_2_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_2_1_Btn" onclick="CheckMCAnswer(2,1,this)"> ? </button> อาม็อก</li><li id="Q_2_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_2_2_Btn" onclick="CheckMCAnswer(2,2,this)"> ? </button> อัมบูยัต </li><li id="Q_2_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_2_3_Btn" onclick="CheckMCAnswer(2,3,this)"> ? </button> ไก่ทอด</li></ol></li> | |
<li class="QuizQuestion" id="Q_3" style="display: none;"><p class="QuestionText">อาหารประจำชาติประเทศบรูไนคืออะไร<br /></p><ol class="MCAnswers"><li id="Q_3_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_3_0_Btn" onclick="CheckMCAnswer(3,0,this)"> ? </button> อัมบูยัต </li><li id="Q_3_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_3_1_Btn" onclick="CheckMCAnswer(3,1,this)"> ? </button> หล่าเพ็ด </li><li id="Q_3_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_3_2_Btn" onclick="CheckMCAnswer(3,2,this)"> ? </button> ไก่ทอด</li><li id="Q_3_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_3_3_Btn" onclick="CheckMCAnswer(3,3,this)"> ? </button> ต้มยำกุ้ง</li></ol></li> | |
<li class="QuizQuestion" id="Q_4" style="display: none;"><p class="QuestionText">อาหารประจำชาติประเทศพม่าคืออะไร</p><ol class="MCAnswers"><li id="Q_4_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_4_0_Btn" onclick="CheckMCAnswer(4,0,this)"> ? </button> อโดโบ้</li><li id="Q_4_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_4_1_Btn" onclick="CheckMCAnswer(4,1,this)"> ? </button> หล่าเพ็ด </li><li id="Q_4_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_4_2_Btn" onclick="CheckMCAnswer(4,2,this)"> ? </button> ต้มยำกุ้ง</li><li id="Q_4_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_4_3_Btn" onclick="CheckMCAnswer(4,3,this)"> ? </button> กาโด กาโด</li></ol></li> | |
<li class="QuizQuestion" id="Q_5" style="display: none;"><p class="QuestionText">อาหารประจำชาติประเทศฟิลิปปินส์คืออะไร</p><ol class="MCAnswers"><li id="Q_5_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_5_0_Btn" onclick="CheckMCAnswer(5,0,this)"> ? </button> หล่าเพ็ด</li><li id="Q_5_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_5_1_Btn" onclick="CheckMCAnswer(5,1,this)"> ? </button> อัมบูยัต </li><li id="Q_5_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_5_2_Btn" onclick="CheckMCAnswer(5,2,this)"> ? </button> อโดโบ้ </li><li id="Q_5_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_5_3_Btn" onclick="CheckMCAnswer(5,3,this)"> ? </button> มาม่า</li></ol></li> | |
<li class="QuizQuestion" id="Q_6" style="display: none;"><p class="QuestionText"> ลักซามีลักษณะคล้ายอาหารอะไรในประเทศไทย</p><ol class="MCAnswers"><li id="Q_6_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_6_0_Btn" onclick="CheckMCAnswer(6,0,this)"> ? </button> ไก่ย่าง</li><li id="Q_6_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_6_1_Btn" onclick="CheckMCAnswer(6,1,this)"> ? </button> ส้มยำ</li><li id="Q_6_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_6_2_Btn" onclick="CheckMCAnswer(6,2,this)"> ? </button> ก๋วยเตี๋ยว</li><li id="Q_6_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_6_3_Btn" onclick="CheckMCAnswer(6,3,this)"> ? </button> ข้าวต้ม</li></ol></li> | |
<li class="QuizQuestion" id="Q_7" style="display: none;"><p class="QuestionText"> กาโด กาโดเป็นอาหารประจำชาติของประเทศอะไร</p><ol class="MCAnswers"><li id="Q_7_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_7_0_Btn" onclick="CheckMCAnswer(7,0,this)"> ? </button> ไทย</li><li id="Q_7_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_7_1_Btn" onclick="CheckMCAnswer(7,1,this)"> ? </button> ลาว</li><li id="Q_7_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_7_2_Btn" onclick="CheckMCAnswer(7,2,this)"> ? </button> จีน</li><li id="Q_7_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_7_3_Btn" onclick="CheckMCAnswer(7,3,this)"> ? </button> อินโดนีเซีย</li></ol></li> | |
<li class="QuizQuestion" id="Q_8" style="display: none;"><p class="QuestionText">สลัดหลวงพระบางเป็นอาหารประจำชาติอะไร</p><ol class="MCAnswers"><li id="Q_8_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_8_0_Btn" onclick="CheckMCAnswer(8,0,this)"> ? </button> ลาว</li><li id="Q_8_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_8_1_Btn" onclick="CheckMCAnswer(8,1,this)"> ? </button> ไทย</li><li id="Q_8_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_8_2_Btn" onclick="CheckMCAnswer(8,2,this)"> ? </button> พม่า</li><li id="Q_8_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_8_3_Btn" onclick="CheckMCAnswer(8,3,this)"> ? </button> อังกฤษ</li></ol></li> | |
<li class="QuizQuestion" id="Q_9" style="display: none;"><p class="QuestionText"> เปาะเปี๊ยะเวียดนามเป็นอาหารประจำชาติอะไร</p><ol class="MCAnswers"><li id="Q_9_0"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_9_0_Btn" onclick="CheckMCAnswer(9,0,this)"> ? </button> พม่า</li><li id="Q_9_1"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_9_1_Btn" onclick="CheckMCAnswer(9,1,this)"> ? </button> กัมพูชา</li><li id="Q_9_2"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_9_2_Btn" onclick="CheckMCAnswer(9,2,this)"> ? </button> ลาว</li><li id="Q_9_3"><button class="FuncButton" onfocus="FuncBtnOver(this)" onblur="FuncBtnOut(this)" onmouseover="FuncBtnOver(this)" onmouseout="FuncBtnOut(this)" onmousedown="FuncBtnDown(this)" onmouseup="FuncBtnOut(this)" id="Q_9_3_Btn" onclick="CheckMCAnswer(9,3,this)"> ? </button> เวียดนาม</li></ol></li></ol> | |
</div> | |
<div class="Feedback" id="FeedbackDiv"> | |
<div class="FeedbackText" id="FeedbackContent"></div> | |
<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;"> OK </button> | |
</div> | |
<!-- BeginBottomNavButtons --> | |
<div class="NavButtonBar" id="BottomNavBar"> | |
<button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='contents.htm'; return false;"> Index </button> | |
<button class="NavButton" onfocus="NavBtnOver(this)" onblur="NavBtnOut(this)" onmouseover="NavBtnOver(this)" onmouseout="NavBtnOut(this)" onmousedown="NavBtnDown(this)" onmouseup="NavBtnOut(this)" onclick="location='jcross1.htm'; return false;">=></button> | |
</div> | |
<!-- EndBottomNavButtons --> | |
<!-- BeginSubmissionForm --> | |
<!-- EndSubmissionForm --> | |
</body> | |
</html> | |
วันอาทิตย์ที่ 1 กุมภาพันธ์ พ.ศ. 2558
สมัครสมาชิก:
บทความ (Atom)