// Note: object.className can be used to change class of objects, but then the table class of BorderCellx and so on are lost. 
//	So we use IDs for the visible and hidden cells.

function closeMuscle()
{
	var newID = "muscleCellHidden";
	var x = document.getElementsByTagName('td');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].onclick)
		{
//			x[i].id = newID;
			x[i].className = newID;

		}
	}
}

function closeMuscleID(muscleID)
{
	var newID = "muscleCellHidden";
	var x = document.getElementsByTagName('td');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == muscleID)
		{
//			x[i].id = newID;
			x[i].className = newID;

		}
	}
}


function openMuscle()
{
	var newID = "muscleCell";
	var x = document.getElementsByTagName('td');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].onclick)
		{
//			x[i].id = newID;
			x[i].className = newID;

		}
	}
}

function closeMuscleRandom()
{
	openMuscle();
	var random;

	var newID = "muscleCellHidden";
	var x = document.getElementsByTagName('td');
	for (var i=0;i<x.length;i++)
	{
		if ((x[i].onclick) && (x[i].className != newID))
		{
			random = Math.floor(Math.random() * 10);
//alert(random);
			if (random > 3) //Nik requested 50-75% covered
				{x[i].className = newID;}
		}
	}
}

function clicked(e)
{ 
//	window.alert("You clicked the page element: "+e.srcElement.id);  //IE only.
	//Cross-browser compatibility check
	if (!e) var e = window.event;
	if (e.target) var tg = e.target;
	else if (e.srcElement) var tg = e.srcElement;
	// To limit range of effect
//	if (tg.id == "mycol")
//	{ 
//alert(tg.className);

		//IE converts colour name (eg blue) to hex, but Moz doesn't, so using hex for compatibility
		var newID = (tg.className == 'muscleCellHidden') ? 'muscleCell' : 'muscleCellHidden';
		tg.className = newID;
//		tg.id = newID;

//	} 

}


// --- Not in use ---

function clickMuscle(e) //Updated by author for Safari handling
{
	if (!e) var e = window.event;
	if (e.target) var tg = e.target;
	else if (e.srcElement) var tg = e.srcElement;

	while (tg.nodeName != 'DIV') // Safari GRRRRRRRRRR
		tg = tg.parentNode;

	var nextSib = tg.nextSibling;
	while (nextSib.nodeType != 1)
		nextSib = nextSib.nextSibling;

	var nextSibStatus = (nextSib.style.display == 'none') ? 'block' : 'none';	
	nextSib.style.display = nextSibStatus;


}


// --- Not in use ---
function setMuscle(page,newID) //Author note indicates Some Safari ver / Mac IE 5.2 doesn't support this.
{
	var test = 0;
	if (page)
		test = page.indexOf('#')+1;


	if (test >> 0)
		page = page.substring(0,test-1);
	var x = document.getElementsByTagName('a');
	var i;

//	alert(page.toUpperCase());

	for (i=0;i<x.length;i++)
	{
//		alert(x[i].href.toUpperCase() + "-" + page.toUpperCase());
		if (x[i].href.toUpperCase() == page.toUpperCase())
		{
			if (x[i].className == 'muscleCell')
			{
				x[i].id = newID;
				break;
			}
		}
	}
	if (i < x.length && newID == 'currentPage')
	{
		var parDiv = x[i];
		while (parDiv.parentNode.tagName == 'DIV')
		{
			parDiv = parDiv.parentNode;
			parDiv.style.display = 'block';
		}
	}
}

