// JavaScript Document
function roiCalculator(e, elemId){

if(window.event) // IE
	{
	keynum = e.keyCode;
	}
else if(e.which) // Netscape/Firefox/Opera
	{
	keynum = e.which;
	}

//check if key pressesd is a numeric either else ignore key
if((keynum < 48 || keynum > 57) && keynum != 190 && keynum != 8) {
var temp = document.getElementById(elemId).value;
document.getElementById(elemId).value = temp.substring(0,(temp.length-1));
return;
}

//read values
var costOfEachLead = document.getElementById('costOfLead').value;
var conversionRate = document.getElementById('conversonRate').value;
var lifeTimeValueInYear = document.getElementById('lifeTimeInYear').value;
var orderPerCustomer = document.getElementById('orderPerCustomerPerYear').value;
var orderValue = document.getElementById('orderValue').value;
var investment = document.getElementById('investment').innerHTML;

//values to be calculated
var valueOfCustomer = 0;
var roiValue = 0;
var roiPercent = 0;

//check if any one field is having non-numeric value
if(!(IsNumeric(costOfEachLead) && IsNumeric(conversionRate) && IsNumeric(lifeTimeValueInYear) && IsNumeric(orderPerCustomer) && IsNumeric(orderValue))){
return;
}


//Calculation part goes here, if logic chnages changes are required to be made here only
try{
valueOfCustomer = orderValue*orderPerCustomer*lifeTimeValueInYear;
roiValue =  ((investment/costOfEachLead) * (conversionRate)/100)*valueOfCustomer;
roiPercent = (roiValue/investment) * 100;
}
catch(e){}

//assign the calculated value to the page element

document.getElementById('valueOfCustomer').value = valueOfCustomer;
document.getElementById('roiL').innerHTML = roiValue.toFixed(2);
document.getElementById('roiP').innerHTML = roiPercent.toFixed(2);

}

//function to check if a string is numeric string or not
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }