﻿
function Ctrl(aControlName)
{
    return document.getElementById(aControlName);
}
function AddCommas(nStr)
{
	nStr += '';
	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;
}
function fmt(val)
{
    return new NumberFormat(val).toFormatted();
}
function ufmt(val)
{
    return new NumberFormat(val).toUnformatted();
}
function IsValidCalcValue(val)
{
    val.value = fmt(val.value);
    var iVal = ufmt(val.value);
    if(!(iVal*1) || (iVal < 1) )
    {
        alert("Must be a numeric value greater than zero.");
        //completely stooooopid FIREFOX hack to set focus - real nice!
        setTimeout(function(){val.focus();val.select();},10)

        return false;
    }   
    return true;
}

function ValidateInput(val)
{
    if(IsValidCalcValue(val))
    {
        UpdateCalc();
    }
}
function UpdateCalc()
{
	/***** OLD FULL CALC STUFF FROM SPREADSHEET
    //var SalesGoal =                     Ctrl("SalesGoal");
    //var AvgAmountPerSale = 		        Ctrl("AvgAmountPerSale");
    //var CurrentMonthlySales =           Ctrl("CurrentMonthlySales");
    //var lblApptsMonth =            		Ctrl("lblApptsMonth");
    //var lblApptsYear =                  Ctrl("lblApptsYear");
    
    //SalesGoal.innerHTML = fmt(C1());
    //AvgAmountPerSale.innerHTML = fmt(C2());
    //CurrentMonthlySales.innerHTML = fmt(C3());
    
    //lblApptsMonth.innerHTML = fmt(C4());
    //lblApptsMonth.innerHTML = fmt(C5()); 
    *****/
 
    /**** New Short Form equation ****/
    var SalesGoal =                     Ctrl("SalesGoal");
    var AvgAmountPerSale = 		        Ctrl("AvgAmountPerSale");
    var AvgSalesTeamCloseRate =         Ctrl("AvgSalesTeamCloseRate"); 
    var lblApptsMonth =            		Ctrl("lblApptsMonth");
    var lblApptsYear =                  Ctrl("lblApptsYear");
    
    var x = ufmt(SalesGoal.value) / ufmt(AvgAmountPerSale.value); 
    var x1 = ufmt(AvgSalesTeamCloseRate.value) / 100;
    
    var x2 = x / x1; 
    var x3 = x2 / 12; 
    x3 = x3 + .5; 
    
    lblApptsMonth.innerHTML = fmt(x3);
    lblApptsYear.innerHTML = fmt(x2);
}

/***** OLD FULL CALC FUNCTIONS BELOW *****/
function C4()
{
    return (C1() / C2() ) /.60;
}
function C4()
{
    return C5()/12;
}
function C22()
{
    return C21() * 12;
}
function C21()
{
    return C19() * C6();
}
function C19()
{
    return C12() * C18();
}
function C18()
{
    return C11() * C17();
}
function C17()
{
    return C10() * C16();
}
function C16()
{
    return C9() * C15();
}
function C15()
{
    return C3();
}
function C13()
{
    return (C19()/C3()) * 100;
}
function C12()
{
    return ufmt(Ctrl("Sales").value)/100;
}
function C11()
{
    return ufmt(Ctrl("Proposals").value)/100;
}
function C10()
{
    return ufmt(Ctrl("Appointments").value)/100;
}
function C9()
{
    return ufmt(Ctrl("Dials").value)/100;
}
function C6()
{
    return ufmt(Ctrl("AverageSale").value);
}
function C5()
{
    return C4() * 12;
}
function C4()
{
    return ufmt(Ctrl("CurrentMonthlySales").value);
}
function C3()
{
    return C2() * 20;
}
function C2()
{
    return ufmt(Ctrl("DailyDials").value);
}

