﻿var _counter = -1; // points to current record in wordList
var _testDirection = 'FE';
var _test = 0; // this and the next determine whether foreign to english...
var _answer = 2; // or english to foreign testing
var _revealAnswer = 'phased'; 
// if always, answer is revealed at same time as advance
// if phased, answer is revealed by second click
// if never, answer is never revealed
var answered = true;
var _showTranscription = true;


test = 'hello??';
var currentForiegn = 'ह語'   // this is used when changing style
var currentEnglish = 'Language Review';
currentTranscrn = '';
var currentData = 'data/vocabList.js';
var cStyle = 'style/arabic.css';
var vertical = true;
var horizontal = false;
var changeData = true;
var dontChangeData = false;


//don't know what this function is for
function initialiseWordList ( startL, endL ) { 
alert( '>'+startL + '<>' + endL+'<' );
	var ptr = 0;
	wordList.length = 0;
	if ( startL == 0 ) { alert('empty start');
		for (i=0; i<vocabStore.length; i++) {
			wordList[i] = vocabStore[i];
			}
		}
	else if ( startL > endL ) {
		alert( 'The range of lessons was incorrectly specified.  The end is less than the start.' );
		}
	else {	endL++;
		for (i=0; i<vocabStore.length; i++) {
			currentRecord = vocabStore[i].split('$');
			if (currentRecord[4] >= startL && currentRecord[4] < endL) {
				wordList[ptr] = vocabStore[i]; alert( currentRecord[4] );
				ptr++;
				}
			}
		}
	}

function actionRoutine ( context, location ) {
	switch (context) {
	case 'clickForeign':
			gotoNext();
			break;
	case 'toEnglish':	 
			_test = 0; 
			_answer = 2;
			_counter--; answered=true; gotoNext();
			break;
	case 'toForeign':	
			_test = 2;
			_answer = 0;
			_counter--; answered=true; gotoNext();
			break;
	case 'toReview':	 
			_revealAnswer = 'always';
			_counter--; answered=true; gotoNext();
			break;
	case 'toPhased':	 
			_revealAnswer = 'phased';
			_counter--; answered=true; gotoNext();
			break;
	case 'toQuick':	 
			_revealAnswer = 'never';
			_counter--; answered=true; gotoNext();
			break;
	case 'showTransc':	 
			_showTranscription = true;
			document.getElementById('transcrip').style.display = 'block';
			break;
	case 'hideTransc':	 
			_showTranscription = false;
			document.getElementById('transcrip').style.display = 'none';
			break;
	case 'shuffle':	 
			shuffle();
			break;
	case 'retest':	 
			reTest();
			break;
	case 'goBack': 
			if (_counter > 0) {_counter = _counter-2; answered=true; gotoNext(); }
			break;
	case 'restart': 
			_counter = -1; answered=true; gotoNext();
			break;



	case 'forwardButton': if (_counter < wordList.length) {_counter++; answered=true; nextReviewItem(); }
			break;
	case 'goto': 	_counter = location; answered=true; nextReviewItem();
			break;
	case 'print':	makePrintableList();
			break;
	default:		alert( 'Call to actionRoutine from unknown source.' );
			break;
	}
	}



function gotoNext () {
	if (_revealAnswer == 'always') { _counter++; testNextItem('visible'); answered=true; } 
	if (_revealAnswer == 'never') { _counter++; testNextItem('hidden'); answered=true; } 
	if (_revealAnswer == 'phased') {  
		if (answered) { _counter++; testNextItem('hidden'); answered=false; }
		else { revealAnswer(); answered=true; }
		}
	}


function testNextItem (answerVisibility) {
	if (_counter >= wordList.length) { _counter = 0; }
	cRecord = wordList[_counter].split('¶');
	var containerElement = document.getElementById('foreign');
	var newText = document.createTextNode( cRecord[_test] ); 
	var removedNode = containerElement.replaceChild( newText, containerElement.firstChild );
	containerElement = document.getElementById('english');
	newText = document.createTextNode( cRecord[_answer] );
	removedNode = containerElement.replaceChild( newText, containerElement.firstChild );
	containerElement = document.getElementById('transcrip'); 
	newText = document.createTextNode( cRecord[1] ); 
	removedNode = containerElement.replaceChild( newText, containerElement.firstChild ); 
	
	if (answerVisibility == 'hidden') {
		document.getElementById('english').style.color = '#fff';
		document.getElementById('transcrip').style.color = '#fff';
		}
	else {
		document.getElementById('english').style.color = '#000';
		document.getElementById('transcrip').style.color = '#000';
		}
	}	


function revealAnswer () {
		document.getElementById('english').style.color = '#000';
		document.getElementById('transcrip').style.color = '#000';
	}			


function shuffle () {
	for (var i=0; i < wordList.length-1; i++) {
		var j = Math.floor(Math.random() * (wordList.length-1) );
		var tempItem = wordList[i];
		wordList[i] = wordList[j];
		wordList[j] = tempItem;
		}
	_counter = -1;
	}

function reTest () {
	if (_counter == -1) {return};
	wordList[wordList.length] = wordList[wordList.length-1];
	wordList[wordList.length-2] = wordList[_counter];
	}


