corrected bible parsing errors.

This commit is contained in:
jwall@VAPPRCSN015.vap.local 2011-11-07 10:36:35 -05:00
parent d6e8b6c8d1
commit 9a5d5992fa
3 changed files with 148 additions and 127 deletions

View File

@ -13,15 +13,18 @@
<title>The Bible with Strong's Numbers and Cross References</title> <title>The Bible with Strong's Numbers and Cross References</title>
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.min.js"></script>
<!--<script type="text/javascript" src="js/bible_ref_parsing.js"></script>--> <!--<script type="text/javascript" src="js/bible_ref_parsing.js"></script>-->
<script type="text/javascript" src="js/bible_ref_parsing.min.js"></script> <script type="text/javascript" src="js/bible_ref_parsing.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() $(document).ready(function()
{ {
var tests = [ var tests = [
["acts 1:4 - 2:8", "Acts 1:4 - 2:8"],
["acts 1:4 - 2", "Acts 1:4 - 1:4"],
["john 1:4 - john 2", "John 1:4 - 2:*"], ["john 1:4 - john 2", "John 1:4 - 2:*"],
["john 1 : 4 - john 2", "John 1:4 - 2:*"], ["john 1 : 4 - john 2", "John 1:4 - 2:*"],
["I john 1:4 - I john 2", "1 John 1:4 - 2:*"],
["1 john 1:4 - 1 john 2", "1 John 1:4 - 2:*"], ["1 john 1:4 - 1 john 2", "1 John 1:4 - 2:*"],
["1 john 1 : 4 - john 2", "1 John 1:4 - 2:*"], ["1 john 1 : 4 - 1 john 2", "1 John 1:4 - 2:*"],
["1 john 3 - 1 john 5", "1 John 3:1 - 5:*"], ["1 john 3 - 1 john 5", "1 John 3:1 - 5:*"],
["1 John 1", "1 John 1:1 - 1:*"], ["1 John 1", "1 John 1:1 - 1:*"],
["John 1", "John 1:1 - 1:*"], ["John 1", "John 1:1 - 1:*"],

View File

@ -20,533 +20,547 @@ function Reference(ref)
{ {
ref = ref.toLowerCase().trim(); ref = ref.toLowerCase().trim();
var bibleNames = new Object; var bibleNames = new Object;
var book = ref.substring(0, ref.search(/\s\d/i)); var fbook = ref.substring(0, ref.search(/\w\s+\d/i)+1);
if (book.search(/\b(genesis|gen|ge|gn)\b/i) != -1) if (fbook.search(/\b(genesis|gen|ge|gn)\b/i) != -1)
{ {
this.book = 1; this.book = 1;
this.bookname = "Genesis"; this.bookname = "Genesis";
this.longbookname = "Genesis"; this.longbookname = "Genesis";
this.lastchapter = 50; this.lastchapter = 50;
} }
if (book.search(/\b(exodus|ex|exo|exod|exd)\b/i) != -1) if (fbook.search(/\b(exodus|ex|exo|exod|exd)\b/i) != -1)
{ {
this.book = 2; this.book = 2;
this.bookname = "Exodus"; this.bookname = "Exodus";
this.longbookname = "Exodus"; this.longbookname = "Exodus";
this.lastchapter = 40; this.lastchapter = 40;
} }
if (book.search(/\b(leviticus|lev|le|levi|lv)\b/i) != -1) if (fbook.search(/\b(leviticus|lev|le|levi|lv)\b/i) != -1)
{ {
this.book = 3; this.book = 3;
this.bookname = "Leviticus"; this.bookname = "Leviticus";
this.longbookname = "Leviticus"; this.longbookname = "Leviticus";
this.lastchapter = 27; this.lastchapter = 27;
} }
if (book.search(/\b(numbers|num|nu|numb|number)\b/i) != -1) if (fbook.search(/\b(numbers|num|nu|numb|number)\b/i) != -1)
{ {
this.book = 4; this.book = 4;
this.bookname = "Numbers"; this.bookname = "Numbers";
this.longbookname = "Book_of_Numbers"; this.longbookname = "Book_of_Numbers";
this.lastchapter = 36; this.lastchapter = 36;
} }
if (book.search(/\b(deuteronomy|deut|de|dt|deu)\b/i) != -1) if (fbook.search(/\b(deuteronomy|deut|de|dt|deu)\b/i) != -1)
{ {
this.book = 5; this.book = 5;
this.bookname = "Deuteronomy"; this.bookname = "Deuteronomy";
this.longbookname = "Deuteronomy"; this.longbookname = "Deuteronomy";
this.lastchapter = 34; this.lastchapter = 34;
} }
if (book.search(/\b(joshua|josh|jos)\b/i) != -1) if (fbook.search(/\b(joshua|josh|jos)\b/i) != -1)
{ {
this.book = 6; this.book = 6;
this.bookname = "Joshua"; this.bookname = "Joshua";
this.longbookname = "Book_of_Joshua"; this.longbookname = "Book_of_Joshua";
this.lastchapter = 24; this.lastchapter = 24;
} }
if (book.search(/\b(judges|jud|ju|jdg|judg)\b/i) != -1) if (fbook.search(/\b(judges|jud|ju|jdg|judg)\b/i) != -1)
{ {
this.book = 7; this.book = 7;
this.bookname = "Judges"; this.bookname = "Judges";
this.longbookname = "Book_of_Judges"; this.longbookname = "Book_of_Judges";
this.lastchapter = 21; this.lastchapter = 21;
} }
if (book.search(/\b(ruth|ru)\b/i) != -1) if (fbook.search(/\b(ruth|ru)\b/i) != -1)
{ {
this.book = 8; this.book = 8;
this.bookname = "Ruth"; this.bookname = "Ruth";
this.longbookname = "Book_of_Ruth"; this.longbookname = "Book_of_Ruth";
this.lastchapter = 4; this.lastchapter = 4;
} }
if (book.search(/\b(1|i|1st|first)\s*(samuel|sa|sam|sml)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(samuel|sa|sam|sml)\b/i) != -1)
{ {
this.book = 9; this.book = 9;
this.bookname = "1 Samuel"; this.bookname = "1 Samuel";
this.longbookname = "First_Samuel"; this.longbookname = "First_Samuel";
this.lastchapter = 31; this.lastchapter = 31;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(samuel|sa|sam|sml)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(samuel|sa|sam|sml)\b/i) != -1)
{ {
this.book = 10; this.book = 10;
this.bookname = "2 Samuel"; this.bookname = "2 Samuel";
this.longbookname = "Second_Samuel"; this.longbookname = "Second_Samuel";
this.lastchapter = 24; this.lastchapter = 24;
} }
if (book.search(/\b(1|i|1st|first)\s*(kings|king|kgs|kn|k|ki)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(kings|king|kgs|kn|k|ki)\b/i) != -1)
{ {
this.book = 11; this.book = 11;
this.bookname = "1 Kings"; this.bookname = "1 Kings";
this.longbookname = "First_Kings"; this.longbookname = "First_Kings";
this.lastchapter = 22; this.lastchapter = 22;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(kings|king|kgs|kn|k|ki)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(kings|king|kgs|kn|k|ki)\b/i) != -1)
{ {
this.book = 12; this.book = 12;
this.bookname = "2 Kings"; this.bookname = "2 Kings";
this.longbookname = "Second_Kings"; this.longbookname = "Second_Kings";
this.lastchapter = 25; this.lastchapter = 25;
} }
if (book.search(/\b(1|i|1st|first)\s*(chronicles|chron|ch|chr)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(chronicles|chron|ch|chr)\b/i) != -1)
{ {
this.book = 13; this.book = 13;
this.bookname = "1 Chronicles"; this.bookname = "1 Chronicles";
this.longbookname = "First_Chronicles"; this.longbookname = "First_Chronicles";
this.lastchapter = 29; this.lastchapter = 29;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(chronicles|chron|ch|chr)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(chronicles|chron|ch|chr)\b/i) != -1)
{ {
this.book = 14; this.book = 14;
this.bookname = "2 Chronicles"; this.bookname = "2 Chronicles";
this.longbookname = "Second_Chronicles"; this.longbookname = "Second_Chronicles";
this.lastchapter = 36; this.lastchapter = 36;
} }
if (book.search(/\b(ezra|ez|ezr)\b/i) != -1) if (fbook.search(/\b(ezra|ez|ezr)\b/i) != -1)
{ {
this.book = 15; this.book = 15;
this.bookname = "Ezra"; this.bookname = "Ezra";
this.longbookname = "Book_of_Ezra"; this.longbookname = "Book_of_Ezra";
this.lastchapter = 10; this.lastchapter = 10;
} }
if (book.search(/\b(nehemiah|neh|ne|nehamiah)\b/i) != -1) if (fbook.search(/\b(nehemiah|neh|ne|nehamiah)\b/i) != -1)
{ {
this.book = 16; this.book = 16;
this.bookname = "Nehemiah"; this.bookname = "Nehemiah";
this.longbookname = "Book_of_Nehemiah"; this.longbookname = "Book_of_Nehemiah";
this.lastchapter = 13; this.lastchapter = 13;
} }
if (book.search(/\b(esther|est|es|esth)\b/i) != -1) if (fbook.search(/\b(esther|est|es|esth)\b/i) != -1)
{ {
this.book = 17; this.book = 17;
this.bookname = "Esther"; this.bookname = "Esther";
this.longbookname = "Book_of_Esther"; this.longbookname = "Book_of_Esther";
this.lastchapter = 10; this.lastchapter = 10;
} }
if (book.search(/\b(job|jo|jb)\b/i) != -1) if (fbook.search(/\b(job|jo|jb)\b/i) != -1)
{ {
this.book = 18; this.book = 18;
this.bookname = "Job"; this.bookname = "Job";
this.longbookname = "Book_of_Job"; this.longbookname = "Book_of_Job";
this.lastchapter = 42; this.lastchapter = 42;
} }
if (book.search(/\b(psalms|ps|psa|psalm|psm)\b/i) != -1) if (fbook.search(/\b(psalms|ps|psa|psalm|psm)\b/i) != -1)
{ {
this.book = 19; this.book = 19;
this.bookname = "Psalm"; this.bookname = "Psalm";
this.longbookname = "Psalm"; this.longbookname = "Psalm";
this.lastchapter = 150; this.lastchapter = 150;
} }
if (book.search(/\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\b/i) != -1) if (fbook.search(/\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\b/i) != -1)
{ {
this.book = 20; this.book = 20;
this.bookname = "Proverbs"; this.bookname = "Proverbs";
this.longbookname = "Book_of_Proverbs"; this.longbookname = "Book_of_Proverbs";
this.lastchapter = 31; this.lastchapter = 31;
} }
if (book.search(/\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\b/i) != -1) if (fbook.search(/\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\b/i) != -1)
{ {
this.book = 21; this.book = 21;
this.bookname = "Ecclesiastes"; this.bookname = "Ecclesiastes";
this.longbookname = "Ecclesiastes"; this.longbookname = "Ecclesiastes";
this.lastchapter = 12; this.lastchapter = 12;
} }
if (book.search(/\b(song\sof\ssolomon|song\sof\ssongs|sos|ss|son|so|song|songs)\b/i) != -1) if (fbook.search(/\b(song\sof\ssolomon|song\sof\ssongs|sos|ss|son|so|song|songs)\b/i) != -1)
{ {
this.book = 22; this.book = 22;
this.bookname = "Song of Solomon"; this.bookname = "Song of Solomon";
this.longbookname = "Song_of_Solomon"; this.longbookname = "Song_of_Solomon";
this.lastchapter = 8; this.lastchapter = 8;
} }
if (book.search(/\b(isaiah|is|is|isah|isai|ia)\b/i) != -1) if (fbook.search(/\b(isaiah|is|is|isah|isai|ia)\b/i) != -1)
{ {
this.book = 23; this.book = 23;
this.bookname = "Isaiah"; this.bookname = "Isaiah";
this.longbookname = "Book_of_Isaiah"; this.longbookname = "Book_of_Isaiah";
this.lastchapter = 66; this.lastchapter = 66;
} }
if (book.search(/\b(jerimiah|jeremiah|jer|je|jere)\b/i) != -1) if (fbook.search(/\b(jerimiah|jeremiah|jer|je|jere)\b/i) != -1)
{ {
this.book = 24; this.book = 24;
this.bookname = "Jeremiah"; this.bookname = "Jeremiah";
this.longbookname = "Book_of_Jeremiah"; this.longbookname = "Book_of_Jeremiah";
this.lastchapter = 52; this.lastchapter = 52;
} }
if (book.search(/\b(lamentations|lam|la|lamentation)\b/i) != -1) if (fbook.search(/\b(lamentations|lam|la|lamentation)\b/i) != -1)
{ {
this.book = 25; this.book = 25;
this.bookname = "Lamentations"; this.bookname = "Lamentations";
this.longbookname = "Book_of_Lamentations"; this.longbookname = "Book_of_Lamentations";
this.lastchapter = 5; this.lastchapter = 5;
} }
if (book.search(/\b(ezekiel|eze|ez|ezk|ezek)\b/i) != -1) if (fbook.search(/\b(ezekiel|eze|ez|ezk|ezek)\b/i) != -1)
{ {
this.book = 26; this.book = 26;
this.bookname = "Ezekiel"; this.bookname = "Ezekiel";
this.longbookname = "Book_of_Ezekiel"; this.longbookname = "Book_of_Ezekiel";
this.lastchapter = 48; this.lastchapter = 48;
} }
if (book.search(/\b(daniel|dan|dn|dl|da)\b/i) != -1) if (fbook.search(/\b(daniel|dan|dn|dl|da)\b/i) != -1)
{ {
this.book = 27; this.book = 27;
this.bookname = "Daniel"; this.bookname = "Daniel";
this.longbookname = "Book_of_Daniel"; this.longbookname = "Book_of_Daniel";
this.lastchapter = 12; this.lastchapter = 12;
} }
if (book.search(/\b(hosea|hos|ho)\b/i) != -1) if (fbook.search(/\b(hosea|hos|ho)\b/i) != -1)
{ {
this.book = 28; this.book = 28;
this.bookname = "Hosea"; this.bookname = "Hosea";
this.longbookname = "Book_of_Hosea"; this.longbookname = "Book_of_Hosea";
this.lastchapter = 14; this.lastchapter = 14;
} }
if (book.search(/\b(joel|joe|jl)\b/i) != -1) if (fbook.search(/\b(joel|joe|jl)\b/i) != -1)
{ {
this.book = 29; this.book = 29;
this.bookname = "Joel"; this.bookname = "Joel";
this.longbookname = "Book_of_Joel"; this.longbookname = "Book_of_Joel";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(amos|am|amo)\b/i) != -1) if (fbook.search(/\b(amos|am|amo)\b/i) != -1)
{ {
this.book = 30; this.book = 30;
this.bookname = "Amos"; this.bookname = "Amos";
this.longbookname = "Book_of_Amos"; this.longbookname = "Book_of_Amos";
this.lastchapter = 9; this.lastchapter = 9;
} }
if (book.search(/\b(obadiah|oba|ob|obad)\b/i) != -1) if (fbook.search(/\b(obadiah|oba|ob|obad)\b/i) != -1)
{ {
this.book = 31; this.book = 31;
this.bookname = "Obadiah"; this.bookname = "Obadiah";
this.longbookname = "Book_of_Obadiah"; this.longbookname = "Book_of_Obadiah";
this.lastchapter = 1; this.lastchapter = 1;
} }
if (book.search(/\b(jonah|jnh|jon)\b/i) != -1) if (fbook.search(/\b(jonah|jnh|jon)\b/i) != -1)
{ {
this.book = 32; this.book = 32;
this.bookname = "Jonah"; this.bookname = "Jonah";
this.longbookname = "Book_of_Jonah"; this.longbookname = "Book_of_Jonah";
this.lastchapter = 4; this.lastchapter = 4;
} }
if (book.search(/\b(micah|mic|mi)\b/i) != -1) if (fbook.search(/\b(micah|mic|mi)\b/i) != -1)
{ {
this.book = 33; this.book = 33;
this.bookname = "Micah"; this.bookname = "Micah";
this.longbookname = "Book_of_Micah"; this.longbookname = "Book_of_Micah";
this.lastchapter = 7; this.lastchapter = 7;
} }
if (book.search(/\b(nahum|nah|na)\b/i) != -1) if (fbook.search(/\b(nahum|nah|na)\b/i) != -1)
{ {
this.book = 34; this.book = 34;
this.bookname = "Nahum"; this.bookname = "Nahum";
this.longbookname = "Book_of_Nahum"; this.longbookname = "Book_of_Nahum";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(habakkuk|hab|ha|habakuk)\b/i) != -1) if (fbook.search(/\b(habakkuk|hab|ha|habakuk)\b/i) != -1)
{ {
this.book = 35; this.book = 35;
this.bookname = "Habakkuk"; this.bookname = "Habakkuk";
this.longbookname = "Book_of_Habakkuk"; this.longbookname = "Book_of_Habakkuk";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(zephaniah|zeph|zep)\b/i) != -1) if (fbook.search(/\b(zephaniah|zeph|zep)\b/i) != -1)
{ {
this.book = 36; this.book = 36;
this.bookname = "Zephaniah"; this.bookname = "Zephaniah";
this.longbookname = "Book_of_Zephaniah"; this.longbookname = "Book_of_Zephaniah";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(haggia|hag|hg|haggai)\b/i) != -1) if (fbook.search(/\b(haggia|hag|hg|haggai)\b/i) != -1)
{ {
this.book = 37; this.book = 37;
this.bookname = "Haggai"; this.bookname = "Haggai";
this.longbookname = "Book_of_Haggai"; this.longbookname = "Book_of_Haggai";
this.lastchapter = 2; this.lastchapter = 2;
} }
if (book.search(/\b(zechariah|zech|zch|zec)\b/i) != -1) if (fbook.search(/\b(zechariah|zech|zch|zec)\b/i) != -1)
{ {
this.book = 38; this.book = 38;
this.bookname = "Zechariah"; this.bookname = "Zechariah";
this.longbookname = "Book_of_Zechariah"; this.longbookname = "Book_of_Zechariah";
this.lastchapter = 14; this.lastchapter = 14;
} }
if (book.search(/\b(malachi|mal)\b/i) != -1) if (fbook.search(/\b(malachi|mal)\b/i) != -1)
{ {
this.book = 39; this.book = 39;
this.bookname = "Malachi"; this.bookname = "Malachi";
this.longbookname = "Book_of_Malachi"; this.longbookname = "Book_of_Malachi";
this.lastchapter = 4; this.lastchapter = 4;
} }
if (book.search(/\b(matthew|mt|matt|mat)\b/i) != -1) if (fbook.search(/\b(matthew|mt|matt|mat)\b/i) != -1)
{ {
this.book = 40; this.book = 40;
this.bookname = "Matthew"; this.bookname = "Matthew";
this.longbookname = "Gospel_of_Matthew"; this.longbookname = "Gospel_of_Matthew";
this.lastchapter = 28; this.lastchapter = 28;
} }
if (book.search(/\b(mark|mrk|mk|mr)\b/i) != -1) if (fbook.search(/\b(mark|mrk|mk|mr)\b/i) != -1)
{ {
this.book = 41; this.book = 41;
this.bookname = "Mark"; this.bookname = "Mark";
this.longbookname = "Gospel_of_Mark"; this.longbookname = "Gospel_of_Mark";
this.lastchapter = 16; this.lastchapter = 16;
} }
if (book.search(/\b(luke|lu|lke|luk|lk)\b/i) != -1) if (fbook.search(/\b(luke|lu|lke|luk|lk)\b/i) != -1)
{ {
this.book = 42; this.book = 42;
this.bookname = "Luke"; this.bookname = "Luke";
this.longbookname = "Gospel_of_Luke"; this.longbookname = "Gospel_of_Luke";
this.lastchapter = 24; this.lastchapter = 24;
} }
if (book.search(/\b(john|jn|jhn)\b/i) != -1) if (fbook.search(/\b(john|jn|jhn)\b/i) != -1)
{ {
this.book = 43; this.book = 43;
this.bookname = "John"; this.bookname = "John";
this.longbookname = "Gospel_of_John"; this.longbookname = "Gospel_of_John";
this.lastchapter = 21; this.lastchapter = 21;
} }
if (book.search(/\b(acts|ac|act)\b/i) != -1) if (fbook.search(/\b(acts|ac|act)\b/i) != -1)
{ {
this.book = 44; this.book = 44;
this.bookname = "Acts"; this.bookname = "Acts";
this.longbookname = "Acts_of_the_Apostles"; this.longbookname = "Acts_of_the_Apostles";
this.lastchapter = 28; this.lastchapter = 28;
} }
if (book.search(/\b(romans|rom|ro|rm|roman)\b/i) != -1) if (fbook.search(/\b(romans|rom|ro|rm|roman)\b/i) != -1)
{ {
this.book = 45; this.book = 45;
this.bookname = "Romans"; this.bookname = "Romans";
this.longbookname = "Epistle_to_the_Romans"; this.longbookname = "Epistle_to_the_Romans";
this.lastchapter = 16; this.lastchapter = 16;
} }
if (book.search(/\b(1|i|1st|first)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i) != -1)
{ {
this.book = 46; this.book = 46;
this.bookname = "1 Corinthians"; this.bookname = "1 Corinthians";
this.longbookname = "First_Epistle_to_the_Corinthians"; this.longbookname = "First_Epistle_to_the_Corinthians";
this.lastchapter = 16; this.lastchapter = 16;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i) != -1)
{ {
this.book = 47; this.book = 47;
this.bookname = "2 Corinthians"; this.bookname = "2 Corinthians";
this.longbookname = "Second_Epistle_to_the_Corinthians"; this.longbookname = "Second_Epistle_to_the_Corinthians";
this.lastchapter = 13; this.lastchapter = 13;
} }
if (book.search(/\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\b/i) != -1) if (fbook.search(/\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\b/i) != -1)
{ {
this.book = 48; this.book = 48;
this.bookname = "Galatians"; this.bookname = "Galatians";
this.longbookname = "Epistle_to_the_Galatians"; this.longbookname = "Epistle_to_the_Galatians";
this.lastchapter = 6; this.lastchapter = 6;
} }
if (book.search(/\b(ephesians|eph|ep|ephes|ephe|ephs)\b/i) != -1) if (fbook.search(/\b(ephesians|eph|ep|ephes|ephe|ephs)\b/i) != -1)
{ {
this.book = 49; this.book = 49;
this.bookname = "Ephesians"; this.bookname = "Ephesians";
this.longbookname = "Epistle_to_the_Ephesians"; this.longbookname = "Epistle_to_the_Ephesians";
this.lastchapter = 6; this.lastchapter = 6;
} }
if (book.search(/\b(philippians|phi|phil|ph|philip)\b/i) != -1) if (fbook.search(/\b(philippians|phi|phil|ph|philip)\b/i) != -1)
{ {
this.book = 50; this.book = 50;
this.bookname = "Philippians"; this.bookname = "Philippians";
this.longbookname = "Epistle_to_the_Philippians"; this.longbookname = "Epistle_to_the_Philippians";
this.lastchapter = 4; this.lastchapter = 4;
} }
if (book.search(/\b(colossians|col|co|colossian|colos|coloss)\b/i) != -1) if (fbook.search(/\b(colossians|col|co|colossian|colos|coloss)\b/i) != -1)
{ {
this.book = 51; this.book = 51;
this.bookname = "Colossians"; this.bookname = "Colossians";
this.longbookname = "Epistle_to_the_Colossians"; this.longbookname = "Epistle_to_the_Colossians";
this.lastchapter = 4; this.lastchapter = 4;
} }
if (book.search(/\b(1|i|1st|first)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i) != -1)
{ {
this.book = 52; this.book = 52;
this.bookname = "1 Thessalonians"; this.bookname = "1 Thessalonians";
this.longbookname = "First_Epistle_to_the_Thessalonians"; this.longbookname = "First_Epistle_to_the_Thessalonians";
this.lastchapter = 5; this.lastchapter = 5;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i) != -1)
{ {
this.book = 53; this.book = 53;
this.bookname = "2 Thessalonians"; this.bookname = "2 Thessalonians";
this.longbookname = "Second_Epistle_to_the_Thessalonians"; this.longbookname = "Second_Epistle_to_the_Thessalonians";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(1|i|1st|first)\s*(timothy|tim|ti|timoth|tm)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(timothy|tim|ti|timoth|tm)\b/i) != -1)
{ {
this.book = 54; this.book = 54;
this.bookname = "1 Timothy"; this.bookname = "1 Timothy";
this.longbookname = "First_Epistle_to_Timothy"; this.longbookname = "First_Epistle_to_Timothy";
this.lastchapter = 6; this.lastchapter = 6;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(timothy|tim|timoth|tm)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(timothy|tim|timoth|tm)\b/i) != -1)
{ {
this.book = 55; this.book = 55;
this.bookname = "2 Timothy"; this.bookname = "2 Timothy";
this.longbookname = "Second_Epistle_to_Timothy"; this.longbookname = "Second_Epistle_to_Timothy";
this.lastchapter = 4; this.lastchapter = 4;
} }
if (book.search(/\b(titus|tit)\b/i) != -1) if (fbook.search(/\b(titus|tit)\b/i) != -1)
{ {
this.book = 56; this.book = 56;
this.bookname = "Titus"; this.bookname = "Titus";
this.longbookname = "Epistle_to_Titus"; this.longbookname = "Epistle_to_Titus";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(philemon|phlmn|phl|phm|phile|philem)\b/i) != -1) if (fbook.search(/\b(philemon|phlmn|phl|phm|phile|philem)\b/i) != -1)
{ {
this.book = 57; this.book = 57;
this.bookname = "Philemon"; this.bookname = "Philemon";
this.longbookname = "Epistle_to_Philemon"; this.longbookname = "Epistle_to_Philemon";
this.lastchapter = 1; this.lastchapter = 1;
} }
if (book.search(/\b(hebrews|heb|he|hebrew)\b/i) != -1) if (fbook.search(/\b(hebrews|heb|he|hebrew)\b/i) != -1)
{ {
this.book = 58; this.book = 58;
this.bookname = "Hebrews"; this.bookname = "Hebrews";
this.longbookname = "Epistle_to_the_Hebrews"; this.longbookname = "Epistle_to_the_Hebrews";
this.lastchapter = 13; this.lastchapter = 13;
} }
if (book.search(/\b(james|jam|ja|jas|jms|jame|jm)\b/i) != -1) if (fbook.search(/\b(james|jam|ja|jas|jms|jame|jm)\b/i) != -1)
{ {
this.book = 59; this.book = 59;
this.bookname = "James"; this.bookname = "James";
this.longbookname = "Epistle_of_James"; this.longbookname = "Epistle_of_James";
this.lastchapter = 5; this.lastchapter = 5;
} }
if (book.search(/\b(1|i|1st|first)\s*(peter|pe|pet|pete|pt|p)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(peter|pe|pet|pete|pt|p)\b/i) != -1)
{ {
this.book = 60; this.book = 60;
this.bookname = "1 Peter"; this.bookname = "1 Peter";
this.longbookname = "First_Epistle_of_Peter"; this.longbookname = "First_Epistle_of_Peter";
this.lastchapter = 5; this.lastchapter = 5;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(peter|pe|pet|pete|pt|p)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(peter|pe|pet|pete|pt|p)\b/i) != -1)
{ {
this.book = 61; this.book = 61;
this.bookname = "2 Peter"; this.bookname = "2 Peter";
this.longbookname = "Second_Epistle_of_Peter"; this.longbookname = "Second_Epistle_of_Peter";
this.lastchapter = 3; this.lastchapter = 3;
} }
if (book.search(/\b(1|i|1st|first)\s*(john|jn|jo)\b/i) != -1) if (fbook.search(/\b(1|i|1st|first)\s*(john|jn|jo)\b/i) != -1)
{ {
this.book = 62; this.book = 62;
this.bookname = "1 John"; this.bookname = "1 John";
this.longbookname = "First_Epistle_of_John"; this.longbookname = "First_Epistle_of_John";
this.lastchapter = 5; this.lastchapter = 5;
} }
if (book.search(/\b(2|ii|2nd|second|sec)\s*(john|jn|jo)\b/i) != -1) if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(john|jn|jo)\b/i) != -1)
{ {
this.book = 63; this.book = 63;
this.bookname = "2 John"; this.bookname = "2 John";
this.longbookname = "Second_Epistle_of_John"; this.longbookname = "Second_Epistle_of_John";
this.lastchapter = 1; this.lastchapter = 1;
} }
if (book.search(/\b(3|iii|3rd|third)\s*(john|jn|jo)\b/i) != -1) if (fbook.search(/\b(3|iii|3rd|third)\s*(john|jn|jo)\b/i) != -1)
{ {
this.book = 64; this.book = 64;
this.bookname = "3 John"; this.bookname = "3 John";
this.longbookname = "Third_Epistle_of_John"; this.longbookname = "Third_Epistle_of_John";
this.lastchapter = 1; this.lastchapter = 1;
} }
if (book.search(/\b(jude|jud|ju)\b/i) != -1) if (fbook.search(/\b(jude|jud|ju)\b/i) != -1)
{ {
this.book = 65; this.book = 65;
this.bookname = "Jude"; this.bookname = "Jude";
this.longbookname = "Epistle_of_Jude"; this.longbookname = "Epistle_of_Jude";
this.lastchapter = 1; this.lastchapter = 1;
} }
if (book.search(/\b(revelation|rev|re|revelations|rv)\b/i) != -1) if (fbook.search(/\b(revelation|rev|re|revelations|rv)\b/i) != -1)
{ {
this.book = 66; this.book = 66;
this.bookname = "Revelation"; this.bookname = "Revelation";
this.longbookname = "Book_of_Revelations"; this.longbookname = "Book_of_Revelations";
this.lastchapter = 22; this.lastchapter = 22;
} }
var rexp = new RegExp(fbook, "gi");
var secondbook = ref.match(rexp);
// first, remove the book from the ref.
ref = ref.replace(rexp, "").trim();
// ok. we're going to deal with any of the following types of refernces: // ok. we're going to deal with any of the following types of refernces:
/* /*
book 1-2 1:1 - 2:3 // chapter/verse range.
1:1 -2 // chapter/verse range. this one is special, because its indistinguisable from book 1:1 - book 2 when you remove the book, which i do. i'm ok with this.
book 1 - book 2 1-2 // chapter range
1 // chapter
book 1:1-2 2:1 // verse
2:1 - 2:3 // verse range
book 1:1
*/ */
// first, see if we're dealing with a range.
// book 1-2 or book 1 - book 2 if (ref.match(/\-/) != null)
var reg1 = /^\d*\s*(\w+) (\d+)\s*\-\s*\d*\s*\w*\s*(\d+)$/i;
var reg2 = /^\d*\s*(\w+) (\d+)\s*\:\s*(\d+)\s*\-\s*\d*\s*\w+ (\d+)\s*\:\s*(\d+)\s*$/i;
var reg3 = /^\d*\s*(\w+) (\d+)\s*\:\s*(\d+)\s*\-\s*(\d+)\s*$/i;
var reg4 = /^\d*\s*(\w+) (\d+)\s*\:\s*(\d+)\s*$/i;
var reg5 = /^\d*\s*(\w+) (\d+)\s*$/i;
var reg6 = /^\d*\s*(\w+) (\d+)\s*\:\s*(\d+)\s*\-\s*\d*\s*\w+ (\d+)\s*$/i;
if (ref.match(reg1) != null)
{ {
this.startchapter = RegExp.$2; var sref = ref.split("-")[0].trim();
this.endchapter = RegExp.$3; var eref = ref.split("-")[1].trim();
this.startverse = 1;
this.endverse = "*"; // if a colon is found, then its a chapter verse combo.
if (sref.match(/\:/) != null)
{
this.startchapter = sref.split(":")[0].trim();
this.startverse = sref.split(":")[1].trim();
}
else
{
// no : was found, must be whole chapter.
this.startchapter = sref.trim();
this.startverse = 1;
}
// if a colon is found, then its a chapter verse combo.
if (eref.match(/\:/) != null)
{
this.endchapter = eref.split(":")[0].trim();
this.endverse = eref.split(":")[1].trim();
}
else
{
// no : was found, must be whole chapter or a verse range. test secondbook array to find out.
if (secondbook.length == 2 || sref.match(/\:/) == null)
{
// chapter range.
this.endchapter = eref.trim();
this.endverse = "*";
}
else
{
// verse range.
this.endchapter = this.startchapter;
this.endverse = eref.trim();
}
}
}
else
{
// if no - was found, then the ref can only be a single chapter or single verse.
if (ref.match(/\:/) != null)
{
this.startchapter = ref.split(":")[0].trim();
this.endchapter = ref.split(":")[0].trim();
this.startverse = ref.split(":")[1].trim(); ;
this.endverse = ref.split(":")[1].trim(); ;
}
else
{
// no : was found, must be whole chapter.
this.startchapter = ref.trim();
this.endchapter = ref.trim();
this.startverse = 1;
this.endverse = "*";
}
} }
else if (ref.match(reg2) != null)
{
this.startchapter = RegExp.$2;
this.startverse = RegExp.$3;
this.endchapter = RegExp.$4;
this.endverse = RegExp.$5;
}
else if (ref.match(reg3) != null)
{
this.startchapter = RegExp.$2;
this.endchapter = RegExp.$2;
this.startverse = RegExp.$3;
this.endverse = RegExp.$4;
}
else if (ref.match(reg4) != null)
{
this.startchapter = RegExp.$2;
this.endchapter = RegExp.$2;
this.startverse = RegExp.$3;
this.endverse = RegExp.$3;
}
else if (ref.match(reg5) != null)
{
this.startchapter = RegExp.$2;
this.endchapter = RegExp.$2;
this.startverse = 1;
this.endverse = "*";
}
else if (ref.match(reg6) != null)
{
this.startchapter = RegExp.$2;
this.endchapter = RegExp.$4;
this.startverse = RegExp.$3;
this.endverse = "*";
}
// make sure you don't return an invalid chapter. // make sure you don't return an invalid chapter.
if (this.endchapter > this.lastchapter) if (this.endchapter > this.lastchapter)
{ {
@ -556,6 +570,10 @@ function Reference(ref)
{ {
this.startchapter = this.endchapter; this.startchapter = this.endchapter;
} }
if (this.startchapter == this.endchapter && this.startverse > this.endverse)
{
this.endverse = this.startverse;
}
} }
function bookName(booknum) function bookName(booknum)

File diff suppressed because one or more lines are too long