PageSourceSearch

https://petervanwanrooyzonwering.nl/media/k2/assets/js/k2.frontend.js?v2.7.0&sitepath=/

js petervanwanrooyzonwering.nl collected 2026-10-01 15:44:48 UTC 9,459 bytes, 288 lines download raw bytes

1/**
2 * @version    2.7.x
3 * @package    K2
4 * @author     JoomlaWorks http://www.joomlaworks.net
5 * @copyright  Copyright (c) 2006 - 2016 JoomlaWorks Ltd. All rights reserved.
6 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
7 */
8
9var $K2 = jQuery.noConflict();
10
11$K2(document).ready(function(){
12
13	// Magnific popup
14	if(typeof($K2.magnificPopup) !== 'undefined') {
15		// --- Backwards compatibility for users with overrides - START ---
16
17		// First remove possible attached events of the core modal in case it is loaded by a third party extension
18		$K2('.itemImage a.modal, .itemEditLink a.modal, .catItemEditLink a.modal, .catItemAddLink a.modal, .userItemAddLink a.modal, .userItemEditLink a.modal, .k2UserBlockActions a.modal, .k2UserBlockRenderedMenu a.modal, .commentToolbar a.modal').unbind('click');
19
20		// Item image
21		$K2('.itemImage a.modal').magnificPopup({type:'image', image: {titleSrc : function() {return '';}}});
22
23		// Edit links
24		$K2('.itemEditLink a.modal, .catItemEditLink a.modal, .catItemAddLink a.modal, .userItemAddLink a.modal, .userItemEditLink a.modal').magnificPopup({type:'iframe', modal: true});
25
26		// Any other link
27		$K2('.k2UserBlockActions a.modal, .k2UserBlockRenderedMenu a.modal, .commentToolbar a.modal').magnificPopup({type:'iframe'});
28
29		// --- Backwards compatibility for users with overrides - FINISH ---
30
31		// New layouts
32		// Image
33		$K2('[data-k2-modal="image"]').magnificPopup({type:'image', image: {titleSrc : function() {return '';}}});
34		// Edit links
35		$K2('[data-k2-modal="edit"]').magnificPopup({type:'iframe', modal: true});
36		// Rest links
37		$K2('[data-k2-modal="iframe"]').magnificPopup({type:'iframe'});
38	}
39
40	// Generic function to get URL params passed in .js script include
41	function getUrlParams(targetScript, varName) {
42		var scripts = document.getElementsByTagName('script');
43		var scriptCount = scripts.length;
44		for (var a = 0; a < scriptCount; a++) {
45			var scriptSrc = scripts[a].src;
46			if (scriptSrc.indexOf(targetScript) >= 0) {
47				varName = varName.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
48				var re = new RegExp("[\\?&]" + varName + "=([^&#]*)");
49				var parsedVariables = re.exec(scriptSrc);
50				if (parsedVariables !== null) {
51					return parsedVariables[1];
52				}
53			}
54		}
55	}
56
57	// Set the site root path
58	var K2SitePath = getUrlParams('k2.frontend.js', 'sitepath');
59
60	// Comments
61	$K2('#comment-form').submit(function(event){
62		event.preventDefault();
63		$K2('#formLog').empty().addClass('formLogLoading');
64		$K2.ajax({
65			url: $K2('#comment-form').attr('action'),
66			type: 'post',
67			dataType: 'json',
68			data: $K2('#comment-form').serialize(),
69			success: function(response){
70				$K2('#formLog').removeClass('formLogLoading').html(response.message).addClass(response.cssClass);
71				if(typeof(Recaptcha) != "undefined"){
72					Recaptcha.reload();
73				}
74				if (response.refresh) {
75					window.location.reload();
76				}
77			}
78		});
79	});
80
81	$K2('.commentRemoveLink').click(function(event){
82		event.preventDefault();
83		var element = $K2(this);
84		$K2(element).parent().addClass('commentToolbarLoading');
85		$K2.ajax({
86			url: $K2(element).attr('href'),
87			type: 'post',
88			data: $K2('#comment-form input:last').serialize(),
89			success: function(response){
90				$K2(element).parent().removeClass('commentToolbarLoading');
91				if(response=='true'){
92					$K2(element).parent().parent().remove();
93				}
94			}
95		});
96	});
97
98	$K2('.commentApproveLink').click(function(event){
99		event.preventDefault();
100		var element = $K2(this);
101		$K2(element).parent().addClass('commentToolbarLoading');
102		$K2.ajax({
103			url: $K2(element).attr('href'),
104			type: 'post',
105			data: $K2('#comment-form input:last').serialize(),
106			success: function(response){
107				$K2(element).parent().removeClass('commentToolbarLoading');
108				if(response=='true'){
109					$K2(element).parent().parent().removeClass('unpublishedComment');
110				}
111			}
112		});
113	});
114
115	$K2('.k2ReportUserButton').click(function(event){
116		event.preventDefault();
117		if (confirm(K2Language[0])) {
118			var element = $K2(this);
119			$K2(element).parent().addClass('commentToolbarLoading');
120			$K2.ajax({
121				url: $K2(element).attr('href'),
122				type: 'GET',
123				success: function(response){
124					$K2(element).parent().removeClass('commentToolbarLoading');
125					alert(response);
126				}
127			});
128		}
129
130	});
131
132	$K2('#k2ReportCommentForm').submit(function(event){
133		event.preventDefault();
134		$K2('#k2ReportCommentFormLog').empty().addClass('formLogLoading');
135		$K2.ajax({
136			url: $K2('#k2ReportCommentForm').attr('action'),
137			type: 'post',
138			data: $K2('#k2ReportCommentForm').serialize(),
139			success: function(response){
140				$K2('#formLog').removeClass('formLogLoading').html(response).css('display','block');
141				if(typeof(Recaptcha) != "undefined"){
142					Recaptcha.reload();
143				}
144			}
145		});
146	});
147
148	// Text Resizer
149	$K2('#fontDecrease').click(function(event){
150		event.preventDefault();
151		$K2('.itemFullText').removeClass('largerFontSize');
152		$K2('.itemFullText').addClass('smallerFontSize');
153	});
154	$K2('#fontIncrease').click(function(event){
155		event.preventDefault();
156		$K2('.itemFullText').removeClass('smallerFontSize');
157		$K2('.itemFullText').addClass('largerFontSize');
158	});
159
160	// Smooth Scroll
161	$K2('.k2Anchor').click(function(event){
162		event.preventDefault();
163		var target = this.hash;
164		$K2('html, body').stop().animate({
165			scrollTop: $K2(target).offset().top
166		}, 500);
167	});
168
169	// Rating
170	$K2('.itemRatingForm a').click(function(event){
171		event.preventDefault();
172		var itemID = $K2(this).attr('rel');
173		if(!itemID) {
174			itemID = $K2(this).data('id');
175		}
176		var log = $K2('#itemRatingLog' + itemID).empty().addClass('formLogLoading');
177		var rating = $K2(this).html();
178		$K2.ajax({
179			url: K2SitePath+"index.php?option=com_k2&view=item&task=vote&format=raw&user_rating=" + rating + "&itemID=" + itemID,
180			type: 'get',
181			success: function(response){
182				log.removeClass('formLogLoading');
183				log.html(response);
184				$K2.ajax({
185					url: K2SitePath+"index.php?option=com_k2&view=item&task=getVotesPercentage&format=raw&itemID=" + itemID,
186					type: 'get',
187					success: function(percentage){
188						$K2('#itemCurrentRating' + itemID).css('width', percentage + "%");
189						setTimeout(function(){
190							$K2.ajax({
191								url: K2SitePath+"index.php?option=com_k2&view=item&task=getVotesNum&format=raw&itemID=" + itemID,
192								type: 'get',
193								success: function(response){
194									log.html(response);
195								}
196							});
197						}, 2000);
198					}
199				});
200			}
201		});
202	});
203
204	// Classic popup
205	$K2('.classicPopup').click(function(event){
206		event.preventDefault();
207		if($K2(this).attr('rel')){
208			var json = $K2(this).attr('rel');
209			json = json.replace(/'/g, '"');
210			var options = $K2.parseJSON(json);
211		} else {
212			var options = {x:900,y:600}; /* use some default values if not defined */
213		}
214		window.open($K2(this).attr('href'),'K2PopUpWindow','width='+options.x+',height='+options.y+',menubar=yes,resizable=yes');
215	});
216
217	// Live search
218	$K2('div.k2LiveSearchBlock form input[name=searchword]').keyup(function(event){
219		var parentElement = $K2(this).parent().parent();
220		if($K2(this).val().length>3 && event.key!='enter'){
221			$K2(this).addClass('k2SearchLoading');
222			parentElement.find('.k2LiveSearchResults').css('display','none').empty();
223			parentElement.find('input[name=t]').val($K2.now());
224			parentElement.find('input[name=format]').val('raw');
225			var url = 'index.php?option=com_k2&view=itemlist&task=search&' + parentElement.find('form').serialize();
226			parentElement.find('input[name=format]').val('html');
227			$K2.ajax({
228				url: url,
229				type: 'get',
230				success: function(response){
231					parentElement.find('.k2LiveSearchResults').html(response);
232					parentElement.find('input[name=searchword]').removeClass('k2SearchLoading');
233					parentElement.find('.k2LiveSearchResults').css('display', 'block');
234				}
235			});
236		} else {
237			parentElement.find('.k2LiveSearchResults').css('display','none').empty();
238		}
239	});
240
241	// Calendar
242	if (typeof($K2().live) == "undefined") {
243		$K2('.k2CalendarBlock').on('click', '.calendarNavLink', function(event){
244			event.preventDefault();
245			var parentElement = $K2(this).parent().parent().parent().parent();
246			var url = $K2(this).attr('href');
247			parentElement.empty().addClass('k2CalendarLoader');
248			$K2.ajax({
249				url: url,
250				type: 'post',
251				success: function(response){
252					parentElement.html(response);
253					parentElement.removeClass('k2CalendarLoader');
254				}
255			});
256		});
257	}
258	else {
259		$K2('a.calendarNavLink').live('click',  function(event){
260			event.preventDefault();
261			var parentElement = $K2(this).parent().parent().parent().parent();
262			var url = $K2(this).attr('href');
263			parentElement.empty().addClass('k2CalendarLoader');
264			$K2.ajax({
265				url: url,
266				type: 'post',
267				success: function(response){
268					parentElement.html(response);
269					parentElement.removeClass('k2CalendarLoader');
270				}
271			});
272		});
273	}
274
275	// Generic Element Scroller (use .k2Scroller in the container and .k2ScrollerElement for each contained element)
276	$K2('.k2Scroller').css('width',($K2('.k2Scroller').find('.k2ScrollerElement:first').outerWidth(true))*$K2('.k2Scroller').children('.k2ScrollerElement').length);
277
278});
279
280// Equal block heights for the "default" view
281$K2(window).load(function () {
282	var blocks = $K2('.subCategory, .k2EqualHeights');
283	var maxHeight = 0;
284	blocks.each(function(){
285		maxHeight = Math.max(maxHeight, parseInt($K2(this).css('height')));
286	});
287	blocks.css('height', maxHeight);
288});

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.