function ChangeTabs(form, tab)
{
	document.getElementById('PerfC').className = (tab == 'PerfC' ? 'tabOn' : 'tabOff');
	document.getElementById('PerfD').className = (tab == 'PerfD' ? 'tabOn' : 'tabOff');
	document.getElementById('Ratings').className = (tab == 'Ratings' ? 'tabOn' : 'tabOff');
	document.getElementById('Fees').className = (tab == 'Fees' ? 'tabOn' : 'tabOff');

	document.getElementById('tabPerfC').className = (tab == 'PerfC' ? 'selected' : '');
	document.getElementById('tabPerfD').className = (tab == 'PerfD' ? 'selected' : '');
	document.getElementById('tabRatings').className = (tab == 'Ratings' ? 'selected' : '');
	document.getElementById('tabFees').className = (tab == 'Fees' ? 'selected' : '');
	
	document.getElementById('CurrentTab').value = tab;
}

function loadFlt(url,height,width,scrollbars,windowname)
{
	var browser = navigator.appName + " " + navigator.appVersion; 
	var attrib="resizable=no,height=" + height + ",width=" + width + ",scrollbars=" + scrollbars + ",top=20,left=250";
	var Newwindow = window.open(url,windowname,attrib);

  	if ( browser.substring(0, 8) =="Netscape") 
  	{ 
    	Newwindow.creator = self; 
  	}
    else 
	{
      	if (Newwindow.opener == null) 
      	{
			Newwindow.opener = self;
		} 
  	} 
}

function showhide(id){ 
	if (document.getElementById){ 
		obj = document.getElementById(id); 
		if (obj.style.display == "none"){ 
			obj.style.display = ""; 
		}
		else { 
			obj.style.display = "none"; 
		} 
	} 
} 

function Sort(columnName)
{
	var sortColumn = document.getElementById('SortColumn');
	var sortDirection = document.getElementById('SortDirection');
	if(columnName == sortColumn.value) {
	    sortDirection.value = (sortDirection.value == "Asc") ? "Desc" : "Asc";
	}
	else {
	    sortDirection.value = "Asc";
	}
	document.getElementById("SortColumn").value = columnName;
	document.getElementById("SortDirection").value = sortDirection.value;
	document.forms["wrapForm"].submit();	
}

function RetainTab()
{
	var contrl = document.getElementById('CurrentTab');
	var tab ='';
	if(contrl != null) {
		tab = document.getElementById('CurrentTab').value;
	}
	if(tab != '') {
		ChangeTabs(this.form,tab);
	}
}

function changeTimescale(val)
{				
	var img = document.getElementById("imgSrc");
	var hdnCode = document.getElementById("hdnTypeCode");
	
	var newSrc = "ChartBuilder.aspx?codes=" + hdnCode.value + ",XO:GLBLGRTH&span=" + val;
	img.src = newSrc;
}

function loadTimeValues(val, ctrl)
{
	var options = null, selectedIndex = 0;
	var menu = document.getElementById(ctrl);
	menu.options.length = 0;

	if (val == "M") {
		options = new Array("6:6 Months", "3:3 Months", "1:1 Month");
		selectedIndex = 0;
	}
	else {
		options = new Array("120:10 Years", "60:5 Years", "36:3 Years", "12:1 Year");
		selectedIndex = 1;
	}

	for (var i = 0; i < options.length; i++)
	{
		var option = options[i];
		var optionArr = option.split(":");
			
		var optValue = optionArr[0];
		var optText = optionArr[1];
			
		menu.options.add(new Option(optText, optValue), 0);		
	}
	menu.selectedIndex = selectedIndex;
}

//Returns the value of a control
function getValue(ctrlName)
{
	return document.getElementById(ctrlName).value;
}

function getDDSelectedValue(ctrlName)
{
	var ctrl = document.getElementById(ctrlName);
	return ctrl.options[ctrl.selectedIndex].value;
}

function CalculateGrowth()
{
	//define total return variables
	var initial = parseInt(getValue("txtInitial"));
	var monthly = parseInt(getValue("txtMonthly"));
	var growth = getDDSelectedValue("cmbGrowth");
	var term = getDDSelectedValue("cmbTerm");
	
	if(isNaN(initial)) initial = 0;
	if(isNaN(monthly)) monthly = 0;
	
	var totalReturn = initial;

	growth = 1 + ((growth / 100) / 12);
	term = (term * 12) - 1;
	
	//first month (no monthly deposit in first month)
	totalReturn = totalReturn * growth;

	//total return calculations
	for(var i=0;i<term;i++) {
		totalReturn = (totalReturn + monthly) * growth;
	}

	//last month (no interest is earned on the last monthly installment)
	totalReturn = totalReturn + monthly;
	document.getElementById("txtTotalReturn").value = totalReturn.toFixed(2);
}

function OnlyNumbers(e, ctrl)
{
	var keycode= (e.keyCode) ? e.keyCode : e.which;
	if(keycode==27 || keycode==8 || keycode==46 || (keycode>= 48 && keycode<=57)) {
		if(keycode==46 && CheckDot(ctrl)) {
			return false;
		}
		else {
			return true;
		}
	}
	else {
		return false;
	}
}

function CheckDot(ctrl)
{
	var temp=ctrl.value;
	for(var i=0; i<temp.length; i++) {
		if(temp.substring(i,i+1) == ".") {
			return true;
		}
	}
	return false;
}
