

//<![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('The requirement that Germany pay reparations of $33 billion.','Right.  The sum was far more than Germany could pay and was seen as simply a way of ensuring Germany would always be poor.',1,100,1);
I[0][3][1]=new Array('The requirement that Germany never again have an Army.','Nope.  Although reduced in size, Germany was allowed to have an Army under the treaty.',0,0,1);
I[0][3][2]=new Array('The requirement that Germany never again have a Navy.','Nope.  Although reduced in size, Germany was allowed to have an Navy  under the treaty.',0,0,1);
I[0][3][3]=new Array('The requirement that key cities within Germany be occupied by allied troops.','Nope.  This was not a part of the treaty.',0,0,1);
I[0][3][4]=new Array('The requirement that Germany change its form of government.','Sorry.  Although the government in Germany did change, it was not a result of the treaty.',0,0,1);
I[1]=new Array();I[1][0]=100;
I[1][1]='';
I[1][2]='0';
I[1][3]=new Array();
I[1][3][0]=new Array('The League of Nations','Correct.  A mutual defense part of the League\'s charter prevented U.S. Congress acceptance of membership in the League.',1,100,1);
I[1][3][1]=new Array('The United Nations','Nope.  This organization wasn\'t created until after World War II.',0,0,1);
I[1][3][2]=new Array('NATO','Nope.  This organization wasn\'t created until after World War II.',0,0,1);
I[1][3][3]=new Array('The Warsaw Pact','Nope.  This was the post-World War II Organization that opposed NATO.',0,0,1);
I[1][3][4]=new Array('The Organization of American States','Nope.  The OAS wasn\'t an issue during Wilson\'s time as President.',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('The requirement for a mutual defense treaty.','Right.  Mutual defense treaties had been seen as the cause of World War I, and the U.S. Congress did not want to limit the U.S. in this way.',1,100,1);
I[2][3][1]=new Array('The requirement for the U.S. to pay for the majority of the League\'s expenses.','Nope.  This was not an issue.',0,0,1);
I[2][3][2]=new Array('The fact that the League would not be based in the United States.','Nope.  This was not an issue.',0,0,1);
I[2][3][3]=new Array('The fact that Germany and the other Central Powers would be allowed membership.','Nope.  This was not an issue.',0,0,1);
I[2][3][4]=new Array('The fact that it gave the U.S. a secondary role in the affairs of the world.','Nope.  This was not an issue.',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('They were scuttled by the German navy at Scapa Flow.','Right.  This was done to prevent them from being turned over to the Allies, as directed in the peace treaty.',1,100,1);
I[3][3][1]=new Array('They were turned over the Allied Powers.','Nope.  This is what the treaty called for, but not what happened.',0,0,1);
I[3][3][2]=new Array('They were sunk in a final battle in the North Sea.','Sorry.  No such battle ever took place.',0,0,1);
I[3][3][3]=new Array('Germany was forced to reduce them to scrap and sell them.','Nope.  This was not what happened to them.',0,0,1);
I[3][3][4]=new Array('Germany was allowed to keep the majority of her Fleet.','Nope.  The Allies wanted to ensure that Germany would never again be a challenge on the seas.',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('The U.S., Britain, France, Italy, and Japan.','Right.  The result was the Washington Naval Disarmament Treaty.',1,100,1);
I[4][3][1]=new Array('The U.S., Britain, France, Japan and Germany.','Nope.  Germany had lost the war and was not a major naval power.',0,0,1);
I[4][3][2]=new Array('The U.S., France, Italy, China and Japan.','Nope.  China did not have a large navy at this time.',0,0,1);
I[4][3][3]=new Array('The U.S., Japan, Germany, Britain and France.','Nope. Germany had lost the war and was not a major naval power.',0,0,1);
I[4][3][4]=new Array('The U.S., Japan, Germany, Britain and France.','Nope.  China did not have a large navy at this time.',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('The ratio of battleship tonnage for the U.S., Britain and Japan.','Correct.  This ensured that Japan would have a smaller navy than the other two powers.',1,100,1);
I[5][3][1]=new Array('The ratio of battleship tonnage for the U.S., Britain and France.','Nope.  France was not in the ratio.',0,0,1);
I[5][3][2]=new Array('The ratio of overall naval tonnage for the U.S., Britain and Japan.','Sorry.  The ratio did not cover overall naval tonnage.',0,0,1);
I[5][3][3]=new Array('The ratio of overall naval tonnage for the U.S., Britain and France.','Nope.  France was not in the ratio.',0,0,1);
I[5][3][4]=new Array('The ratio over cruiser tonnage for the U.S., Britain and Japan.','Sorry.  Cruiser tonnage was not limited by the treaty.',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('Economic hard times combined with an isolationist world view.','Correct.  The U.S. concentrated on economic recovery and a more pacifist view on world affairs.',1,100,1);
I[6][3][1]=new Array('The Navy could not recruit enough sailors in the 1920s.','Nope.  No significant recruiting problems occurred.',0,0,1);
I[6][3][2]=new Array('There was not enough domestic steel produced and the U.S. Congress would not allow the import of foreign steel.','Nope.  This wasn\'t a factor.',0,0,1);
I[6][3][3]=new Array('It was thought that there would not be a need for Navies in future wars.','Nope.  Navies have always been considered important elements in overall strategy.',0,0,1);
I[6][3][4]=new Array('There was a lack of qualified naval architects and shipbuilders in that decade.','Nope.  The U.S. had no lack of qualified people to design and build new naval ships.',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('A nonfortification clause.','Right.  This specified that no further fortifications in the Pacific area would be carried out by Japan, by the United States in any of its possessions west of Hawaii, or by the British anywhere east of Singapore and north of Australia.',1,100,1);
I[7][3][1]=new Array('No limit was put on their cruiser tonnage.','Sorry.  Although no limit was placed on cruisers, it was the same for all the countries signing the agreement, not just Japan.',0,0,1);
I[7][3][2]=new Array('They were given the former German island possessions in the South Pacific.','Nope.  Although they did get many of these islands, this came abut about as a part of the peace treaty and not the disarmament treaty.',0,0,1);
I[7][3][3]=new Array('They were allowed an unlimited number of aircraft carriers.','Nope.  Numbers of aircraft carriers were not discussed.',0,0,1);
I[7][3][4]=new Array('They were given the entire Korean Navy.','Nope.  This did not happen.',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('Ethiopia','Right.  They renamed it Italian East Africa.',1,100,1);
I[8][3][1]=new Array('Austria','Nope.  This never happened.',0,0,1);
I[8][3][2]=new Array('Egypt','Sorry.  Right area, wrong country.',0,0,1);
I[8][3][3]=new Array('Malta','Nope.  Italy did not invade Malta',0,0,1);
I[8][3][4]=new Array('Sicily','Nope.  Sicily was already part of Italy.',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('Amphibious Warfare','Right.  The Marines needed to study and perfect the concept of taking and holding island bases spread out over a large area of the Pacific Ocean.',1,100,1);
I[9][3][1]=new Array('Armored Warfare','Nope.  Tanks would not play a significant role overall in the Pacific Campaigns.',0,0,1);
I[9][3][2]=new Array('Close Air Support','Sorry.  While developed by the U.S. Marine Corps in Central America in  the 1920\'s, Close Air Support was only a small part of a much larger warfare area.',0,0,1);
I[9][3][3]=new Array('Trench Warfare','Nope.  This type of warfare was the main part of World War I and not a U.S. Marine Corps development.',0,0,1);
I[9][3][4]=new Array('Airborne Warfare','Nope.  This was not the new type of warfare developed by the Marines.',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('To convert a collier into the Navy\'s first aircraft carrier.','Right.  This was the USS Langley.',1,100,1);
I[10][3][1]=new Array('To turn over anti-ship air operations to the Army Air Crops.','Nope.  the Navy knew that land-based aircraft would not be available in much of the world, and the Navy would be the only response.',0,0,1);
I[10][3][2]=new Array('Strengthen battleships so that this could not happen in the future.','Nope.  Ships could not be strengthened enough to stop an air assault.',0,0,1);
I[10][3][3]=new Array('The event was ignored because the battleship was not firing back and not moving.','Sorry.  While these were issues that played down the results of the test, the Navy did take notice and respond to this test.',0,0,1);
I[10][3][4]=new Array('Push for further reductions in the number of authorized battleships.','Nope.  This did not happen.',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('Seabees','Right.  For the "C" in construction and the "B" in Battalions.',1,100,1);
I[11][3][1]=new Array('SEALS','Nope.  This is a naval special warfare unit developed much later.',0,0,1);
I[11][3][2]=new Array('Frogmen','Nope.  These were early naval special forces developed during World War II to clear beaches of obstacles.',0,0,1);
I[11][3][3]=new Array('Constructees','Nope.  This isn\'t it.',0,0,1);
I[11][3][4]=new Array('Naval Engineers','Sorry.  Although Naval Construction Battalions have naval engineers, that is not their popular name.',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('To create operating bases in any environment.','Correct.  They were key to the island-hopping campaigns during World War II.',1,100,1);
I[12][3][1]=new Array('To clear obstacles from beaches prior to amphibious landings.','Nope.  This was the job of Underwater Demolition Teams.',0,0,1);
I[12][3][2]=new Array('To repair naval ships at sea, far away from their support bases.','Nope.  The repair of ships was not a function of the Seabees.',0,0,1);
I[12][3][3]=new Array('To parachute in ahead of the assault force to cut off enemy supply lines.','Nope.  This job was accomplished by Airborne Assault troops.',0,0,1);
I[12][3][4]=new Array('To capture and interrogate enemy military personnel.','Nope.  This was never a function of the Seabees.',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('Appeasement','Correct.  This policy was seen by these leaders as a sign of weakness and cause for further aggression.',1,100,1);
I[13][3][1]=new Array('Rapprochement','Nope.  That isn\'t the correct term.',0,0,1);
I[13][3][2]=new Array('5:5:3 ratio','Nope.  This was a naval ratio agreed to by the U.S., Britain and Japan some years earlier.',0,0,1);
I[13][3][3]=new Array('Kellogg-Briand Pact','Nope.  This was a useless agreement among many countries to never threaten war.  It failed because it had no method of enforcement.',0,0,1);
I[13][3][4]=new Array('Marshall Plan','Nope.  This was the plan designed to reconstruct Europe after World War II.',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('The German invasion of Poland. ','Right.  This was the final straw that caused Britain and France to declare war.',1,100,1);
I[14][3][1]=new Array('The takeover of Czechoslovakia by Germany.','Nope.  The Allies allowed this to happen without going to war.',0,0,1);
I[14][3][2]=new Array('The German takeover of Austria.','Nope.  The Allies allowed this to happen without going to war.',0,0,1);
I[14][3][3]=new Array('Germany remilitarizing of the Rhineland.','Nope.  The Allies allowed this to happen without going to war.',0,0,1);
I[14][3][4]=new Array('German withdrawal from the League of Nations.','Sorry.  This did not cause war to start in Europe.',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('The Neutrality Patrol.','Right.  This patrol was used to refit some ships and recall reserves to active duty for training and assignment at sea.',1,100,1);
I[15][3][1]=new Array('The Seabees.','Nope.  This was not a function oft he Seabees.',0,0,1);
I[15][3][2]=new Array('The Coast Watchers.','Sorry.  Coast Watchers were used in the Pacific to report enemy ship movements, but they were different than the patrols President Roosevelt established.',0,0,1);
I[15][3][3]=new Array('Aircraft Carrier Battlegroups.','Nope.  This wasn\'t a function of Aircraft Carrier Battlegroups.',0,0,1);
I[15][3][4]=new Array('Reconnaissance Blimps.','Nope. No such program was established by President Roosevelt.',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('The Lend-Lease Act','Correct.  This transfer of war materials helped keep Britain in the war.',1,100,1);
I[16][3][1]=new Array('Kellogg-Briand Pact','Nope.  This was the failed pact of the 1920\'s in which countries agreed not to use the threat of war in negotiations.',0,0,1);
I[16][3][2]=new Array('Washington Naval Disarmament Treaty','Nope.  This 1921 treaty set the allowed naval tonnage of the major naval powers of the time.',0,0,1);
I[16][3][3]=new Array('Naval Transfer Act','Nope.  No such act ever existed.',0,0,1);
I[16][3][4]=new Array('The Roosevelt-Churchill agreement.','Nope.  No such agreement ever existed.',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('That the Atlantic fighting would have first priority.','Right.  Due to the greater military threat of Germany, and the serious situation in Britain, the Atlantic had to come first.',1,100,1);
I[17][3][1]=new Array('That the Pacific fighting would have first priority.','Nope.  Britain\'s critical situation called for immediate action there first.',0,0,1);
I[17][3][2]=new Array('That both areas would have equal priority.','Nope.  There were too few assets to go all-out in each area at the same time.',0,0,1);
I[17][3][3]=new Array('That the Atlantic would have priority in even years and the Pacific in the odd years.','Nope.  Even or odd years made no difference when assigning the priorities.',0,0,1);
I[17][3][4]=new Array('That the Atlantic would have priority in odd years and the Pacific in the even years.','Nope.  Even or odd years made no difference when assigning the priorities.',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('An embargo on oil export to Japan and the freezing of Japanese assets in the U.S. ','Right.  The cutting off of U.s. oil to Japan caused them to need the reserves in the Dutch East Indies.',1,100,1);
I[18][3][1]=new Array('High tariffs placed on imported Japanese goods.','Nope.  This did not occur.',0,0,1);
I[18][3][2]=new Array('A food embargo against Japan.','Nope.  Japan did not import significant amounts of food from the U.S. at this time. ',0,0,1);
I[18][3][3]=new Array('A boycott against all imported Japanese products.','Nope.  This did not occur.',0,0,1);
I[18][3][4]=new Array('The selling off of all Japanese Yen within the U.S.','Nope.  This did not occur.',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('The sinking of the destroyer Ruben James by a German submarine.','Correct.  This caused much loss of life.',1,100,1);
I[19][3][1]=new Array('The Japanese attack on pearl harbor.','Nope.  This wouldn\'t occur until 7 December, 1941.',0,0,1);
I[19][3][2]=new Array('The German invasion of Poland.','Nope.  This had occurred many years earlier.',0,0,1);
I[19][3][3]=new Array('The sinking of the Lusitania.','Nope.  This occurred prior to the outbreak of World War I.',0,0,1);
I[19][3][4]=new Array('The declaration of unrestricted submarine warfare by Germany.','Nope.  This did not occur.',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('9 16-inch guns for battleships and 8-inch guns for cruisers.','Excellent.  No limit on the tonnage and armament of cruisers were included in the treaty.',1,100,1);
I[20][3][1]=new Array('9 16-inch guns for battleships and no limitations for cruisers.','Sorry.  There were limitations made on cruisers.',0,0,1);
I[20][3][2]=new Array('8-inch guns for cruisers and no limitations on battleships.','Sorry.  There were limitations made on battleships.',0,0,1);
I[20][3][3]=new Array('There were no limitations on guns for either battleships or cruisers.','Nope.  Limitations on battleships and cruisers were made in this agreement.',0,0,1);
I[20][3][4]=new Array('16 9-inch guns for battleships and 8 8-inch guns for cruisers.','Nope.  Battleships were allowed larger guns than 9-inch.',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('The United States','Excellent!  The lack of limits on the tonnage of cruisers made this a big loophole in the treaty.',1,100,1);
I[21][3][1]=new Array('Japan','Sorry.  Japan immediately embarked on a heavy-cruiser building program.',0,0,1);
I[21][3][2]=new Array('France','Sorry.  France immediately embarked on a heavy-cruiser building program.',0,0,1);
I[21][3][3]=new Array('Britain','Sorry.  Britain immediately embarked on a heavy-cruiser building program.',0,0,1);
I[21][3][4]=new Array('Italy','Sorry.  Italy immediately embarked on a heavy-cruiser building program.',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('Japan','Excellent.  This action violated the conditions Japan had agreed to in the Washington Disarmament Treaty.',1,100,1);
I[22][3][1]=new Array('The U.S.','Sorry.  The U.S. had pledged not to do this in the Washington Naval Disarmament Treaty.',0,0,1);
I[22][3][2]=new Array('Britain','Sorry.  Britain had pledged not to do this in the Washington Naval Disarmament Treaty.',0,0,1);
I[22][3][3]=new Array('France','Sorry.  France had pledged not to do this in the Washington Naval Disarmament Treaty.',0,0,1);
I[22][3][4]=new Array('Italy','Nope.  Italy did not have significant bases in the Pacific.',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('1936','Excellent!  Though several attempts were made at further treaties, none of the them had any success.',1,100,1);
I[23][3][1]=new Array('1921','Sorry.  This was the year that the Disarmament Treaty was negotiated.',0,0,1);
I[23][3][2]=new Array('1945','Nope.  This was the year that World War II ended.',0,0,1);
I[23][3][3]=new Array('1939','Sorry.  This was the year that World War II began in Europe.',0,0,1);
I[23][3][4]=new Array('1933','Nope.  this was the year that Hitler was named chancellor in Germany.',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('Frank Kellogg','Right.  Secretary Kellogg is best remembered for the Kellog-Briand pact that "Outlawed" war.',1,100,1);
I[24][3][1]=new Array('Aristide Briand','Sorry.  Briand was the French foreign minister who negotiated a treaty with this U.S. Secretary of State.',0,0,1);
I[24][3][2]=new Array('Benito Mussolini','Nope.  Mussolini was the leader of Italy during this time.',0,0,1);
I[24][3][3]=new Array('Josephus Daniels','Sorry.  Daniels had been the U.S. Secretary of the Navy during World War I.',0,0,1);
I[24][3][4]=new Array('Billy Mitchell','Nope.  General Mitchell was the Army Air Corps officer who proved that battleships could be sunk with bombs from aircraft.',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('It had no provisions for enforcement and was therefore ignored.','Right!  The fact that it lacked "teeth" made violations unenforceable.',1,100,1);
I[25][3][1]=new Array('It did not have the support of the United States','Sorry.  It had been proposed jointly by the U.S. and France.',0,0,1);
I[25][3][2]=new Array('It did not have the support of France.','Sorry.  It had been proposed jointly by the U.S. and France.',0,0,1);
I[25][3][3]=new Array('The Kellogg-Briand Pact did not fail and was a significant success.','Nope.  It was a significant failure.',0,0,1);
I[25][3][4]=new Array('President Coolidge did not support it.','Nope.  President Coolidge had his Secretary of State negotiate this treaty.',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('1933','Right.  This was begun by President Roosevelt shortly after his inauguration.',1,100,1);
I[26][3][1]=new Array('1921','Sorry.  This was the year that the Washington Naval Disarmament Treaty was negotiated.',0,0,1);
I[26][3][2]=new Array('1945','Nope.  This was the year that World War II ended.',0,0,1);
I[26][3][3]=new Array('1939','Sorry.  This was the year that World War II began in Europe.',0,0,1);
I[26][3][4]=new Array('1936','Nope.  This was the year the building limitations of the Naval Disarmament Treaty expired, but the U.S. building program had already started.',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('Japan','Excellent.  This played into the hand of the Japanese militarists as they took power in Japan.',1,100,1);
I[27][3][1]=new Array('Germany','Sorry.  Germans were not the target of this bill.',0,0,1);
I[27][3][2]=new Array('Italy','Sorry.  Italians were not the target of this bill.',0,0,1);
I[27][3][3]=new Array('France','Nope.  France was seen as an ally during this period.',0,0,1);
I[27][3][4]=new Array('Turkey','Nope.  The bill did not mention Turkey.',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('1931','Excellent!  The United States protested the move, but did nothing more.',1,100,1);
I[28][3][1]=new Array('1935','Sorry.  This was the year Italy invaded Ethiopia.',0,0,1);
I[28][3][2]=new Array('1939','Sorry.  This was the year that Germany invaded Poland.',0,0,1);
I[28][3][3]=new Array('1921','Nope.  This was the year that the Washington Naval Disarmament Treaty was negotiated.',0,0,1);
I[28][3][4]=new Array('1941','Nope.  This was the year that Japan attacked the U.S. at Pearl Harbor.',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('They withdrew from the League of Nations.','Right.  He announced that Germany would no longer abide by treaty limitations on the size of its military.',1,100,1);
I[29][3][1]=new Array('They invaded Poland.','Sorry.  This didn\'t happen until 1939.',0,0,1);
I[29][3][2]=new Array('They invaded China.','Nope.  Germany never invaded China.',0,0,1);
I[29][3][3]=new Array('They declared war on Britain.','Sorry.  This didn\'t happen until 4 years later.',0,0,1);
I[29][3][4]=new Array('They invaded France.','Nope.  This didn\'t happen until much later.',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('The Tirpitz','Right!  Germany had two such ships under construction.  The second was the Bismarck.',1,100,1);
I[30][3][1]=new Array('The Graf Spee','Sorry.  The Graf Spee was a smaller German pocket-battleship.',0,0,1);
I[30][3][2]=new Array('The Scheer','Nope.  No such German warship existed.',0,0,1);
I[30][3][3]=new Array('The Langley','Nope.  The Langley was the first U.S. Navy aircraft carrier.',0,0,1);
I[30][3][4]=new Array('Prince Eugene','Sorry.  The Prince Eugene was a smaller German pocket-battleship.',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('56','Right.  Over 1,200 would be built by the end of World War II.',1,100,1);
I[31][3][1]=new Array('1,200','Sorry.  They had built this number by the end of the war, but did not have that many at the start.',0,0,1);
I[31][3][2]=new Array('None','Nope.  They did have a number of submarines by the time the war started in 1939.',0,0,1);
I[31][3][3]=new Array('125','Sorry.  It wasn\'t this many.',0,0,1);
I[31][3][4]=new Array('14','Nope.  It was more than 14.',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('The USS Langley','Correct!  The Langley had been a coaling ship and was converted to become the first carrier.',1,100,1);
I[32][3][1]=new Array('The USS Lexington','Sorry.  The Lexington was an early U.S. carrier, but not the first.',0,0,1);
I[32][3][2]=new Array('The USS Saratoga','Sorry.  The Saratoga was an early U.S. carrier, but not the first.',0,0,1);
I[32][3][3]=new Array('The USS Hornet','Sorry.  The Hornet was an early U.S. carrier, but not the first.',0,0,1);
I[32][3][4]=new Array('The USS Bismarck','Nope.  There was never a U.S. carrier by this name, although there was a German battleship named the  Bismarck.',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('At-sea replenishment and support ships that moved with the fleet.','Correct.  This was a new concept that did prove critical to the U.S. war in the Pacific.',1,100,1);
I[33][3][1]=new Array('Nuclear weapons','Sorry.  Nuclear weapons were not discovered or available prior to World War II.',0,0,1);
I[33][3][2]=new Array('Aircraft carriers','Sorry.  While they would play a critical role in the Pacific War, strategists prior to the war did not think they would be "the secret weapon". of the war.',0,0,1);
I[33][3][3]=new Array('Amphibious operations','Nope.  While amphibious operations would be common in the Pacific, they weren\'t U.S. Navy innovations.',0,0,1);
I[33][3][4]=new Array('The breaking of the Japanese codes','Nope.  while critical to the success of the war in the Pacific, these codes were not broken prior to the start of the war.',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 USS Panay','Correct!  The United States limited its response to verbal and written protests, accomplishing nothing in the process.',1,100,1);
I[34][3][1]=new Array('The USS Langley','Nope.  The Langley was the first U.S. Navy aircraft carrier.',0,0,1);
I[34][3][2]=new Array('The USS Lexington','Sorry.  The Lexington was an early U.S. aircraft carrier.',0,0,1);
I[34][3][3]=new Array('The USS Ruben James','Sorry.  The USS Ruben James was a U.S. destroyer destroyed by Japan in November, 1941.',0,0,1);
I[34][3][4]=new Array('The USS Tirpitz','Sorry.  There was never a U.S. Navy ship named the Tirpitz, but this was the name of a major German battleship.',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('Switzerland','Correct.  Switzerland remained neutral throughout World War II.',1,100,1);
I[35][3][1]=new Array('France','Nope.  France, the primary focus of the German assault, was taken by June of 1940.',0,0,1);
I[35][3][2]=new Array('Holland','Sorry.  Germany swept through Holland in 1940.',0,0,1);
I[35][3][3]=new Array('Luxembourg','Sorry.  Germany swept through the small country of Luxembourg in 1940.',0,0,1);
I[35][3][4]=new Array('Belgium','Sorry.  Germany swept through Belgium in 1940.',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('The Two-Ocean Navy Bill.','Excellent.  Congress worried that England would be defeated and its fleet turned on the U.S.',1,100,1);
I[36][3][1]=new Array('The Kellogg-Briand Bill','Nope.  The Kellogg-Briand Act was the failed attempt to get nations to agree to never threaten to attack each other.',0,0,1);
I[36][3][2]=new Array('The Neutrality Patrol Bill','Sorry.  The Neutrality Patrol was a policy established by President Roosevelt to track belligerent ships and aircraft approaching the U.S. or the West Indies.',0,0,1);
I[36][3][3]=new Array('The Lend-Lease Bill','Nope.  The Lend-Lease Act was the bill which allowed war material to be loaned to Britain.',0,0,1);
I[36][3][4]=new Array('The Navy Act of 1940.','Sorry.  There was not such bill or act.',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('Iceland','Right.  Britain received fifty old destroyers and ten Coast Guard cutters in exchange',1,100,1);
I[37][3][1]=new Array('Bermuda','Sorry.  Bermuda was one of these bases and still has a U.S. Naval Base.',0,0,1);
I[37][3][2]=new Array('The West Indies','Sorry.  The West Indies were a part of this agreement.',0,0,1);
I[37][3][3]=new Array('Newfoundland','Nope.  The U.S. did acquire bases in Newfoundland.',0,0,1);
I[37][3][4]=new Array('No such agreement ever took place.','Nope.  There was such an agreement in 1940.',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('The Lend-Lease Act','Right.  This put U.S. industry on a wartime production level and the U.S. became the "arsenal of democracy."',1,100,1);
I[38][3][1]=new Array('The Kellogg-Briand Act','Nope.  The Kellogg-Briand Act was the failed attempt to get nations to agree to never threaten to attack each other.',0,0,1);
I[38][3][2]=new Array('The Neutrality Patrol Act','Sorry.  The Neutrality Patrol was a policy established by President Roosevelt to track belligerent ships and aircraft approaching the U.S. or the West Indies.',0,0,1);
I[38][3][3]=new Array('The Two-Ocean Navy Act','Sorry.  This act was passed in 1940, but dealt with the construction of two U.S. Navy fleets, one to protect the Pacific and one the Atlantic.',0,0,1);
I[38][3][4]=new Array('No such Act was passed by Congress in 1941','Nope.  There was such an Act passed in March of 1941.',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('11 December, 1941','Right.  The U.S. declared war on these two countries on this date as well.',1,100,1);
I[39][3][1]=new Array('7 December, 1941','Sorry.  This was the date of the Japanese attack on Pearl Harbor.',0,0,1);
I[39][3][2]=new Array('16 October, 1941','Sorry.  This was the date that the first U.S. casualties were caused by a German submarine.',0,0,1);
I[39][3][3]=new Array('1 September, 1939','Nope.  This was the date Germany invaded Poland.',0,0,1);
I[39][3][4]=new Array('8 December, 1941','Nope.  This was the date the U.S. declared war on Japan.',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);
	}
}










//-->

//]]>


