var MSIE = navigator.appName.toUpperCase().indexOf("MICROSOFT") > -1; // Determine target browser
var summaryDisplay = true; // The current state of the rank results. Either summary or detail.

// Toggle between summary and detail on a particular row in the rank results
function ToggleDisplay(rowNum)
{
	ToggleDisplay(rowNum, 'T');
}

// Set a particular rank row's display to summary, detail, or the opposite of it's current state
function ToggleDisplay(rowNum, displayType)
{
	try
	{
	    var sumRow = document.getElementById("Summary" + rowNum.toString());
	    var notesRow = document.getElementById("Notes" + rowNum.toString());
		var detailRow = document.getElementById("Detail" + rowNum.toString());
		var displayDetail = false;

		switch (displayType)
		{			
			case 'd':			
			case 'D':
				displayDetail = true;
				break;

			case 's':
			case 'S':
				displayDetail = false;
				break;

			case 't':
			case 'T':
			default:
				displayDetail = detailRow.style.display == "none";
				break;
		}

		if (displayDetail)
		{
		    sumRow.style.display = "none";
		    if (notesRow != null) 
		    {
		        notesRow.style.display = "none";
		    }
			detailRow.style.display = MSIE ? "block" : "table-row";
		}
		else
		{
		    sumRow.style.display = MSIE ? "block" : "table-row";
		    if (notesRow != null) 
		    {
		        notesRow.style.display = MSIE ? "block" : "table-row";
		    }
			detailRow.style.display = "none";
		}
	}
	catch (e)
	{
		alert("An exception occurred in the script. Error name: " + e.name + ". Error message: " + e.message);
	}
}

// Toggle all rows in the rank results
function ToggleAllDisplay(rateResultsTableId)
{
	try
	{
		var toggleType;

		if (summaryDisplay == true)
		{
			 // Switch to detail
			 toggleType = 'D';
			 summaryDisplay = false;
			 document.getElementById("headertoggle").innerHTML = "[-]";
		}
		else
		{
			 // Switch to summary
			 toggleType = 'S';
			 summaryDisplay = true;
			 document.getElementById("headertoggle").innerHTML = "[+]";
		}

		// If there is a "Summary" row then there is a corresponding "Detail" row and a possible "Notes" row
		var i = 0;
		while (document.getElementById("Summary" + i) != null) 
        {
            ToggleDisplay(i, toggleType);
            i++;   
        }
    }
	catch (e)
	{
		alert("An exception occurred in the script. Error name: " + e.name + ". Error message: " + e.message);
	}
}   
