
function twoPlaces(amount) {
  if (amount == 999)
  return 'n/a';
  else
  return (amount == Math.floor(amount)) ? amount + '.00' : ((amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}

function init(){ 
	grid = ColdFusion.Grid.getGridObject("gridFunds");
	cm = grid.getColumnModel();
	cm.setRenderer(7,twoPlaces);
	cm.setRenderer(8,twoPlaces);
	cm.setRenderer(9,twoPlaces);
	cm.setRenderer(10,twoPlaces);
	cm.setRenderer(11,twoPlaces);
	cm.setRenderer(12,twoPlaces);
	cm.setRenderer(13,twoPlaces);
	grid.reconfigure(grid.getDataSource(),cm);

	grid.on("rowdblclick", fundSummary);
	
//	grid2 = ColdFusion.Grid.getGridObject("gridAlloc");
	
 	var nTotalRows = grid.getDataSource().getTotalCount();
    var nFilteredRows = grid.getDataSource().getCount();
	
 	filteredRows = new Ext.form.TextField({
		id:             'filteredRows',
		value:          'Displaying ' + nFilteredRows + ' of ' + nTotalRows + ' Funds.',
		width:			145,
		disabled:		true
	});

	var gridHead = grid.getView().getHeaderPanel(true);
	var tbar = new Ext.Toolbar(gridHead);

	tbar.add(document.getElementById('clear'));
	
	tbar.add(new Ext.Toolbar.Separator());
	tbar.add(document.getElementById('exratio'));
	tbar.add(new Ext.Toolbar.Separator());
	tbar.add(document.getElementById('family'));
	tbar.add(new Ext.Toolbar.Separator());
	tbar.add(document.getElementById('subcategory'));
	tbar.add(new Ext.Toolbar.Separator());
	tbar.add(document.getElementById('category'));
	//console.log(Ext);
		      
 	var tbar2container = Ext.DomHelper.append(tbar.el,{tag:'div',id:Ext.id()},true);
	var tbar2 = new Ext.Toolbar(tbar2container);
//	tbar2.add(document.getElementById('addselected'));
//	tbar2.add(new Ext.Toolbar.Separator());
	tbar2.add(document.getElementById('fundsummary'));
	tbar2.add(new Ext.Toolbar.Separator());
	tbar2.add(document.getElementById('mmyields'));
 
    var gridFoot = grid.getView().getFooterPanel(true);
  	var bbar = new Ext.Toolbar(gridFoot);

 	bbar.add(filteredRows);
}

function addSelectedFund() {
	var sACCTYP = ColdFusion.getElementValue("gridFunds","DataForm","ACCTYP");
	var url = "fundselect_selected.cfm?acctyp="+sACCTYP ;
	ColdFusion.navigate(url, "moreInfo");		

	var win = ColdFusion.Window.getWindowObject('moreInfo');
 	win.setContentSize(400, 200);
	win.setTitle('Selected Funds');
	ColdFusion.Window.show('moreInfo');

}

function removeSelectedFund() {
	var sACCTYP = ColdFusion.getElementValue("gridAlloc","formSelectedFunds","ACCTYP");
	var url = "fundselect_selected.cfm?action=remove&acctyp="+sACCTYP ;
	ColdFusion.navigate(url, "moreInfo");
}

function fundSummary() {

	ColdFusion.Window.show("moreInfo");
	var sPlnNum = document.getElementById('plnnum').value;
	var sACCTYP = ColdFusion.getElementValue("gridFunds","DataForm","ACCTYP");
	var nYTD = ColdFusion.getElementValue("gridFunds","DataForm","YTDRTN");
	var nYR1 = ColdFusion.getElementValue("gridFunds","DataForm","YR1RTN");
	var nYR3 = ColdFusion.getElementValue("gridFunds","DataForm","YR3RTN");
	var nYR5 = ColdFusion.getElementValue("gridFunds","DataForm","YR5RTN");
	var nYR10 = ColdFusion.getElementValue("gridFunds","DataForm","YR10RTN");
	var nLIF = ColdFusion.getElementValue("gridFunds","DataForm","LIFRTN");

	var url = "aboutourfunds/fundselect_moreinfo.cfm?type=summary&plnnum="+sPlnNum+"&acctyp="+sACCTYP+"&ytd="+nYTD+"&yr1="+nYR1+"&yr3="+nYR3+"&yr5="+nYR5+"&yr10="+nYR10+"&lif="+nLIF ;
	ColdFusion.navigate(url, "moreInfo");
	
	var win = ColdFusion.Window.getWindowObject('moreInfo');
 	win.setContentSize(480, 350);
	win.setTitle('Fund Information');
}

function filterFunds(){
	document.getElementById("loading").className = "loading-visible";
	setTimeout(filterFunds2, 100);
}

function filterFunds2(){
	ds = grid.getDataSource();
	//remove the data filter       
	ds.clearFilter();

	bSorted = 0;
	if (ds.getSortState()) { 
		sortState = ds.getSortState()
		sSortField = sortState.field;
		sSortDir = sortState.direction;
		bSorted = 1;
	}
		
	ds.sort('PCTDES','ASC');

	var sFamId = document.getElementById('family').value;
	var sSubId = document.getElementById('subcategory').value;
	var sCatId = document.getElementById('category').value;
	var sExRatId = document.getElementById('exratio').value;

    ds.filterBy(function(record, id) {
		var theRecord = ds.getAt(id-1);
		var sFamRow = theRecord.get('FNDFAMID');
		var sSubRow = theRecord.get('FNDSUBID');
		var sCatRow = theRecord.get('FNDCATID');
		var nExRatRow = theRecord.get('EXRATIO');
		var sCatExcRow = theRecord.get('FNDCATEXCID');

    	if (sFamRow == sFamId || sFamId == "X") { 
    		if (sSubRow == sSubId || sSubId == "X" || sSubId == sCatExcRow) {
    			if (sCatRow == sCatId || sCatId == "X") {
					if (nExRatRow < sExRatId || sExRatId == 'X')  
   						{ return true; } //do not filter row
    				else 
    					{ return false; } //filter row;
    			}
    			else 
    				{ return false; } //filter row;
    		}
    		else
    			{ return false; } //filter row;}
    	}
    	else 
    		{ return false; } //filter row;
	});  
  
  	if (bSorted) {ds.sort(sSortField,sSortDir);}
  	filteredRows.setValue('Displaying ' + grid.getDataSource().getCount() + ' of ' + grid.getDataSource().getTotalCount() + ' Funds.');

	document.getElementById("loading").className = "loading-invisible";
}

function removeFilter(){
	ds = grid.getDataSource()
	//remove the data filter       
	ds.clearFilter();
	grid = ColdFusion.Grid.getGridObject("gridFunds");
	filteredRows.setValue('Displaying ' + grid.getDataSource().getCount() + ' of ' + grid.getDataSource().getTotalCount() + ' Funds.');
	
	//clear the value of the combo box       
	document.getElementById('exratio').value = "X";
	document.getElementById('family').value = "X";
	document.getElementById('subcategory').value = "X";
	document.getElementById('category').value = "X";
}

function mmYields() {

	ColdFusion.Window.show("moreInfo");
	var sPlnNum = document.getElementById('plnnum').value;
	var sDate = document.getElementById('sRepDate').value;

	var url = "aboutourfunds/fundselect_moreinfo.cfm?type=mmyields&plnnum="+sPlnNum+"&todate="+sDate;
	ColdFusion.navigate(url, "moreInfo");
	
	var win = ColdFusion.Window.getWindowObject('moreInfo');
 	win.setContentSize(480, 350);
	win.setTitle('Money Market Yields');
}

function printview() {
	var sSortField = "PCTDES";
	var sSortDir = "ASC"
	
	ds = grid.getDataSource();
		
	if (ds.getSortState()) { 
		sortState = ds.getSortState()
		sSortField = sortState.field;
		sSortDir = sortState.direction;
		bSorted = 1;
	}

	var sPlnNum = document.getElementById('plnnum').value;
	var sType = document.getElementById('type').value;
	var sRep =  document.getElementById('rep').value;
	var sDate = document.getElementById('sRepDate').value;
	var sFamily = document.getElementById('family').value;
	var sExRatio = document.getElementById('exratio').value;
	var sSubCategory = document.getElementById('subcategory').value;
	var sCategory = document.getElementById('category').value;

	var url = '/aboutourfunds/annuityfundperformance.cfm?prettyprint=YES&plnnum='+sPlnNum+'&type='+sType+'&rep='+sRep+'&todate='+sDate+'&sortfield='+sSortField+'&sortdir='+sSortDir+'&family='+sFamily+'&exratio='+sExRatio+'&subcategory='+sSubCategory+'&category='+sCategory;
	window.open(url,'prettyprint','width=800,height=500,titlebar=no,toolbar=no,menubar=yes,scrollbars=yes,resizable=yes,status=no,left=35,top=35'); 
}


