﻿// Javascript File

    function toggleDisplay(elem, strID) {
        options = {
	        duration: .5,
	        transition: Effect.Transitions.sinoidal
        }
        switch($(strID).getStyle('display') == 'none') { 
            case true:
                new Effect.BlindDown(strID, options);
                if ($(elem)) $(elem).innerHTML="hide";
            break;
            case false:
                new Effect.BlindUp(strID, options);
                if ($(elem)) $(elem).innerHTML="view";
            break;
            default:
       }
    }
                
        function toggleDisplayByClass(strClass) {

            var elems = $$(strClass);
            elems.each(function(elem){
                toggleDisplay('', elem.id);
                //alert(elem.id);
            });
        }
    function formatCurrency(num) {
        num = num.toString().replace(/\$|\,/g,'');
        if(isNaN(num))
        num = "0";
        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num*100+0.50000000001);
        cents = num%100;
        num = Math.floor(num/100).toString();
        if(cents<10)
        cents = "0" + cents;
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
        num.substring(num.length-(4*i+3));
        return (((sign)?'':'-') + '$' + num + '.' + cents);
    }
    

    function formatNumber(num) {
        num = num.toString().replace(/\$|\,/g,'');
        if(isNaN(num))
        num = "0";
        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num*100+0.50000000001);
        cents = num%100;
        num = Math.floor(num/100).toString();
        if(cents<10)
        cents = "0" + cents;
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
        num.substring(num.length-(4*i+3));
        return (((sign)?'':'-') + num + '.' + cents);
    }
    
    function calculateROI () {
        var annualBilling = $("monthlyBillingINPUT").value * 12;
        var debtReserve = annualBilling * ($("debtReserveINPUT").value / 100);
		var fteCount = $("fteCountINPUT").value;
		var annualLaborHours = fteCount*2000;
		var hourlyWage = $("hourlyWageINPUT").value;
		//var loadedHourlyWage = hourlyWage * (1 + ( $("benefitsFactorINPUT").value / 100));
		var loadedHourlyWage = hourlyWage * 1.25;
		var annualWages = hourlyWage*annualLaborHours;
		var annualPayroll = loadedHourlyWage*annualLaborHours;

		var timeSavingsValue = fteCount*(50*($("timeSavedINPUT").value/60))*loadedHourlyWage;
		var increasedCollectionsValue = debtReserve* $("increasedCollectionsINPUT").value/100;


		var reducedDSO = $("reducedDsoINPUT").value;
		//var reducedDSOValue = annualBilling/365*reducedDSO*$("costOfCapitalINPUT").value/100;
		var reducedDSOValue = annualBilling/365*reducedDSO*.05;
		
		
		
		var totalROI = timeSavingsValue+increasedCollectionsValue+reducedDSOValue;

        $("annualBillingDIV").innerHTML=formatCurrency(annualBilling);
        $("debtReserveDIV").innerHTML=formatCurrency(debtReserve);
        $("annualHoursDIV").innerHTML=formatNumber(annualLaborHours);
        //$("annualWagesDIV").innerHTML=formatCurrency(annualWages);
        $("annualPayrollDIV").innerHTML=formatCurrency(annualPayroll);
        $("timeSavingsValueDIV").innerHTML=formatCurrency(timeSavingsValue);
        $("increasedCollectionsValueDIV").innerHTML=formatCurrency(increasedCollectionsValue);
        $("reducedDSOValueDIV").innerHTML=formatCurrency(reducedDSOValue);
        $("totalROIDIV").innerHTML=formatCurrency(totalROI);



    };
    
    function resetInputs() {
        $("monthlyBillingINPUT").value = "";
        $("debtReserveINPUT").value = "";
		$("fteCountINPUT").value = "";
		
		$("hourlyWageINPUT").value = "";
		$("benefitsFactorINPUT").value = "";
        $("costOfCapitalINPUT").value = "";
        
        $("timeSavedINPUT").value = "";
		$("increasedCollectionsINPUT").value = "";
		$("reducedDsoINPUT").value = "";
    }    
    
    function clearInputs() {
        $("monthlyBillingINPUT").value = "";
        $("debtReserveINPUT").value = "";
		
		$("fteCountINPUT").value = "";
		$("hourlyWageINPUT").value = "";
		$("benefitsFactorINPUT").value = "";
        $("costOfCapitalINPUT").value = "";
       calculateROI ();
    }
    
    function resetBenchmarks() {
        $("timeSavedINPUT").value = "90";
		$("increasedCollectionsINPUT").value = "15.0";
		$("reducedDsoINPUT").value = "7";
		calculateROI ();
    }    

		calculateROI ();
