/* Pi-hole: A black hole for Internet advertisements
 *  (c) 2017 Pi-hole, LLC (https://pi-hole.net)
 *  Network-wide ad blocking via your own hardware.
 *
 *  This file is copyright under the latest version of the EUPL.
 *  Please see LICENSE file for your rights under this license. */

var exact = "";

function quietfilter(ta, data) {
  var lines = data.split("\n");
  for (var i = 0; i < lines.length; i++) {
    if (lines[i].indexOf("results") !== -1 && lines[i].indexOf("0 results") === -1) {
      var shortstring = lines[i].replace("::: /etc/pihole/", "");
      // Remove "(x results)"
      shortstring = shortstring.replace(/\(.*/, "");
      ta.append(shortstring + "\n");
    }
  }
}

function eventsource() {
  var ta = $("#output");
  var domain = $("#domain").val().trim();
  var q = $("#quiet");

  if (domain.length === 0) {
    return;
  }

  var quiet = false;
  if (q.val() === "yes") {
    quiet = true;
    exact = "exact";
  }

  // IE does not support EventSource - load whole content at once
  if (typeof EventSource !== "function") {
    $.ajax({
      method: "GET",
      url: "scripts/pi-hole/php/queryads.php?domain=" + domain.toLowerCase() + exact + "&IE",
      async: false
    }).done(function (data) {
      ta.show();
      ta.empty();
      if (!quiet) {
        ta.append(data);
      } else {
        quietfilter(ta, data);
      }
    });
    return;
  }

  // eslint-disable-next-line compat/compat
  var source = new EventSource(
    "scripts/pi-hole/php/queryads.php?domain=" + domain.toLowerCase() + "&" + exact
  );

  // Reset and show field
  ta.empty();
  ta.show();

  source.addEventListener(
    "message",
    function (e) {
      if (!quiet) {
        ta.append(e.data);
      } else {
        quietfilter(ta, e.data);
      }
    },
    false
  );

  // Will be called when script has finished
  source.addEventListener(
    "error",
    function () {
      source.close();
    },
    false
  );

  // Reset exact variable
  exact = "";
}

// Handle enter button
$(document).keypress(function (e) {
  if (e.which === 13 && $("#domain").is(":focus")) {
    // Enter was pressed, and the input has focus
    exact = "";
    eventsource();
  }
});
// Handle button
$("#btnSearch").on("click", function () {
  exact = "";
  eventsource();
});
// Handle exact button
$("#btnSearchExact").on("click", function () {
  exact = "exact";
  eventsource();
});

// Wrap form-group's buttons to next line when viewed on a small screen
$(window).on("resize", function () {
  if ($(window).width() < 991) {
    $(".form-group.input-group").removeClass("input-group").addClass("input-group-block");
    $(".form-group.input-group-block > input").css("margin-bottom", "5px");
    $(".form-group.input-group-block > .input-group-btn")
      .removeClass("input-group-btn")
      .addClass("btn-block text-center");
  } else {
    $(".form-group.input-group-block").removeClass("input-group-block").addClass("input-group");
    $(".form-group.input-group > input").css("margin-bottom", "");
    $(".form-group.input-group > .btn-block.text-center")
      .removeClass("btn-block text-center")
      .addClass("input-group-btn");
  }
});
$(function () {
  $(window).trigger("resize");
});

@@ -2536,17 +2536,17 @@
 h() %3C 99
-1
+2
 ) %7B%0A    

fix off by one in the viewport check.