
function calcG() {
	var maxBenefit = 0
	var moIncome   = strip(document.calc.income.value)
	if (!moIncome) { moIncome = 0 }
	document.calc.income.value = currency(moIncome)
	moIncome = moIncome / 12
	var mo60Income = moIncome * .6

// Group DI section 

 	if (mo60Income > 6000) { var RoundMoIncome = 6000 }
	else { var RoundMoIncome = mo60Income }

	var curGroupDI = strip(document.calc.curGroupDI.value)
	if (!curGroupDI) { curGroupDI = 0 }
	document.calc.curGroupDI.value = currency(curGroupDI)
	curGroupDI = curGroupDI	* 1 

	var sumFranchise = RoundMoIncome + curGroupDI

	if (sumFranchise > mo60Income ) { var overageGpDI = sumFranchise - mo60Income }
	else 				{ var overageGpDI = 0 }

	if (sumFranchise > mo60Income)  { var answer  = RoundMoIncome - overageGpDI }
	else				{ var answer  = RoundMoIncome }

	if (answer < 100 )		{ var maxGroupBenefit = 100 }
	else				{ var maxGroupBenefit = answer }

// Individual DI Section

	var curIndDI = strip(document.calc.curIndDI.value)
	if (!curIndDI) { curIndDI = 0 }
	document.calc.curIndDI.value = currency(curIndDI)
	
	var sumGroupFranInd = (curIndDI * 1 ) + (maxGroupBenefit * 1 ) + (curGroupDI * 1)
	
	if (sumGroupFranInd > moIncome) { var overageIndDI = sumGroupFranInd - moIncome }
	else				{ var overageIndDI = 0 }


	if (sumGroupFranInd > moIncome ) { var answerIndDI = maxGroupBenefit - overageIndDI }
	else				 { var answerIndDI = maxGroupBenefit }

	if (answerIndDI < 99 )		 { var maxBenefitAmt = 100 }
	else				 { var maxBenefitAmt = answerIndDI }

	
   	if      (maxBenefitAmt >= 1500) 	 { var roundMaxBenefitAmt = Math.floor( maxBenefitAmt / 500 ) * 500 }   
   	else if (maxBenefitAmt >=  250) 	 { var roundMaxBenefitAmt = Math.floor( maxBenefitAmt / 250 ) * 250 }   
	else   	 				 { var roundMaxBenefitAmt = 100 }   

					   
	var finalBenefit = roundMaxBenefitAmt
	  
	  document.calc.maxLimit.value = currency(finalBenefit)

}





function strip(num) {
    var num = num.replace(/\$|\,/g,'')
    return num
}



function currency(anynum) {

// anynum = anynum.replace(/\$|\,/g,'');
// -- Returns passed number as string in $xxx,xxx.xx format;
       anynum=eval(anynum);
       workNum=Math.abs((Math.round(anynum*100)/100));workStr=""+workNum
     if (workStr.indexOf(".")==-1){workStr+=".00"}
        dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
	pStr=workStr.substr(workStr.indexOf("."))
	while (pStr.length<3){pStr+="0"}

//--- Adds comma in thousands place.
     if (dNum>=1000) {
          dLen=dStr.length
          dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
    }

//-- Adds comma in millions place.
     if (dNum>=1000000) {
       dLen=dStr.length
       dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
     }
      retval = dStr + pStr

//-- Put numbers in parentheses if negative.
     if (anynum<0) {retval="("+retval+")"}
     return "$"+retval

}
										    


