  function getNumericVal(el, selector) {
    var el = el.find(selector);
    var val = el.text();
    val = parseInt(val.replace(/\D/g, ''), 10); // remove £ and commas + parse
    return val;
  };

  function setUp(thermometerSelector) {
    var config = {};
    config.el = $(thermometerSelector);
    config.middleEl = config.el.find('.display .middle');
    config.middleValueEl = config.middleEl.find('.value');
    config.currentTotalEl = config.el.find('.current_total .value');    
    config.numberOfMarks = parseInt(config.middleEl.height()/10, 10);
    config.goalValue = getNumericVal(config.el, '.figures .goal .value');
    config.currentTotalValue = getNumericVal(config.el, '.figures .current_total .value'); 
    config.pixelsPerValue = config.middleValueEl.height()/config.currentTotalValue;
    config.valuePerMark = config.goalValue/config.numberOfMarks;
  
    return config;
  }

  function addThermometerMarks(middleEl, numberOfMarks, valuePerMark) {
    for(var i = 1; i <= numberOfMarks; ++i) {
      var amount = parseInt(valuePerMark * i);
      var markEl = $('<div class="mark"></div>');
      markEl.css({'position': 'absolute', 'bottom': (i*10) + "px"});
      markEl.attr('title', '£' + amount);
      var tooltip = $('<div class="tooltip">&pound;' + amount + '</div>');
      markEl.append(tooltip);
      middleEl.append(markEl);
    }
  };
  
  $(function() {
    var config = setUp('.thermometer-widget.styled.js-enriched.ex1');
    addThermometerMarks(config.middleEl, config.numberOfMarks, config.valuePerMark);
  });

today  = new Date();
todayEpoch  = today.getTime();

target = new Date("15 April, 2012"); 
targetEpoch = target.getTime();

daysLeft = Math.floor(((targetEpoch - todayEpoch) / (60*60*24)) / 1000);
