var xmlHttp;
var xmlHttp2;
var currentsong;
var setfocus;

function check_for_anchor()
{
	if (location.hash.length > 1)
	{
		var song = location.hash.substr(1).toLowerCase();
		var letter = ' ';
		for (var i=0; i<song.length; i++)
		{
			letter = song.charAt(i);
			if (letter <= 'z' && letter >= 'a')
				break;
			if (letter <= '9' && letter >= '0')
			{
				letter = '0';
				break;
			}
		}
		show_letter(letter);
		show_voxdata(song, 'sharp');
		setfocus = true;
	}
}

function show_letter(letter)
{
	if (window.XMLHttpRequest)
	{
		xmlHttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		document.getElementById("letter_display").innerHTML = "Your browser doesn't appear to support AJAX.";
		return;
	}
	xmlHttp.onreadystatechange = getletter_callback;
	xmlHttp.open("GET", "letter_" + letter + ".html", true);
	xmlHttp.send(null);
}

function getletter_callback()
{
	if (xmlHttp.readyState == 4)
	{
		document.getElementById("letter_display").innerHTML = xmlHttp.responseText;
	}
}

function show_voxdata(songname, sharporflat)
{
	if (songname == null)
	{
		if (currentsong != null)
		{
			songname = currentsong;
		}
		else
		{
			return;
		}
	}
	else
	{
		currentsong = songname;
	}
	if (window.XMLHttpRequest)
	{
		xmlHttp2 = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		xmlHttp2 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		document.getElementById("song_display").innerHTML = "Your browser doesn't appear to support AJAX.";
		return;
	}
	xmlHttp2.onreadystatechange = getvoxdata_callback;
	xmlHttp2.open("GET", "song_" + songname + "_" + sharporflat + ".html", true);
	xmlHttp2.send(null);
	document.getElementById("toggle_info_link").innerHTML = "Show Info";
	document.getElementById("toggle_sharpflat_link").innerHTML = (sharporflat == "flat" ? "use sharps" : "use flats");
}

function getvoxdata_callback()
{
	if (xmlHttp2.readyState == 4)
	{
		document.getElementById("song_display").innerHTML = xmlHttp2.responseText;
		if (setfocus)
		{
			setfocus = false;
			location.hash = "#display";
		}
	}
}

function toggle_info()
{
	var toggleLink = document.getElementById("toggle_info_link");
	if (toggleLink.innerHTML == "Show Info")
	{
		var infoElements = document.getElementsByTagName("th");
		for (var i=0; i<infoElements.length; i++)
		{
			infoElements[i].className = "infoshow";
		}
		toggleLink.innerHTML = "Hide Info";
	}
	else if (toggleLink.innerHTML == "Hide Info")
	{
		var infoElements = document.getElementsByTagName("th");
		for (var i=0; i<infoElements.length; i++)
		{
			infoElements[i].className = "info";
		}
		toggleLink.innerHTML = "Show Info";
	}
}

function toggle_sharpflat()
{
	var toggleLink = document.getElementById("toggle_sharpflat_link");
	if (toggleLink.innerHTML == "use flats")
	{
		show_voxdata(null, "flat");
	}
	else if (toggleLink.innerHTML == "use sharps")
	{
		show_voxdata(null, "sharp");
	}
}

