function initCalculator() {

  var checkCoolers;

  var noCoolers;
  var coolersCost;
  var noBottles;
  var bottlesCost;
  var maintenanceCost;
  var crownCost;
  var totalCost;
  var totalSaving;
  var errors = 'We cannot calculate your saving, there is a problem with the data you have supplied.\n\n';
  var i;
  
  i = 1;
  
  if(isNaN(document.getElementById('NoCoolers').value)
    || document.getElementById('NoCoolers').value == ''
    || document.getElementById('NoCoolers').value <= 0) {
    checkCoolers = false;
    errors += i + '. Please enter how many coolers you have.\n';
    i++;
  } else {
    checkCoolers = true;
    noCoolers = new Number(document.getElementById('NoCoolers').value);
    noCoolers = noCoolers.toFixed(2);
  }
  
  if(isNaN(document.getElementById('CoolersCost').value)
    || document.getElementById('CoolersCost').value == ''
    || document.getElementById('CoolersCost').value <= 0) {
    checkCoolersCost = false;
    errors += i + '. Please enter the monthly rental cost for each machine.\n';
    i++;
  } else {
    checkCoolersCost = true;
    coolersCost = new Number(document.getElementById('CoolersCost').value);
    coolersCost = coolersCost.toFixed(2);
  }
  
  if(isNaN(document.getElementById('NoBottles').value)
    || document.getElementById('NoBottles').value == ''
    || document.getElementById('NoBottles').value <= 0) {
    checkBottles = false;
    errors += i + '. Please enter how many bottles you use in a month.\n';
    i++;
  } else {
    checkBottles = true;
    noBottles = new Number(document.getElementById('NoBottles').value);
    noBottles = noBottles.toFixed(2);
  }
  
  if(isNaN(document.getElementById('BottlesCost').value)
    || document.getElementById('BottlesCost').value == ''
    || document.getElementById('BottlesCost').value <= 0) {
    checkBottlesCost = false;
    errors += i + '. Please enter how much each bottle of water costs.\n';
    i++;
  } else {
    checkBottlesCost = true;
    bottlesCost = new Number(document.getElementById('BottlesCost').value);
    bottlesCost = bottlesCost.toFixed(2);
  }
  
  if(isNaN(document.getElementById('MaintenanceCost').value)
    || document.getElementById('MaintenanceCost').value == ''
    || document.getElementById('MaintenanceCost').value < 0) {
    checkMaintenance = false;
    errors += i + '. Please enter how much you spend on maintenance of your coolers.\n';
    i++;
  } else {
    checkMaintenance = true;
    maintenanceCost = new Number(document.getElementById('MaintenanceCost').value);
    maintenanceCost = maintenanceCost.toFixed(2);
  }
  
  if(checkCoolers == true && checkCoolersCost == true && checkBottles == true && checkBottlesCost == true  && checkMaintenance == true) {
    totalCost = new Number((noCoolers * coolersCost) + (noBottles * bottlesCost) + (maintenanceCost * 1));
    totalCost = totalCost.toFixed(2);
    
    crownCost = new Number(document.getElementById('CrownCost').value * noCoolers);
    crownCost = crownCost.toFixed(2);
    
    totalSaving = new Number((totalCost - crownCost) * 1);
    totalSaving = totalSaving.toFixed(2);
    
    document.getElementById('savecontainer').innerHTML = "You could be saving up to &pound;" + totalSaving + " per month with Crown Coffee &amp; Water.";
    document.getElementById('savecontainer').style.styleFloat = 'left';
    document.getElementById('savecontainer').style.marginTop = '20px';
    document.getElementById('savecontainer').style.display = 'block';
  } else {
    alert(errors);
  }

  return false;

}

