var old_books = new Array("Genesis",    "Exodus",    "Leviticus",    "Numbers",    "Deuteronomy",    "Joshua",    "Judges",    "Ruth",    "1 Samuel",    "2 Samuel",    "1 Kings",    "2 Kings",    "1 Chronicles",    "2 Chronicles",    "Ezra",    "Nehemiah",    "Esther",    "Job",    "Psalm",    "Proverbs",    "Ecclesiastes",    "Song of Solomon",    "Isaiah",    "Jeremiah",    "Lamentations",    "Ezekiel",    "Daniel",    "Hosea",    "Joel",    "Amos",    "Obadiah",    "Jonah",    "Micah",    "Nahum",    "Habakkuk",    "Zephaniah",    "Haggai",    "Zechariah",    "Malachi");
var new_books = new Array("Matthew",    "Mark",    "Luke",    "John",    "Acts",    "Romans",    "1 Corinthians",    "2 Corinthians",    "Galatians",    "Ephesians",    "Philippians",    "Colossians",    "1 Thessalonians",    "2 Thessalonians",    "1 Timothy",    "2 Timothy",    "Titus",    "Philemon",    "Hebrews",    "James",    "1 Peter",    "2 Peter",    "1 John",    "2 John",    "3 John",    "Jude",    "Revelation");

var old_chapters = new Array(50, 40, 27, 36, 34, 24, 21, 4, 31, 24, 22, 25, 29, 36, 10, 13, 10, 42, 150, 31, 12, 8, 66, 52, 5, 48, 12, 14, 3, 9, 1, 4, 7, 3, 3, 3, 2, 14, 4);
var new_chapters = new Array(28, 16, 24, 21, 28, 16, 16, 13, 6, 6, 4, 4, 5, 3, 6, 4, 3, 1, 13, 5, 5, 3, 5, 1, 1, 1, 22);

var passage_url = 'e_bible_passage.htm';
var book_var = 'book';
var ch_var = 'chapter';
var oldT_var = 'isOld';

function getInfoFromString(bookStr)
{
	var bookInfo = new Object;
	bookInfo.name = bookStr;
	
	for(i in old_books)
	{
		if(old_books[i] == bookStr)
		{
			bookInfo.pos = i;
			bookInfo.isOld = true;
			bookInfo.chapters = old_chapters[i];
			return bookInfo;
		}	
	}
	
	for(i in new_books)
	{
		if(new_books[i] == bookStr)
		{
			bookInfo.pos = i;
			bookInfo.isOld = false;
			bookInfo.chapters = new_chapters[i];
			return bookInfo;
		}	
	}

}
function makeTestamentLinks(isOld)
{
  var books;
  var chapters;
  if(isOld)
  {
     books = old_books;
     chapters = old_chapters;
  }
  else
  {
     books = new_books;
     chapters = new_chapters;
  }
  
  document.write('<tr><td class="testament_cell">');
  document.write((isOld ? 'Old Testament' : 'New Testament'));
  document.write('</td><td class="testamentRight_cell"></td></tr>');
  
  for(index in books)
  {
    document.write('<tr>');
    var book = books[index];
    document.write('<td>' + book + '</td>');
    
    document.write('<td class="chapter_cell"><div>');
    for(i = 1; i <= chapters[index]; i++)
    {
      document.write('<a class="passage_link" href="' + passage_url + '?' + book_var + '=' + index + '&' + ch_var + '=' + i + '&' + oldT_var + '=' + isOld + '">' + i + '</a> ');
    }
    document.write('</div></td>');
    
    document.write('</tr>');
  }
}

function makeBibleLinks()
{
  document.write('<table id="bible_links">');
  
  // True if old testament
  makeTestamentLinks(true);
  
  makeTestamentLinks(false);

  document.write('</table>');
}

var xmlhttp;
function writePassage(bookIndex, chapter, isOld)
{
  var book = (isOld == "true") ? old_books[bookIndex] : new_books[bookIndex];
  loadPassage(book, chapter);
}

function loadPassage(book, chapter)
{
  var passage = book.replace(/\s/g, '') + chapter;
  loadXMLDoc("kjv/" + passage + ".txt", book, chapter);
}

function loadXMLDoc(url, book, chapter)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support XMLHTTP!");
  return;
  }
xmlhttp.onreadystatechange=function() { stateChanged(book, chapter) };
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

function stateChanged(book, chapter)
{

if (xmlhttp.readyState==4)
  {
  if (xmlhttp.status==200)
    {
      var passage_div = document.getElementById("passage_div");
      passage_div.innerHTML = '<font size="+1"><strong>' + book + ' ' + chapter + '</strong></font> <br />';
      passage_div.innerHTML = passage_div.innerHTML + xmlhttp.responseText;
      addPassageNavLinks(book, chapter);
    }
  else
    {
    alert("Problem retrieving XML data:" + xmlhttp.statusText);
    }
  }
}

function addPassageNavLinks(book, chapter)
{
	var navLeft_div = document.getElementById("passageNavLeft_div");
	var navRight_div = document.getElementById("passageNavRight_div");
	navLeft_div.innerHTML = "";
	navRight_div.innerHTML = "";	

	if(chapter > 1)
	{
		chapter--;
		navLeft_div.innerHTML = "<span class='link' onclick='loadPassage(\"" + book + "\", " + chapter + ")'>&lt;&lt;" + book + " " + chapter + "</span>";
		chapter++;
	}
	
	var bookInfo = getInfoFromString(book);
	if(chapter < bookInfo.chapters)
	{	
		chapter++;
		navRight_div.innerHTML = "<span class='link' onclick='loadPassage(\"" + book + "\", " + chapter + ")'>" + book + " " + chapter + "&gt;&gt;</span>";
	}
}