
function MFC_UpdateContent(selectElement)
{
	var id = selectElement.id;

	var value = selectElement.value;
	var text = selectElement.options[selectElement.selectedIndex].text;

	var datatable = document.getElementById(id + "_datatable");
	var label = document.getElementById(id + "_label");

	switch(id)
	{
		case 'treasuryYields':
		case 'inflationProtected':
		case 'corporates':
		case 'lendingRates':
			MFC_ClearContent(datatable, 1);
			BIR_UpdateYields(id, datatable);
			label.innerHTML = text + "<br/>Ago";
			break;

		case 'gainers_and_losers':
			MFC_ClearContent(datatable, 1);
			MFC_UpdateGainersAndLosers(id, datatable);
			label.innerHTML = text.toLowerCase() + "<br />% Change";
			break;

		case 'biggest_funds':
			MFC_ClearContent(datatable, 1);
			MFC_UpdateBiggestFunds(id, datatable);
			label.innerHTML = text.toLowerCase() + "<br />% Change";
			break;

		case 'fund_cats':
			var negDatatable = document.getElementById(id + "_neg_datatable");
			var posDatatable = document.getElementById(id + "_pos_datatable");
			MFC_ClearContent(negDatatable, 0);
			MFC_ClearContent(posDatatable, 0);
			MFC_UpdateFundCats(id, datatable, negDatatable, posDatatable);
			label.innerHTML = text.toLowerCase() + "<br />% Change";
			break;
	}
}

function MFC_ClearContent(datatable, stop)
{
	while(datatable.rows.length > stop)
	{
		datatable.deleteRow(datatable.rows.length-1);
	}
}

function BIR_UpdateYields(id, datatable)
{
	var select_value = document.getElementById(id).value;
	var _data = _BIR_data[id][select_value];

	if(_data == null) return;
	
	var streamId = '';
	for(var i = 0; i < _data.length; i++)
	{
		
		var tr = datatable.insertRow(-1);
		var c1 = tr.insertCell(-1);
		c1.innerHTML = '<strong>'+_data[i].maturity+'</strong>';

		if(_data[i].todayStreamId) { streamId = 'stream="'+_data[i].todayStreamId+'"'; } else { streamId = ''; }
		var c2 = tr.insertCell(-1);
		c2.className = 'wsod_aRight';
		c2.innerHTML = '<span streamformat="PercentPrecision" '+streamId+'>'+_data[i].todayYield+'</span>';

		if(id != 'lendingRates')
		{
			if(_data[i].prevStreamId) { streamId = 'stream="'+_data[i].prevStreamId+'"'; } else { streamId = ''; }		
			var c3 = tr.insertCell(-1);
			c3.className = 'wsod_aRight';
//			c3.innerHTML = _data[i].prevYield;
			c3.innerHTML = '<span streamformat="PercentPrecision" '+streamId+'>'+_data[i].prevYield+'</span>';
		}

		
		var c4 = tr.insertCell(-1);
		c4.className = 'wsod_aRight D1';

		var dynYield = parseFloat(_data[i].dynYield, 10);
		var classname = (id == 'lendingRates') ? '' : ((dynYield == 0) ? 'unch' : ((dynYield  > 0) ? 'posData' : 'negData'));
		if(_data[i].dynStreamId) { streamId = 'stream="'+_data[i].dynStreamId+'"'; } else { streamId = ''; }
		c4.innerHTML = '<span class="'+classname+'" streamformat="PercentPrecision" '+streamId+'>'+_data[i].dynYield+'</span>';
	}
}


function MFC_UpdateGainersAndLosers(id, datatable)
{
	var select_value = document.getElementById(id).value;
	var _data = _MFC_data[id][select_value];

	if(_data == null) return;

	//gainers
	for(var i = 0; i < _data.gainers.length; i++)
	{
		var dataItem = _data.gainers[i];

		var tr = datatable.insertRow(-1);
		var cell1 = tr.insertCell(0);
		cell1.innerHTML = '<a href="/quote/mutualfund/mutualfund.html?symb='+dataItem.symb+'" class="wsod_symbol">'+dataItem.symb+'</a> <span class="wsod_name" title="'+dataItem.name+'">'+dataItem.name+'</span>';

		var cell2 = tr.insertCell(1);
		cell2.className = 'wsod_aRight';
		cell2.innerHTML = dataItem.value;

		var cell3 = tr.insertCell(2);
		cell3.className = 'wsod_aRight';
		cell3.innerHTML = '<span class="posChangePct">+'+dataItem.change+'%</span>';
	}


	//losers
	for(var i = 0; i < _data.losers.length; i++)
	{
		var dataItem = _data.losers[i];

		var tr = datatable.insertRow(-1);
		var cell1 = tr.insertCell(0);
		cell1.innerHTML = '<a href="/quote/mutualfund/mutualfund.html?symb='+dataItem.symb+'" class="wsod_symbol">'+dataItem.symb+'</a> <span class="wsod_name" title="'+dataItem.name+'">'+dataItem.name+'</span>';

		var cell2 = tr.insertCell(1);
		cell2.className = 'wsod_aRight';
		cell2.innerHTML = dataItem.value;

		var cell3 = tr.insertCell(2);
		cell3.className = 'wsod_aRight';
		cell3.innerHTML = '<span class="negChangePct">'+dataItem.change+'%</span>';
	}
}


function MFC_UpdateBiggestFunds(id, datatable)
{
	var select_value = document.getElementById(id).value;
	var _data = _MFC_data[id][select_value];

	if(_data == null) return;

	for(var i = 0; i < _data.length; i++)
	{
		var dataItem = _data[i];

		var tr = datatable.insertRow(-1);
		var cell1 = tr.insertCell(0);
		cell1.innerHTML = '<a href="/quote/mutualfund/mutualfund.html?symb='+dataItem.symb+'" class="wsod_symbol">'+dataItem.symb+'</a> <span class="wsod_name" title="'+dataItem.name+'">'+dataItem.name+'</span>';

		var cell2 = tr.insertCell(1);
		cell2.className = 'wsod_aRight';
		cell2.innerHTML = dataItem.value;

		var cell3 = tr.insertCell(2);
		cell3.className = 'wsod_aRight';
		if(parseFloat(dataItem.change, 10) < 0)
		{
			cell3.innerHTML = '<span class="negChangePct">'+dataItem.change+'%</span>';
		}
		else
		{
			cell3.innerHTML = '<span class="posChangePct">+'+dataItem.change+'%</span>';
		}
	}
}

function MFC_UpdateFundCats(id, datatable, negDatatable, posDatatable)
{
	var select_value = document.getElementById(id).value;
	var _data = _MFC_data[id][select_value];
	if(_data == null) return;

	//determine duration based on selected value
	switch(select_value)
	{
		case '1day':
			duration = 1;
			break;

		case '1month':
			duration = 30;
			break;

		case '3month':
			duration = 90;
			break;

		case '6month':
			duration = 180;
			break;

		case '1year':
			duration = 365;
			break;

		case '5year':
			duration = 1825;
			break;

		default:
			duration = 1;
			break;
	}

	for(var i = 0; i < _data.gainers.length; i++)
	{
		var dataItem = _data.gainers[i];

		var tr = posDatatable.insertRow(-1);
		var cell1 = tr.insertCell(-1);
		cell1.className = 'wsod_category';

		var link = '/data/funds/categories/?topCatDuration='+duration+'&botCatDuration='+duration+'&category='+encodeURIComponent(dataItem.name);
		cell1.innerHTML = '<a href="'+link+'" title="'+dataItem.name+'">'+dataItem.name+'</a>';

		var cell2 = tr.insertCell(-1);
		cell2.className = 'wsod_aRight';
		cell2.innerHTML = '<span class="posChangePct">+'+dataItem.change+'%</span>';
	}


	for(var i = 0; i < _data.losers.length; i++)
	{
		var dataItem = _data.losers[i];

		var tr = negDatatable.insertRow(-1);
		var cell1 = tr.insertCell(-1);
		cell1.className = 'wsod_category';

		var link = '/data/funds/categories/?topCatDuration='+duration+'&botCatDuration='+duration+'&category='+encodeURIComponent(dataItem.name);
		cell1.innerHTML = '<a href="'+link+'" title="'+dataItem.name+'">'+dataItem.name+'</a>';

		var cell2 = tr.insertCell(-1);
		cell2.className = 'wsod_aRight';
		cell2.innerHTML = '<span class="negChangePct">'+dataItem.change+'%</span>';
	}
}

