PageSourceSearch

https://torpsbruk.nu/files/dist/4.0/js/general/jquery/append-2.01.7.js?cc=4.171790329667

js torpsbruk.nu collected 2026-09-25 09:48:36 UTC 12,827 bytes, 423 lines download raw bytes

1/**
2 * Append jQuery file (after content run script) for FSY 4.0
3 * @template Ocean
4 * @version 1.2
5 * @author Wikinggruppen
6 * @url http://www.wikinggruppen.se/
7 */
8
9// Append Variables
10var APPEND_APPLI1 = 1001;
11var APPEND_APPLI2 = 1002;
12var APPEND_APPLI3 = 1003;
13var APPEND_APPLI4 = 1004;
14
15var initAppli1;
16var initAppli2;
17var initAppli3;
18var initAppli4;
19
20var SelectedDates = {};
21var datePic;
22
23$.each(FSY.calendarEvents, function(eventIndex,eventData){
24	eventTime = strtotime(eventData.start);
25	eventDate = strtotime(date('Y-m-d', eventTime));
26	eventTimeEnd = strtotime(eventData.end);
27	eventDateEnd = strtotime(date('Y-m-d', eventTimeEnd));
28	var test1 = date('Y-m-d', eventTime);
29	var test2 = date('Y-m-d', eventTimeEnd);
30	var currentDate = new date('Y-m-d', eventData.start);
31	SelectedDates[eventDate] = eventDate;
32	var startDate = new Date(eventData.start);
33	var endDate = new Date(eventData.end);
34	startDate.setHours(0,0,0,0);
35	endDate.setHours(0,0,0,0);
36	currentDate = startDate;
37	while (currentDate <= endDate) {
38		var newDate = Date.parse(currentDate)/1000;
39		SelectedDates[newDate] = newDate;
40		currentDate.setDate(currentDate.getDate() + 1);
41	}
42});
43
44$.inp = function(){
45	$("textarea").each(function(){ $(this).val($(this).val()); });
46	$("input").each(function(){ $(this).val($(this).val()); });
47};
48
49$.fbx = function(){
50	$(".js-fancybox--appear").each(function(){
51		if($(this).data('appearurl')) {
52			$(this).prop('href', $(this).data('appearurl'));
53			$(this).addClass('js-fancybox');
54		}
55	});
56	$(".l-content a img").addClass('js-fancybox--protimg');
57	$(".l-content img").each(function(){
58		if(!$(this).hasClass('js-fancybox--protimg')) {
59			$(this).wrap( "<a href='" + $(this).prop('src') + "' class='js-fancybox'></div>" );
60		}
61	});
62	$(".js-fancybox").fancybox({
63	    	openEffect	: 'elastic',
64	    	closeEffect	: 'elastic',
65	    	nextEffect	: 'none',
66	    	prevEffect	: 'none',
67	    	openSpeed	: 40,
68	    	closeSpeed	: 40,
69	    	helpers : {
70	    		title : {
71	    			type : 'inside'
72	    		}
73	    	},
74		tpl: {
75			next: '<a title="" class="fancybox-nav fancybox-next"><span></span></a>',
76			prev: '<a title="" class="fancybox-nav fancybox-prev"><span></span></a>'
77		}
78	});
79	$(document).ready(function(){
80		$(".js-fancybox[data-autopopup='1']").click();
81	});
82};
83
84$.nvp = function(mode, ref){
85
86	switch(mode) {
87
88		case APPEND_APPLI1:
89			$(".mobile-nav-button").click(function(){
90				if($(this).data('navorder') == 'closed') {
91					$(".mobile-navigation").slideUp('fast');
92					$(this).removeClass('fa-times-circle').addClass('fa-bars');
93					$(this).data('navorder', 'open');
94				} else {
95					$(this).data('navorder', 'closed');
96					$(this).removeClass('fa-bars').addClass('fa-times-circle');
97					$(".mobile-navigation").slideDown('fast');
98				}
99			});
100			$(".mobile-search-button").click(function(){
101				if($(this).data('navorder') == 'closed') {
102					$(".mobile-search").hide();
103					$(".mobile-current-page").show();
104					$(this).removeClass('fa-search-minus').addClass('fa-search');
105					$(this).data('navorder', 'open');
106				} else {
107					$(".mobile-search").show();
108					$(".mobile-current-page").hide();
109					$(this).removeClass('fa-search').addClass('fa-search-minus');
110					$("#mobilesearchquery").focus().val($("#mobilesearchquery").val());
111					$(this).data('navorder', 'closed');
112				}
113			});
114			i = 0;
115			$(".tab-nav .nav li").each(function(){
116				i++;
117				$(this).data('tabnav', i).click(function(){
118					$.nvp(APPEND_APPLI2, $(this).data('tabnav'));
119				});
120			});
121			i = 0;
122			$(".tab-nav .tab-nav-body").each(function(){
123				i++;
124				$(this).data('tabnav', i);
125			});
126			$(".cb-nav .cb").click(function(){
127				$(".cb-navsel").addClass('is-hidden');
128				$(".cb-navsel[data-navsel='" + $(this).prop('id') + "']").removeClass('is-hidden');
129			});
130		break;
131
132		case APPEND_APPLI2:
133
134			if(ref) {
135				navItem = null;
136				bodyItem = null;
137				$(".tab-nav .nav li").each(function(){
138					if($(this).data('tabnav') == ref) {
139						navItem = $(this);
140					}
141				});
142				$(".tab-nav .tab-nav-body").each(function(){
143					if($(this).data('tabnav') == ref) {
144						bodyItem = $(this);
145					}
146				});
147				if(navItem && bodyItem) {
148					$(".tab-nav .nav li").removeClass('selected');
149					$(".tab-nav .tab-nav-body").hide();
150					$(navItem).addClass('selected');
151					$(bodyItem).show();
152				}
153			}
154
155		break;
156
157	}
158
159};
160
161$.dpc = function(mode){
162
163	switch(mode) {
164
165		case APPEND_APPLI1:
166
167			if($(".calendar-module").get(0)) {
168
169				$.datepicker.regional[FSY.langCode] = {
170					closeText: FSY.localePhrases.calendarCloseText,
171					prevText: FSY.localePhrases.calendarPrevText,
172					nextText: FSY.localePhrases.calendarNextText,
173					currentText: FSY.localePhrases.calendarCurrentText,
174					monthNames: FSY.localePhrases.calendarMonthNames,
175					monthNamesShort: FSY.localePhrases.calendarMonthNamesShort,
176					dayNamesShort: FSY.localePhrases.calendarDayNamesShort,
177					dayNames: FSY.localePhrases.calendarDayNames,
178					weekHeader: FSY.localePhrases.calendarWeekHeader,
179					dateFormat: FSY.localePhrases.calendarDateFormat,
180					firstDay: FSY.calendarConfiguration.firstDay,
181					showWeek: FSY.calendarConfiguration.weekNumbers,
182					isRTL: false,
183					showMonthAfterYear: false
184				};
185
186				$.datepicker.regional[FSY.langCode].dayNamesMin = (FSY.calendarConfiguration.weekendsView) ? FSY.localePhrases.calendarDayNamesMin : FSY.localePhrases.calendarDayNamesShort;
187
188				$(".calendar-module").show();
189				$(".datepicker-calendar").datepicker($.extend({},$.datepicker.regional[FSY.langCode],{
190					beforeShowDay: function(currentDate) {
191						currentTime = (Date.parse(currentDate) / 1000);
192						var Highlight = SelectedDates[currentTime];
193						if (Highlight) {
194							return [true, "datePickerHighlighted", date('Y-m-d', currentTime)];
195						} else {
196							return [true, 'datePickerUnHighlighted', date('Y-m-d', currentTime)];
197						}
198					},
199					onSelect: function(dateText) {
200						$.dpc(APPEND_APPLI4);
201					}
202				}));
203
204				$(".datetimepicker-calendar").datetimepicker();
205
206				$(".datepicker-calendar-title .calendar-pmonth").click(function(){
207			
208					var d = $(".datepicker-calendar").datepicker("getDate");
209					var x = (d.getMonth() == 0) ? new Date(d.getFullYear() - 1, 11, 1) : new Date(d.getFullYear(), d.getMonth() - 1, 1);
210			
211					$(".datepicker-calendar").datepicker("setDate", x);
212					$.dpc(APPEND_APPLI2);
213
214					initAppli4 = false;
215					$.dpc(APPEND_APPLI4);
216
217					return false;
218			
219				});
220			
221				$(".datepicker-calendar-title .calendar-nmonth").click(function(){
222			
223					var d = $(".datepicker-calendar").datepicker("getDate");
224					var x = (d.getMonth() == 11) ? new Date(d.getFullYear() + 1, 0, 1) : new Date(d.getFullYear(), d.getMonth() + 1, 1);
225			
226					$(".datepicker-calendar").datepicker("setDate", x);
227					$.dpc(APPEND_APPLI2);
228
229					initAppli4 = false;
230					$.dpc(APPEND_APPLI4);
231
232					return false;
233			
234				});
235			
236				$.dpc(APPEND_APPLI2);
237				$.dpc(APPEND_APPLI4);
238
239			}
240
241		break;
242
243		case APPEND_APPLI2:
244
245			var d = $(".datepicker-calendar").datepicker("getDate");
246			var dMonthName = $.datepicker.regional[FSY.langCode]['monthNames'][d.getMonth()];
247			var dYear = d.getFullYear();
248		
249			$(".datepicker-calendar-title .module-title h5").html(dMonthName + ' ' + dYear);
250
251		break;
252
253		case APPEND_APPLI3:
254			$(".header-dateholder").html('<div class="header-dateholder-max">' + $(".header-dateholder").html() + '</div><div class="header-dateholder-min">' + $(".header-dateholder").data('min') + '</div>');
255		break;
256
257		case APPEND_APPLI4:
258		
259			if(!initAppli4) {
260				eventsHTML = '';
261				currentDate = $(".datepicker-calendar").datepicker('getDate');
262				currentTime = (Date.parse(currentDate) / 1000);
263				$.each(FSY.calendarEvents, function(eventIndex,eventData){
264					if(date('Y-m', currentTime) == date('Y-m', strtotime(eventData.start)) && date('Y-m', currentTime) == date('Y-m', strtotime(eventData.end))) {
265						eventsHTML += '<li class="event"><a class="calevent" href="#" data-eid="' + eventData.id + '">' + eventData.title + '</a></li>';
266					}
267				});
268				$(".calendar-module .datepicker-eventview").removeClass('is-hidden');
269				$(".calendar-module .datepicker-eventview .title span").html(FSY.localePhrases.calendarMonthNames[(date('n', currentTime)-1)] + ' ' + date('Y', currentTime));
270				if(eventsHTML) {
271					$(".calendar-module .datepicker-eventview .events").removeClass('is-hidden').html(eventsHTML);
272				} else {
273					$(".calendar-module .datepicker-eventview .events").removeClass('is-hidden').html('<div class="gray-text">' + FSY.localePhrases.calendarNoDateEvents + '</div>');
274				}
275				
276				$(".calendar-module .datepicker-eventview .events .calevent").click(function(){
277					$.popCalEvent($(this).data('eid'));
278					return false;
279				});
280				initAppli4 = true;
281			} else {
282				eventsHTML = '';
283				currentDate = $(".datepicker-calendar").datepicker('getDate');
284				currentTime = (Date.parse(currentDate) / 1000);
285				$.each(FSY.calendarEvents, function(eventIndex,eventData){
286					if(date('Y-m-d', currentTime) >= date('Y-m-d', strtotime(eventData.start)) && date('Y-m-d', currentTime) <= date('Y-m-d', strtotime(eventData.end))) {
287						eventsHTML += '<li class="event"><a class="calevent" href="#" data-eid="' + eventData.id + '">' + eventData.title + '</a></li>';
288					}
289				});
290				$(".calendar-module .datepicker-eventview").removeClass('is-hidden');
291				$(".calendar-module .datepicker-eventview .title span").html(date('j', currentTime) + ' ' + FSY.localePhrases.calendarMonthNamesShort[(date('n', currentTime)-1)].toLowerCase() + ' ' + date('Y', currentTime));
292				if(eventsHTML) {
293					$(".calendar-module .datepicker-eventview .events").removeClass('is-hidden').html(eventsHTML);
294				} else {
295					$(".calendar-module .datepicker-eventview .events").removeClass('is-hidden').html('<div class="gray-text">' + FSY.localePhrases.calendarNoDateEvents + '</div>');
296				}
297				
298				$(".calendar-module .datepicker-eventview .events .calevent").click(function(){
299					$.popCalEvent($(this).data('eid'));
300					return false;
301				});
302			}
303		break;
304
305	}
306
307};
308
309function getTheDamnDate(datetime){
310	var year;
311	var month;
312	var day;
313	
314	var hour;
315	var minute;
316	
317	var theDate = datetime;
318	
319	year = theDate.substr(0,4);
320	month = theDate.substr(5,2);
321	day = theDate.substr(8,2);
322	
323	hour = theDate.substr(11,2);
324	minute = theDate.substr(14,2);
325	second = "00";
326	return [year,month,day,hour,minute,second];
327
328}
329
330$.popCalEvent = function(eid){
331
332	eventData = null;
333
334	$.each(FSY.calendarEvents, function(ei,ed){
335		if(ed.id == eid) {
336			eventData = ed;
337		}
338	});
339
340	if(eventData) {
341		start = getTheDamnDate(eventData.start);
342		
343		startDateTime = new Date (start[0],(start[1] - 1),start[2],start[3],start[4],start[5]);
344
345		end = getTheDamnDate(eventData.end);
346		endDateTime = new Date (end[0],(end[1] - 1),end[2],end[3],end[4],end[5]);
347		eventDateTitle = '';
348
349		eventStartDate = date('Y-m-d', startDateTime);
350		eventStartTime = date('H:i:s', startDateTime);
351		eventEndDate = date('Y-m-d', endDateTime);
352		eventEndTime = date('H:i:s', endDateTime);
353		eventDiffDates = (eventEndDate != eventStartDate);
354		if(eventData.allDay) {
355			eventDateTitle = eventStartDate;
356			if(eventDiffDates) {
357				eventDateTitle += ' - ' + eventEndDate;
358			}
359		} else {
360			if(eventDiffDates) {
361				eventDateTitle = eventStartDate + ' ' + eventStartTime + ' - ' + eventEndDate + ' ' + eventEndTime;
362			} else {
363				eventDateTitle = eventStartDate + ' ' + eventStartTime + '-' + eventEndTime;
364			}
365		}
366	
367		$("#fsycalevent .event-title").html(eventData.title);
368		$("#fsycalevent .event-datetitle span").html(eventDateTitle);
369		if(eventData.content) {
370			$("#fsycalevent .event-content").removeClass('is-hidden').html(eventData.content);
371			$("#fsycalevent .event-no-content").addClass('is-hidden');
372		} else {
373			$("#fsycalevent .event-content").addClass('is-hidden');
374			$("#fsycalevent .event-no-content").removeClass('is-hidden');
375		}
376		
377		$.fancybox({ href: "#fsycalevent", 'width': '500px', 'height': 'auto', 'autoSize': false });
378
379	}
380
381};
382
383$.whr = function(mode){
384	switch(mode) {
385		case APPEND_APPLI1:
386			$(window).resize(function(){ $.whr(APPEND_APPLI2); });
387			for(t=0;t<=2000;t+=50) {
388				setTimeout(function() {
389					$.whr(APPEND_APPLI2);
390				}, t);
391			}
392		break;
393		case APPEND_APPLI2:
394			wh = $(window).height();
395			th = ($(".l-header").height() + $(".l-footer").height() + $(".preview-theme-notice").height() + 40);
396			/* if($(".user-dp").get(0)) {
397				th += ($(".user-dp").height()+2);
398			} */
399			if($(".l-previewpopup").get(0)) {
400				th += ($(".l-previewpopup").height() + 25);
401			}
402			wr = (wh-th);
403			$(".l-content").css('min-height', wr + 'px');
404		break;
405	}
406};
407
408// Window size functions
409$.whr(APPEND_APPLI1);
410
411// Date functions
412$.dpc(APPEND_APPLI1);
413$.dpc(APPEND_APPLI3);
414
415// NavTab functions
416$.nvp(APPEND_APPLI1, 0);
417$.nvp(APPEND_APPLI2, 1);
418
419// Fancybox
420$.fbx();
421
422// Input/Textarea fix
423$.inp();

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.