﻿var currentDIV;
var nodeID = 0;

function GetNoteData(NoteID) {
	WebService.GetNotes(NoteID,
	NoteSucceededCallback, NoteFailedCallback);
}

function NoteSucceededCallback(result, eventArgs) {
	var elements = result.split("|");
	for (i = 0; i < elements.length; i = i + 2) {
		randomnumber = (Math.floor(Math.random() * 100001)) + '';
		if (i == 0) {
			var HTMLtabs = "<ul id='tabmenu'><li><a class = 'active' href='#' onclick='SwitchTab(" + randomnumber + ",this);return false;'>" + elements[0] + "</a>";
			var HTMLcontent = "<div id='content'><div id=" + randomnumber + " class='TabContentVisible'>" + elements[1] + "</div>";
		}
		else {
			HTMLtabs += "<li><a href='#' onclick='SwitchTab(" + randomnumber + ",this);return false;'>" + elements[i] + "</a>";
			HTMLcontent += "<div id=" + randomnumber + " class='TabContentHidden'>" + elements[i + 1] + "</div>"
		}
	}
	HTMLtabs += "</ul><a class='BigNoteClose' href='#' onclick='CloseNote(this);return false;'>Close</a>";  
	HTMLcontent += "</div>";
	currentDIV.innerHTML = HTMLtabs + HTMLcontent;
	if (i == 2 && elements[0] == "OpenBible Map") {
		SetUpMap(document.getElementById(randomnumber));
	}
}

function NoteFailedCallback(error) {
	currentDIV.innerHTML = "The site is currently not available." + "<br /><br />" + "Service Error: " + error.get_message();
}

function CloseNote(obj) {
	obj.parentNode.className = "BigNoteHidden";
}

function NoteClicked(SelectedAnchor, NoteID) {
	currentDIV = SelectedAnchor.nextSibling;
	if (currentDIV.className == "BigNoteVisible") {
		currentDIV.className = "BigNoteHidden";
	}
	else {
		if (currentDIV.innerHTML.length > 0) {
			currentDIV.className = "BigNoteVisible";
		}
		else {
			GetNoteData(NoteID);
			currentDIV.className = "BigNoteVisible";
		}
	}
}

function SwitchTab(tabNum,obj)
{
	var currentNode;
	var parentDiv = obj.parentNode.parentNode;
	for (var i = 0, l = parentDiv.childNodes.length; i < l; i++) {
		currentNode = parentDiv.childNodes[i].childNodes[0];
		currentNode.className = "";
  }
	obj.className = "active";
	ActiveContents = document.getElementById(tabNum);
	var Contents = ActiveContents.parentNode;
	for (i = 0, l = Contents.childNodes.length; i < l; i++) {
		currentNode = Contents.childNodes[i];
		currentNode.className = "TabContentHidden";
	}
	ActiveContents.className = "TabContentVisible";
//	if (obj.innerHTML == "OpenBible Map" && ActiveContents.childNodes.length < 2) {
	if (obj.innerHTML == "OpenBible Map") {
		SetUpMap(ActiveContents);
	}
}

function SetUpMap(ActiveContents) {
	if (GBrowserIsCompatible()) {
		var elements = ActiveContents.innerHTML.split("^");
		ActiveContents.innerHTML = "";
		var MapDivA = document.createElement('div');
		ActiveContents.appendChild(MapDivA);
		var MapDivB = document.createElement('div');
		ActiveContents.appendChild(MapDivB);
		MapDivB.style.height = "400px"
		var MapDivC = document.createElement('div');
		ActiveContents.appendChild(MapDivC);
		var Lat = elements[0];
		var Lng = elements[1];
		var CityName = elements[2];
		var Verses = elements[3];
		MapDivA.innerHTML += "<div>Current map showing location of " + CityName + ". Map data from <a href=\"http://www.openbible.info\">OpenBible</a></div>";
		var map = new GMap2(MapDivB);
		map.setMapType(G_SATELLITE_MAP);
		map.setCenter(new GLatLng(Lat, Lng), 9);
		map.setUIToDefault();
		var marker = new GMarker(new GLatLng(Lat, Lng));
		map.addOverlay(marker);
		var html = "<b>" + CityName + "</b><br />Lat: " + Lat + "<br />Lon: " + Lng;
		marker.openInfoWindowHtml(html);
		GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
		MapDivC.innerHTML = "Bible verses referring to " + CityName + " include: " + Verses;
	}
}
