12º AIB – Unidade 4 – Subunidade 1: Imagem
/* 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.3 Release 0 Build 5 */
/* Hack to hide a nested Quicktime player from IE, which can’t handle it. */
* html object.MediaPlayerNotForIE {
display: none;
}
body{
font-family: Geneva,Arial,sans-serif;
background-color: #C0C0C0;
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-family: Geneva,Arial,sans-serif;
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: 0.5em;
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: 0.25em;
margin-left: auto;
margin-right: auto;
text-align: center;
color: #000000;
}
span#TimerText{
padding: 0.25em;
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: #C0C0C0;
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;
display: none; /* initially hidden, shown if needed */
margin-bottom: 0.5em;
}
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{
text-align: left;
margin: 0px;
font-size: 100%;
}
.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: #000000;
text-align: center;
margin: 2px 0px 2px 0px;
clear: both;
font-size: 100%;
}
.NavButton {
border-style: solid;
border-left-color: #7f7f7f;
border-top-color: #7f7f7f;
border-right-color: #000000;
border-bottom-color: #000000;
background-color: #000000;
color: #ffffff;
border-width: 2px;
cursor: pointer;
}
.NavButtonUp {
border-style: solid;
border-left-color: #7f7f7f;
border-top-color: #7f7f7f;
border-right-color: #000000;
border-bottom-color: #000000;
color: #000000;
background-color: #ffffff;
border-width: 2px;
cursor: pointer;
}
.NavButtonDown {
border-style: solid;
border-left-color: #000000;
border-top-color: #000000;
border-right-color: #7f7f7f;
border-bottom-color: #7f7f7f;
color: #000000;
background-color: #ffffff;
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%;
}
//<![CDATA[
1);
if (this.gecko){
this.geckoVer = parseInt(this.ua.substring(this.ua.indexOf(‘Gecko’)+6, this.ua.length));
// if (this.geckoVer 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 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<Els.length; i++){ if (TagName == "object") { //manipulate object elements in all browsers if (Show == true){ Els[i].style.visibility = 'visible'; //get Mac FireFox to manipulate display, to force screen redraw if (C.mac && C.gecko) {Els[i].style.display = '';} } else{ Els[i].style.visibility = 'hidden'; if (C.mac && C.gecko) {Els[i].style.display = 'none';} } } else { // tagName is either input or select (that is, Form Elements) // ie6 has a problem with Form elements, so manipulate those if (C.ie) { if (C.ieVer 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[Longest].length){ Longest = i; } } return Longest; } //UNICODE CHARACTER FUNCTIONS function IsCombiningDiacritic(CharNum){ var Result = (((CharNum >= 0x0300)&&(CharNum = 0x20d0)&&(CharNum = 0x3099)&&(CharNum = 0xfe20)&&(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<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 '; //New for 6.2.2.0 var CompletedSoFar = 'Questions completed so far: '; var ExerciseCompleted = 'You have completed the exercise.'; var ShowCompletedSoFar = true; 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 = ''; var Locked = false; //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 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<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(); //and show a keypad if there is one if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'block'; } } else{ if (QArray[CurrQNum].getElementsByTagName('textarea')[0] != null){ QArray[CurrQNum].getElementsByTagName('textarea')[0].focus(); //and show a keypad if there is one if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'block'; } } //This added for 6.0.4.11: hide accented character buttons if no textbox else{ if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'none'; } } } } 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) = 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('Modelo aditivo/Additive Model','',1,100,1); I[0][3][1]=new Array('Modelo Subtrativo/Subtractive Model','',0,0,1); I[0][3][2]=new Array('Modelo de fotografia/Photography Model','',0,0,1); I[0][3][3]=new Array('Outro modelo/Another model','',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('Vermelho, azul, Amarelo/Red, blue, yellow','',0,0,1); I[1][3][1]=new Array('Preto, vermelho, verde/Black, red, green','',0,0,1); I[1][3][2]=new Array('Vermelho, verde, Azul/Black, red, green','',1,100,1); I[1][3][3]=new Array('Azul, vermelho, preto/Blue, red, black','',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('Impressora, scanner/Printer, scanner','',0,0,1); I[2][3][1]=new Array('Monitores de computador e ecr\u00E3s de televis\u00E3o/Computer monitors and TV screens','',1,100,1); I[2][3][2]=new Array('Telem\u00F3vel, Ipad/Mobile Phone, Ipad','',0,0,1); I[2][3][3]=new Array('Smartphone, video projetor/Smartphone, datashow','',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('Cores subtrativas/Subtractive colors','',1,100,1); I[3][3][1]=new Array('Cores aditivas/Additive colors','',0,0,1); I[3][3][2]=new Array('Cores prim\u00E1rias/Primary colors','',0,0,1); I[3][3][3]=new Array('Cores secund\u00E1rias/Secondary colors','',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('\u00C9 utilizado em pintura/It is used in painting.','',0,0,1); I[4][3][1]=new Array('\u00C9 utilizado nos monitores de computadores/It is used in computer monitors.','',0,0,1); I[4][3][2]=new Array('\u00C9 utilizado na impress\u00E3o em papel/It is used for printing on paper.','',1,100,1); I[4][3][3]=new Array('\u00C9 utilizado em banda desenhada/It is used in comics','',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('JPEG e TIFF','',0,0,1); I[5][3][1]=new Array('PNG e GIF','',0,0,1); I[5][3][2]=new Array('BMP e GIF','',0,0,1); I[5][3][3]=new Array('Lossy e Lossless.','',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('GIF','',0,0,1); I[6][3][1]=new Array('JPEG','',1,100,1); I[6][3][2]=new Array('TIFF','',0,0,1); I[6][3][3]=new Array('PNG','',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('GIF, PNG','',1,100,1); I[7][3][1]=new Array('TIFF, JPEG','',0,0,1); I[7][3][2]=new Array('PCX, BMP','',0,0,1); I[7][3][3]=new Array('Nenhuma das anteriores/None of the previous','',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('Imagens do tipo vetorial/Vector images','',0,0,1); I[8][3][1]=new Array('Imagens do tipo sensorial/Sensory images.','',0,0,1); I[8][3][2]=new Array('Imagens do tipo perif\u00E9ricas/Peripheral type images.','',0,0,1); I[8][3][3]=new Array('Imagens do tipo Bitmap/Bitmap images.','',1,100,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('BMP','',0,0,1); I[9][3][1]=new Array('Vectorial','',1,100,1); I[9][3][2]=new Array('Bitmap','',0,0,1); I[9][3][3]=new Array('PNG','',0,0,1); function StartUp(){ RemoveBottomNavBarForIE(); //If there's only one question, no need for question navigation controls if (QsToShow 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<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){ //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){ //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] = 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 -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<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= 1){ CFT++; } } } FB += ‘
‘ + CorrectFirstTime + ‘ ‘ + CFT + ‘/’ + QsToShow; } //New for 6.2.2.0 FB += ‘
‘ + ExerciseCompleted; WriteToInstructions(FB); Finished == true; window.clearInterval(Interval); 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); } } function TimesUp(){ document.getElementById(‘Timer’).innerHTML = ‘Your time is over!’; TimeOver = true; Finished = true; ShowMessage(‘Your time is over!’); //Set all remaining scores to 0 for (var QNum=0; QNum<State.length; QNum++){ if (State[QNum] != null){ if (State[QNum][0] < 0){ State[QNum][0] = 0; } } } CheckFinished(); } //CODE FOR HANDLING TIMER //Timer code var Seconds = 900; var Interval = null; function StartTimer(){ Interval = window.setInterval('DownTime()',1000); document.getElementById('TimerText').style.display = 'inline'; } function DownTime(){ var ss = Seconds % 60; if (ss<10){ ss='0' + ss + ''; } var mm = Math.floor(Seconds / 60); if (document.getElementById('Timer') == null){ return; } document.getElementById('TimerText').innerHTML = mm + ':' + ss; if (Seconds //]]>
‘; 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'; //get Mac FireFox to manipulate display, to force screen redraw if (C.mac && C.gecko) {Els[i].style.display = '';} } else{ Els[i].style.visibility = 'hidden'; if (C.mac && C.gecko) {Els[i].style.display = 'none';} } } else { // tagName is either input or select (that is, Form Elements) // ie6 has a problem with Form elements, so manipulate those if (C.ie) { if (C.ieVer 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[Longest].length){ Longest = i; } } return Longest; } //UNICODE CHARACTER FUNCTIONS function IsCombiningDiacritic(CharNum){ var Result = (((CharNum >= 0x0300)&&(CharNum = 0x20d0)&&(CharNum = 0x3099)&&(CharNum = 0xfe20)&&(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<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 '; //New for 6.2.2.0 var CompletedSoFar = 'Questions completed so far: '; var ExerciseCompleted = 'You have completed the exercise.'; var ShowCompletedSoFar = true; 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 = ''; var Locked = false; //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 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<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(); //and show a keypad if there is one if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'block'; } } else{ if (QArray[CurrQNum].getElementsByTagName('textarea')[0] != null){ QArray[CurrQNum].getElementsByTagName('textarea')[0].focus(); //and show a keypad if there is one if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'block'; } } //This added for 6.0.4.11: hide accented character buttons if no textbox else{ if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'none'; } } } } 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) = 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('Modelo aditivo/Additive Model','',1,100,1); I[0][3][1]=new Array('Modelo Subtrativo/Subtractive Model','',0,0,1); I[0][3][2]=new Array('Modelo de fotografia/Photography Model','',0,0,1); I[0][3][3]=new Array('Outro modelo/Another model','',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('Vermelho, azul, Amarelo/Red, blue, yellow','',0,0,1); I[1][3][1]=new Array('Preto, vermelho, verde/Black, red, green','',0,0,1); I[1][3][2]=new Array('Vermelho, verde, Azul/Black, red, green','',1,100,1); I[1][3][3]=new Array('Azul, vermelho, preto/Blue, red, black','',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('Impressora, scanner/Printer, scanner','',0,0,1); I[2][3][1]=new Array('Monitores de computador e ecr\u00E3s de televis\u00E3o/Computer monitors and TV screens','',1,100,1); I[2][3][2]=new Array('Telem\u00F3vel, Ipad/Mobile Phone, Ipad','',0,0,1); I[2][3][3]=new Array('Smartphone, video projetor/Smartphone, datashow','',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('Cores subtrativas/Subtractive colors','',1,100,1); I[3][3][1]=new Array('Cores aditivas/Additive colors','',0,0,1); I[3][3][2]=new Array('Cores prim\u00E1rias/Primary colors','',0,0,1); I[3][3][3]=new Array('Cores secund\u00E1rias/Secondary colors','',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('\u00C9 utilizado em pintura/It is used in painting.','',0,0,1); I[4][3][1]=new Array('\u00C9 utilizado nos monitores de computadores/It is used in computer monitors.','',0,0,1); I[4][3][2]=new Array('\u00C9 utilizado na impress\u00E3o em papel/It is used for printing on paper.','',1,100,1); I[4][3][3]=new Array('\u00C9 utilizado em banda desenhada/It is used in comics','',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('JPEG e TIFF','',0,0,1); I[5][3][1]=new Array('PNG e GIF','',0,0,1); I[5][3][2]=new Array('BMP e GIF','',0,0,1); I[5][3][3]=new Array('Lossy e Lossless.','',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('GIF','',0,0,1); I[6][3][1]=new Array('JPEG','',1,100,1); I[6][3][2]=new Array('TIFF','',0,0,1); I[6][3][3]=new Array('PNG','',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('GIF, PNG','',1,100,1); I[7][3][1]=new Array('TIFF, JPEG','',0,0,1); I[7][3][2]=new Array('PCX, BMP','',0,0,1); I[7][3][3]=new Array('Nenhuma das anteriores/None of the previous','',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('Imagens do tipo vetorial/Vector images','',0,0,1); I[8][3][1]=new Array('Imagens do tipo sensorial/Sensory images.','',0,0,1); I[8][3][2]=new Array('Imagens do tipo perif\u00E9ricas/Peripheral type images.','',0,0,1); I[8][3][3]=new Array('Imagens do tipo Bitmap/Bitmap images.','',1,100,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('BMP','',0,0,1); I[9][3][1]=new Array('Vectorial','',1,100,1); I[9][3][2]=new Array('Bitmap','',0,0,1); I[9][3][3]=new Array('PNG','',0,0,1); function StartUp(){ RemoveBottomNavBarForIE(); //If there's only one question, no need for question navigation controls if (QsToShow 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<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){ //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){ //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] = 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 -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<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= 1){ CFT++; } } } FB += ‘
‘ + CorrectFirstTime + ‘ ‘ + CFT + ‘/’ + QsToShow; } //New for 6.2.2.0 FB += ‘
‘ + ExerciseCompleted; WriteToInstructions(FB); Finished == true; window.clearInterval(Interval); 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); } } function TimesUp(){ document.getElementById(‘Timer’).innerHTML = ‘Your time is over!’; TimeOver = true; Finished = true; ShowMessage(‘Your time is over!’); //Set all remaining scores to 0 for (var QNum=0; QNum<State.length; QNum++){ if (State[QNum] != null){ if (State[QNum][0] < 0){ State[QNum][0] = 0; } } } CheckFinished(); } //CODE FOR HANDLING TIMER //Timer code var Seconds = 900; var Interval = null; function StartTimer(){ Interval = window.setInterval('DownTime()',1000); document.getElementById('TimerText').style.display = 'inline'; } function DownTime(){ var ss = Seconds % 60; if (ss<10){ ss='0' + ss + ''; } var mm = Math.floor(Seconds / 60); if (document.getElementById('Timer') == null){ return; } document.getElementById('TimerText').innerHTML = mm + ':' + ss; if (Seconds //]]>
12º AIB – Unidade 4 – Subunidade 1: Imagem
Quiz
OK