
window.defaultStatus="State Super Financial Services Australia - Unit Price Information";

var ie4 = ((navigator.appVersion.indexOf("MSIE") != -1) && (parseInt(navigator.appVersion) >= 4 ));
var ns4 = ((navigator.appVersion.indexOf("MSIE") == -1) && (parseInt(navigator.appVersion) >= 4 ));

var unavailMessage = "Investment Fund figures are not currently available.";


//browser detection
//mouse over code
app = navigator.appName;
ver = navigator.appVersion;
mac = ver.indexOf("Macintosh") > 0;
win = ver.indexOf("Win") > 0;
vnum = parseFloat(ver);
 
mouseOverOk = (((app == "Netscape") && (vnum >= 4 )) ||
 ((mac) && (app == "Microsoft Internet Explorer") && (vnum >= 3.01 )) ||
 ((win) && (app == "Microsoft Internet Explorer") && (vnum >= 4 ))) 

if (mouseOverOk) 
{
	off = new MakeImageArray(11);
	over = new MakeImageArray(11);

	over[1].src = "../images/body/sc04_unit/top_s4_over.gif";
	off[1].src = "../images/body/sc04_unit/top_s4.gif";               		
}

function MakeImageArray(n) 
{
	this.length = n
	for (var i = 0; i<=n; i++) 
	{
		this[i] = new Image();
	}
	return this
}
     
function mOver(imgDocID,num) 
{
	if (mouseOverOk) 
		if ((over[num].src != "")) 
			document.images[imgDocID].src = over[num].src;                           
}
 
function mOut(imgDocID,num) 
{
	if (mouseOverOk) 
		if ((off[num].src != "")) 
			document.images[imgDocID].src = off[num].src;
}

function graph(graphType,theGraph)
{
	window.open("graph.cfm?graphType="+graphType+"&theGraph="+theGraph,"newWin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=740,height=500");
}

function isNumber(inputVal)
{
	inputStr=""+inputVal;
	numDots = 0;
	for(var i=0; i < inputStr.length; i++)
	{
		var oneChar = inputStr.charAt(i)
		if((oneChar < "0" || oneChar > "9")&&(oneChar != "."))
			return false
		if (oneChar == ".")
			numDots++;
	}
	if (numDots > 1)
		return false
	return true
}

function custRound(x,places) {
	// Created 1997 by Brian Risk.  http://members.aol.com/brianrisk
	return (Math.round(x*Math.pow(10,places)))/Math.pow(10,places)
}

function round(val)
{
	if(!isNaN(parseFloat(val))){
		return custRound(val,2);
	}
	return 0;
}

function trunc(value,dec_places)
{
	retValueS = "";
	valueS = value.toString();
	if((valueS.indexOf(".") > 0) && (valueS.length-valueS.indexOf(".") > 3)){
		for (i=0;i<valueS.indexOf(".")+3;i++)
			retValueS = retValueS + valueS.charAt(i);
		return (retValueS-0);
	} else {
		return value;
	}
}

function padZeros(val, intPlaces){
	var decIndex
	var strVal

	strVal = val + "";
	decIndex = strVal.indexOf(".");
	if (decIndex == 0){
		return padZeros(("0" + strVal), intPlaces);
	}
	if (decIndex == -1){
		return padZeros((strVal + "."), intPlaces);
	}
	if(decIndex > 0){
		if (decIndex >= (strVal.length-intPlaces)) {
			return padZeros((strVal + "0"), (intPlaces));
		}
		return val;
	}
	return val;
}


function calc(fund,type)
{
	var total;
	totObj = eval("document.form1."+fund+type+"_b");
	totHObj = eval("document.form1."+fund+type+"_bH");
	upHObj = eval("document.form1."+fund+type+"_upH");
	yuObj = eval("document.form1."+fund+type+"_yu");
	yuHObj = eval("document.form1."+fund+type+"_yuH");

	if (yuObj.value == "") yuObj.value = "0";
	if (!((yuObj.value.charAt(yuObj.value.length -2) == ".")&&(yuObj.value.charAt(yuObj.value.length -1) == "0"))){

		if (yuObj.value > 99999999.99)
			yuObj.value = yuObj.value/10;
		if (yuObj.value > 99999999.99)
			yuObj.value = yuObj.value/10;
		if (yuObj.value > 99999999.99)
			yuObj.value = yuObj.value/10;
		total = upHObj.value * trunc(yuObj.value);
		if (isNaN(parseFloat(total))){
			if (yuObj.value.charAt(yuObj.value.length -1) == ".") {
				return 0;
			}
	 		calcErrors = 1;
 			if (ns4 || ie4)	{
	 			yuObj.value = yuHObj.value;
 			} else {
 				alert("The quantity you entered is not valid");
	 		}
 			yuObj.focus();
 			//totObj.value = "incorrect format"
 			return 0;
		} else {
			if (yuObj.value.charAt(yuObj.value.length -1) != ".") {
				yuObj.value = trunc(yuObj.value,2);
				yuHObj.value = yuObj.value;
				totObj.value = padZeros(round(total),2);
				totHObj.value = totObj.value;
				//update display
			}
		}
		return totObj.value;
	} else {
		return 0;
	}
}

function leftSlice(strIn, length){
	var i;
	var strOut;
	strOut = "";
	if(length < strIn.length){
		for(i=0;i <= length-1; i++){
			strOut = strOut + strIn.charAt(i); 
		}
	}else{
		strOut = strIn;
	}
	return strOut;
}

function processValue(fund, type){
	yuObj = eval("document.form1."+fund+type+"_yu");
	if (isNumber(yuObj.value)){
		calc(fund, type);
	}else{
		yuObj.value = leftSlice(yuObj.value, yuObj.value.length-1);
		processValue(fund, type);
	}
}

calcErrors = 0;

function updateTotals()
{
	calcErrors = 0;
	processValue('Retire','Cash');
	processValue('Retire','Capital');
	processValue('Retire','Balanced');
	processValue('Retire','Growth');
	processValue('Pension','Cash');
	processValue('Pension','Capital');
	processValue('Pension','Balanced');
	processValue('Pension','Growth');
	processValue('TermPension','Cash');
	processValue('TermPension','Capital');
	processValue('TermPension','Balanced');
	processValue('TermPension','Growth');
	
		processValue('Invest','Cash')
		processValue('Invest','Capital')
		processValue('Invest','Balanced')
		processValue('Invest','Growth')
	
}

function calcTotal()
{
	calcErrors = 0;
	sum = 0;
	sum = (sum-0.0) + (calc('Retire','Cash')-0.0);
	sum = (sum-0.0) + (calc('Retire','Capital')-0.0);
	sum = (sum-0.0) + (calc('Retire','Balanced')-0.0);
	sum = (sum-0.0) + (calc('Retire','Growth')-0.0);
	sum = (sum-0.0) + (calc('Pension','Cash')-0.0);
	sum = (sum-0.0) + (calc('Pension','Capital')-0.0);
	sum = (sum-0.0) + (calc('Pension','Balanced')-0.0);
	sum = (sum-0.0) + (calc('Pension','Growth')-0.0);
	sum = (sum-0.0) + (calc('TermPension','Cash')-0.0);
	sum = (sum-0.0) + (calc('TermPension','Capital')-0.0);
	sum = (sum-0.0) + (calc('TermPension','Balanced')-0.0);
	sum = (sum-0.0) + (calc('TermPension','Growth')-0.0);
	
		sum = (sum-0.0) + (calc('Invest','Cash')-0.0);
		sum = (sum-0.0) + (calc('Invest','Capital')-0.0);
		sum = (sum-0.0) + (calc('Invest','Balanced')-0.0);
		sum = (sum-0.0) + (calc('Invest','Growth')-0.0);
	
	if (calcErrors) return;
	
	if(!isNaN(parseFloat(sum))){
		document.form1.gTotal.value = padZeros(round(sum),2);
		document.form1.gTotalH.value = sum;
	}else{
		document.form1.gTotal.value = "incorrect number";
		document.form1.gTotalH.value = "incorrect number";
	}
}

function calcSubTotal(accountType)
{	
	subTotal=0;
	subTotal = (subTotal-0.0) + (calc(accountType,'Cash')-0.0);
	subTotal = (subTotal-0.0) + (calc(accountType,'Capital')-0.0);
	subTotal = (subTotal-0.0) + (calc(accountType,'Balanced')-0.0);
	subTotal = (subTotal-0.0) + (calc(accountType,'Growth')-0.0);
	subTotal = padZeros(round(subTotal),2);
	if (accountType == 'Retire'){
		document.form1.retireSubTotal.value = subTotal;
	}
	if (accountType == 'Pension'){
		document.form1.pensionSubTotal.value = subTotal;
	}
	if (accountType == 'Invest'){
		document.form1.investSubTotal.value = subTotal;
	}
	if (accountType == 'TermPension'){
		document.form1.termPensionSubTotal.value = subTotal;
	}	
}
