PageSourceSearch

https://voiceofthefree.org.ph/templates/giver/js/main.js

js voiceofthefree.org.ph collected 2026-10-08 08:58:25 UTC 4,234 bytes, 160 lines download raw bytes

1/**
2 * @package Helix Ultimate Framework
3 * @author JoomShaper https://www.joomshaper.com
4 * @copyright Copyright (c) 2010 - 2018 JoomShaper
5 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
6 */
7
8jQuery(function ($) {
9  // Stikcy Header
10  if ($("body").hasClass("sticky-header")) {
11    var header = $("#sp-header");
12
13    if ($("#sp-header").length) {
14      var headerHeight = header.outerHeight();
15      var stickyHeaderTop = header.offset().top;
16      var stickyHeader = function () {
17        var scrollTop = $(window).scrollTop();
18        if (scrollTop > stickyHeaderTop) {
19          header.addClass("header-sticky");
20        } else {
21          if (header.hasClass("header-sticky")) {
22            header.removeClass("header-sticky");
23          }
24        }
25      };
26      stickyHeader();
27      $(window).scroll(function () {
28        stickyHeader();
29      });
30    }
31
32    if ($("body").hasClass("layout-boxed")) {
33      var windowWidth = header.parent().outerWidth();
34      header.css({ "max-width": windowWidth, left: "auto" });
35    }
36  }
37
38  // go to top
39  $(window).scroll(function () {
40    if ($(this).scrollTop() > 100) {
41      $(".sp-scroll-up").fadeIn();
42    } else {
43      $(".sp-scroll-up").fadeOut(400);
44    }
45  });
46
47  $(".sp-scroll-up").click(function () {
48    $("html, body").animate(
49      {
50        scrollTop: 0,
51      },
52      600
53    );
54    return false;
55  });
56
57  // Preloader
58  $(window).on("load", function () {
59    $(".sp-preloader").fadeOut(500, function () {
60      $(this).remove();
61    });
62  });
63
64  //mega menu
65  $(".sp-megamenu-wrapper")
66    .parent()
67    .parent()
68    .css("position", "static")
69    .parent()
70    .css("position", "relative");
71  $(".sp-menu-full").each(function () {
72    $(this).parent().addClass("menu-justify");
73  });
74
75  // Offcanvs
76  $("#offcanvas-toggler").on("click", function (event) {
77    event.preventDefault();
78    $(".offcanvas-init").addClass("offcanvas-active");
79  });
80
81  $(".close-offcanvas, .offcanvas-overlay").on("click", function (event) {
82    event.preventDefault();
83    $(".offcanvas-init").removeClass("offcanvas-active");
84  });
85
86  $(document).on("click", ".offcanvas-inner .menu-toggler", function (event) {
87    event.preventDefault();
88    $(this)
89      .closest(".menu-parent")
90      .toggleClass("menu-parent-open")
91      .find(">.menu-child")
92      .slideToggle(400);
93  });
94
95  // Tooltip
96  var tooltipTriggerList = [].slice.call(
97    document.querySelectorAll('[data-bs-toggle="tooltip"], .hasTooltip')
98  );
99  var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
100    return new bootstrap.Tooltip(tooltipTriggerEl, {
101      html: true,
102    });
103  });
104
105  // Popover
106  var popoverTriggerList = [].slice.call(
107    document.querySelectorAll('[data-bs-toggle="popover"]')
108  );
109  var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
110    return new bootstrap.Popover(popoverTriggerEl);
111  });
112
113  // Article Ajax voting
114  $(".article-ratings .rating-star").on("click", function (event) {
115    event.preventDefault();
116    var $parent = $(this).closest(".article-ratings");
117
118    var request = {
119      option: "com_ajax",
120      template: template,
121      action: "rating",
122      rating: $(this).data("number"),
123      article_id: $parent.data("id"),
124      format: "json",
125    };
126
127    $.ajax({
128      type: "POST",
129      data: request,
130      beforeSend: function () {
131        $parent.find(".fa-spinner").show();
132      },
133      success: function (response) {
134        var data = $.parseJSON(response);
135        $parent.find(".ratings-count").text(data.message);
136        $parent.find(".fa-spinner").hide();
137
138        if (data.status) {
139          $parent.find(".rating-symbol").html(data.ratings);
140        }
141
142        setTimeout(function () {
143          $parent.find(".ratings-count").text("(" + data.rating_count + ")");
144        }, 3000);
145      },
146    });
147  });
148
149  //  Cookie consent
150  $(".sp-cookie-allow").on("click", function (event) {
151    event.preventDefault();
152
153    var date = new Date();
154    date.setTime(date.getTime() + 30 * 24 * 60 * 60 * 1000);
155    var expires = "; expires=" + date.toGMTString();
156    document.cookie = "spcookie_status=ok" + expires + "; path=/";
157
158    $(this).closest(".sp-cookie-consent").fadeOut();
159  });
160});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.