function printWindow(){
	var getData = new Array();
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}

	if(getData["print"]){
		window.print();
	}
}

function pageChange(page){
	var getData = new Array();
	
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	if(getData["lang"]){
		var url = page + "?lang=" + getData["lang"];
	} else{
		var url = page + "?lang=eng";
	}
	
	if(page == "budget.aspx"){
		url = url+"&pg=01";
	}
	
	window.location = url;
}

function switchLanguage(lang, page){
	var getData = new Array();
	
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	var url = page + "?lang=" + lang;
	
	if(getData["ch"]){
		url = url+"&ch=" + getData["ch"];
	}
	
	if(getData["pg"]){
		url=url + "&pg=" + getData["pg"];
	}

	window.location = url;
}

function chapPageChange(chapterID,pageID){
	//create array for info from Get Line
	var getData = new Array();
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	var url = "chapters.aspx?";
	
	if (getData["lang"]){
		url = url + "lang=" + getData["lang"] + "&"
	}
	
	url = url+"ch=" + chapterID + "&pg=" + pageID;
	
	window.location = url;
}

function chapChange(chapterID){
	//create array for info from Get Line
	var getData = new Array();
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	var url = "chapters.aspx?";
	
	if (getData["lang"]){
		url = url + "lang=" + getData["lang"] + "&"
	}
	
	url = url+"ch=" + chapterID + "&pg=01";
	
	window.location = url;
}

function pracChange(chapterID){
	//create array for info from Get Line
	var getData = new Array();
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	var url = "practice.aspx?";
	
	if (getData["lang"]){
		url = url + "lang=" + getData["lang"] + "&";
	} else{
		url = url + "lang=eng&";
	}
	
	url = url+"ch=" + chapterID;
	
	window.location = url;
}

function budgetChange(){
	//create array for info from Get Line
	var getData = new Array();
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	var url = "budget.aspx?";
	
	if (getData["lang"]){
		url = url + "lang=" + getData["lang"] + "&pg=01";
	} else{
		url = url + "lang=eng&pg=01";
	}
	
	window.location = url;
}


function nextPage(pageNum){
	nextPage = parseInt(pageNum) + 1;
	if(nextPage < 10) { 
		nextString = '0' + nextPage;
	} else {
		nextString = nextPage + "";
	}
	
	goChapter(nextString);
}

function prevPage(pageNum){
	prevPage = parseInt(pageNum, 10) - 1;
	if(prevPage < 10){
		prevString = '0' + prevPage;
	} else {
		prevString = prevPage + "";
	}
	goChapter(prevString);
}

function nextChapPage(pageNum){

	nextPage = parseInt(pageNum, 10) + 1;
	if(nextPage < 10) { 
		nextString = '0' + nextPage;
	} else {
		nextString = nextPage + "";
	}
	goPage(nextString);
}

function prevChapPage(pageNum){
	prevPage = parseInt(pageNum, 10) - 1;
	if(prevPage < 10){
		prevString = '0' + prevPage;
	} else {
		prevString = prevPage + "";
	}
	goPage(prevString);
}

function nextBudgetPage(pageNum){
	nextPage = parseInt(pageNum, 10) + 1;
	if(nextPage < 10) { 
		nextString = '0' + nextPage;
	} else {
		nextString = nextPage + "";
	}
	goBudgetPage(nextString);
}

function prevBudgetPage(pageNum){
	prevPage = parseInt(pageNum, 10) - 1;
	if(prevPage < 10){
		prevString = '0' + prevPage;
	} else {
		prevString = prevPage + "";
	}
	goBudgetPage(prevString);
}

function goPage(chapterPageNum){
	var getData = new Array();
	
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}

	if (getData["lang"]){
		var url = "chapters.aspx?lang=" + getData["lang"] ;
	} else{
		var url = "chapters.aspx?lang=eng"
	}
	
	if(getData["ch"]){
		url = url+"&ch=" + getData["ch"];
	}
	
	if(getData["pg"]){
		url=url + "&pg=" + chapterPageNum;
	}

	window.location = url;
}

function goBudgetPage(chapterPageNum){
	var getData = new Array();
	
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}

	if (getData["lang"]){
		var url = "budget.aspx?lang=" + getData["lang"] ;
	} else{
		var url = "budget.aspx?lang=eng"
	}
	
	if(getData["pg"]){
		url=url + "&pg=" + chapterPageNum;
	}

	window.location = url;
}

function backChap(chapterValue, pageValue){
	var getData = new Array();
	
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	
	if (getData["lang"]){
		var url = "chapters.aspx?lang=" + getData["lang"] ;
	} else{
		var url = "chapters.aspx?lang=eng"
	}
	
	url = url+"&ch=" + chapterValue;

	url=url + "&pg=" + pageValue;

	window.location = url;
}

function printAllChapters(){
	if (pageLang == 'span'){
		window.open("pdf/checkrightbookletspanish.pdf", "printPDF");
	} else {
		window.open("pdf/checkrightbooklet.pdf", "printPDF");
	}
}

function printBudget(){
	if (pageLang == 'span'){
		window.open("pdf/checkrightbookletbudgetspanish.pdf", "printPDF");
	} else {
		window.open("pdf/checkrightbookletbudget.pdf", "printPDF");
	}
}


function printCurrentChapter(){
	var getData = new Array();
	var sGet = window.location.search;
	if (sGet){
		//drop leading ?
		sGet = sGet.substr(1);
		
		//Generate array of name/value pairs. Each will have format "foo=bar"
		var sNVPairs = sGet.split("&");
		
		//now for each pair, split the name and value
		for (var i=0; i < sNVPairs.length; i++){
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			getData[sName] = sValue;
		}
	}
	if (getData["ch"]){
		chapter=getData["ch"];
		if(chapter == "09"){
			chapter = "glossary";
		}
		if(chapter == "10"){
			chapter="quiz";
		}
	} else{
		alert("Could not retreive Chapter Number.");
		return false;
	}
	
	if (pageLang == 'span'){
		window.open("pdf/checkrightbookletchap" + chapter + "spanish.pdf", "printPDF");
	} else {
		window.open("pdf/checkrightbookletchap" + chapter + ".pdf", "printPDF");
	}
}


//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your browser does not support ajax.");
	}
}

var searchReq = getXmlHttpRequestObject();

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('referring_organization').value);
		searchReq.open("GET", 'searchSuggest.aspx?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		ss.innerHTML += '<div style="float: right; cursor:hand; cursor:pointer" onclick="closeSearch();"><img src="images/delete.gif"></div>';
		var str = searchReq.responseText.split("~");
		ss.style.border = '1px solid #000000';
		for(i=0; i < str.length-1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML); getDocumentById(\'search_suggest\').style.display=\'none\';" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
		
		ss.style.display='';
	}
}

function closeSearch(){
	document.getElementById('search_suggest').style.display="none";
}
//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

//Click function
function setSearch(value) {	
	value=value.replace(/&amp;/, '&');
	document.getElementById('referring_organization').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.border = 'none';
	document.getElementById('search_suggest').style.display = 'none';
}

function seeAnswers(){
	window.open('quizanswers.aspx?ch=10&pg=01&lang=' + pageLang, 'quizAnswers', 'width=500,height=600,scrollbars=yes');
}
function printAnswers(){
	window.open('quizanswers.aspx?ch=10&pg=01&print=1&lang=' + pageLang, 'quizAnswers', 'width=500,height=600,scrollbars=yes');
}

var mailSelf = getXmlHttpRequestObject();

function emailSend(destination){
	mailSelf.open("GET", 'sendmail.aspx?mail=' + destination + "&lang=" + pageLang, true);
	mailSelf.onreadystatechange = handleMail; 
	mailSelf.send(null);
	
}

function handleMail() {
	if (mailSelf.readyState == 4) {
		var ss = document.getElementById('ajax_div');
		ss.innerHTML = mailSelf.responseText;
	}
}

function prevQuizPage(){
	document.quiz_info.action="quiz_info.aspx?page="+pageVar+"&lang="+pageLang+"&dir=back";
	document.quiz_info.submit();
}

function calcRand(){
	var retVal = Math.floor(Math.random() * 1001);
  return retVal;
}

function checkTrials(){
	var xmlHttp;
  	try {    // Firefox, Opera 8.0+, Safari    
		xmlHttp=new XMLHttpRequest();    
	}
  	catch (e) {    // Internet Explorer    
		try {      
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
		}
    	catch (e){      
			try {        
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
			}
      	catch (e) {        
				alert("Your browser does not support AJAX!");        
				return false;        
			}      
		}    
	}
   xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState==4) {
			document.getElementById("langSwitch").innerHTML=xmlHttp.responseText;
		}
 	}

	var url= "checktrials.aspx?rand=" + calcRand();	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function endQuiz(attemptsLeft){
	switch(attemptsLeft){
		case "none":
			if(pageLang == 'span'){
				alert("No le queda ningún intento a la prueba.  Ahora se va a moverlo a la página de los Resultados Finales.");
			} else {
				alert("You have no more quiz attempts remaining. You will now be taken to the Finals Results page.");
			}
			window.location = "chapters.aspx?lang="+ pageLang + "&ch=10&pg=07";
			break;
		case "one":
			if (pageLang == 'span'){
				if(confirm("Esto es su último intento permisible.  ¿Quiere calificar su prueba ahora?")){
					document.quiz_info.action="quiz_info.aspx?page=05&lang="+pageLang;
					document.quiz_info.submit();
				}
			} else {
				if(confirm("This is your final attempt allowable. Do you want to grade your quiz now?")){
					document.quiz_info.action="quiz_info.aspx?page=05&lang="+pageLang;
					document.quiz_info.submit();
				}
			}
			break;
		case "many":
			if(pageLang == 'span'){
				alertText = "Esto contará como un intento a la prueba.  Usted tiene un número limitado de intentos.  ¿Quiere calificar su prueba ahora?";
			}else{
				alertText ="This will count as a quiz attempt. You have a limited number of attempts. Do you want to grade your quiz now?" 
			}
			if(confirm(alertText)){
				document.quiz_info.action="quiz_info.aspx?page=05&lang="+pageLang;
				document.quiz_info.submit();
			}
			break;
		case "unlimited":
			if(pageLang == 'span'){
				alertText = "Esto contará como un intento a la prueba. ¿Quiere calificar su prueba ahora?";
			}else{
				alertText ="This will count as a quiz attempt. Do you want to grade your quiz now?" 
			}
			if(confirm(alertText)){
				document.quiz_info.action="quiz_info.aspx?page=05&lang="+pageLang;
				document.quiz_info.submit();
			}
			break;
	}
}

function writeScores(){
	var i;
	for(i in scoresArray){
		if(pageLang == 'span'){
			document.write("Prueba " + i + " - " + scoresArray[i] + " / 20<br>");
		}else{
			document.write("Trial " + i + " - " + scoresArray[i] + " / 20<br>");
		}
	}
}

function retakeQuiz(retriesAllowed){
	switch(retriesAllowed){
		case "none":
			if(pageLang == 'span'){
				alert("La opción de tomar la prueba de nuevo no está disponible.  Sus resultados han sido ultimados en su intento anterior.  No se permite volver a tomarla de nuevo.");
			}else{
				alert("Retake Quiz option is not available. Your results have been finalized on your previous attempt. No additional retakes are allowable.");
			}
			window.location = "chapters.aspx?lang="+ pageLang + "&ch=10&pg=07";
			break;
		case "one":
			if(pageLang == 'span'){
				alert("Esto es su último intento permisible.");
			} else {
				alert("This is your final attempt allowable");
			}
			window.location = "chapters.aspx?lang="+ pageLang + "&ch=10&pg=01";
			break;
		case "many":
			if(pageLang == 'span'){
				alert("Se puede tomar la prueba un número limitado de veces.");
			}else{
				alert("Quiz may be taken a limited number of times.");
			}
			window.location = "chapters.aspx?lang="+ pageLang + "&ch=10&pg=01";
			break;
		case "unlimited":
			if(pageLang == 'span'){
				alert("Se puede tomar la prueba un número limitado de veces.");
			}else{
				alert("Quiz may be taken a limited number of times.");
			}
			window.location = "chapters.aspx?lang="+ pageLang + "&ch=10&pg=01";
			break;
	}
}

function finalizeQuiz(){
	if(pageLang == 'span'){
		alertText = "Ultimar la Prueba terminará su habilidad de tomar la prueba de nuevo aún si no ha usado todos sus intentos disponibles.  ¿Quiere continuar?";
	}else{
		alertText ="Finalize Quiz will end your ability to retake the quiz even if you have not used all of your available attempts.  Do you want to continue?" 
	}
	if(confirm(alertText)){
		var xmlHttp;
  	try {    // Firefox, Opera 8.0+, Safari    
		xmlHttp=new XMLHttpRequest();    
		}
	  	catch (e) {    // Internet Explorer    
			try {      
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			}
	    	catch (e){      
				try {        
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
				}
	      	catch (e) {        
					alert("Your browser does not support AJAX!");        
					return false;        
				}      
			}    
		}
	   xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				document.getElementById("langSwitch").innerHTML=xmlHttp.responseText;
			}
	 	}
	
		var url= "finalizequiz.aspx?lang=" + pageLang;	
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
}