<!--------- calculations for affordability -------



	var WGdc=".";  
	var WGgc=",";
	var WGnc="-";
	var WGcs="";

function WGformatMoney(A,W) 
{  
// Author   : Jonathan Weesner (http://cyberstation.net/~jweesner/)
// Copyright: Use freely. Keep Author and Copyright lines intact.

	var N=Math.abs(Math.round(A*100));
   var S=((N<10)?"00":((N<100)?"0":""))+N;

   S=WGcs+((A<0)?WGnc:"")+WGgroup(S.substring(0,(S.length-2)))+WGdc+
      S.substring((S.length-2),S.length)+((A<0&&WGnc=="(")?")":"");
   return (S.length>W)?"Over":S;
}

// WGgroup inspired by Bill Dortch's usenet post (www.hidaho.com)
function WGgroup(S) 
{
   return (S.length<4)?S:(WGgroup(S.substring(0,S.length-3))+
      WGgc+S.substring(S.length-3,S.length));
}

function roundOff(value, precision) {	// Precision = 2 decimal places
		if(parseInt(value) <= 0) {
			// Incorrect Value
			return 0;
			}

        value = "" + value //convert value to string
        precision = parseInt(precision);
        var whole = "" + Math.round(value * Math.pow(10, precision));
        var decPoint = whole.length - precision;        if(decPoint != 0)
        {                result = whole.substring(0, decPoint);
                result += ".";
                result += whole.substring(decPoint, whole.length);        }
        else        {                result = whole;        }
        return result;
}

function roundToNextHighestEighth ( inVal ){
	var rVal, tVal;
	if(inVal.match(".")<=0){
		// no decimal part
		rVal = inVal.concat(".125");
		return rVal;
		}
	else {
		var tArray = inVal.split(".")
		tVal = tArray[1];
		var dPlace = tVal.length;
		switch(dPlace){
			case 1 :
				tVal *= 10
				break;
			case 3 :
				tVal *= 0.1
				break;
			case 2 :
			default:
				break;
			}
		if(tVal <= 12.5){
			rVal = tArray[0].concat(".125");
			}
		if((tVal <= 25) && (tVal > 12.5)){
			rVal = tArray[0].concat(".25");
			}
		if((tVal <= 37.5) && (tVal > 25)){
			rVal = tArray[0].concat(".375");
			}
		if((tVal <= 50) && (tVal > 37.5)){
			rVal = tArray[0].concat(".50");
			}
		if((tVal <= 62.5) && (tVal > 50)){
			rVal = tArray[0].concat(".625");
			}
		if((tVal <= 87.5) && (tVal > 62.5)){
			rVal = tArray[0].concat(".875");
			}
		if(tVal > 87.5){
			var tmp = parseFloat(tArray[0]);
			tmp++;
			tArray[0] = "" + tmp;
			rVal = tArray[0].concat(".00");
			}
			if(rVal > 8.25)
				rVal = 8.25;
		return rVal;
		}
}


function removeComma( inVal ){
	var rVal = inVal.replace(",", "");
	return rVal;
	}

function calc(form) {

	form.eq1.value = roundOff(removeComma(form.calcBalance1.value)*form.calcInterest1.value/100, 2);
	form.eq2.value = roundOff(removeComma(form.calcBalance2.value)*form.calcInterest2.value/100, 2);
	form.eq3.value = roundOff(removeComma(form.calcBalance3.value)*form.calcInterest3.value/100, 2);
	form.eq4.value = roundOff(removeComma(form.calcBalance4.value)*form.calcInterest4.value/100, 2);
	form.eq5.value = roundOff(removeComma(form.calcBalance5.value)*form.calcInterest5.value/100, 2);
	form.eq6.value = roundOff(removeComma(form.calcBalance6.value)*form.calcInterest6.value/100, 2);
	form.eq7.value = roundOff(removeComma(form.calcBalance7.value)*form.calcInterest7.value/100, 2);
	form.eq8.value = roundOff(removeComma(form.calcBalance8.value)*form.calcInterest8.value/100, 2);

	eq1 = form.eq1.value*1;
	eq1 = eq1+form.eq2.value*1;
	eq1 = eq1+form.eq3.value*1;
	eq1 = eq1+form.eq4.value*1;
	eq1 = eq1+form.eq5.value*1;
	eq1 = eq1+form.eq6.value*1;
	eq1 = eq1+form.eq7.value*1;
	eq1 = eq1+form.eq8.value*1;

	form.factorcalc.value = roundOff(eq1, 2);

	calcBalance1 = form.calcBalance1.value*1;
	calcBalance1 = calcBalance1+form.calcBalance2.value*1;
	calcBalance1 = calcBalance1+form.calcBalance3.value*1;
	calcBalance1 = calcBalance1+form.calcBalance4.value*1;
	calcBalance1 = calcBalance1+form.calcBalance5.value*1;
	calcBalance1 = calcBalance1+form.calcBalance6.value*1;
	calcBalance1 = calcBalance1+form.calcBalance7.value*1;
	calcBalance1 = calcBalance1+form.calcBalance8.value*1;

	form.totalloan.value = roundOff(calcBalance1, 2);
	form.percentcalc.value = form.factorcalc.value/form.totalloan.value*100;
	form.percentcalc.value = roundOff(form.percentcalc.value, 3);

	
	// These two lines show you how to use the eighth function

	var tVal = removeComma(form.percentcalc.value);
	var nVal = roundToNextHighestEighth(tVal);
	form.ratecalc.value = nVal;
}

