﻿function validateValue(newValue,oldValue,valEmp,valApp,valImpact,impact,business,small,leader,council,tAmount,lAmount,tStart,level,panel,valMin) {
    var cNewValue = document.getElementById(newValue);
    var cOldValue = document.getElementById(oldValue);
    
    var amount = tAmount.value;
       
    if (cNewValue.value*1 >= cOldValue.value*1) {
        calculateAmount(valApp,valEmp,valImpact,impact,business,small,leader,newValue,council,tAmount,lAmount,tStart,level,oldValue,panel,valMin);
    } else {
        calculateAmount(valApp,valEmp,valImpact,impact,business,small,leader,oldValue,council,tAmount,lAmount,tStart,level,oldValue,panel,valMin);
    }
}

function selectInvestment(ctrl,impact,business,small,leader,emp1,emp2,employ,validEmp,validEmp2,callValEmp,callValEmp2,titleBenef,textBenef,valApp,valEmp,valImpact,council,tAmount,lAmount,tStart,level,oldValue,panel,valMin) {  
    if (ctrl.disabled) {
        return;
    }
    //--------------Get Controls By Id----------------------
    var cSmall = document.getElementById(small);
    var cLeader = document.getElementById(leader);
    
    var cEmp1 = document.getElementById(emp1);
    var cEmp2 = document.getElementById(emp2);
    var cEmploy = document.getElementById(employ);
    var cValidEmp = document.getElementById(validEmp);
    var cValidEmp2 = document.getElementById(validEmp2);
    var cCallValEmp = document.getElementById(callValEmp + "_popupTable");
    var cCallValEmp2 = document.getElementById(callValEmp2 + "_popupTable");
    
    var cTitleBenef = document.getElementById(titleBenef);
    var cTextBenef = document.getElementById(textBenef);
    
    var cOldValue = document.getElementById(oldValue);    
    //-------------------------------------------------------
    
    var value = getSelectedRadioValue(ctrl);
    var text = displayBenefits(value) + "";
    
    if (ctrl==cSmall) {
	    clearSelectedRadio(cLeader);
	    cEmp1.style.display = "";
	    cEmp2.style.display = "";
	    cEmploy.style.display = "";
	    cEmploy.disabled = false;
	    cValidEmp.enabled = true;
	    cValidEmp2.enabled = true;
	    if (cCallValEmp!=null) cCallValEmp.style.visibility = "visible";
	    if (cCallValEmp2!=null) cCallValEmp2.style.visibility = "visible";
	    if (cEmploy.value*1 < cOldValue.value*1) cEmploy.value = cOldValue.value;
	}
	if (ctrl==cLeader) {
	    clearSelectedRadio(cSmall);
	    cEmp1.style.display = "none";
	    cEmp2.style.display = "none";
	    cEmploy.style.display = "none";
	    cEmploy.disabled = true;
	    cValidEmp.enabled = false;
	    cValidEmp2.enabled = false;
	    if (cCallValEmp!=null) cCallValEmp.style.visibility = "hidden";
	    if (cCallValEmp2!=null) cCallValEmp2.style.visibility = "hidden";
	}

	if (cTextBenef) {
	    if (text.length > 0) {
	        cTextBenef.innerHTML = text;
	        cTitleBenef.style.display = "";
	        cTextBenef.style.display = "";
	    } else {
	        cTextBenef.innerHTML = "";
	        cTitleBenef.style.display = "none";
	        cTextBenef.style.display = "none";
	    }
	}

	calculateAmount(valApp,valEmp,valImpact,impact,business,small,leader,employ,council,tAmount,lAmount,tStart,level,oldValue,panel,valMin);
}

function calculateAmount(valApp,valEmp,valImpact,impact,business,small,leader,employ,council,tAmount,lAmount,tStart,level,oldValue,panel,valMin) {
    //--------------Get Controls By Id----------------------
    var cImpact = document.getElementById(impact);
    var cBusiness = document.getElementById(business);
    var cCouncil = document.getElementById(council);   
            
    if (small!=null) {
        var cSmall = document.getElementById(small);
        var cLeader = document.getElementById(leader);
        
        var cLevel = document.getElementById(level);
        var cOldValue = document.getElementById(oldValue);
    
        var cEmploy = document.getElementById(employ);
    }
    
    var cTxtStart = document.getElementById(tStart);
    var cTxtAmount = document.getElementById(tAmount);
    var cLblAmount = document.getElementById(lAmount);
    
    if (panel!=null) {
        var cPanel = document.getElementById(panel);
    }
    //-------------------------------------------------------

	var amount = valApp;
	var value = 0;
	var i = 0;
	var levelSmall = false;
	
	var lst;
	var lbl;
	
	//Councils
	if (cCouncil!=null) {
        lst = cCouncil.getElementsByTagName("input");
        lbl = cCouncil.getElementsByTagName("label");
	    for (i=0; i<lst.length;i++) {
	        if (lst[i].checked) {
		        value = valueInText(lbl[i].innerHTML);
			    amount = amount + value;
		    }
	    }
	}
	
	//IMPACTjax
	if (cImpact!=null) {
	    if (cImpact.checked) {
	        value = valImpact;
	        amount = amount + value;
	    }
	}
	
	//Business Resources
	if (cBusiness!=null) {
        lst = cBusiness.getElementsByTagName("input");
        lbl = cBusiness.getElementsByTagName("label");
	    for (i=0; i<lst.length;i++) {
		    if (lst[i].checked) {
		        value = valueInText(lbl[i].innerHTML);
			    amount = amount + value;
		    }
	    }
	}
	
	value=0;
	
	//Membership Investment - Small Business Division
	if (small!=null) {
	    if (!cSmall.disabled) {
	        lst = cSmall.getElementsByTagName("input");
	        lbl = cSmall.getElementsByTagName("label");
	        for (i=0; i<lst.length;i++) {
	            if (lst[i].checked) {
	                value = valueInText(lbl[i].innerHTML);
                    amount = amount + value;
                    levelSmall = true;
		        }
		    }
	    }
	}

	//Membership Investment - Leadership Division
	if (leader && cLeader) {
	    if (!cLeader.disabled) {
	        lst = cLeader.getElementsByTagName("input");
            lbl = cLeader.getElementsByTagName("label");
	        for (i=0; i<lst.length;i++) {
	            if (lst[i].checked) {
                    value = valueInText(lbl[i].innerHTML);
                    amount = amount + value;
                    levelSmall = false;
		        }
		    }
	    }
    }
    
    //TT#25-AC-06/10/2010
    if (panel!=null) {
        if (value >= valMin) {
            cPanel.style.display = "";
        } else {
            cPanel.style.display = "none";
        }
    }

//89 2/15/10 - Comment out calc for Number of full-time employees
//  Number of full-time employees
//	if (employ!=null) {
//	    if (!cEmploy.disabled) {
//            if (cEmploy.value>0) {
//                value = cEmploy.value * valEmp;
//                amount = amount + value;
//            }
//        }
//    }

//    if (cLevel!=null) {
//        if ((!cLeader.disabled) && (cLevel.value=="Small") && (levelSmall==false)) {
//            amount = amount + cOldValue.value * valEmp;
//        }
//    }
//

    amount = amount - cTxtStart.value;
    if (amount < 0) amount = 0;

	cTxtAmount.value = amount;
	cLblAmount.innerHTML = "$" + format(amount);
}

function clearSelectedRadio(rdo) {
    if (rdo)
    {
        lst = rdo.getElementsByTagName("input");                
        for(var i=0; i<lst.length; i++){                
            lst[i].checked = false;
        }
    }
}

function getSelectedRadioValue(rdo) {
    lst = rdo.getElementsByTagName("input");                
    for(var i=0; i<lst.length; i++){                
        if (lst[i].checked) {
            return lst[i].value;
        }
    }
}

function valueInText(text) {
    var value = 0;

    var i = text.indexOf("$")
    if (i != -1) {
        var i2 = text.indexOf(" ", i)
        if (i2 != -1)
            value = text.substring(i + 1, i2);
        else
            value = text.substring(i + 1, text.length);

        value = value.replace(",","")
        value = value.replace("+","")
        value = value-0;
    }

    return value
}

function format(nStr) {
    nStr += "";
    i = nStr.indexOf(".");
    if (i == -1) { nStr = nStr + ".00" }
    x = nStr.split(".");
    x1 = x[0];
    x2 = x.length > 1 ? "." + x[1] : "";
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, "$1" + "," + "$2");
    }
    return x1 + x2;
}

