
 var A = 0;
 var B = 0;
 var D = 0;
 var E = 0;
 var TOTAL1 = 0;
 var F = 0;
 var waterCoolers = 0;
 var monthlyCostPerCooler = 0;
 var coolerCost = 0;
function Annual_Direct()
{ 
 var re = RegExp ('/(\w+)\s(\d+)/');
 function validatePosInteger(strValue) {
  var objRegExp  = /\b[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]{2})?\b|\d+/;
  return objRegExp.test(strValue);
 }
 function checkForm(){
           if(validatePosInteger(document.calc_form.pay_bottle.value) & document.calc_form.pay_bottle.value != "") 
            {                
                var y = parseFloat(document.calc_form.pay_bottle.value);
                B = y;// + (y * 0.05);
         }
            else
            {
            alert('Enter numeric value!');
      document.calc_form.pay_bottle.focus();
      return false;      
      }
        
        if(validatePosInteger(document.calc_form.pay_bottle_3.value) & document.calc_form.pay_bottle_3.value != "") 
            {
              D = parseFloat(document.calc_form.pay_bottle_3.value);       
              //alert(document.calc_form.pay_bottle_3.value);
         }
            else
            {
            alert('Enter numeric value 3textbox!');
      document.calc_form.pay_bottle_3.focus();
      return false;
      }
      
      if(validatePosInteger(document.calc_form.inuse_coolers.value) & document.calc_form.inuse_coolers.value != "") 
   {
    A = parseFloat(document.calc_form.inuse_coolers.value);       
   }
     else
   {
         alert('Enter numeric value for coolers in use');
     document.calc_form.inuse_coolers.focus();
      return false;
      } 
   return true;
 }
 
   function calculate (){
             document.calc_form.annual_direct.readOnly = false;
  			coolerCost = monthlyCostPerCooler*12*waterCoolers;
     		//E = (D*B*A*12);
			E = ((D * B) * 12) + ((A * 8) * 12);
            document.calc_form.annual_direct.value = formatCurrency(E) ;
            document.calc_form.annual_direct.readOnly = true;
         }
 
        if (checkForm())
           {
        calculate ();
        }

}

function Annual_Direct2()
{
    if (document.calc_form.annual_direct.value != "")
    {     
      document.calc_form.annual_direct2.readOnly = false;
      // var tmpTotal = E-coolerCost; 
   // F = Math.floor(E-(12*38*A)/E) ;
	var quenchCost = (12 * 38 * A);
	var diff = E - quenchCost;
	if (diff < 0) diff = 0;
	var percent = Math.floor(100 * diff / E);
//	F = "(" + E + " - " + quenchCost + " ) = " + diff + " or " + percent + " %";
	F = percent + "%";
  
 	document.calc_form.annual_direct2.value = F;
             document.calc_form.annual_direct2.readOnly = true;     
    }
    else
    {
        alert('Error! Please calculate: "The Annual Direct Cost.." !!!');
    }
}

/**  from http://www.openjs.com/scripts/maths/rounding_numbers.php
 * Function that could be used to round a number to a given decimal points. Returns the answer
 * Arguments :  number - The number that must be rounded
 *				decimal_points - The number of decimal points that should appear in the result
 */
function roundNumber(number,decimal_points) {
	if(!decimal_points) return Math.round(number);
	if(number == 0) {
		var decimals = "";
		for(var i=0;i<decimal_points;i++) decimals += "0";
		return "0."+decimals;
	}

	var exponent = Math.pow(10,decimal_points);
	var num = Math.round((number * exponent)).toString();
	return num.slice(0,-1*decimal_points) + "." + num.slice(-1*decimal_points)
}

// from http://javascript.internet.com/forms/currency-format.html

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);
}