diff --git a/DynamicBibleUtility/DynamicBibleApp/js/Bible.js b/DynamicBibleUtility/DynamicBibleApp/js/Bible.js
new file mode 100644
index 00000000..d74c85f3
--- /dev/null
+++ b/DynamicBibleUtility/DynamicBibleApp/js/Bible.js
@@ -0,0 +1,134 @@
+var Bible = (function () {
+ function Bible() {
+ }
+ Bible.DisplayPassage = function (cs, ref, testament) {
+ try {
+ var r = "";
+ for (var j = 0; j < cs.length; j++) {
+ if (Number(ref.startchapter) < Number(ref.endchapter)) {
+ r += "Chapter: " + cs[j].ch + "
";
+ }
+ var vss = cs[j].vss;
+ for (var m = 0; m < vss.length; m++) {
+ var v = vss[m];
+ r += "" + v.v + ". ";
+ for (var w = 0; w < v.w.length; w++) {
+ if (v.w[w].s != undefined) {
+ var strongs_pre = "";
+ if (testament == "old") {
+ strongs_pre = "H";
+ }
+ if (testament == "new") {
+ strongs_pre = "G";
+ }
+ var sp = "";
+ if (v.w[w].t.substr(v.w[w].t.length - 1) == " ") {
+ sp = " ";
+ }
+ r += "" + strongs_pre + v.w[w].s + "" + v.w[w].t.trim() + "" + sp;
+ }
+ else {
+ r += v.w[w].t;
+ }
+ }
+ if ($("#break-on-verses").is(":checked")) {
+ r += "
";
+ }
+ }
+ }
+ var t = $("
" + "" + r + " ");
+ Bible.AttachEvents(t, ref);
+ $("#result").prepend(t);
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ };
+ Bible.GetPassage = function (b, sch, ech, sv, ev) {
+ try {
+ var chapters = []; // the verses from the chapter.
+ var r = {
+ cs: [],
+ testament: ""
+ };
+ for (var i = sch; i <= ech; i++) {
+ var url = "bibles/kjv_strongs/" + b + "-" + i + ".json";
+ $.ajax({
+ async: false,
+ type: "GET",
+ url: url,
+ dataType: "json",
+ success: function (d, t, x) {
+ chapters.push(d);
+ },
+ error: function (request, status, error) {
+ Util.HandleError(error);
+ }
+ });
+ }
+ for (var j = 0; j < chapters.length; j++) {
+ var vss = [];
+ var start;
+ var end;
+ // figure out the start verse.
+ if (j == 0) {
+ start = sv;
+ }
+ else {
+ start = 1;
+ }
+ // figure out the end verse
+ if ((j + 1) == chapters.length) {
+ end = ev;
+ }
+ else {
+ end = "*";
+ }
+ // get the verses requested.
+ var tvs = chapters[j].vss.length;
+ if (end == "*" || end > tvs) {
+ end = tvs;
+ }
+ for (i = start; i <= end; i++) {
+ // we're using c based indexes here, so the index is 1 less than the verse #.
+ vss.push(chapters[j].vss[i - 1]);
+ }
+ r.cs.push({
+ "ch": chapters[j].ch,
+ "vss": vss
+ });
+ }
+ if (b >= 40) {
+ r.testament = "new";
+ }
+ else {
+ r.testament = "old";
+ }
+ return r;
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return null;
+ };
+ Bible.AttachEvents = function (t, ref) {
+ t.find(".hiddenlink").click(function (e) {
+ Util.HandleHiddenLink(e);
+ });
+ t.find(".removeresult").click(function (e) {
+ Util.RemoveResult(e);
+ });
+ t.find(".resultbody h2").tooltip({
+ items: ".resultbody h2",
+ content: function (tt) {
+ }
+ });
+ t.find('.trigger').slidePanel({
+ triggerCss: 'margin-top: 60px; display: block; width: 48px; height: 48px;',
+ panelCss: 'margin-top: 55px; border: 2px solid #666;'
+ });
+ };
+ return Bible;
+}());
+;
+//# sourceMappingURL=Bible.js.map
\ No newline at end of file
diff --git a/DynamicBibleUtility/DynamicBibleApp/js/Bible.js.map b/DynamicBibleUtility/DynamicBibleApp/js/Bible.js.map
new file mode 100644
index 00000000..508a4973
--- /dev/null
+++ b/DynamicBibleUtility/DynamicBibleApp/js/Bible.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Bible.js","sourceRoot":"","sources":["../ts/Bible.ts"],"names":[],"mappings":"AAAA;IAAA;IA0IA,CAAC;IAxIiB,oBAAc,GAA5B,UAA6B,EAAE,EAAE,GAAG,EAAE,SAAS;QAC3C,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACpD,CAAC,IAAI,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC;gBAClD,CAAC;gBACD,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAEf,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;oBAE5B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;4BACxB,IAAI,WAAW,GAAG,EAAE,CAAC;4BACrB,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;gCACrB,WAAW,GAAG,GAAG,CAAC;4BACtB,CAAC;4BACD,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;gCACrB,WAAW,GAAG,GAAG,CAAC;4BACtB,CAAC;4BACD,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gCAC9C,EAAE,GAAG,GAAG,CAAC;4BACb,CAAC;4BACD,CAAC,IAAI,qEAAqE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,mDAAmD,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;wBACrN,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;oBACL,CAAC;oBACD,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACvC,CAAC,IAAI,QAAQ,CAAC;oBAClB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC,yRAAyR,GAAG,0CAA0C,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,WAAW,GAAG,CAAC,GAAG,iCAAiC,CAAC,CAAC;YACjb,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,CACA;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAEa,gBAAU,GAAxB,UAA0B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;QACzC,IAAI,CAAC;YACD,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAC,+BAA+B;YAClD,IAAI,CAAC,GAAG;gBACJ,EAAE,EAAE,EAAE;gBACN,SAAS,EAAE,EAAE;aAChB,CAAC;YAEF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,IAAI,GAAG,GAAG,qBAAqB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC;oBACH,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,KAAK;oBACX,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC;oBACD,KAAK,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE,KAAK;wBACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;iBACJ,CAAC,CAAC;YACP,CAAC;YAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,IAAI,KAAK,CAAC;gBACV,IAAI,GAAG,CAAC;gBAER,8BAA8B;gBAC9B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACT,KAAK,GAAG,EAAE,CAAC;gBACf,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,KAAK,GAAG,CAAC,CAAC;gBACd,CAAC;gBAED,2BAA2B;gBAC3B,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7B,GAAG,GAAG,EAAE,CAAC;gBACb,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,GAAG,GAAG,GAAG,CAAC;gBACd,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBACjC,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC1B,GAAG,GAAG,GAAG,CAAC;gBACd,CAAC;gBAED,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,6EAA6E;oBAC7E,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;gBAED,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;oBACpB,KAAK,EAAE,GAAG;iBACb,CAAC,CAAC;YACP,CAAC;YAED,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACV,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,CAAC,CAAC;QACb,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IAEa,kBAAY,GAA1B,UAA4B,CAAC,EAAE,GAAG;QAC9B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,UAAU,EAAE;YACrB,CAAC;SACJ,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE,8DAA8D;YAC1E,QAAQ,EAAE,2CAA2C;SACxD,CAAC,CAAC;IACP,CAAC;IACL,YAAC;AAAD,CAAC,AA1ID,IA0IC;AAAA,CAAC"}
\ No newline at end of file
diff --git a/DynamicBibleUtility/DynamicBibleApp/js/Util.js b/DynamicBibleUtility/DynamicBibleApp/js/Util.js
new file mode 100644
index 00000000..12f74a4d
--- /dev/null
+++ b/DynamicBibleUtility/DynamicBibleApp/js/Util.js
@@ -0,0 +1,42 @@
+var Util = (function () {
+ function Util() {
+ }
+ Util.HandleLink = function (e) {
+ Search($(e.target).text());
+ Settings.SaveResults();
+ };
+ Util.HandleHiddenLink = function (e) {
+ Search($(e.target).find(".searchvalue").text());
+ Settings.SaveResults();
+ };
+ Util.RemoveResult = function (e) {
+ var ref = $(e.target).parent().parent().children(".resultbody").children("h2").children("a").text();
+ delete CurrentReferences[ref.trim().toLowerCase()];
+ $(e.target).parent().parent().remove();
+ Settings.SaveResults();
+ };
+ Util.HandleError = function (e) {
+ var self = this;
+ // for now we're going to put the error in the main result div.
+ var t = $("
" + e + " ");
+ $("#result").prepend(t);
+ t.find(".removeresult").click(function (e) {
+ self.RemoveResult(e);
+ });
+ return false;
+ };
+ Util.GetUrlVars = function () {
+ // Read a page's GET URL variables and return them as an associative array.
+ var vars = [], hash;
+ var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+ for (var i = 0; i < hashes.length; i++) {
+ hash = hashes[i].split('=');
+ vars.push(hash[0]);
+ vars[hash[0]] = hash[1];
+ }
+ return vars;
+ };
+ return Util;
+}());
+;
+//# sourceMappingURL=Util.js.map
\ No newline at end of file
diff --git a/DynamicBibleUtility/DynamicBibleApp/js/Util.js.map b/DynamicBibleUtility/DynamicBibleApp/js/Util.js.map
new file mode 100644
index 00000000..5ef75ef1
--- /dev/null
+++ b/DynamicBibleUtility/DynamicBibleApp/js/Util.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Util.js","sourceRoot":"","sources":["../ts/Util.ts"],"names":[],"mappings":"AAAA;IAAA;IAwCA,CAAC;IAvCiB,eAAU,GAAxB,UAAyB,CAAQ;QAC7B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAEa,qBAAgB,GAA9B,UAA+B,CAAQ;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAEa,iBAAY,GAA1B,UAA2B,CAAQ;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACpG,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;QACvC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAEa,gBAAW,GAAzB,UAA0B,CAAC;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,+DAA+D;QAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,8MAA8M,GAAG,CAAC,GAAG,iCAAiC,CAAC,CAAC;QAClQ,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IAEa,eAAU,GAAxB;QACI,2EAA2E;QAC3E,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC;QACpB,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1F,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IACL,WAAC;AAAD,CAAC,AAxCD,IAwCC;AAAA,CAAC"}
\ No newline at end of file
diff --git a/DynamicBibleUtility/DynamicBibleApp/js/Words.js b/DynamicBibleUtility/DynamicBibleApp/js/Words.js
new file mode 100644
index 00000000..9dd9cbd0
--- /dev/null
+++ b/DynamicBibleUtility/DynamicBibleApp/js/Words.js
@@ -0,0 +1,462 @@
+var IndexResult = (function () {
+ function IndexResult() {
+ }
+ return IndexResult;
+}());
+var Words = (function () {
+ function Words() {
+ }
+ Words.ConvertResultsToArray = function (r) {
+ try {
+ var results = new Array();
+ $(r).each(function () {
+ results.push([$(this).attr("b"), $(this).attr("ch"), $(this).attr("v")]);
+ });
+ return results;
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return null;
+ };
+ Words.DisplayResults = function (results, q) {
+ try {
+ var txt = "";
+ var t = $(txt);
+ Words.AttachEvents(t);
+ $("#searchresults").html(t.html());
+ $("#searchTotal").html(results.length);
+ return false;
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return null;
+ };
+ Words.FindReferences = function (qry) {
+ try {
+ qry = qry.toLowerCase();
+ var qs = qry.split(" ");
+ var words = this.BuildIndexArray().sort();
+ var results = new Array();
+ // Loop through each query term.
+ for (var i = 0; i < qs.length; i++) {
+ var q = qs[i].replace("'", ""); // we don't included ticks in our words.
+ // For each query term, figure out which xml file it is in, and get it.
+ // getSearchRefs returns an array of references.
+ for (var w = 0; w < words.length; w++) {
+ // If we are at the end of the array, we want to use a different test.
+ if (w == 0) {
+ if (q <= words[w]) {
+ results.unshift(this.GetSearchReferences("index/" + words[w] + "idx.json", q));
+ break;
+ }
+ }
+ else {
+ if (q <= words[w] && q > words[w - 1]) {
+ results.unshift(this.GetSearchReferences("index/" + words[w] + "idx.json", q));
+ break;
+ }
+ }
+ }
+ } // End of loop through query terms
+ // Now we need to test results. If there is more than one item in the array, we need to find the set
+ // that is shared by all of them. IF not, we can just return those refs.
+ if (results.length == 1) {
+ this.DisplayResults(results[0], qry);
+ }
+ else {
+ var shared = this.FindSharedSet(results);
+ if (shared == null) {
+ shared = [];
+ }
+ this.DisplayResults(shared, qry);
+ }
+ return false;
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return null;
+ };
+ Words.GetSearchReferences = function (url, query) {
+ try {
+ // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.
+ var r_1;
+ $.ajax({
+ async: false,
+ type: "GET",
+ url: url,
+ dataType: "json",
+ success: function (d, t, x) {
+ r_1 = d;
+ },
+ error: function (request, status, error) {
+ Util.HandleError(error);
+ }
+ });
+ // find the right word
+ var refs = $.grep(r_1, function (o, i) {
+ return o.word == query;
+ });
+ if (refs.length > 0) {
+ return refs[0].refs;
+ }
+ else {
+ return [];
+ }
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return [];
+ };
+ Words.BuildIndexArray = function () {
+ var words = new Array();
+ words.unshift('abiram');
+ words.unshift('accepteth');
+ words.unshift('acquit');
+ words.unshift('adna');
+ words.unshift('affecteth');
+ words.unshift('aharhel');
+ words.unshift('aijeleth');
+ words.unshift('almug');
+ words.unshift('amiable');
+ words.unshift('ancients');
+ words.unshift('anything');
+ words.unshift('appointeth');
+ words.unshift('areopagus');
+ words.unshift('art');
+ words.unshift('ashteroth');
+ words.unshift('astaroth');
+ words.unshift('availeth');
+ words.unshift('azotus');
+ words.unshift('badness');
+ words.unshift('baptizing');
+ words.unshift('bat');
+ words.unshift('bechorath');
+ words.unshift('beguile');
+ words.unshift('bemoaning');
+ words.unshift('beside');
+ words.unshift('bezek');
+ words.unshift('bitterly');
+ words.unshift('bloodthirsty');
+ words.unshift('bolted');
+ words.unshift('bountifulness');
+ words.unshift('breastplates');
+ words.unshift('broth');
+ words.unshift('bunni');
+ words.unshift('cain');
+ words.unshift('cankered');
+ words.unshift('carry');
+ words.unshift('celebrate');
+ words.unshift('chapel');
+ words.unshift('cheese');
+ words.unshift('chilmad');
+ words.unshift('circumcision');
+ words.unshift('closer');
+ words.unshift('come');
+ words.unshift('communication');
+ words.unshift('concerning');
+ words.unshift('confusion');
+ words.unshift('consummation');
+ words.unshift('convince');
+ words.unshift('couch');
+ words.unshift('covers');
+ words.unshift('crisping');
+ words.unshift('curse');
+ words.unshift('damnable');
+ words.unshift('deacons');
+ words.unshift('decision');
+ words.unshift('defileth');
+ words.unshift('depart');
+ words.unshift('despisest');
+ words.unshift('diblathaim');
+ words.unshift('directly');
+ words.unshift('dishonesty');
+ words.unshift('distracted');
+ words.unshift('dominion');
+ words.unshift('dreamer');
+ words.unshift('dulcimer');
+ words.unshift('eastward');
+ words.unshift('eighteenth');
+ words.unshift('elihoreph');
+ words.unshift('embrace');
+ words.unshift('endeavored');
+ words.unshift('ensign');
+ words.unshift('ephraim');
+ words.unshift('eshtemoa');
+ words.unshift('evening');
+ words.unshift('excellest');
+ words.unshift('extended');
+ words.unshift('fairer');
+ words.unshift('fastings');
+ words.unshift('feign');
+ words.unshift('fight');
+ words.unshift('fishermen');
+ words.unshift('flint');
+ words.unshift('foolishness');
+ words.unshift('forever');
+ words.unshift('forts');
+ words.unshift('fresh');
+ words.unshift('furnish');
+ words.unshift('gallio');
+ words.unshift('gebal');
+ words.unshift('gezrites');
+ words.unshift('girt');
+ words.unshift('goath');
+ words.unshift('government');
+ words.unshift('greeteth');
+ words.unshift('guiltless');
+ words.unshift('haggai');
+ words.unshift('hamstrung');
+ words.unshift('happy');
+ words.unshift('harum');
+ words.unshift('hattush');
+ words.unshift('heard');
+ words.unshift('heir');
+ words.unshift('herbs');
+ words.unshift('hezronites');
+ words.unshift('hivite');
+ words.unshift('honored');
+ words.unshift('hostages');
+ words.unshift('huntest');
+ words.unshift('idalah');
+ words.unshift('impenitent');
+ words.unshift('inferior');
+ words.unshift('insomuch');
+ words.unshift('ira');
+ words.unshift('isuah');
+ words.unshift('jabneh');
+ words.unshift('japhia');
+ words.unshift('jeduthun');
+ words.unshift('jerahmeelites');
+ words.unshift('jew');
+ words.unshift('joined');
+ words.unshift('joy');
+ words.unshift('kadmonites');
+ words.unshift('kid');
+ words.unshift('kneaded');
+ words.unshift('lack');
+ words.unshift('languish');
+ words.unshift('lazarus');
+ words.unshift('legions');
+ words.unshift('libnath');
+ words.unshift('likhi');
+ words.unshift('lock');
+ words.unshift('louder');
+ words.unshift('lysias');
+ words.unshift('magpiash');
+ words.unshift('malchus');
+ words.unshift('marble');
+ words.unshift('mastery');
+ words.unshift('meddle');
+ words.unshift('members');
+ words.unshift('mesech');
+ words.unshift('midian');
+ words.unshift('ministered');
+ words.unshift('mithnite');
+ words.unshift('morasthite');
+ words.unshift('mower');
+ words.unshift('myrtle');
+ words.unshift('naphish');
+ words.unshift('necks');
+ words.unshift('net');
+ words.unshift('noadiah');
+ words.unshift('nursed');
+ words.unshift('occurrent');
+ words.unshift('omnipotent');
+ words.unshift('orchard');
+ words.unshift('outside');
+ words.unshift('owed');
+ words.unshift('palti');
+ words.unshift('partition');
+ words.unshift('paulus');
+ words.unshift('peoples');
+ words.unshift('persecute');
+ words.unshift('phares');
+ words.unshift('pilate');
+ words.unshift('plagues');
+ words.unshift('plentiful');
+ words.unshift('poorer');
+ words.unshift('powerful');
+ words.unshift('presented');
+ words.unshift('prison');
+ words.unshift('promoted');
+ words.unshift('provision');
+ words.unshift('purely');
+ words.unshift('quarter');
+ words.unshift('rahab');
+ words.unshift('ravening');
+ words.unshift('rebuking');
+ words.unshift('refined');
+ words.unshift('release');
+ words.unshift('rent');
+ words.unshift('requirest');
+ words.unshift('return');
+ words.unshift('rezon');
+ words.unshift('riseth');
+ words.unshift('roof');
+ words.unshift('rump');
+ words.unshift('sail');
+ words.unshift('sanctuaries');
+ words.unshift('savors');
+ words.unshift('scorpions');
+ words.unshift('second');
+ words.unshift('sellers');
+ words.unshift('served');
+ words.unshift('shaft');
+ words.unshift('sharaim');
+ words.unshift('shedder');
+ words.unshift('shepho');
+ words.unshift('shimshai');
+ words.unshift('shophan');
+ words.unshift('shuppim');
+ words.unshift('sihor');
+ words.unshift('sippai');
+ words.unshift('slandereth');
+ words.unshift('smelling');
+ words.unshift('softer');
+ words.unshift('sores');
+ words.unshift('sparrows');
+ words.unshift('spoil');
+ words.unshift('staff');
+ words.unshift('steel');
+ words.unshift('stool');
+ words.unshift('stretched');
+ words.unshift('stumblingblocks');
+ words.unshift('suffice');
+ words.unshift('surnamed');
+ words.unshift('swore');
+ words.unshift('take');
+ words.unshift('task');
+ words.unshift('temani');
+ words.unshift('testator');
+ words.unshift('thessalonica');
+ words.unshift('threatening');
+ words.unshift('tie');
+ words.unshift('titus');
+ words.unshift('torments');
+ words.unshift('translation');
+ words.unshift('tributaries');
+ words.unshift('tubal');
+ words.unshift('unchangeable');
+ words.unshift('unlawful');
+ words.unshift('upbraideth');
+ words.unshift('uzza');
+ words.unshift('verily');
+ words.unshift('visage');
+ words.unshift('walk');
+ words.unshift('washing');
+ words.unshift('wayside');
+ words.unshift('wellspring');
+ words.unshift('whisperer');
+ words.unshift('win');
+ words.unshift('withereth');
+ words.unshift('work');
+ words.unshift('wrest');
+ words.unshift('yours');
+ words.unshift('zealously');
+ words.unshift('zetham');
+ words.unshift('zophim');
+ words.unshift('zuzims');
+ return words;
+ };
+ Words.FindSharedSet = function (results) {
+ try {
+ // FindSharedSet takes an array of reference arrays, and figures out which references are shared
+ // by all arrays/sets, then returns a single array of references.
+ for (var j in results) {
+ var refs = results[j];
+ if (refs != null) {
+ for (var i = 0; i < refs.length; i++) {
+ var r = refs[i].split(":");
+ // convert references to single integers.
+ // Book * 100000, Chapter * 1000, Verse remains same, add all together.
+ var ref = parseInt(r[0]) * 100000000;
+ ref = ref + (parseInt(r[1]) * 10000);
+ ref = ref + parseInt(r[2]);
+ results[j][i] = ref;
+ }
+ }
+ else {
+ return null;
+ }
+ }
+ // get the first result
+ var result = results[0];
+ // for each additional result, get the shared set
+ for (i = 1; i < results.length; i++) {
+ result = this.ReturnSharedSet(results[i], result);
+ }
+ // convert the references back into book, chapter and verse.
+ for (i = 0; i < result.length; i++) {
+ ref = result[i];
+ result[i] = (ref / 100000000) + ":" + ((ref % 100000000) / 10000) + ":" + ((ref % 100000000) % 10000);
+ }
+ return result;
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return null;
+ };
+ Words.ReturnSharedSet = function (x, y) {
+ try {
+ ///
+ /// Takes two javascript arrays and returns an array
+ /// containing a set of values shared by arrays.
+ ///
+ // declare iterator
+ var i = 0;
+ // declare terminator
+ var t = (x.length < y.length) ? x.length : y.length;
+ // sort the arrays
+ x.sort(SortNumeric);
+ y.sort(SortNumeric);
+ // in this loop, we remove from the arrays, the
+ // values that aren't shared between them.
+ while (i < t) {
+ if (x[i] == y[i]) {
+ i++;
+ }
+ if (x[i] < y[i]) {
+ x.splice(i, 1);
+ }
+ if (x[i] > y[i]) {
+ y.splice(i, 1);
+ }
+ t = (x.length < y.length) ? x.length : y.length;
+ // we have to make sure to remove any extra values
+ // at the end of an array when we reach the end of
+ // the other.
+ if (t == i && t < x.length) {
+ x.splice(i, x.length - i);
+ }
+ if (t == i && t < y.length) {
+ y.splice(i, x.length - i);
+ }
+ }
+ // we could return y, because at this time, both arrays
+ // are identical.
+ return x;
+ }
+ catch (err) {
+ Util.HandleError(err);
+ }
+ return null;
+ };
+ Words.AttachEvents = function (t) {
+ t.find(".link").click(function (e) {
+ Util.HandleLink(e);
+ });
+ };
+ return Words;
+}());
+;
+//# sourceMappingURL=Words.js.map
\ No newline at end of file
diff --git a/DynamicBibleUtility/DynamicBibleApp/js/Words.js.map b/DynamicBibleUtility/DynamicBibleApp/js/Words.js.map
new file mode 100644
index 00000000..bcb320aa
--- /dev/null
+++ b/DynamicBibleUtility/DynamicBibleApp/js/Words.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Words.js","sourceRoot":"","sources":["../ts/Words.ts"],"names":[],"mappings":"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"}
\ No newline at end of file