function setupAdvancedMeter() {
  var $advancedMeter = jQuery('[id^="edit-would-you-like-to-switch-to-an-advanced-meter"]');
  var $popRate = jQuery('[class*="residential-peak-off-peak"]');
  var $popRateInput = $popRate.find('input');
  var $flatRateInput = jQuery('[class*="residential-flat-rate"] input');
  var $auroraPlus = jQuery('[id^=edit-add-the-aurora-application-to-your-plan] .box-container-wrapper');
  var $auroraPlusInput = $auroraPlus.find('input');
  
  function evaluateAdvancedMeter() {
    var advancedSelected = $advancedMeter.find('input:checked').val() !== "No";
    $popRate.toggleClass("disabled", !advancedSelected);
    $auroraPlus.css("opacity", advancedSelected ? 1 : 0.5);
    if (advancedSelected) {
      $popRateInput.removeAttr("disabled");
      $auroraPlusInput.removeAttr("disabled");
    } else {
      $popRateInput.attr("disabled", true);
      $auroraPlusInput.attr("disabled", true);
    }
  }
  
  evaluateAdvancedMeter();
  $advancedMeter.find('input').change(function() {
    var advancedSelected = $advancedMeter.find('input:checked').val() !== "No";
    if (!advancedSelected) {
      if ($popRateInput.prop("checked")) {
        $popRateInput.prop("checked", false);
        $flatRateInput.prop("checked", true);        
      }
      $auroraPlusInput.prop("checked", false);
    }
    evaluateAdvancedMeter();
  });
}
setupAdvancedMeter();

document.addEventListener("animationstart", function(e) {            
  if (e.animationName == "callout-appear") {
    var address = undefined;
    var date = undefined;
    var calloutElement = document.querySelector('.page-title + .callout');
    if (calloutElement) {
      var addressElement = document.querySelector('.form-item-connection-address');
      var dateElement = document.querySelector('.form-item-your-connection-date');    
      if (addressElement && addressElement.childNodes.length > 0) {
        address = addressElement.childNodes[addressElement.childNodes.length - 1].nodeValue.trim();
        if (address.length == 0) address = undefined;
      }
      if (dateElement && dateElement.childNodes.length > 0) {
        date = dateElement.childNodes[dateElement.childNodes.length - 1].nodeValue.trim();
        if (date.length == 0) date = undefined;
      }
      if (address) {
        var html = '<div class="connection-overview">';
        html += "<label>Overview</label>";
        html += "<p>You're connecting <b>" + address + "</b>";
        if (date) html += " on <b>" + date + "</b>";
        html += "</p>";    
        html += "<p>We'll be in contact to confirm your connection date</p>";
        html += "</div>";
        var overviewElement = document.createElement("div");
        calloutElement.parentNode.insertBefore(overviewElement, calloutElement);
        overviewElement.outerHTML = html;
      }
      calloutElement.parentNode.removeChild(calloutElement);
    }
  } else if (e.animationName == "radios-appear") {
    setTimeout(function() {
      setupAdvancedMeter();
    }, 0);
  }
}, false);
