/** * @version 2.11 (rolling release) * @package K2 * @author JoomlaWorks https://www.joomlaworks.net * @copyright Copyright (c) 2009 - 2023 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL: https://gnu.org/licenses/gpl.html */ var $K2 = jQuery.noConflict(); $K2(document).ready(function() { // Magnific popup if (typeof($K2.magnificPopup) !== 'undefined') { // Images $K2('[data-k2-modal="image"]').magnificPopup({ type: 'image', image: { titleSrc: function() { return ''; } } }); // Edit links $K2('[data-k2-modal="edit"]').magnificPopup({ type: 'iframe', modal: true }); // Generic iframe $K2('[data-k2-modal="iframe"]').magnificPopup({ type: 'iframe' }); } // Generic function to get URL params passed in .js script include function getUrlParams(targetScript, varName) { var scripts = document.getElementsByTagName('script'); var scriptCount = scripts.length; for (var a = 0; a < scriptCount; a++) { var scriptSrc = scripts[a].src; if (scriptSrc.indexOf(targetScript) >= 0) { varName = varName.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var re = new RegExp("[\\?&]" + varName + "=([^&#]*)"); var parsedVariables = re.exec(scriptSrc); if (parsedVariables !== null) { return parsedVariables[1]; } } } } // Set the site root path var K2SitePath = getUrlParams('k2.frontend.js', 'sitepath'); // Comments $K2('#comment-form').submit(function(event) { event.preventDefault(); $K2('#formLog').empty().addClass('formLogLoading'); $K2.ajax({ url: $K2('#comment-form').attr('action'), type: 'post', dataType: 'json', data: $K2('#comment-form').serialize(), success: function(response) { $K2('#formLog').removeClass('formLogLoading').html(response.message).addClass(response.cssClass); if (typeof(Recaptcha) != "undefined") { Recaptcha.reload(); } if (response.refresh) { window.location.reload(); } } }); }); $K2('.commentRemoveLink').click(function(event) { event.preventDefault(); var element = $K2(this); $K2(element).parent().addClass('commentToolbarLoading'); $K2.ajax({ url: $K2(element).attr('href'), type: 'post', data: $K2('#comment-form input:last').serialize(), success: function(response) { $K2(element).parent().removeClass('commentToolbarLoading'); if (response == 'true') { $K2(element).parent().parent().remove(); } } }); }); $K2('.commentApproveLink').click(function(event) { event.preventDefault(); var element = $K2(this); $K2(element).parent().addClass('commentToolbarLoading'); $K2.ajax({ url: $K2(element).attr('href'), type: 'post', data: $K2('#comment-form input:last').serialize(), success: function(response) { $K2(element).parent().removeClass('commentToolbarLoading'); if (response == 'true') { $K2(element).parent().parent().removeClass('unpublishedComment'); } } }); }); $K2('.k2ReportUserButton').click(function(event) { event.preventDefault(); if (confirm(K2Language[0])) { var element = $K2(this); $K2(element).parent().addClass('commentToolbarLoading'); $K2.ajax({ url: $K2(element).attr('href'), type: 'GET', success: function(response) { $K2(element).parent().removeClass('commentToolbarLoading'); alert(response); } }); } }); $K2('#k2ReportCommentForm').submit(function(event) { event.preventDefault(); $K2('#k2ReportCommentFormLog').empty().addClass('formLogLoading'); $K2.ajax({ url: $K2('#k2ReportCommentForm').attr('action'), type: 'post', data: $K2('#k2ReportCommentForm').serialize(), success: function(response) { $K2('#formLog').removeClass('formLogLoading').html(response).css('display', 'block'); if (typeof(Recaptcha) != "undefined") { Recaptcha.reload(); } } }); }); // Text Resizer $K2('#fontDecrease').click(function(event) { event.preventDefault(); $K2('.itemFullText').removeClass('largerFontSize'); $K2('.itemFullText').addClass('smallerFontSize'); }); $K2('#fontIncrease').click(function(event) { event.preventDefault(); $K2('.itemFullText').removeClass('smallerFontSize'); $K2('.itemFullText').addClass('largerFontSize'); }); // Smooth Scroll $K2('.k2Anchor').click(function(event) { event.preventDefault(); var target = this.hash; $K2('html, body').stop().animate({ scrollTop: $K2(target).offset().top }, 500); }); // Rating $K2('.itemRatingForm a').click(function(event) { event.preventDefault(); var itemID = $K2(this).attr('rel'); if (!itemID) { itemID = $K2(this).data('id'); } var log = $K2('#itemRatingLog' + itemID).empty().addClass('formLogLoading'); var rating = $K2(this).html(); $K2.ajax({ url: K2SitePath + "index.php?option=com_k2&view=item&task=vote&format=raw&user_rating=" + rating + "&itemID=" + itemID, type: 'get', success: function(response) { log.removeClass('formLogLoading'); log.html(response); $K2.ajax({ url: K2SitePath + "index.php?option=com_k2&view=item&task=getVotesPercentage&format=raw&itemID=" + itemID, type: 'get', success: function(percentage) { $K2('#itemCurrentRating' + itemID).css('width', percentage + "%"); setTimeout(function() { $K2.ajax({ url: K2SitePath + "index.php?option=com_k2&view=item&task=getVotesNum&format=raw&itemID=" + itemID, type: 'get', success: function(response) { log.html(response); } }); }, 2000); } }); } }); }); // Classic popup $K2('.classicPopup').click(function(event) { event.preventDefault(); if ($K2(this).attr('rel')) { var json = $K2(this).attr('rel'); json = json.replace(/'/g, '"'); var options = $K2.parseJSON(json); } else { var options = { x: 900, y: 600 }; /* use some default values if not defined */ } window.open($K2(this).attr('href'), 'K2PopUpWindow', 'width=' + options.x + ',height=' + options.y + ',menubar=yes,resizable=yes'); }); // Live search $K2('div.k2LiveSearchBlock form input[name=searchword]').keyup(function(event) { var parentElement = $K2(this).parent().parent(); if ($K2(this).val().length > 3 && event.key != 'enter') { $K2(this).addClass('k2SearchLoading'); parentElement.find('.k2LiveSearchResults').css('display', 'none').empty(); parentElement.find('input[name=t]').val($K2.now()); parentElement.find('input[name=format]').val('raw'); var url = 'index.php?option=com_k2&view=itemlist&task=search&' + parentElement.find('form').serialize(); parentElement.find('input[name=format]').val('html'); $K2.ajax({ url: url, type: 'get', success: function(response) { parentElement.find('.k2LiveSearchResults').html(response); parentElement.find('input[name=searchword]').removeClass('k2SearchLoading'); parentElement.find('.k2LiveSearchResults').css('display', 'block'); } }); } else { parentElement.find('.k2LiveSearchResults').css('display', 'none').empty(); } }); // Calendar if (typeof($K2().live) == "undefined") { $K2('.k2CalendarBlock').on('click', '.calendarNavLink', function(event) { event.preventDefault(); var parentElement = $K2(this).parent().parent().parent().parent(); var url = $K2(this).attr('href'); parentElement.empty().addClass('k2CalendarLoader'); $K2.ajax({ url: url, type: 'post', success: function(response) { parentElement.html(response); parentElement.removeClass('k2CalendarLoader'); } }); }); } else { $K2('a.calendarNavLink').live('click', function(event) { event.preventDefault(); var parentElement = $K2(this).parent().parent().parent().parent(); var url = $K2(this).attr('href'); parentElement.empty().addClass('k2CalendarLoader'); $K2.ajax({ url: url, type: 'post', success: function(response) { parentElement.html(response); parentElement.removeClass('k2CalendarLoader'); } }); }); } // Generic Element Scroller (use .k2Scroller in the container and .k2ScrollerElement for each contained element) $K2('.k2Scroller').css('width', ($K2('.k2Scroller').find('.k2ScrollerElement:first').outerWidth(true)) * $K2('.k2Scroller').children('.k2ScrollerElement').length); }); // Equal block heights for the "default" view $K2(window).load(function() { var blocks = $K2('.subCategory, .k2EqualHeights'); var maxHeight = 0; blocks.each(function() { maxHeight = Math.max(maxHeight, parseInt($K2(this).css('height'))); }); blocks.css('height', maxHeight); });