function ToggleRows(rowPrefix, name, tablePrefix, yourBank, source)
{
	try
	{
		// Variables.

		var objTableBody = document.getElementById("tr"+ rowPrefix + name + "a");
		var objTableBody2 = document.getElementById("tr"+ rowPrefix  + name + "b");
		var objTableBody3 = document.getElementById("tr"+ rowPrefix  + name + "c");
		var objTableBody4 = document.getElementById("tr"+ rowPrefix  + name + "d");
		var objTableCell = document.getElementById("td"+ rowPrefix + name);
		var objTargetButton = document.getElementById(tablePrefix + "_Repeater1__ctl" + name +"_MoreDetailsButton");

		// Fixes a problem where the .NET Ids generated in dev are different to live.
		if (objTargetButton == null)
		{
			if (parseInt(name, 10) < 10) name = '0' + name;
			objTargetButton = document.getElementById(tablePrefix + "_Repeater1_ctl" + name +"_MoreDetailsButton");
		}
		var strDisplay = ((navigator.userAgent.indexOf("MSIE") == -1 || navigator.userAgent.indexOf("Opera") != -1) ? "table-row" : "block");
		var strButtonValue = "Less Detail";
		
		// Fix for IE rowspan. If you can find a better way of doing this then feel free.
		var rowspan = 5;
		
		if (!document.all)
		{
			rowspan = (rowPrefix == "pp") ? 4 : 5;
		}

		// Toggle Display.
		if (objTargetButton.innerHTML == "Less Detail")
		{
			// Hide.
			strDisplay = "none";
			strButtonValue = "More Detail";
			rowspan = 1;
			objTargetButton.className = "moredetail";
			objTargetButton.title = "Click here for further details about this loan";
		}
		else
		{
			objTargetButton.className = "lessdetail";
			objTargetButton.title = "Click here to hide further details about this loan";
		}

		// Toggle the table.
		if (rowPrefix == "pp" || yourBank == 1)
		{
			objTableBody.style.display = "none";
			objTableBody2.style.display = "none";
		}
		else
		{
			objTableBody.style.display = strDisplay;
			objTableBody2.style.display = strDisplay;
		}
		objTableCell.rowSpan = rowspan;

		objTableBody2.style.display = strDisplay;
		objTableBody3.style.display = strDisplay;
		objTableBody4.style.display = strDisplay;
		
		// Set button Value.
		objTargetButton.innerHTML = strButtonValue;

		// Refresh table display (workaround for a known Firefox display problem).
		var table = document.getElementById("ResultsTable");

		table.style.display = "none";
		table.style.display = "";

		if (source == "MS") {document.getElementById("maincontentnoads").style.height = "";}
	}
	catch( expError )
	{
		alert( expError.number + "   " + expError.description );
	}
}

// Set the credit score bar to the correct length.
function setCreditScore()
{
}

function CreditScoreToSegment(CreditScore)
{
	if(CreditScore <= 360)
		return 4;
	else if(CreditScore <= 408)
		return 3;
	else if(CreditScore <= 427)
		return 2;
	else if(CreditScore <= 464)
		return 1;
	else if(CreditScore > 464)
		return 0;
}

function ResultsPopup(Id)
{
	if (Id == null) Id = -1;
	var popupWidth = 700;
	var popupHeight = 435;
	var Scrolling = 0;
	var popupLeft = (screen.width / 2) - (popupWidth / 2)
	var popupTop = (screen.height / 2) - (popupHeight / 2)
	if (Id > -1) Scrolling = 1;

	var resultsPopup = window.open("ResultsPopup.asp?Id=" + Id, "ResultsPopup", "toolbar=0,scrollbars=" + Scrolling + ",location=0,statusbar=0,menubar=0,resizable=0,width=" + popupWidth + ",height=" + popupHeight + ",left=" + popupLeft + ",top=" + popupTop);
	if (!resultsPopup)
		alert("The popup failed to open - please temporarily disable your popup blocker.");
}

function fixLoanHeight(){
	if (document.getElementById('adsleft')){
		lH = parseInt(document.getElementById('adsleft').offsetHeight);
	}
	else{
		lH = -1
	}
	if (document.getElementById('adsright')){
		rH = parseInt(document.getElementById('adsright').offsetHeight);
	}
	else{
		rH = -1
	}
	
	if (document.getElementById('maincontentnoads'))
	{
	    document.getElementById('maincontentnoads').style.height = '100%'
	    var cH = parseInt(document.getElementById('maincontentnoads').offsetHeight);
	    if (lH > cH || rH > cH){
		    if (lH > rH){
			    document.getElementById('maincontentnoads').style.height = (lH + 2) + 'px';
		    }
		    else{
			    document.getElementById('maincontentnoads').style.height = (rH + 2) + 'px';
		    }
	    }
	}
}

function ToggleFeedback(Id)
{
	var div = document.getElementById("GraphsIndex" + Id);
	if (div)
	{
		feedbackLink = document.getElementById("FeedbackLink" + Id)
		if (div.style.display == "none" || div.style.display == "")
		{
			div.style.display = "block";
			if (feedbackLink) feedbackLink.innerText = "Close";
		} else {
			div.style.display = "none";
			if (feedbackLink) feedbackLink.innerText = "See rates offered & customer service rating";
		}
		fixLoanHeight();
	}
}
