// assigning of event handlers
window.onload = window_load;

function window_load(e)
{
	switch ($('hidPageMode').value)
	{
		case "-1":    // "Error during initialization"
			break;
		case "0":    // "Rates are not available"
			break;
		case "1":    // "Read only"
			displayRates();
			break;
	}

	eval($('hidJs').value);
}

function displayRates()
{
	var xmlStrRates = $('hidRates').value;
	xmlStrRates = xmlStrRates.replace(/\&lt;/g, '<');
	xmlStrRates = xmlStrRates.replace(/\&gt;/g, '>');
	xmlStrRates = xmlStrRates.replace(/\&quot;/g, '"');
	xmlStrRates = xmlStrRates.replace(/\&amp;/g, '&');

	if (xmlStrRates == '')
		return;

	var xmlDoc;

	if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.loadXML(xmlStrRates);
	}
	else if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
		var oParser = new DOMParser();
		xmlDoc = oParser.parseFromString(xmlStrRates, 'text/xml');
	}

	$('lblRatesDate').innerHTML = xmlDoc.documentElement.getAttribute('date');
	$('lblRatesDate').style.display = '';

	// personal
	var personal = xmlDoc.getElementsByTagName('personal')[0];
	var aPSections = personal.getElementsByTagName('section');

	// business
	var business = xmlDoc.getElementsByTagName('business')[0];
	var aBSections = business.getElementsByTagName('section');

	// CD rates
	var cdRates = xmlDoc.getElementsByTagName('cdrates')[0];

	// personal, section 1
	var tblPersonalSection1 = $('tblPersonalSection1');
	var aLinesP1 = aPSections[0].getElementsByTagName('line');
	fillSection(tblPersonalSection1, aLinesP1, 'p1');

	// personal, section 2
	var tblPersonalSection2 = $('tblPersonalSection2');
	var aLinesP2 = aPSections[1].getElementsByTagName('line');
	fillSection(tblPersonalSection2, aLinesP2, 'p2');

	// business, section 1
	var tblBusinessSection1 = $('tblBusinessSection1');
	var aLinesB1 = aBSections[0].getElementsByTagName('line');
	fillSection(tblBusinessSection1, aLinesB1, 'b1');

	// business, section 2
	var tblBusinessSection2 = $('tblBusinessSection2');
	var aLinesB2 = aBSections[1].getElementsByTagName('line');
	fillSection(tblBusinessSection2, aLinesB2, 'b2');

	// CD rates
	var tblSection3 = $('tblSection3');
	var aLinesS3 = cdRates.getElementsByTagName('line');
	fillCdSection(tblSection3, aLinesS3, 'cd');
}

function fillSection(pTable, pXmlLines, pIdPrefix)
{
	var rowsCount = pTable.rows.length - 2;
	for (var i = 0; i < rowsCount; i++)
		pTable.deleteRow(1);

	for (var i = 0; i < pXmlLines.length; i++)
	{
		var tr = pTable.insertRow(i + 1);

		var td = tr.insertCell(0);
		var span;

		td.appendChild(document.createTextNode('Balances '));
		td.appendChild(document.createTextNode('$'));

		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_1';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('range_f')));
		td.appendChild(span);

		if (pXmlLines[i].getAttribute('range_t') == '')
		{
			span = document.createElement('span');
			span.appendChild(document.createTextNode(' and Above '));
			td.appendChild(span);
		}


		span = document.createElement('span');
		span.className = 'showonedit';
		span.appendChild(document.createTextNode(' - $'));
		if (pXmlLines[i].getAttribute('range_t') == '')
			span.style.display = 'none';
		td.appendChild(span);

		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_2';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('range_t')));
		if (pXmlLines[i].getAttribute('range_t') == '')
			span.style.display = 'none';
		td.appendChild(span);

		td = tr.insertCell(1);
		td.className = 'acenter';

		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_3';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('rate')));
		td.appendChild(span);

		td = tr.insertCell(2);
		td.className = 'acenter';

		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_4';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('apy')));
		td.appendChild(span);
	}
}

function fillCdSection(pTable, pXmlLines, pIdPrefix)
{
	var rowsCount = pTable.rows.length - 3;
	for (var i = 0; i < rowsCount; i++)
		pTable.deleteRow(2);

	for (var i = 0; i < pXmlLines.length; i++)
	{
		var tr = pTable.insertRow(i + 2);

		// Column 1
		var td = tr.insertCell(0);
		var span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_1';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('rate_p')));
		td.appendChild(span);

		// Column 2
		td = tr.insertCell(1);
		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_2';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('apy_p')));
		td.appendChild(span);

		// Column 3
		td = tr.insertCell(2);
		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_3';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('term_f')));
		td.appendChild(span);

		td.appendChild(document.createTextNode(' - '));

		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_4';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('term_t')));
		td.appendChild(span);

		td.appendChild(document.createTextNode(' '));

		span = document.createElement('span');
		span.id = 'lbl_' + pIdPrefix + '_' + i + '_5';
		span.appendChild(document.createTextNode(pXmlLines[i].getAttribute('term_lbl')));
		td.appendChild(span);
	}
}

function $(pID)
{
	return document.getElementById(pID);
}
