var DefinitionViewType = "cc";

// all translations for this view
var TranslationsList = "kjv,niv,nkjv,ylt";

// Default translation for bible count
var BibleVersion = "kjv";

// Default translation for bible count
var BibleTranslations = "NKJV";

//seleted item text
var ScriptureTitle = "";

//search type
var SearchType = 0; 

//translation list client id
var translationField

//book filter field name
var SelectedItemsList

//search field name
var searchField

//if true update the tree node
var UpdateTree = false;

//get the number of chapters for a given book
function SetBibleVersion(SelectedValue){
	BibleVersion = SelectedValue;
}

//get the number of chapters for a given book
function SetSearchType(SelectedValue){
	SearchType = SelectedValue;
}

//show processing message
function DisplaywProcessingMsg(divAction)
{
	var msgDiv = document.getElementById("processingMessage")
	if (msgDiv != null)
	{
		if (divAction == "shw")
			msgDiv.style.display = 'block';
		else
			msgDiv.style.display = 'none';
	}
}

function setViewType(viewtype)
{
	DefinitionViewType = viewtype;
}

//execute the bible search
function SearchTheBible()
{
	if (CheckSearchString()) 
	{
		//DnnBibleSearch(ByVal SearchString As String, ByVal SelectedBooks As String, ByVal sTranslation As String, ByVal SearchType As Int32)
		var SearchStr = document.getElementById(searchField).value
		var FltrBooks = (SelectedItemsList.value.length == 0) ? "FULL" : SelectedItemsList.value;
		
		//alert(SearchStr + "\n" + FltrBooks + "\n" + BibleVersion + "\n" + SearchType)

		BibleSearchMethods.DnnBibleSearch(SearchStr, FltrBooks, BibleVersion, SearchType, DnnBibleSearch_callback); 
	}
}
//Get a list of scriptures by reference id
function DnnBibleSearch_callback(response)
{
	if (response.error != null)	{
		//error message
		alert("Error. [2001] \n" + response.request.responseText); 
		treexml = '<root id="TestTree"><n id="TestTree_1" txt="Error Node" key="root" tTip="root" imgIdx="0"><n id="TestTree_2" txt="Errors Occured" key="child" tTip="child" imgIdx="0" /></n></root>';
	}
	else	{
		dnn.setVar('TestTree_xml', response.value);
		if(!UpdateTree)
		{
			oTree = dnn.controls.initTree(dnn.dom.getById('TestTree'))
			oTree.defaultJS = "selectLeaf('e.key')";
		}	
		else
		{
			dnn.setVar('TestTree_xml', response.value);
			otree.update();
		}
	}
}

function selectLeaf(title, code) {
	DisplaywProcessingMsg('shw');

	var txCode = code.split("|")
	if (txCode.length == 2)
	{
		ScriptureTitle = txCode[0] + " " + title;
		GetScriptures(txCode[1])
	}
}

//get the number of chapters for a given book
function GetScriptures(scriptures){
	//BibleSearchMethods.GetVerseByRefID(BibleVersion, scriptures, GetVerseByRefID_callback);
	// Execute the request by refid
	BibleSearchMethods.GetVerseListVersioned(TranslationsList, scriptures, GetVerseListVersioned_callback); 
}

//Get a list of scriptures by reference id
function GetVerseByRefID_callback(response)
{
	if (response.error != null)	{
		//error message
		alert("Error. [2001] \n" + response.request.responseText); 
	}
	else	{
	//alert(response.value);
	   //     alert(dsWords.Tables[0].Rows[i].Scripture));
		var dsWords = response.value;
			
		if(dsWords != null)
		{
			wH("divContent", DefinitionViewType, "<b><em>" + dsWords.Tables[0].Rows[0].Bookname + " " + dsWords.Tables[0].Rows[0].Chapter + ":" + dsWords.Tables[0].Rows[0].Verse + "</em></b><BR>" + dsWords.Tables[0].Rows[0].Scripture + "<br><br>" );
		}
		else { 
			alert("Error. [3001] \n" + response.request.responseText); 
		}
	}
}


function GetVerseListVersioned_callback(response)
{
	if (response.error != null)	{
		//error message
		alert("Error. [2001] \n" + response.request.responseText); 
	}
	else
	{ 
		var dsChapters = response.value;
		//BibleTranslations
		if(dsChapters != null && typeof(dsChapters) == "object" && dsChapters.Tables != null)	
		{
			for(var i=0; i < dsChapters.Tables[0].Rows.length; i++)
			{
				//Display the book and chapter information
				wH(dsChapters.Tables[0].Rows[i].Version, DefinitionViewType, dsChapters.Tables[0].Rows[i].TableVerses);
				wH(dsChapters.Tables[0].Rows[i].Version, DefinitionViewType,"<h4 style=\"margin-bottom: 2px;\">" + ScriptureTitle + "</h4>");
			}
			//hide processing message
			DisplaywProcessingMsg('hde');
		}
		else{ 
			alert("Error. [3001] \n" + response.request.responseText); 
		}
	}
}

function CheckSearchString()
{

	if(document.getElementById(searchField).value == "")
	{
		alert("Enter a Search String");
		return false;
	}
	else
	{
		return true;
	}
}