var cnc;
var programs;
var days;
var rate;

function formatcurrency(num) {
if(isNaN(num)) {
alert("not a number");
num = "0";
}
if(num<0) {
alert("number can not be negative");
num = "0";
}

num = Math.floor(num*100+0.500);
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 ('$' + num + '.' + cents);
}

function checkcell(dncroi) {
	if (dncroi.investblank.value == "" && dncroi.roiblank.value == ""){
		alert("Either the Investment or the ROI must be filled in")
		return false;
		}
	if (dncroi.investblank.value != "" && dncroi.roiblank.value != ""){
		alert("Only the Investment or the ROI can be filled in")
		return false;
		}
	if ((dncroi.investblank.value != "") && (((dncroi.investblank.value / dncroi.investblank.value) != 1) || (dncroi.investblank.value <= 0))){ 
    		alert("Please enter a positive numeric value for the Investment")
		return false;
		}
	if ((dncroi.roiblank.value != "") && (((dncroi.roiblank.value / dncroi.roiblank.value) != 1) || (dncroi.roiblank.value <= 0))){ 
    		alert("Please enter a positive numeric value for the ROI")
		return false;
		}
	if ((((dncroi.cncs.value) / (dncroi.cncs.value)) != 1) || ((dncroi.cncs.value) <= 0)){ 
    		alert("Please enter a positive number of CNC machines")
		return false;
		}
	if ((((dncroi.programs.value) / (dncroi.programs.value)) != 1) || ((dncroi.programs.value) <= 0)){ 
    		alert("Please enter a positive number of CNC programs")
		return false;
		}
	if ((((dncroi.days.value) / (dncroi.days.value)) != 1) || ((dncroi.days.value) <= 0)){ 
    		alert("Please enter a positive number of days")
		return false;
		}
	if (dncroi.days.value > 7){
		alert("Number of days can not be greater than 7")
		return false;
		}
	if ((((dncroi.rate.value) / (dncroi.rate.value)) != 1) || ((dncroi.rate.value) <= 0)){ 
    		alert("Please enter a positive numeric value for the hourly rate")
		return false;
		}
	if ((((dncroi.time1.value) / (dncroi.time1.value)) != 1) || ((dncroi.time1.value) <= 0)){ 
    		alert("Please enter a positive number to load the CNC programs without Predator")
		return false;
		}
	if ((((dncroi.time2.value) / (dncroi.time2.value)) != 1) || ((dncroi.time2.value) <= 0)){ 
    		alert("Please enter a positive number to load the CNC programs with Predator")
		return false;
		}
	if (parseFloat(dncroi.time1.value) <= parseFloat(dncroi.time2.value)){
		alert("Loading the CNC programs will always be faster using Predator")
		return false;
		}
	if (dncroi.investblank.value != "" && dncroi.roiblank.value == ""){
		calroi(dncroi)
		}
	if (dncroi.investblank.value == "" && dncroi.roiblank.value != ""){
		calinvest(dncroi)
		}
}

function   calroi(dncroi) {
	 var t1 = eval(dncroi.cncs.value) * eval(dncroi.programs.value) * eval(dncroi.days.value) * eval(dncroi.time1.value) / 60
	 var t2 = eval(dncroi.cncs.value) * eval(dncroi.programs.value) * eval(dncroi.days.value) * eval(dncroi.time2.value) / 60
 	 var c1 = t1 * eval(dncroi.rate.value)
 	 var c2 = t2 * eval(dncroi.rate.value)
 	 var s1 = c1 - c1
 	 var s2 = c1 - c2
 	 var roi1 = eval(dncroi.investblank.value) / s2
 	 var p1a = roi1 - (Math.floor(roi1/52) * 52)
 	 var p1 = s2 * (52-p1a) 	
 	 var p2 = s2 * 52
	 dncroi.time1r.value=Math.round(t1*100) / 100 + '  Hours'
	 dncroi.time2r.value=Math.round(t2*100) / 100 + '  Hours'
	 dncroi.cost1.value=formatcurrency(c1)
	 dncroi.cost2.value=formatcurrency(c2)
	 dncroi.save1.value=formatcurrency(s1)
	 dncroi.save2.value=formatcurrency(s2)
	 dncroi.roi.value=Math.round(roi1*100) / 100 + '  Weeks'
	 dncroi.investment.value=formatcurrency(dncroi.investblank.value)
	 dncroi.profit1.value=formatcurrency(p1)
	 dncroi.profit2.value=formatcurrency(p2)
}
	
function   calinvest(dncroi) {
	 var t1 = eval(dncroi.cncs.value) * eval(dncroi.programs.value) * eval(dncroi.days.value) * eval(dncroi.time1.value) / 60
	 var t2 = eval(dncroi.cncs.value) * eval(dncroi.programs.value) * eval(dncroi.days.value) * eval(dncroi.time2.value) / 60
 	 var c1 = t1 * eval(dncroi.rate.value)
 	 var c2 = t2 * eval(dncroi.rate.value)
 	 var s1 = c1 - c1
 	 var s2 = c1 - c2
 	 var invest1 = eval(dncroi.roiblank.value) * s2
 	 var p1a = eval(dncroi.roiblank.value) - (Math.floor(eval(dncroi.roiblank.value)/52) * 52)
 	 var p1 = s2 * (52-p1a) 	
 	 var p2 = s2 * 52
	 dncroi.time1r.value=Math.round(t1*100) / 100 + '  Hours'
	 dncroi.time2r.value=Math.round(t2*100) / 100 + '  Hours'
	 dncroi.cost1.value=formatcurrency(c1)
	 dncroi.cost2.value=formatcurrency(c2)
	 dncroi.save1.value=formatcurrency(s1)
	 dncroi.save2.value=formatcurrency(s2)
	 dncroi.roi.value=Math.round((dncroi.roiblank.value)*100) / 100 + ' Weeks'
	 dncroi.investment.value=formatcurrency(invest1)
	 dncroi.profit1.value=formatcurrency(p1)
	 dncroi.profit2.value=formatcurrency(p2)
}


