//written by: Kurt Wilhelm (kwilhelm@medeco.com) July 2008

valuePerYrSummary = 0;
estLogicPrice = 0;
function calculatePotLiab(a,b,c,d){
    var potLiab = parseInt(a.value) + parseInt(b.value) + parseInt(c.value)  + parseInt(d.value);
	document.getElementById("totPotentLiab").innerHTML = potLiab; 

}
function calcCurrentRekeyCost(){
	var b12 = parseInt(document.getElementById("rekeyPerYr").value);
	var b13 = parseInt(document.getElementById("extCyl").value);
	var b14 = parseInt(document.getElementById("nbrRetailCyls").value);
	var b15 = parseInt(document.getElementById("otherCyl").value);
	var b18 = parseInt(document.getElementById("costPerMechKey").value);

	var ans = (b13 + b14 + b15) * b18 * b12;
	document.getElementById("currRekeyCost").innerHTML = formatCurrency(ans); 
	return ans;
}
function calcIdealSec(){
	var b9  = parseInt(document.getElementById("phySec").value) + 
	          parseInt(document.getElementById("phySec2").value) + 
			  parseInt(document.getElementById("phySec3").value) + 
			  parseInt(document.getElementById("phySec4").value);
	var b13 = parseInt(document.getElementById("extCyl").value);
	var b14 = parseInt(document.getElementById("nbrRetailCyls").value);
	var b15 = parseInt(document.getElementById("otherCyl").value);
	var b18 = parseInt(document.getElementById("costPerMechKey").value);

	var ans = (b13 + b14 + b15) * b18 * b9;
	document.getElementById("idealSec").innerHTML = formatCurrency(ans); 
	return ans;
}
function calcInstantRekeyVal(){
	var b24 = calcIdealSec();
	var b23 = calcCurrentRekeyCost();
	var ans = parseInt(b24) - parseInt(b23);
	document.getElementById("instantRekey").innerHTML = formatCurrency(ans); 
	return ans;
}
function calculateShrink(){
    //var totShrink = parseInt(a.value) * parseInt(b.value) * parseInt(c.value);
	var totShrink = parseInt(document.getElementById("totShrinkDollars").value);
	var pctTheft = parseInt(document.getElementById("pctIntTheft").value);
	var pctTheftReducts = parseInt(document.getElementById("pctTheftReduct").value);

	var ans = (pctTheft / 100) * (pctTheftReducts / 100) * totShrink ;
	document.getElementById("calculatedShrink").innerHTML = formatCurrency(ans); 
	return ans;	
}
function calculateCustCapPerHr(){
	var b11 = parseInt(document.getElementById("avgSalesTran").value);
	var b5 = parseInt(document.getElementById("avgMgrsPerHr").value);
	var b6 = parseInt(document.getElementById("avgWrksPerHr").value);
    var ans = 0; 
	
	if (b11 > 0){
		ans = (60 / b11) * (b5 + b6);
	}
	document.getElementById("custCap").innerHTML = Math.round(ans); 
	
	return ans;	
}
function calculatePctCustNotSvcd(){
	var b9 = parseInt(document.getElementById("nbrCustPerHr").value);
	var b18 = calculateCustCapPerHr();
	var ans = 0; 
	
	if (b9 > 0){
		ans = (b9-b18) / b9 * 100;
	}
	document.getElementById("custNotServed").innerHTML = Math.round(ans) + "%"; 

	return ans;	
}
function calculateCustSeekingLocked(){
	var b19 = calculatePctCustNotSvcd();
	var b14 = parseInt(document.getElementById("custSaleConvertRate").value);
	var ans = 0; 
	
	ans = (b19 * b14);
	
	document.getElementById("custSeekingLocked").innerHTML = Math.round(ans) / 100 + "%"; 
	
	return ans;	
}
function calculateRevGain(){
	var b20 = calculateCustSeekingLocked();
	//b20 = Math.round(b20)/100;
	var b12 = parseInt(document.getElementById("declineSalesProb").value);
	var b13 = parseInt(document.getElementById("approxAnnLockedSales").value);
	var ans = 0; 
	
	//alert("b20=" + b20 + " b12=" + b12 + " b13=" + b13);
	b20 = b20/100;
	b12 = b12/100;
	ans = (b20 * b12 * b13) / 100;
	
	document.getElementById("revGain").innerHTML = formatCurrency(ans); 
	
	return ans;	
}
function calculateEstLogicSysPrice(){
	var b11 = parseInt(document.getElementById("rqKeys").value);
	var b13 = parseInt(document.getElementById("extCyl").value);
	var b14 = parseInt(document.getElementById("nbrRetailCyls").value);
	var b15 = parseInt(document.getElementById("otherCyl").value);
	var b5 = 89;
	var b6 = 559;
	var b7 = 1620;
	
	var ans = 0; 
	var ansB = 0;
	
	ans = (b13 + b14 + b15) * b6;
	ansB = (b11 * b5) + b7;
	ans = ans + ansB;
	//alert("b11=" + b11 + " b13=" + b13 + " b14=" + b14 + " b15=" + b15);
	estLogicPrice = ans;
	
	document.getElementById("estLogicPrice").innerHTML = formatCurrency(ans); 
	calculatePayBack();
	return ans;	
}
function calculateValPerYr(){
	var b12 = calculateShrink();
	var b25 = calcInstantRekeyVal();
	var b21 = calculateRevGain();
	
	var ans = 0; 
	
	ans = b12 + b25 + b21;
    valuePerYrSummary = ans;	
	ansB = ans/100;
	document.getElementById("valPerYr").innerHTML = formatCurrency(ans); 
	calculatePayBack();
	return ans;	
}
function calculatePayBack(){
	var b9  = estLogicPrice;
	var b10 = valuePerYrSummary;
	
	var ans = 0; 
	
	ans = b9 / b10 * 12;
	
	//document.getElementById("payBack").innerHTML = Math.round(ans * 100) + "%"; 
	document.getElementById("payBack").innerHTML = Math.round(ans); 
	
	return ans;	
}


function resetFields(){
	document.getElementById('totPotentLiab').innerHTML=0;
	document.getElementById('currRekeyCost').innerHTML=0;
	document.getElementById('idealSec').innerHTML=0;
	document.getElementById('instantRekey').innerHTML=0;
	document.getElementById('calculatedShrink').innerHTML=0;
	document.getElementById('custCap').innerHTML=0;
	document.getElementById('custNotServed').innerHTML=0;
	document.getElementById('custSeekingLocked').innerHTML=0;
	document.getElementById('revGain').innerHTML=0;
	document.getElementById('payBack').innerHTML=0;
	document.getElementById('valPerYr').innerHTML=0;
	document.getElementById('estLogicPrice').innerHTML=0;
	TabbedPanels1.showPanel(0);
}

function gotoNextTab(x){
 	TabbedPanels1.showPanel(x);
}
function gotoPreviousTab(x){
 	TabbedPanels1.showPanel(x);
}

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);
}

