

//<![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, '&quot;')
}

function TrimString(InString){
        var x = 0;

        if (InString.length != 0) {
                while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){
                        InString = InString.substring(0, InString.length - 1)
                }

                while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){
                        InString = InString.substring(1, InString.length)
                }

                while (InString.indexOf('  ') != -1) {
                        x = InString.indexOf('  ')
                        InString = InString.substring(0, x) + InString.substring(x+1, InString.length)
                 }

                return InString;
        }

        else {
                return '';
        }
}

function FindLongest(InArray){
	if (InArray.length < 1){return -1;}

	var Longest = 0;
	for (var i=1; i<InArray.length; i++){
		if (InArray[i].length > InArray[Longest].length){
			Longest = i;
		}
	}
	return Longest;
}

//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 = false;
var ShuffleQs = true;
var ShuffleAs = true;
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();
}

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();
//if there's a textbox, set the focus in it
	if (QArray[CurrQNum].getElementsByTagName('input')[0] != null){
		QArray[CurrQNum].getElementsByTagName('input')[0].focus();
	}
}

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('Marine Biology','Correct!  Particularly the study of the plants and animals.',1,100,1);
I[0][3][1]=new Array('Marine Ecology','Sorry.  This is a subfield of a larger scientific area and deals with the study of marine organisms and their  environment.',0,0,1);
I[0][3][2]=new Array('Oceanography','Sorry.  Oceanography is the overall science which includes this particular scientific area.',0,0,1);
I[0][3][3]=new Array('Microbiology','Nope.  Microbiology is not limited to the content of the seas but to all sea and land microscopic life.',0,0,1);
I[0][3][4]=new Array('Oceanographic Ecology','Nope.  There is no such scientific area.',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('Upwelling','Correct.  This happens when prevailing winds along the shore cause movement of upper water layers away from the shore.',1,100,1);
I[1][3][1]=new Array('Callao Painter','Nope.  This is when ships\' hulls turn black due to the hydrogen sulfide from the decaying bodies of fish and birds.',0,0,1);
I[1][3][2]=new Array('El Nino','Nope.  The El Nino effect is related to the loss of Humboldt currents and the warming up of  surface water.  It actually prevents the upward movement of deeper layers of water.',0,0,1);
I[1][3][3]=new Array('La Nina','Sorry.  This effect is related to the cooling down of surface water temperatures and does not directly affect the movement of deeper layers of water',0,0,1);
I[1][3][4]=new Array('Dinoflagellata','Sorry.  Dinoflagellata is the name of tiny red-colored phytoplankton that occasionally become so  numerous that the waters they are in appear red.',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('Near the steepest gradient of the continental slope.','Right.  The most remarkable example is along the shoreline of Peru.',1,100,1);
I[2][3][1]=new Array('Near the most gradually sloping parts of the continental slope.','Sorry.  The more shallow the slope, the less of a chance for upwelling to develop.',0,0,1);
I[2][3][2]=new Array('Near the steepest gradient of the continental shelf.','Nope.  Upwelling doesn\'t occur along the continental shelf.',0,0,1);
I[2][3][3]=new Array('Near the most gradually sloping parts of the continental shelf.','Nope.  Upwelling doesn\'t occur along the continental shelf.',0,0,1);
I[2][3][4]=new Array('In the deep ocean, far away from the continental slope and shelf.','Sorry.  Upwelling doesn\'t occur in the deep ocean.',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('Callao Painter','Correct.  It is named after the nearby port of Callao, Peru.',1,100,1);
I[3][3][1]=new Array('El Nino','Nope.  The El Nino effect is what prevents the upwelling, but this is not the name of the condition that blackens ships\' hulls.',0,0,1);
I[3][3][2]=new Array('La Nina','Sorry.  This effect is related to the cooling down of surface water temperatures and does not directly affect the movement of deeper layers of water',0,0,1);
I[3][3][3]=new Array('Dinoflagellata','Sorry.  Dinoflagellata is the name of tiny red-colored phytoplankton that occasionally become so  numerous that the waters they are in appear red.',0,0,1);
I[3][3][4]=new Array('The Sargasso Sea','Nope.  The Sargasso Sea is a vast area of floating plants off the southeast coast of the U.S.',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('Dinoflagellata','Correct.  These tiny red-colored phytoplankton grow in great numbers during El Nino events in the Red Sea and give the Red Sea it\'s distinctive color.',1,100,1);
I[4][3][1]=new Array('Zooplankton','Sorry.  The organisms that cause this to happen are smaller than zooplankton.',0,0,1);
I[4][3][2]=new Array('Phytoplankton','Sorry.  While the organism that causes this effect is a form of phytoplankton, it is a special type and has a separate name.',0,0,1);
I[4][3][3]=new Array('Krill','Nope.  Krill live in cooler waters and are not found in the Red Sea.',0,0,1);
I[4][3][4]=new Array('Lobsters','Nope.  There are no Red Lobster "blooms" in the Red Sea.',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('Hydrogen Sulfide gas.','Correct.  As the waters of the Black Sea are stagnant, there is no upwelling and no chance to eliminate the hydrogen sulfide gas.',1,100,1);
I[5][3][1]=new Array('Light is unable to penetrate below this point.','Nope.  Even if light were able to penetrate to the bottom of the Sea, there would be no life.  Something else prevents it.',0,0,1);
I[5][3][2]=new Array('An excessive amount of oxygen below 200 feet poisons all life.','Nope.  In fact, there is a significant lack of oxygen below 200 feet.',0,0,1);
I[5][3][3]=new Array('An excessive amount of salt concentrations kills all life.','Sorry.  Although it is slightly saltier than the ocean, this is not the reason for the lack of life in the Black Sea.',0,0,1);
I[5][3][4]=new Array('Carbon dioxide gas.','Sorry.  There is not a large concentration of carbon dioxide gas in the Black Sea.',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('Photosynthesis','Correct.  In the sea, this is accomplished by floating chlorophyll-bearing phytoplankton.',1,100,1);
I[6][3][1]=new Array('Dinoflagellata ','Sorry.  Dinoflagellata is the name of tiny red-colored phytoplankton that occasionally become so  numerous that the waters they are in appear red.',0,0,1);
I[6][3][2]=new Array('El Nino','Nope.  The El Nino effect is related to the loss of Humboldt currents and the warming up of  surface water.  It actually prevents the upward movement of deeper layers of water.',0,0,1);
I[6][3][3]=new Array('La Nina','Sorry.  This effect is related to the cooling down of surface water temperatures.',0,0,1);
I[6][3][4]=new Array('Chlorophyllia','Nope.  There is no such term.',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('Phytoplankton','Correct.  Phytoplankton use photosynthesis to manufacture the food they need to survive.',1,100,1);
I[7][3][1]=new Array('Small Fish','Nope.  Small fish, in fact, feed on zooplankton.',0,0,1);
I[7][3][2]=new Array('Shellfish','Sorry.  Shellfish are far too large for zooplankton to feed on.',0,0,1);
I[7][3][3]=new Array('Krill','Nope.  Krill feed on the zooplankton.',0,0,1);
I[7][3][4]=new Array('Dinoflagellata ','Sorry.  Dinoflagellata is the name of tiny red-colored phytoplankton that occasionally become so  numerous that the waters they are in appear red.',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('90','Correct.  They rely on sunlight to manufacture their food and so they are limited to relatively shallow depths.',1,100,1);
I[8][3][1]=new Array('200','Sorry.  Although sunlight can penetrate down to 200 feet in parts of the ocean, it can\'t get through in enough strength at this depth to allow phytoplankton to exist.',0,0,1);
I[8][3][2]=new Array('10','Sorry.  They are found in greater depths than ten feet.',0,0,1);
I[8][3][3]=new Array('50','Nope.  They exist in even deeper waters than this.',0,0,1);
I[8][3][4]=new Array('75','Nope.  They exist in even deeper waters than this.',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('Algae','Right.  Some float and others attach themselves to rocks.',1,100,1);
I[9][3][1]=new Array('Kelp','Sorry.  Although there are a wide variety of kelp, they are not the most common type of sea plant.',0,0,1);
I[9][3][2]=new Array('Seaweeds','Sorry.  There are many different types of seaweeds around the world, but they are not the most common type of sea plant.',0,0,1);
I[9][3][3]=new Array('Sea cucumbers','Nope.  Sea cucumbers are actually a sea animal and not a sea plant.',0,0,1);
I[9][3][4]=new Array('Anemones','Nope.  Anemones are a type of sea animal and not a sea plant.',0,0,1);
I[10]=new Array();I[10][0]=100;
I[10][1]='';
I[10][2]='0';
I[10][3]=new Array();
I[10][3][0]=new Array('Jellyfish','Correct.  They are made up of white, blue-green and blue cells.',1,100,1);
I[10][3][1]=new Array('Sea anemones','Sorry.  Sea anemones are not a form of zooplankton.',0,0,1);
I[10][3][2]=new Array('Dinoflagellata ','Nope.  Dinoflagellata are a form of phytoplankton.',0,0,1);
I[10][3][3]=new Array('Oysters','Nope.  Oysters are considered to be in the group of tiny animals and actually eat zooplankton and phytoplankton..',0,0,1);
I[10][3][4]=new Array('Protozoans','Sorry  Single-celled protozoans are the smallest of the zooplankton.',0,0,1);
I[11]=new Array();I[11][0]=100;
I[11][1]='';
I[11][2]='0';
I[11][3]=new Array();
I[11][3][0]=new Array('Protozoans','Correct.  These are as small as single-celled organisms.',1,100,1);
I[11][3][1]=new Array('Jellyfish','Nope.  Jellyfish are the largest form of zooplankton.',0,0,1);
I[11][3][2]=new Array('Dinoflagellata ','Nope.  Dinoflagellata are a form of phytoplankton.',0,0,1);
I[11][3][3]=new Array('Sea anemones','Sorry.  Sea anemones are not a form of zooplankton.',0,0,1);
I[11][3][4]=new Array('Algae','Sorry.  These are plants and not zooplankton.',0,0,1);
I[12]=new Array();I[12][0]=100;
I[12][1]='';
I[12][2]='0';
I[12][3]=new Array();
I[12][3][0]=new Array('Jaws','Correct.  They are divided into marine animals that have jaws and those that do not.',1,100,1);
I[12][3][1]=new Array('Fins','Nope.  Fins are not the major physical feature that separates marine animals.',0,0,1);
I[12][3][2]=new Array('Backbones','Sorry.  Backbones are not the main dividing line for marine animals.',0,0,1);
I[12][3][3]=new Array('Eyes','Nope.  There are many examples of the same type of marine animal with and without eyes.',0,0,1);
I[12][3][4]=new Array('A nervous system','Sorry.  All marine animals have a nervous system of some sort or another.',0,0,1);
I[13]=new Array();I[13][0]=100;
I[13][1]='';
I[13][2]='0';
I[13][3]=new Array();
I[13][3][0]=new Array('Hagfish','Correct.  Hagfish feed on dead or dying animals.',1,100,1);
I[13][3][1]=new Array('Fish','Sorry.  Fish have jaws.  Think about sharks!',0,0,1);
I[13][3][2]=new Array('Reptiles','Nope.  Reptiles certainly have jaws.  Think alligator!',0,0,1);
I[13][3][3]=new Array('Birds','Sorry.  All birds have jaws.',0,0,1);
I[13][3][4]=new Array('Mammals','Nope.  Porpoise are an example of a mammal and they do indeed have jaws. ',0,0,1);
I[14]=new Array();I[14][0]=100;
I[14][1]='';
I[14][2]='0';
I[14][3]=new Array();
I[14][3][0]=new Array('Lampreys','Correct.  They do great damage to fish in the Great Lakes but are an insignificant problem in the oceans.',1,100,1);
I[14][3][1]=new Array('Hagfish','Sorry.  Hagfish are a type of jawless marine animal but they feed on dead or dying animals.',0,0,1);
I[14][3][2]=new Array('Manta Rays','Nope.  Manta Rays do not get their food in this way.',0,0,1);
I[14][3][3]=new Array('Sea Ticks','Nope.  There are no such things as Sea Ticks.',0,0,1);
I[14][3][4]=new Array('Vampire Fish','Sorry.  There are no such things as Vampire Fish.',0,0,1);
I[15]=new Array();I[15][0]=100;
I[15][1]='';
I[15][2]='0';
I[15][3]=new Array();
I[15][3][0]=new Array('Hagfish','Correct.  Hagfish feed on dead or dying animals.',1,100,1);
I[15][3][1]=new Array('Fish','Sorry.  Fish have jaws.  Think about sharks!',0,0,1);
I[15][3][2]=new Array('Reptiles','Nope.  Reptiles certainly have jaws.  Think alligator!',0,0,1);
I[15][3][3]=new Array('Birds','Sorry.  All birds have jaws.',0,0,1);
I[15][3][4]=new Array('Mammals','Nope.  Porpoise are an example of a mammal and they do indeed have jaws. ',0,0,1);
I[16]=new Array();I[16][0]=100;
I[16][1]='';
I[16][2]='0';
I[16][3]=new Array();
I[16][3][0]=new Array('Lungfish','Correct.  This lungfish type was thought to have died out 50 million years ago until one was caught in 1938.',1,100,1);
I[16][3][1]=new Array('Bottom fish','Nope.  Coelacanth are not bottom fish.',0,0,1);
I[16][3][2]=new Array('Large carnivores','Sorry.  Coelacanth are large fish, but they do not belong to the large carnivore group.',0,0,1);
I[16][3][3]=new Array('Sturgeons','Nope.  Coelacanth are not constructed like sturgeons.',0,0,1);
I[16][3][4]=new Array('Commercial Fishes','Sorry.  There is no commercial market for Coelacanth.',0,0,1);
I[17]=new Array();I[17][0]=100;
I[17][1]='';
I[17][2]='0';
I[17][3]=new Array();
I[17][3][0]=new Array('They are cold-blooded.','Correct.  They cannot regulate their own body temperatures and so must stay in warmer water to survive.',1,100,1);
I[17][3][1]=new Array('They only eat fish that exist in the warm, tropical areas.','Sorry.  They are not limited to only the prey in these waters.',0,0,1);
I[17][3][2]=new Array('The float better in warmer water than they do in cooler waters.','Nope.  Their relatively ability to float is not the reason they are not found in the cooler waters.',0,0,1);
I[17][3][3]=new Array('Reptiles are not limited to only warm, tropical seas but instead are found in all waters of the world.','Nope.  They are not found in cooler waters.',0,0,1);
I[17][3][4]=new Array('They are hot-blooded.','Sorry.  They cannot regulate their body temperature.',0,0,1);
I[18]=new Array();I[18][0]=100;
I[18][1]='';
I[18][2]='0';
I[18][3]=new Array();
I[18][3][0]=new Array('Gulf Alligators','Correct.  Alligators are not marine reptiles.',1,100,1);
I[18][3][1]=new Array('Turtles','Nope.  Sea turtles are an example of a type of marine reptile.',0,0,1);
I[18][3][2]=new Array('Marine Iguanas','Sorry.  There are some Iguanas who live and thrive in the sea environment.',0,0,1);
I[18][3][3]=new Array('Snakes','Nope.  Sea snakes are a form of marine reptile.',0,0,1);
I[18][3][4]=new Array('Ocean Crocodiles','Sorry.  There are a small number of ocean crocodiles.',0,0,1);
I[19]=new Array();I[19][0]=100;
I[19][1]='';
I[19][2]='0';
I[19][3]=new Array();
I[19][3][0]=new Array('Marine Iguanas','Correct.  The last marine iguanas live here in large herds near the shore and feed on seaweeds.',1,100,1);
I[19][3][1]=new Array('Sea snakes','Nope.  Sea snakes are found in many waters around the world.',0,0,1);
I[19][3][2]=new Array('Marine crocodiles','Nope.  Marine crocodiles are found in several countries but not the Galapagos Islands..',0,0,1);
I[19][3][3]=new Array('Sea Turtles','Sorry.  Sea Turtles are found is several areas of the world.',0,0,1);
I[19][3][4]=new Array('Coelacanth','Sorry.  The Coelacanth is a type of lungfish.',0,0,1);
I[20]=new Array();I[20][0]=100;
I[20][1]='';
I[20][2]='0';
I[20][3]=new Array();
I[20][3][0]=new Array('Emperor penguins','Correct.  They live in the ocean and come on to ice (not land) to breed and lay their eggs.',1,100,1);
I[20][3][1]=new Array('Frigate birds','Sorry.  Frigate birds do spend much of their lives at sea, but they do nest onshore.',0,0,1);
I[20][3][2]=new Array('The albatross','Sorry.  While the albatross does spend much of its time at sea, it does nest onshore.',0,0,1);
I[20][3][3]=new Array('Sea eagles','Nope.  No such things as sea eagles.',0,0,1);
I[20][3][4]=new Array('Parrot Fish','Nope.  That would be a fish, not a bird.',0,0,1);
I[21]=new Array();I[21][0]=100;
I[21][1]='';
I[21][2]='0';
I[21][3]=new Array();
I[21][3][0]=new Array('Overhunting','Right.  There are only about 2,000 living in the wild today because of overhunting.',1,100,1);
I[21][3][1]=new Array('Global Warming','Nope.  While this has been claimed as the cause of many, many bad things, the decline of polar bear populations is not one of them.',0,0,1);
I[21][3][2]=new Array('Lack of the polar bear\'s main food supplies.','Nope.  While seals and sea lion populations have also declined somewhat, this isn\'t the primary reason for polar bear population declines.',0,0,1);
I[21][3][3]=new Array('Increasingly cold winters in the Arctic over the past 50 years.','Sorry.  This hasn\'t been the case over the past 50 years.',0,0,1);
I[21][3][4]=new Array('The breakup of the polar ice cap has left many of them stranded or drowned.','Sorry.  This hasn\'t happened.',0,0,1);
I[22]=new Array();I[22][0]=100;
I[22][1]='';
I[22][2]='0';
I[22][3]=new Array();
I[22][3][0]=new Array('The Arctic','Right.  The two types, the Atlantic and Pacific Walruses, only live in the Arctic Ocean region.',1,100,1);
I[22][3][1]=new Array('The Antarctic','Nope.  None are found in the Antarctic Seas.',0,0,1);
I[22][3][2]=new Array('The South Pacific','Sorry.  Way too warm for them in the South Pacific.',0,0,1);
I[22][3][3]=new Array('The Indian Ocean','Nope.  They are not found in the Indian Ocean.',0,0,1);
I[22][3][4]=new Array('The South Atlantic','Sorry. They are not found in the South Atlantic.',0,0,1);
I[23]=new Array();I[23][0]=100;
I[23][1]='';
I[23][2]='0';
I[23][3]=new Array();
I[23][3][0]=new Array('Baleen whales','Right.  They can be as big as 90 to 100 feet in length, making them the largest mammal on Earth.',1,100,1);
I[23][3][1]=new Array('Sperm whales','Nope.  Sperm whales have teeth and hunt squid.',0,0,1);
I[23][3][2]=new Array('Killer whales','Nope.  Killer whales have teeth and hunt seals.',0,0,1);
I[23][3][3]=new Array('Dolphins','Sorry.  Dolphins have teeth and eat fish.',0,0,1);
I[23][3][4]=new Array('Porpoises','Sorry.  Porpoises have teeth and eat fish.',0,0,1);
I[24]=new Array();I[24][0]=100;
I[24][1]='';
I[24][2]='0';
I[24][3]=new Array();
I[24][3][0]=new Array('There is little plant life to provide food.','Right.  Food sources are limited to small amounts of  zooplankton and smaller fish.',1,100,1);
I[24][3][1]=new Array('These areas of the oceans have been overfished.','Nope.  Almost all commercial fishing occurs on the continental shelf.',0,0,1);
I[24][3][2]=new Array('Global warming has caused plant life to only be able to exist along the continental shelf.','Nope.  You can\'t blame this one on global warming.',0,0,1);
I[24][3][3]=new Array('The El Nino effect.','Sorry.  The El Nino effect does have an impact on fish and plankton populations in the Pacific Ocean, but it is not the cause for the lack of sea life off of the continental shelf.',0,0,1);
I[24][3][4]=new Array('The big fish living there have depleted most of the smaller species.','Sorry.  There is even a significant lack of big fish outside of the continental shelf.',0,0,1);
I[25]=new Array();I[25][0]=100;
I[25][1]='';
I[25][2]='0';
I[25][3]=new Array();
I[25][3][0]=new Array('There is no upwelling in this area to provide the nutrients phytoplankton need.','Right.  This lack of phytoplankton makes the Sargasso Sea one of the most pure areas of salt water on the Earth.',1,100,1);
I[25][3][1]=new Array('There is no zooplankton for them to eat.','Nope.  Zooplankton eat phytoplankton, not the other way around.',0,0,1);
I[25][3][2]=new Array('Global warming has killed off the phytoplankton.','Nope.  Once again, not something you can blame on global warming!',0,0,1);
I[25][3][3]=new Array('The El Nino effect.','Sorry.  The El Nino effect occurs in the Pacific Ocean, not the Atlantic.',0,0,1);
I[25][3][4]=new Array('This area has been cleaned out of phytoplankton by baleen whales.','Sorry.  Baleen whales are not found in the Sargasso Sea.',0,0,1);
I[26]=new Array();I[26][0]=100;
I[26][1]='';
I[26][2]='0';
I[26][3]=new Array();
I[26][3][0]=new Array('Purse Seiners','Right.  Purse seiners capture surface fish by encircling them with a long net and drawing or "pursing" the bottom of the net. ',1,100,1);
I[26][3][1]=new Array('Oceanic long-liners','Sorry.  These ships are used to can fish and tuna.',0,0,1);
I[26][3][2]=new Array('Factory trawlers','Sorry.  These ships <span lang="en-us"></span>catch and can fish, but are not the ships used to locate and entrap schools of fish.',0,0,1);
I[26][3][3]=new Array('Aquaculture ships','Nope.  No such class of ships exist.',0,0,1);
I[26][3][4]=new Array('Fish finder ships','Nope.  No such class of ships exist.',0,0,1);
I[27]=new Array();I[27][0]=100;
I[27][1]='';
I[27][2]='0';
I[27][3]=new Array();
I[27][3][0]=new Array('One percent','Right.  A lot of fish is caught or farmed, but overall it is a relatively small part of the entire human diet.',1,100,1);
I[27][3][1]=new Array('Ten percent','Sorry.  It may grow to this amount, but right now it is less.',0,0,1);
I[27][3][2]=new Array('Twenty five percent','Nope.  Well less than this amount.',0,0,1);
I[27][3][3]=new Array('Fifteen percent','Sorry.  It is even less than this amount.',0,0,1);
I[27][3][4]=new Array('Four percent','Nope.  Not even close to this amount.',0,0,1);
I[28]=new Array();I[28][0]=100;
I[28][1]='';
I[28][2]='0';
I[28][3]=new Array();
I[28][3][0]=new Array('Suspension cultures','Right.  This is the suspending of oyster clutches from ropes where they can be safe from predators while still being able to eat plankton.',1,100,1);
I[28][3][1]=new Array('The elimination of all of the oyster\'s natural enemies','Nope.  The most successful method does protect the oyster from its natural enemies, but not by killing them.',0,0,1);
I[28][3][2]=new Array('Adding nutritional supplements to the diet of oysters.','Nope.  This is not needed or done.',0,0,1);
I[28][3][3]=new Array('The cross-breeding of several different types of oysters.','Sorry.  This has not been done.',0,0,1);
I[28][3][4]=new Array('Climate-controlled incubators','Sorry.  This isn\'t done.',0,0,1);
I[29]=new Array();I[29][0]=100;
I[29][1]='';
I[29][2]='0';
I[29][3]=new Array();
I[29][3][0]=new Array('Three','Right.  These three distinct layers remain at depths from 700 to 2,400 feet.',1,100,1);
I[29][3][1]=new Array('Five','Nope.  There are fewer than this.',0,0,1);
I[29][3][2]=new Array('One','Nope.  There appears to be only one at night, but more during the day.',0,0,1);
I[29][3][3]=new Array('Two','Sorry.  You are close though.',0,0,1);
I[29][3][4]=new Array('Four','Sorry.  You are close though.',0,0,1);
I[30]=new Array();I[30][0]=100;
I[30][1]='';
I[30][2]='0';
I[30][3]=new Array();
I[30][3][0]=new Array('Electroluminescence','Correct.  There is no such thing as electroluminescence.',1,100,1);
I[30][3][1]=new Array('Mineral phosphorus','Nope.  This is also known as phosphorescence.',0,0,1);
I[30][3][2]=new Array('Radioactive minerals','Nope.  These radioactive minerals respond to or reflect certain wavelengths of light.',0,0,1);
I[30][3][3]=new Array('Cool gases','Sorry.  These gasses can be activated through the use of fluorescent light.',0,0,1);
I[30][3][4]=new Array('Bioluminescence','Sorry.  This is the type of light produced by fireflies and by certain fishes of the abyss.',0,0,1);
I[31]=new Array();I[31][0]=100;
I[31][1]='';
I[31][2]='0';
I[31][3]=new Array();
I[31][3][0]=new Array('Bioluminescence','Right.  This is the same method used by fireflies and by certain fishes of the abyss.',1,100,1);
I[31][3][1]=new Array('Mineral phosphorus','Nope.  This method is not common to phytoplankton.',0,0,1);
I[31][3][2]=new Array('Radioactive minerals','Nope.  This is a property of minerals, not life in the sea.',0,0,1);
I[31][3][3]=new Array('Cool gasses','Sorry.  This seems like it might make sense, but it is not the case.',0,0,1);
I[31][3][4]=new Array('Electroluminescence','Sorry.  There is no such thing as electroluminescence.',0,0,1);
I[32]=new Array();I[32][0]=100;
I[32][1]='';
I[32][2]='0';
I[32][3]=new Array();
I[32][3][0]=new Array('Because it can give away the location of a ship or submarine at sea.','Right.  These traces of light created by the movement of a ship or a sub through the water can be tracked.',1,100,1);
I[32][3][1]=new Array('Because it can prevent ships and submarines from being spotted.','Nope.  Quite the opposite is true.',0,0,1);
I[32][3][2]=new Array('Because it can interfere with electrical systems on ships and subs.','Nope.  Luminosity has no affect on electrical systems.',0,0,1);
I[32][3][3]=new Array('Because it can interfere with the navigation systems on ships and subs.','Sorry.  It has no effect on these systems.',0,0,1);
I[32][3][4]=new Array('Because it can interfere with the communications systems on ships and subs.','Sorry.  It has no effect on these systems.',0,0,1);
I[33]=new Array();I[33][0]=100;
I[33][1]='';
I[33][2]='0';
I[33][3]=new Array();
I[33][3][0]=new Array('Gribbles','Right.  They have been known to gnaw through wooden pilings and rubber and plastic insulation.',1,100,1);
I[33][3][1]=new Array('Krill','Nope.  While they are indeed small and shrimp like, krill do not eat these man-made materials.',0,0,1);
I[33][3][2]=new Array('Phytoplankton','Nope.  Phytoplankton are a form of plant life that use the sun\'s energy to produce their food.',0,0,1);
I[33][3][3]=new Array('Zooplankton','Sorry.  Zooplankton feed on phytoplankton, not these man-made materials',0,0,1);
I[33][3][4]=new Array('Ectoplankton','Sorry.  There is no such thing as ectoplankton.',0,0,1);
I[34]=new Array();I[34][0]=100;
I[34][1]='';
I[34][2]='0';
I[34][3]=new Array();
I[34][3][0]=new Array('The tropical whale shark','Right.  They may reach 70 feet and weigh several tons.',1,100,1);
I[34][3][1]=new Array('Basking sharks','Nope.  While some can reach more than 40 feet in length, they are not the biggest fish in the sea.',0,0,1);
I[34][3][2]=new Array('Baleen whales','Nope.  They are the largest mammals, but they are not fish.',0,0,1);
I[34][3][3]=new Array('White sharks','Sorry.  White sharks can grow quite large, but they are not the largest of fish.',0,0,1);
I[34][3][4]=new Array('Killer whales','Sorry.  These are mammals and not fish.',0,0,1);
I[35]=new Array();I[35][0]=100;
I[35][1]='';
I[35][2]='0';
I[35][3]=new Array();
I[35][3][0]=new Array('Sharks are found in all oceans','Correct.  This is true for all oceans from 45 degre4es north to 45 degrees south latitude.',1,100,1);
I[35][3][1]=new Array('Indian Ocean','Sorry.  Plenty of sharks in the Indian Ocean.',0,0,1);
I[35][3][2]=new Array('North Atlantic Ocean','Nope.  Ever see the movie "Jaws"?',0,0,1);
I[35][3][3]=new Array('Pacific Ocean','Nope.  Lots and lots of sharks in the Pacific Ocean.',0,0,1);
I[35][3][4]=new Array('South Atlantic Ocean','Sorry.  There are sharks in the South Atlantic.',0,0,1);
I[36]=new Array();I[36][0]=100;
I[36][1]='';
I[36][2]='0';
I[36][3]=new Array();
I[36][3][0]=new Array('Hawaii','Right.  There are shark attacks in Hawaii, but it is not one of the most dangerous areas for shark attacks.',1,100,1);
I[36][3][1]=new Array('Australia','Nope.  This is actually the most dangerous area.',0,0,1);
I[36][3][2]=new Array('South Africa','Nope.  There are a large number of sharks here.',0,0,1);
I[36][3][3]=new Array('Cuba','Sorry.  This is a very dangerous area.',0,0,1);
I[36][3][4]=new Array('Panama','Sorry.  Panama sees a number of shark attacks.',0,0,1);
I[37]=new Array();I[37][0]=100;
I[37][1]='';
I[37][2]='0';
I[37][3]=new Array();
I[37][3][0]=new Array('Nurse shark','Right.  These are generally gentle creatures.',1,100,1);
I[37][3][1]=new Array('White shark','Nope.  This is, perhaps, the most dangerous.',0,0,1);
I[37][3][2]=new Array('Hammerhead shark','Nope.  Hammerheads can be quite dangerous.',0,0,1);
I[37][3][3]=new Array('Sand shark','Sorry.  Even sand sharks can be dangerous, particularly the kind found in the East Indian Ocean.',0,0,1);
I[37][3][4]=new Array('Tiger shark','Sorry.  This dangerous shark is the most common of the tropical sharks.',0,0,1);
I[38]=new Array();I[38][0]=100;
I[38][1]='';
I[38][2]='0';
I[38][3]=new Array();
I[38][3][0]=new Array('Sea cucumbers','Right.  Sea cucumbers are not poisonous.',1,100,1);
I[38][3][1]=new Array('Bloodworms','Sorry.  These creatures have poison in their bristles and can bite as well.',0,0,1);
I[38][3][2]=new Array('Bristleworms','Sorry.  Bristleworm bristles can cause irritation that can last for days.',0,0,1);
I[38][3][3]=new Array('Sea urchins','Nope.  Many types of sea urchins are poisonous.',0,0,1);
I[38][3][4]=new Array('Mollusks','Nope.  The mollusk group contains octopi and certain shellfish which are quite poisonous.',0,0,1);
I[39]=new Array();I[39][0]=100;
I[39][1]='';
I[39][2]='0';
I[39][3]=new Array();
I[39][3][0]=new Array('Corals and sea anemones','Right.  These are also used for defense.',1,100,1);
I[39][3][1]=new Array('Mollusks','Sorry.  Mollusks, such as octopi and certain shellfish, do not use stinging cells.',0,0,1);
I[39][3][2]=new Array('Bloodworms','Nope.  Bloodworms use poison in bristles and not stinging cells.',0,0,1);
I[39][3][3]=new Array('Bristleworms','Nope.  Bristleworms use poison in bristles and not stinging cells.',0,0,1);
I[39][3][4]=new Array('Sea urchins','Sorry.  Sea urchins use poisonous spines and not stinging cells.',0,0,1);
I[40]=new Array();I[40][0]=100;
I[40][1]='';
I[40][2]='0';
I[40][3]=new Array();
I[40][3][0]=new Array('Hydroids','Correct.  This is a group of poisonous invertebrates.',1,100,1);
I[40][3][1]=new Array('Jellyfish','Sorry.  Although they are often confused with jellyfish, the Portuguese man-of-war is not a jellyfish.',0,0,1);
I[40][3][2]=new Array('Sea Anemones','Sorry.  Although sea anemones do have stinging cells, they are bottom dwellers and do not float about as does the Portuguese man-of-war.',0,0,1);
I[40][3][3]=new Array('Bristleworms','Nope.  Bristleworms are bottom dwellers with sharp spikes and a strong bite.',0,0,1);
I[40][3][4]=new Array('Mollusks','Nope.  Mollusks are from a completely different group and generally do not free-float as does the Portuguese man-of-war.',0,0,1);
I[41]=new Array();I[41][0]=100;
I[41][1]='';
I[41][2]='0';
I[41][3]=new Array();
I[41][3][0]=new Array('Mollusks','Correct.  Mollusks have two sub-groups: Those with shells and those without.  Octopus and squid belong to the latter sub-group.',1,100,1);
I[41][3][1]=new Array('Hydroids','Sorry.  Hydroids are in the same group as corals, sea anemones and jellyfish.',0,0,1);
I[41][3][2]=new Array('Bloodworms','Nope.  Bloodworms are in another group along with Bristleworms.',0,0,1);
I[41][3][3]=new Array('Sea urchins','Nope.  Sea urchins have round bodies, needle-sharp spines and live on the ocean bottom.',0,0,1);
I[41][3][4]=new Array('Tentacles','Sorry.  There is no such named group of marine invertebrates.',0,0,1);
I[42]=new Array();I[42][0]=100;
I[42][1]='';
I[42][2]='0';
I[42][3]=new Array();
I[42][3][0]=new Array('It\'s bite.','Correct.  The venom isn\'t usually fatal, but can cause nausea and swelling.',1,100,1);
I[42][3][1]=new Array('The ink-like substance it shoots out.','Nope.  This is done more as a diversion and to hide the octopus as it escapes.',0,0,1);
I[42][3][2]=new Array('Being grabbed by its tentacles.','Nope.  This is what is shown in the movies, but it doesn\'t happen that way in real life.',0,0,1);
I[42][3][3]=new Array('It\'s sting.','Sorry.  Octopi do not have stingers.',0,0,1);
I[42][3][4]=new Array('There are no dangers associated with octopi.','Sorry.  Octopi can cause harm to humans if provoked.',0,0,1);
I[43]=new Array();I[43][0]=100;
I[43][1]='';
I[43][2]='0';
I[43][3]=new Array();
I[43][3][0]=new Array('Devilfish','Correct.  There is no such named species.',1,100,1);
I[43][3][1]=new Array('Stingrays','Nope.  Stingrays have venomous barbed tails.',0,0,1);
I[43][3][2]=new Array('Catfish','Sorry.  Although many types of catfish are not venomous, there are several salt-water catfish that are  venomous.',0,0,1);
I[43][3][3]=new Array('Weeverfish','Nope.  Weeverfish are very venomous and aggressive animals.',0,0,1);
I[43][3][4]=new Array('Scorpionfish','Sorry.  Scorpionfish are the most poisonous of all fishes.',0,0,1);
I[44]=new Array();I[44][0]=100;
I[44][1]='';
I[44][2]='0';
I[44][3]=new Array();
I[44][3][0]=new Array('The Leopardfish','Correct.  The Leopardfish is not a part of the Scorpionfish family.',1,100,1);
I[44][3][1]=new Array('The Zebrafish','Nope.  Although a very beautiful fish, the Zebrafish is a dangerous member of the Scorpionfish family.',0,0,1);
I[44][3][2]=new Array('The Lionfish','Nope.  This is another name for the Zebrafish, a dangerous member of the Scorpionfish family.',0,0,1);
I[44][3][3]=new Array('The Stonefish','Sorry.  The stonefish mainly inhabit tidepools and shoal areas in the Pacific Ocean and are a part of the Scorpionfish family.',0,0,1);
I[44][3][4]=new Array('All of the fish listed are a part of the Scorpionfish family.','Sorry.  One of them isn\'t.',0,0,1);
I[45]=new Array();I[45][0]=100;
I[45][1]='';
I[45][2]='0';
I[45][3]=new Array();
I[45][3][0]=new Array('The bathyscaphe','Correct.  This is a free-moving underwater research vessel similar to a submarine.',1,100,1);
I[45][3][1]=new Array('SCUBA gear','Nope.  This wasn\'t developed until later, and was designed to allow individual divers to carry their own compressed air underwater.',0,0,1);
I[45][3][2]=new Array('FLIP ship','Nope.  The Floating Instrument Platform ship (FLIP) is a much later invention.',0,0,1);
I[45][3][3]=new Array('The DSRV','Sorry.  Deep Submergence Rescue Vessels are a U.S. Navy invention designed to be used to recover damaged submarines and their crews.',0,0,1);
I[45][3][4]=new Array('Metal helmet diving suits','Sorry.  Versions of these diving suits have been in use for over 150 years and were not invented in 1948.',0,0,1);
I[46]=new Array();I[46][0]=100;
I[46][1]='';
I[46][2]='0';
I[46][3]=new Array();
I[46][3][0]=new Array('Aquanauts','Right.  Aquanauts have been living and performing research at great depths for some time now.',1,100,1);
I[46][3][1]=new Array('Submarine scientists','Sorry.  I made this name up.',0,0,1);
I[46][3][2]=new Array('Submariners','Nope.  Anyone who goes down in a submarine is considered a submariner.',0,0,1);
I[46][3][3]=new Array('Bathobiologists','Nope.  Another made-up name.',0,0,1);
I[46][3][4]=new Array('Immersionists','Sorry.  There is no such thing as an immersionist.',0,0,1);
I[47]=new Array();I[47][0]=100;
I[47][1]='';
I[47][2]='0';
I[47][3]=new Array();
I[47][3][0]=new Array('Oils and oily wastes','Right.  The Navy has an active and ongoing program to eliminate all such pollution.',1,100,1);
I[47][3][1]=new Array('Heavy Metals','Sorry.  While a source of pollution, heavy metals are not the major pollution problem in these areas.',0,0,1);
I[47][3][2]=new Array('Radioactive materials','Nope.  These are not the major source of pollution in these areas.',0,0,1);
I[47][3][3]=new Array('Domestic sewage','Sorry.  This can be a significant source of pollution, but it is not the major source of pollution in these areas.',0,0,1);
I[47][3][4]=new Array('Biological pollutants','Nope.  Biological pollutants are not a major source of pollution these areas.',0,0,1);
I[48]=new Array();I[48][0]=100;
I[48][1]='';
I[48][2]='0';
I[48][3]=new Array();
I[48][3][0]=new Array('Heavy metals','Right.  Mercury makes up the majority of this type of pollution.',1,100,1);
I[48][3][1]=new Array('Radioactive materials','Sorry.  These are not a part of the radioactive materials group of pollutants.',0,0,1);
I[48][3][2]=new Array('Synthetic fuels','Nope.  Mercury and barium are not synthetic fuels.',0,0,1);
I[48][3][3]=new Array('Biological pollutants','Sorry.  Mercury and barium are not biological pollutants.',0,0,1);
I[48][3][4]=new Array('Petroleum','Nope.  These elements are not a part of the petroleum pollutant group.',0,0,1);
I[49]=new Array();I[49][0]=100;
I[49][1]='';
I[49][2]='0';
I[49][3]=new Array();
I[49][3][0]=new Array('Refrigerants','Right.  These are chemical compounds that were once used to make refrigerators work and wound up disposed of in the seas.',1,100,1);
I[49][3][1]=new Array('Pesticides','Sorry.  Although this is also a form of chemical and synthetic compound pollution, pesticides are not biphenol pollutants.',0,0,1);
I[49][3][2]=new Array('Heavy metals','Nope.  Biphenols are not heavy metals.',0,0,1);
I[49][3][3]=new Array('Radioactive materials','Nope.  Biphenols are not radioactive materials',0,0,1);
I[49][3][4]=new Array('Biological pollutants','Sorry.  Biphenols are not biological pollutants.',0,0,1);
I[50]=new Array();I[50][0]=100;
I[50][1]='';
I[50][2]='0';
I[50][3]=new Array();
I[50][3][0]=new Array('Biodegradable','Correct.  Such materials naturally decompose.',1,100,1);
I[50][3][1]=new Array('Synthetic','Nope.  Synthetic materials generally do not decay and break down naturally over time.',0,0,1);
I[50][3][2]=new Array('Radioactive','Nope.  While Radioactive material will break down over time, this is not the term given to items designed to decay naturally over time.',0,0,1);
I[50][3][3]=new Array('Aneomorphic','Sorry.  I just made this word up.',0,0,1);
I[50][3][4]=new Array('Ecologically neutral','Sorry.  I made up this term.',0,0,1);
I[51]=new Array();I[51][0]=100;
I[51][1]='';
I[51][2]='0';
I[51][3]=new Array();
I[51][3][0]=new Array('Because it causes plankton blooms that use up the available oxygen.','Right.  The lack of oxygen chokes out other forms of life.',1,100,1);
I[51][3][1]=new Array('Because it kills off plankton, thereby depleting the food source for much of the ecosystem','Nope.  Organic sewage provides a growth environment for plankton.',0,0,1);
I[51][3][2]=new Array('Because it causes infections in the fish and animals in the water.','Sorry.  Sounds like it might be right, but this is not the main problem caused by sewage in enclosed water areas.',0,0,1);
I[51][3][3]=new Array('Because it dramatically increases the oxygen level of the water.','Sorry.  It doesn\'t increase the oxygen levels.',0,0,1);
I[51][3][4]=new Array('Because it causes excessive growth in the fish and animals species in the water area.','Nope.  In fact, it brings about a reduction in these populations.',0,0,1);
I[52]=new Array();I[52][0]=100;
I[52][1]='';
I[52][2]='0';
I[52][3]=new Array();
I[52][3][0]=new Array('Marine Sanitation Devices (MSDs)','Right.  This is the first step in preventing pollution of inland waterways and harbors.',1,100,1);
I[52][3][1]=new Array('Collection, Holding, and Transfer Systems (CHTs)','Sorry.  These are used by the U.S. Navy but only to collect and hold sewage, not treat it.',0,0,1);
I[52][3][2]=new Array('Anti-Biological Treatment Containers (ABTCs)','Nope.  There is no such container system.',0,0,1);
I[52][3][3]=new Array('Sewage Processing and Treatment Systems (SPTSs)','Nope.  There is no such processing and treatment system.',0,0,1);
I[52][3][4]=new Array('Light Water Processing Plants (LWPPs)','Sorry.  This is not a U.S. Navy sewage treatment system.',0,0,1);
I[53]=new Array();I[53][0]=100;
I[53][1]='';
I[53][2]='0';
I[53][3]=new Array();
I[53][3][0]=new Array('At least 12 miles','Right.  In unrestricted waters beyond the territorial limit of 12 miles.',1,100,1);
I[53][3][1]=new Array('At least 12 Kilometers','Nope.  This would put the ship well within the territorial limits of the  country and it would be illegal.',0,0,1);
I[53][3][2]=new Array('50 miles','Sorry.  It would be legal at this distance, but this is not the best answer.',0,0,1);
I[53][3][3]=new Array('100 miles','Nope.  You wouldn\'t have to go nearly this far',0,0,1);
I[53][3][4]=new Array('Waste products cannot be legally dumped off of U.S. Navy ships at sea.','Sorry.  They can, and there is a minimum distance after which it is legal.',0,0,1);
I[54]=new Array();I[54][0]=100;
I[54][1]='';
I[54][2]='0';
I[54][3]=new Array();
I[54][3][0]=new Array('Biological Pollutants','Right.  They are non-native species that have been transported to a new location and have choked out local species.',1,100,1);
I[54][3][1]=new Array('Maritime litter','Nope.  These are animals and not litter.',0,0,1);
I[54][3][2]=new Array('Biodegradable pollutants','Nope.  Although they are biodegradable and pollutants, this is not the term used for these species.',0,0,1);
I[54][3][3]=new Array('Sea snake species','Sorry.  They are not related to sea snakes.',0,0,1);
I[54][3][4]=new Array('Beneficial pollutants','Sorry.  Neither of these species are beneficial to their local ecosystem.',0,0,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 />' + YourScoreIs + ' ' + 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));
			}
		}
		if (State[QNum][0] < 0){
			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);
	}
}










//-->

//]]>


