var objVal;
var splitIndex = 0, splitArray = new Object();
var passed = replace(replace(location.search.substring(1),"+"," "),"=","&");

function report() {

	document.retire.type='get';
	document.retire.action='http://www.fiscalagents.com/toolbox/cal/rrsp/rep_retplanner.shtml';
	document.retire.submit();

}

function roundDecimal(obj, places)
{
  tmpString = new String(obj);
  decimal = tmpString.indexOf(".");
  return (tmpString.slice(0, ( places + decimal ) ) );
};
function replace(string,text,by) {
    // Replaces text with by in string
    var i = string.indexOf(text), newstr = '';
    if ((!i) || (i == -1))
        return string;
    newstr += string.substring(0,i) + by;
    if (i+text.length < string.length)
        newstr += replace(string.substring(i+text.length,string.length),text,by);
    return newstr;
}

function split(string,text) {
	alert('STRING: ' + string);
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return;
    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return;
    if (i == -1) {
        splitArray[splitIndex++] = string;
        return;
    }
    splitArray[splitIndex++] = string.substring(0,i);
    if (i+txtLength < strLength)
        split(string.substring(i+txtLength,strLength),text);
    return;
}

function split(string,text) {
    splitArray = string.split(text);
    splitIndex = splitArray.length;
}

function writeIn(objName) {
	split(passed,'&');
	for (var i=0; i < splitIndex; i=i+2) {
    if (splitArray[i] == objName)
        document.write('<font face="Courier New" size="1">' + unescape(splitArray[i+1]) + '</font>');
		objVal = unescape(splitArray[i+1]);
	}
}

function getVal(objName) {
	objVal=" ";
	split(passed,'&');
	for (var i=0; i < splitIndex; i=i+2) {
    if (splitArray[i] == objName) {	
	objVal = unescape(splitArray[i+1]); }
	}
	return objVal;
}

function checkFor(objName, objResult) {
	split(passed,'&');
	for (var i=0; i < splitIndex; i=i+2) {
	    if (splitArray[i] == objName) {
			if (splitArray[i+1] == objResult) return true;
		}
	}
}

function countS1()
{
  if (document.retire["sec1row1"].value.length != 0 && document.retire["sec1row2"].value.length != 0)
  {
    document.retire["totsec1"].value = parseFloat(document.retire["sec1row1"].value) * parseFloat(document.retire["sec1row2"].value);
  }

  return false;
};

function sec1(){
	document.retire.sec1row1entry.value = document.retire.sec1row1.value;
  document.retire["sec1row1"].value = parseFloat(document.retire["sec1row1mult"].value / 100) * parseFloat(document.retire["sec1row1amt"].value);
  if (isNaN(document.retire["sec1row1"].value)) { document.retire["sec1row1"].value = "0" ; }
  else { document.retire["sec1row1"].value = Math.round(document.retire["sec1row1"].value); }
}

function countS2(name) {
	document.retire.sec2row1entry.value = document.retire.sec2row1pct.value;
  if (isNaN(document.retire["sec2row1pct"].value) || document.retire["sec2row1pct"].value > 100)
  {
      alert('Invalid Percentage');
      document.retire["sec2row1pct"].focus();
      return false;
  }
  if (document.retire["totsec1"].value.length != 0 && document.retire["sec2row1pct"].value.length != 0)
  {
    document.retire["sec2row1"].value = (Math.round(100 * (document.retire["sec2row1pct"].value/100) * document.retire["totsec1"].value)) / 100;
    document.retire["totsec2"].value = parseFloat(document.retire["totsec1"].value) - parseFloat(document.retire["sec2row1"].value);
  }

  return false;
};

function countS3()
{
  if (document.retire["totsec2"].value.length != 0 && document.retire["sec3row1"].value.length != 0)
  {
    document.retire["sec3row2"].value = Math.round(100 * (parseFloat(document.retire["sec3row1"].value) * parseFloat(document.retire["totsec2"].value))) / 100;
    if (document.retire["sec3row3"].value.length != 0 && document.retire["sec3row4"].value.length != 0 )
    {
      document.retire["sec3row5"].value = parseFloat(document.retire["sec3row3"].value) * parseFloat(document.retire["sec3row4"].value);
      document.retire["totsec3"].value = Math.round(100 * ( parseFloat(document.retire["sec3row2"].value) - parseFloat(document.retire["sec3row5"].value))) / 100;
    }
  }

  return false;
};

function countS4()
{
  if (document.retire["totsec3"].value.length != 0)
  {
    document.retire["totsec4"].value = Math.round(100 * ( parseFloat(document.retire["totsec3"].value/100) / parseFloat(document.retire["sec4row1"].value) * 100)) / 100;
  }

  return false;
};

function TableValue(refObj, tablenum, val) {
	var cmd = 'document.retire.';
	if (tablenum == 1) { cmd += 'sec1row2.value="' + val + '"; countS1();'; }
	else if (tablenum == 2) { cmd += 'sec3row1.value="' + val + '"; countS3();'; }
	else if (tablenum == 3) { cmd += 'sec3row4.value="' + val + '"; countS3();'; }
	else if (tablenum == 4) { cmd += 'sec4row1.value="' + val + '"; countS4();'; }	
	eval(cmd);
	refObj.focus();
}
