PageSourceSearch

https://jesnordby.dk/images/skins/bangsoe/new/dk/js/facebox.js

js jesnordby.dk collected 2026-10-06 13:15:06 UTC 12,863 bytes, 437 lines download raw bytes

1/*
2* Facebox (for jQuery)
3* version: 1.2 (05/05/2008)
4* @requires jQuery v1.2 or later
5*
6* Licensed under the MIT:
7*   http://www.opensource.org/licenses/mit-license.php
8*
9* Copyright 2007, 2008 Chris Wanstrath [ [email protected] ]
10*
11*/
12
13$(document).ready(function() {
14	$('#CreditCardPayment_TD').prepend($('.Heading_CreditCardPayment img.steppay').eq(0));
15});
16
17( function($) {
18	$.facebox = function(data, klass) {
19		$.facebox.loading()
20
21		if (data.ajax)
22		fillFaceboxFromAjax(data.ajax)
23		else if (data.image)
24		fillFaceboxFromImage(data.image)
25		else if (data.div)
26		fillFaceboxFromHref(data.div)
27		else if ($.isFunction(data))
28		data.call($)
29		else
30		$.facebox.reveal(data, klass)
31	}
32
33	/*
34	* Public, $.facebox methods
35	*/
36
37	$.extend($.facebox,	{
38        /*
39		settings : {
40			opacity : 0.75,
41			overlay : true,
42			loadingImage : '/images/skins/milkywalk/facebox/loading.gif',
43			closeImage : '/images/skins/milkywalk/facebox/close.png',
44			imageTypes : [ 'png', 'jpg', 'jpeg', 'gif' ],
45			faceboxHtml : '\
46		    <div id="facebox" style="display:none;"> \
47		      <div class="popup"> \
48		        <table> \
49		          <tbody> \
50		            <tr> \
51		              <td class="body"> \
52		                <div class="content"> \
53		                </div> \
54		                <div class="footer"> \
55		                  <a href="#" class="close"> \
56		                    <img src="/images/skins/bangsoe/new/dk/facebox/close.png" title="close" class="close_image" /> \
57		                  </a> \
58		                </div> \
59		              </td> \
60		            </tr> \
61		          </tbody> \
62		        </table> \
63		      </div> \
64		    </div>'
65		},
66        */
67        settings : {
68			opacity : 0.75,
69			overlay : true,
70			loadingImage : '',
71			closeImage : '',
72			imageTypes : [ 'png', 'jpg', 'jpeg', 'gif' ],
73			faceboxHtml : ''
74		},
75
76		loading : function() {
77			init()
78			if ($('#facebox .loading').length == 1)
79			return true
80			showOverlay()
81
82			$('#facebox .content').empty()
83			$('#facebox .body')
84			.children()
85			.hide()
86			.end()
87			.append(
88			'<div class="loading"><img src="' + $.facebox.settings.loadingImage + '"/></div>');
89
90			$('#facebox').css({
91				top : getPageScroll()[1] + (getPageHeight() / 2) - ($('#facebox').height() / 2),
92				left : (getPageWidth() / 2) - ($('#facebox').width() / 2)
93			}).show();
94
95			$(document).bind('keydown.facebox', function(e) {
96				if (e.keyCode == 27)
97				$.facebox.close()
98				return true
99			})
100			$(document).trigger('loading.facebox')
101		},
102
103		reveal : function(data, klass) {
104			$(document).trigger('beforeReveal.facebox')
105			if (klass)
106			$('#facebox .content').addClass(klass)
107			$('#facebox .content').append(data)
108			$('#facebox .loading').remove()
109			$('#facebox .body').children().fadeIn('normal')
110			$('#facebox').css('left', $(window).width() / 2	- ($('#facebox table').width() / 2));
111			$(document).trigger('reveal.facebox').trigger('afterReveal.facebox')
112		},
113
114		close : function() {
115			$(document).trigger('close.facebox')
116			return false
117		}
118	});
119
120	/*
121	* Public, $.fn methods
122	*/
123
124	$.fn.facebox = function(settings) {
125		init(settings)
126
127		function clickHandler() {
128			$.facebox.loading(true)
129
130			// support for rel="facebox.inline_popup" syntax, to add a class
131			// also supports deprecated "facebox[.inline_popup]" syntax
132			var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)
133			if (klass)
134			klass = klass[1]
135
136			fillFaceboxFromHref(this.href, klass)
137			return false
138		}
139
140		return this.click(clickHandler)
141	}
142
143	/*
144	* Private methods
145	*/
146
147	// called one time to setup facebox on this page
148	function init(settings) {
149		if ($.facebox.settings.inited)
150		return true
151		else
152		$.facebox.settings.inited = true
153
154		$(document).trigger('init.facebox')
155		makeCompatible()
156
157		var imageTypes = $.facebox.settings.imageTypes.join('|')
158		$.facebox.settings.imageTypesRegexp = new RegExp(
159		'\.' + imageTypes + '$', 'i')
160
161		if (settings)
162		$.extend($.facebox.settings, settings)
163		$('body').append($.facebox.settings.faceboxHtml)
164
165		var preload = [ new Image(), new Image() ]
166		preload[0].src = $.facebox.settings.closeImage
167		preload[1].src = $.facebox.settings.loadingImage
168
169		$('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(
170		function() {
171			preload.push(new Image())
172			preload.slice(-1).src = $(this).css('background-image')
173			.replace(/url\((.+)\)/, '$1')
174		})
175
176		$('#facebox .close').click($.facebox.close)
177		$('#facebox .close_image').attr('src', $.facebox.settings.closeImage)
178	}
179
180	// getPageScroll() by quirksmode.com
181	function getPageScroll() {
182		var xScroll, yScroll;
183		if (self.pageYOffset) {
184			yScroll = self.pageYOffset;
185			xScroll = self.pageXOffset;
186		} else if (document.documentElement
187		&& document.documentElement.scrollTop) { // Explorer 6 Strict
188			yScroll = document.documentElement.scrollTop;
189			xScroll = document.documentElement.scrollLeft;
190		} else if (document.body) {// all other Explorers
191			yScroll = document.body.scrollTop;
192			xScroll = document.body.scrollLeft;
193		}
194		return new Array(xScroll, yScroll)
195	}
196
197	// Adapted from getPageSize() by quirksmode.com
198	function getPageHeight() {
199		var windowHeight
200		if (self.innerHeight) { // all except Explorer
201			windowHeight = self.innerHeight;
202		} else if (document.documentElement
203		&& document.documentElement.clientHeight) { // Explorer 6 Strict Mode
204			windowHeight = document.documentElement.clientHeight;
205		} else if (document.body) { // other Explorers
206			windowHeight = document.body.clientHeight;
207		}
208		return windowHeight
209	}
210
211	function getPageWidth() {
212		var windowWidth = 0;
213		if( typeof( window.innerWidth ) == 'number' ) {
214			windowWidth = window.innerWidth;
215		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
216			windowWidth = document.documentElement.clientWidth;
217		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
218			windowWidth = document.body.clientWidth;
219		}
220		return windowWidth;
221	}
222
223	// Backwards compatibility
224	function makeCompatible() {
225		var $s = $.facebox.settings
226
227		$s.loadingImage = $s.loading_image || $s.loadingImage
228		$s.closeImage = $s.close_image || $s.closeImage
229		$s.imageTypes = $s.image_types || $s.imageTypes
230		$s.faceboxHtml = $s.facebox_html || $s.faceboxHtml
231	}
232
233	// Figures out what you want to display and displays it
234	// formats are:
235	// div: #id
236	// image: blah.extension
237	// ajax: anything else
238	function fillFaceboxFromHref(href, klass) {
239		// div
240		if (href.match(/#/)) {
241		var url = window.location.href.split('#')[0]
242		var target = href.replace(url, '')
243		$.facebox.reveal($(target).clone().show(), klass)
244
245		// image
246	} else if (href.match($.facebox.settings.imageTypesRegexp)) {
247		fillFaceboxFromImage(href, klass)
248		// ajax
249	} else {
250		fillFaceboxFromAjax(href, klass)
251	}
252}
253
254function fillFaceboxFromImage(href, klass) {
255	var image = new Image()
256	image.onload = function() {
257		$.facebox.reveal(
258		'<div class="image"><img src="' + image.src + '" /></div>',
259		klass)
260	}
261	image.src = href
262}
263
264function fillFaceboxFromAjax(href, klass) {
265	$.get(href, function(data) {
266		$.facebox.reveal(data, klass)
267	})
268}
269
270function skipOverlay() {
271	return $.facebox.settings.overlay == false
272	|| $.facebox.settings.opacity === null
273}
274
275function showOverlay() {
276	if (skipOverlay()) {
277		return;
278	}
279
280	if ($('facebox_overlay').length == 0)
281	$("body").append(
282	'<div id="facebox_overlay" class="facebox_hide"></div>')
283
284	$('#facebox_overlay').hide().addClass("facebox_overlayBG").css(
285	'opacity', $.facebox.settings.opacity).click( function() {
286		$(document).trigger('close.facebox')
287	}).fadeIn(100)
288	return false
289}
290
291function hideOverlay() {
292	if (skipOverlay()) {
293		return;
294	}
295
296	$('#facebox_overlay').fadeOut(100, function() {
297		$("#facebox_overlay").removeClass("facebox_overlayBG")
298		$("#facebox_overlay").addClass("facebox_hide")
299		$("#facebox_overlay").remove()
300	})
301
302	return false
303}
304
305/*
306* Bindings
307*/
308
309$(document).bind('close.facebox', function() {
310	$(document).unbind('keydown.facebox')
311	$('#facebox').fadeOut( function() {
312		$('#facebox .content').removeClass().addClass('content')
313		hideOverlay()
314		$('#facebox .loading').remove()
315	})
316})
317
318})(jQuery);
319
320
321
322
323function FaceboxDandomain() {
324	this._layouts = new Array();
325}
326FaceboxDandomain.prototype.addLayout = function(layout) {
327	this._layouts.push(layout);
328}
329FaceboxDandomain.prototype.addLayouts = function(layouts) {
330	for(var i in layouts) {
331		this.addLayout(layouts[i]);
332	}
333}
334FaceboxDandomain.prototype.toggleShow = function(elm,id) {
335	if(elm.checked) {
336		$.cookie('hideFacebox' + id, '1', { expires: 365, path: '/' });
337	} else {
338		$.cookie('hideFacebox' + id, '0', { expires: 365, path: '/' });
339	}
340}
341FaceboxDandomain.prototype.alert = function(str) {
342	oldstr=str;
343	for (var i in this._layouts) {
344		if ((!this._layouts[i].trigger || eval(this._layouts[i].trigger)) || str === this._layouts[i].str) {
345			if (this._layouts[i].realContent) str = this._layouts[i].realContent;
346			var cookieVal = $.cookie('hideFacebox' + i);
347			if(cookieVal) return;
348
349			if(this._layouts[i].preCallback) {
350				this._layouts[i].html = this._layouts[i].preCallback(this._layouts[i].html);
351			}
352			$.facebox.settings.faceboxHtml = this._layouts[i].html;
353
354			$('#facebox').html(this._layouts[i].inhtml);
355			var preload=[new Image(),new Image()];preload[0].src=$.facebox.settings.closeImage;preload[1].src=$.facebox.settings.loadingImage;
356
357			$('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(
358			function(){preload.push(new Image());preload.slice(-1).src=$(this).css('background-image').replace(/url\((.+)\)/, '$1');})
359
360			$('#facebox .close').click($.facebox.close);
361			$('#facebox .close_image').attr('src', $.facebox.settings.closeImage);
362			$(document).trigger('beforeReveal.facebox');
363			$('#facebox .content').append(str);
364			$('#facebox .loading').remove();
365			$('#facebox .body').children().fadeIn('normal');
366			$('#facebox').css('left',$(window).width()/2-($('#facebox table').width()/2));
367			$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');
368			break;
369		}
370	}
371	$.facebox.loading();
372	$.facebox(str);
373}
374var faceboxDandomain = new FaceboxDandomain();
375
376window.alert = function(str) {
377	faceboxDandomain.alert(str);
378}
379
380var layouts = new Array();
381
382// LÆG I INDKØBSKURVEN
383layouts[1] = {};
384layouts[1].html = '\
385	<div id="facebox" style="display:none;"> \
386		<div class="popup"> \
387							<div class="content-container"> \
388								<div class="facebox-header">' + faceboxLabels['addedToBasket'] + '</div> \
389								<div id="freeThresholdText">' + faceboxLabels['freeDelivery1'] + '<span id="freeThreshold">x</span>' + faceboxLabels['freeDelivery2'] + '</div> \
390								<div class="footer"> \
391									<a href="#" class="close button grey">' + faceboxLabels['continueShopping'] + '</a> \
392									<a href="/shop/showbasket.html" class="button">' + faceboxLabels['showBasket'] + '</a> \
393								</div> \
394								<!--<div class="dont-show"><input type="checkbox" onclick="faceboxDandomain.toggleShow(this,0)" /> <span>' + faceboxLabels['notShowAgain'] + '</span></span>--> \
395							</div> \
396		</div> \
397	</div>';
398layouts[1].str = "advanced";
399layouts[1].preCallback = function(str) {
400	var totalprice = 0;
401	var shippingfee = 0;
402	//var totalprice = Math.floor(parseFloat($('#totalprice').text().replace(".", "").replace(",", ".")));
403	//var shippingfee = Math.floor(parseFloat($('#shippingfee').text().replace(".", "").replace(",", ".")));
404	
405	if (isNaN(shippingfee)) shippingfee = 0;
406	var freeThreshold = gratislevering - totalprice + shippingfee;
407
408	str = $(str);
409
410	if(freeThreshold > 0) {
411		$("#freeThreshold", str).html(freeThreshold);
412	} else {
413		if (1 < 0) {
414			$("#freeThresholdText", str).html(popuptext + '<div class="freeDeliveryPopupText">' + freeDeliveryPopupText + '</div>');
415		} else {
416			$("#freeThresholdText", str).html(popuptext);
417		}
418	}
419	return str;
420}
421layouts[1].trigger = "false === true";
422
423// STANDARD
424layouts[100] = {};
425layouts[100].standardHtml = '<div class="popup"> \
426							<div class="content-container obs"> \
427								<div class="facebox-header obs">' + faceboxLabels['header'] + '</div> \
428								<div class="content"></div> \
429								<div class="footer"> \
430									<a href="#" class="close button grey">' + faceboxLabels['close'] + '</a> \
431								</div> \
432							</div> \
433		</div>';
434layouts[100].html = '<div id="facebox" style="display:none;">'+layouts[100].standardHtml+'</div>';
435layouts[100].inhtml = layouts[100].standardHtml;
436
437faceboxDandomain.addLayouts(layouts);

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.