PageSourceSearch

https://trinityloft.com/p7mbx/p7MBXscripts.js

js trinityloft.com collected 2026-10-04 05:19:41 UTC 41,672 bytes, 1,656 lines download raw bytes

1
2/* 
3 ================================================
4 PVII Magic Box scripts
5 Copyright (c) 2015-2018 Project Seven Development
6 www.projectseven.com
7 Version: 1.3.0 -build 28
8 ================================================
9 
10 */
11var p7MBX = {
12	ctl: [],
13	once: false,
14	body: null,
15	prf: 'none',
16	ie: false,
17	active: false,
18	overlay: null,
19	currentShow: null,
20	slideHeight: 0,
21	boxAnimDuration: 400,
22	swipeDuration: 400,
23	animDelay: (1000 / 60),
24	cntDefWidth: '80%',
25	cntDefMaxWidth: '1280',
26	urlOpen: false,
27	autoCaptionFormat: ['* \\ **', 'Slide * of **', 'Image * of **', '* of **', 'Slide# *'],
28	autoCaption: 0,
29	urlSlide: 0
30};
31function P7_MBXset(){
32	var h, hd, sh = '', ie = P7_MBXgetIEver();
33	if (!document.getElementById) {
34		return;
35	}
36	sh += 'div.p7MBX {position:absolute;top: -9000px;left: -9000px;width: 100%;height: auto;background-color:transparent;z-index: 99999910;}\n';
37	sh += 'div.p7mbx-overlay {position:fixed;top:-100%;left:0;width:100%;height:100%;background-color:transparent;overflow:hidden;z-index: 99999905;opacity:0;}\n';
38	sh += 'div.p7mbx-list {display: none;}\n';
39	sh += 'div.p7mbx-toolbar {display: none;}\n';
40	sh += 'div.p7MBX.active .p7mbx-toolbar {display:block;}\n';
41	sh += 'div.p7mbx-slide-wrapper {position:relative;width:100%;padding:0;margin:0;z-index:99999915;}\n';
42	sh += 'div.mbx-slide-box {position:absolute;top:-9000px;left:-9000px;width:100%;margin:0;padding:0;border:none;z-index:99999935;visibility:hidden;}\n';
43	sh += 'div.mbx-slide-container {position:absolute;margin:0 auto;}\n';
44	sh += 'div.mbx-slide {position:relative;}\n';
45	sh += 'div.mbx-slide.mbx-image img {height:auto;width:auto;max-width:100%;}\n';
46	sh += '.mbx-slide-box.current-slide {z-index:99999945;}\n';
47	sh += 'div.p7mbx-content {position:absolute;top:-9000px;left:-9000px;}\n';
48	sh += '.p7mbx-pointer {touch-action: pan-y pinch-zoom;}\n';
49	sh += '.p7mbx-ms-pointer {ms-touch-action: pan-y pinch-zoom;}\n';
50	sh += '.mbx-slide-sw {position:relative;}\n';
51	if (ie > 5 && ie < 9) {
52		sh += 'div.p7MBX, div.p7MBX div, #p7MBXov {zoom: 100%;}\n';
53		sh += '#p7MBXov.dark.p7mbx-overlay.transparency {background-color:#fff;}\n';
54		sh += '#p7MBXov.light.p7mbx-overlay.transparency {background-color:#000;}\n';
55	}
56	hd = document.head || document.getElementsByTagName('head')[0];
57	h = document.createElement('style');
58	h.type = 'text/css';
59	if (h.styleSheet) {
60		h.styleSheet.cssText = sh;
61	} else {
62		h.appendChild(document.createTextNode(sh));
63	}
64	hd.appendChild(h);
65	p7MBX.prf = P7_MBXgetCSSPre();
66}
67
68P7_MBXset();
69function P7_MBXbb(){
70}
71
72function P7_MBXaddLoad(){
73	var ie = P7_MBXgetIEver();
74	if (!document.getElementById || (ie > 0 && ie < 6)) {
75		return;
76	}
77	if (window.addEventListener) {
78		document.addEventListener("DOMContentLoaded", P7_MBXinit, false);
79		window.addEventListener("load", P7_MBXinit, false);
80		window.addEventListener("unload", P7_MBXbb, false);
81		document.addEventListener("keydown", P7_MBXkey, false);
82		window.addEventListener("resize", P7_MBXrsz, false);
83	} else if (window.attachEvent) {
84		document.write("<script id=p7ie_mbx defer src=\"//:\"><\/script>");
85		document.getElementById("p7ie_mbx").onreadystatechange = function(){
86			if (this.readyState == "complete") {
87				if (p7MBX.ctl.length > 0) {
88					P7_MBXinit();
89				}
90			}
91		};
92		window.attachEvent("onload", P7_MBXinit);
93		window.attachEvent("onunload", P7_MBXbb);
94		document.attachEvent("onkeydown", P7_MBXkey);
95		window.attachEvent("onresize", P7_MBXrsz);
96	}
97}
98
99P7_MBXaddLoad();
100function P7_MBXop(){
101	if (!document.getElementById) {
102		return;
103	}
104	p7MBX.ctl[p7MBX.ctl.length] = arguments;
105}
106
107function P7_MBXinit(){
108	var i, j, k, kj, tD, bx, el, tU, tA, tC, sW, ie, pli = 0, cN, tR, cl, md, hs, num, sn, frms, t;
109	if (p7MBX.ctl.length < 1) {
110		return;
111	}
112	if (p7MBX.once) {
113		return;
114	}
115	p7MBX.once = true;
116	document.p7mbxpre = [];
117	ie = P7_MBXgetIEver();
118	el = document.createElement('div');
119	el.setAttribute('id', 'p7MBXov');
120	el.setAttribute('class', 'p7mbx-overlay');
121	document.getElementsByTagName('BODY')[0].appendChild(el);
122	p7MBX.overlay = el;
123	el.onclick = function(evt){
124		evt = (evt) ? evt : event;
125		var pp = (evt.fromElement) ? evt.fromElement : evt.target;
126		if (pp == this) {
127			var d = p7MBX.currentShow;
128			if (d && d.p7opt[17] == 1) {
129				P7_MBXcloseBox();
130			}
131		}
132	};
133	for (j = 0; j < p7MBX.ctl.length; j++) {
134		tD = document.getElementById(p7MBX.ctl[j][0]);
135		if (tD) {
136			tD.p7opt = p7MBX.ctl[j];
137			if (tD.p7opt[17] == 1) {
138				P7_MBXsetCloser(tD);
139			}
140			if (p7MBX.prf == 'none' && tD.p7opt[1] > 2) {
141				tD.p7opt[1] = 1;
142			}
143			if (tD.parentNode.nodeName != 'BODY') {
144				document.getElementsByTagName('BODY')[0].appendChild(tD);
145			}
146			el = document.createElement('div');
147			el.setAttribute('id', tD.id.replace('_', 'ldg_'));
148			el.className = 'p7mbx-loading';
149			tD.mbxLoading = el;
150			tD.appendChild(el);
151			tD.mbxStatus = 'closed';
152			tD.mbxBoxNum = parseInt(tD.id.replace('p7MBX_', ''), 10);
153			P7_MBXremClass(tD, 'p7MBXnoscript');
154			sW = document.getElementById(tD.id.replace('_', 'sw_'));
155			if (!sW) {
156				sW = document.createElement('div');
157				sW.setAttribute('id', tD.id.replace('_', 'sw_'));
158				sW.className = 'p7mbx-slide-wrapper';
159				tD.appendChild(sW);
160			}
161			tD.mbxSW = sW;
162			sW.mbxDiv = tD;
163			if (tD.p7opt[17] == 1) {
164				P7_MBXsetCloser(sW);
165			}
166			tD.mbxControls = [];
167			tD.mbxSlides = [];
168			tD.mbxCurrentSlideNum = 0;
169			tD.mbxPreviousSlideNum = 1;
170			tD.mbxNumPlays = 1;
171			tD.mbxDirection = 'right';
172			tD.mbxShowMode = 'pause';
173			tU = document.getElementById(tD.id.replace('_', 'list_'));
174			tA = tU.getElementsByTagName('A');
175			k = 0;
176			for (i = 0; i < tA.length; i++) {
177				cl = tA[i].className;
178				if (tA[i].parentNode.nodeName == "LI" && cl && (/mbx/.test(cl))) {
179					k++;
180					tD.mbxSlides[k] = tA[i];
181					tA[i].mbxDiv = tD.id;
182					tA[i].mbxSlideNum = k;
183					tD.mbxSlideNums = tD.mbxSlides.length - 1;
184					if (cl && (/mbx-image/.test(cl))) {
185						tA[i].mbxSlideType = 'image';
186						document.p7mbxpre[pli] = new Image();
187						document.p7mbxpre[pli].cmp = false;
188						document.p7mbxpre[pli].mbxDiv = tD.id;
189						tA[i].mbxPreIndex = pli;
190						tA[i].mbxPreImage = document.p7mbxpre[pli];
191						if (k < 2) {
192							document.p7mbxpre[pli].src = tA[i].href;
193						}
194						pli++;
195					} else if (cl && (/mbx-cnt/.test(cl))) {
196						tA[i].mbxSlideType = 'content';
197						hs = tA[i].hash;
198						el = null;
199						if (hs && hs.length > 1) {
200							el = document.getElementById(hs.substring(1));
201						}
202						if (el) {
203							tA[i].mbxContentDiv = el.id;
204							frms = el.getElementsByTagName('IFRAME');
205							if (frms && frms.length) {
206								tA[i].mbxFrames = [];
207								for (kj = 0; kj < frms.length; kj++) {
208									if (/video-wrapper/.test(frms[kj].parentNode.className)) {
209										tA[i].mbxFrames[kj] = frms[kj];
210										frms[kj].mbxSrc = frms[kj].src;
211										frms[kj].src = '';
212									}
213								}
214							}
215						} else {
216							tD.mbxSlides.pop();
217							k--;
218						}
219					}
220				}
221			}
222			tD.mbxControls[3] = P7_MBXsetCC(tD.id, 'rp_', 'prev');
223			tD.mbxControls[5] = P7_MBXsetCC(tD.id, 'rn_', 'next');
224			el = document.getElementById(tD.id.replace('_', 'rpp_'));
225			if (el) {
226				el.p7state = 'pause';
227				el.mbxDiv = tD.id;
228				tD.mbxControls[4] = el;
229				el.onclick = function(){
230					var ac = (this.p7state == 'play') ? 'pause' : 'play';
231					P7_MBXcontrol(this.mbxDiv, ac, 3);
232					return false;
233				};
234				el.mbxSetButtonState = function(st){
235					var tx;
236					if (st == 'play') {
237						tx = 'Pause';
238						P7_MBXremClass(this, 'play');
239					} else {
240						tx = 'Play';
241						P7_MBXsetClass(this, 'play');
242					}
243					this.setAttribute('title', tx);
244				};
245			}
246			el = document.getElementById(tD.id.replace('_', 'cl_'));
247			if (el) {
248				el.onclick = function(){
249					P7_MBXcloseBox();
250					return false;
251				};
252			}
253			if (tD.p7opt[15] == 1) {
254				p7MBX.urlOpen = tD.id;
255				p7MBX.urlSlide = tD.p7opt[3];
256			}
257			P7_MBXurl(tD.id);
258		}
259	}
260	tR = P7_MBXgetElementsByClassName('p7mbx-trigger');
261	if (tR && tR.length) {
262		for (i = 0; i < tR.length; i++) {
263			num = parseInt(tR[i].getAttribute('data-mbx'), 10);
264			sn = parseInt(tR[i].getAttribute('data-mbx-slide'), 10);
265			tR[i].mbxDiv = 'p7MBX_' + num;
266			tR[i].mbxTrigSlide = (sn) ? sn : 1;
267			tR[i].onclick = function(){
268				return P7_MBXshowSlide(this.mbxDiv, this.mbxTrigSlide);
269			};
270		}
271	}
272	if (p7MBX.urlOpen) {
273		tD = document.getElementById(p7MBX.urlOpen);
274		t = tD.p7opt[18] * 1000;
275		tD.mbxOpenTimer = setTimeout(P7_MBXcreateTMH(tD), t);
276	}
277}
278
279function P7_MBXcreateTMH(el){
280	return function(){
281		P7_MBXshowSlide(p7MBX.urlOpen, p7MBX.urlSlide);
282	};
283}
284
285function P7_MBXctrl(dv, ac){
286	return P7_MBXcontrol(dv, ac);
287}
288
289function P7_MBXcontrol(dv, ac, bp, tch){
290	var i, tD, cs, ts, op, sn, eI, eC, eD, tm = 0, pauseOnAction, rs = false, m = false;
291	tD = document.getElementById(dv);
292	if (tD && tD.mbxSlides) {
293		if (tD.mbxShowTimer) {
294			clearTimeout(tD.mbxShowTimer);
295		}
296		pauseOnAction = (tD.p7opt[8] == 1) ? true : false;
297		cs = tD.mbxCurrentSlideNum;
298		ts = tD.mbxSlideNums;
299		if (ac == 'pause') {
300			if (bp !== 3) {
301				if (tD.p7opt[9] == 1 && tD.mbxShowMode == 'play') {
302					tD.mbxShowResume = true;
303				} else {
304					tD.mbxShowResume = false;
305				}
306			}
307			P7_MBXpause(dv);
308			return m;
309		}
310		if (ac == 'close') {
311			P7_MBXcloseBox();
312			return m;
313		}
314		if (!bp && pauseOnAction) {
315			if (tD.p7opt[9] == 1 && tD.mbxShowMode == 'play') {
316				tD.mbxShowResume = true;
317			}
318			P7_MBXpause(dv);
319		}
320		if (ac == 'play') {
321			tD.mbxShowMode = 'play';
322			tD.mbxShowResume = false;
323			if (tD.mbxControls[4]) {
324				tD.mbxControls[4].p7state = 'play';
325				tD.mbxControls[4].mbxSetButtonState('play');
326			}
327			if (tD.mbxControls[7]) {
328				tD.mbxControls[7].p7state = 'play';
329				tD.mbxControls[7].mbxSetButtonState('play');
330			}
331			ac = 'next';
332			rs = true;
333		}
334		if (ac == 'first') {
335			tD.mbxDirection = 'left';
336			sn = 1;
337		} else if (ac == 'prev') {
338			tD.mbxDirection = 'left';
339			sn = cs - 1;
340			if (sn < 1) {
341				sn = ts;
342			}
343		} else if (ac == 'next') {
344			sn = cs + 1;
345			tD.mbxDirection = 'right';
346			if (tD.mbxShowMode == 'play') {
347				if (sn > ts) {
348					tD.mbxNumPlays++;
349					if (tD.p7opt[6] > 0 && tD.mbxNumPlays > tD.p7opt[6]) {
350						tD.mbxNumPlays = 0;
351						sn = (tD.p7opt[7] == 1) ? 1 : tD.mbxSlideNums;
352						P7_MBXpause(tD.id);
353					} else {
354						sn = 1;
355					}
356				}
357			} else {
358				if (sn > ts) {
359					sn = 1;
360				}
361			}
362		} else if (ac == 'last') {
363			tD.mbxDirection = 'right';
364			sn = ts;
365		} else {
366			tD.mbxDirection = 'right';
367			sn = ac;
368		}
369		sn = (sn < 1) ? 1 : sn;
370		sn = (sn > tD.mbxSlideNums) ? tD.mbxSlideNums : sn;
371		if (sn == tD.mbxCurrentSlideNum && bp != 1) {
372			return m;
373		}
374		if (rs) {
375			tm = 100;
376			setTimeout("P7_MBXshowSlide('" + tD.id + "'," + sn + "," + bp + ")", tm);
377		} else {
378			P7_MBXshowSlide(tD.id, sn, bp, tch);
379		}
380	}
381	return false;
382}
383
384function P7_MBXpause(d){
385	var cD, tD = document.getElementById(d);
386	if (tD) {
387		tD.mbxShowMode = 'pause';
388		if (tD.mbxShowTimer) {
389			clearTimeout(tD.mbxShowTimer);
390		}
391		if (tD.mbxControls[4]) {
392			tD.mbxControls[4].p7state = 'pause';
393			tD.mbxControls[4].mbxSetButtonState('pause');
394		}
395		if (tD.mbxControls[7]) {
396			tD.mbxControls[7].p7state = 'pause';
397			tD.mbxControls[7].mbxSetButtonState('pause');
398		}
399	}
400}
401
402function P7_MBXopenBox(dv){
403	var tD;
404	tD = document.getElementById(dv);
405	if (p7MBX.currentShow != tD) {
406		if (p7MBX.currentShow) {
407			P7_MBXcloseBox();
408		}
409		p7MBX.currentShow = tD;
410		p7MBX.overlay.className = 'p7mbx-overlay ' + tD.className;
411	}
412	if (tD.mbxStatus != 'open') {
413		tD.mbxStatus = 'open';
414		p7MBX.currentShow = tD;
415		P7_MBXsetClass(document.getElementsByTagName('BODY')[0], 'p7mbx-running');
416		if (tD.p7opt[4] == 1) {
417			tD.mbxShowMode = 'play';
418			if (tD.mbxControls[4]) {
419				tD.mbxControls[4].p7state = 'play';
420				tD.mbxControls[4].mbxSetButtonState('play');
421			}
422			if (tD.mbxControls[7]) {
423				tD.mbxControls[7].p7state = 'play';
424				tD.mbxControls[7].mbxSetButtonState('play');
425			}
426		}
427		P7_MBXoverlay(tD, 'open');
428		tD.style.top = P7_MBXgetScroll() + 'px';
429		tD.style.left = '0px';
430		P7_MBXsetClass(tD, 'active');
431	}
432}
433
434function P7_MBXcloseBox(){
435	var tD = p7MBX.currentShow;
436	tD.mbxStatus = 'closed';
437	tD.mbxShowResume = false;
438	P7_MBXremClass(document.getElementsByTagName('BODY')[0], 'p7mbx-running');
439	if (tD.mbxShowTimer) {
440		clearTimeout(tD.mbxShowTimer);
441	}
442	if (tD.mbxWait) {
443		clearTimeout(tD.mbxWait);
444	}
445	P7_MBXremClass(tD, 'active');
446	tD.mbxLoading.style.display = 'none';
447	tD.style.left = '-9000px';
448	tD.style.top = '-9000px';
449	P7_MBXcloseSlide(tD.id, 0, 1);
450	tD.mbxCurrentSlide = null;
451	p7MBX.currentShow = null;
452	tD.mbxCurrentSlideNum = 0;
453	P7_MBXoverlay(tD, 'close');
454}
455
456function P7_MBXoverlay(el, ac){
457	var s, oV = p7MBX.overlay, mx = (p7MBX.ie && p7MBX.ie < 9) ? 80 : 100;
458	if (ac == 'open') {
459		s = (el.p7opt[1] > 0) ? 1 : mx;
460		P7_MBXfade(oV, s, mx, p7MBX.boxAnimDuration, 'quad');
461		oV.style.top = '0px';
462	} else {
463		s = (el.p7opt[1] > 0) ? mx : 0;
464		P7_MBXfade(oV, s, 0, p7MBX.boxAnimDuration, 'quad', function(){
465			this.style.top = '-100%';
466		});
467	}
468}
469
470function P7_MBXshowSlide(dv, sn, bp, tch){
471	var i, tD, tA, sW, sB, iM, el, sL, aM, sC, cP, cN, cl, dD, tx, sLW, setLow;
472	bp = (bp) ? bp : null;
473	tD = document.getElementById(dv);
474	if (tD.mbxOpenTimer) {
475		clearTimeout(tD.mbxOpenTimer);
476	}
477	if (!tD.mbxSlides[sn]) {
478		return false;
479	}
480	P7_MBXopenBox(dv);
481	if (tD.mbxCurrentSlideNum == sn && bp != 1) {
482		return false;
483	}
484	if (tD.mbxShowTimer) {
485		clearTimeout(tD.mbxShowTimer);
486	}
487	if (tD.mbxWait) {
488		clearTimeout(tD.mbxWait);
489	}
490	if (tD.mbxCurrentSlideNum !== 0) {
491		tD.mbxPreviousSlideNum = tD.mbxCurrentSlideNum;
492	}
493	tD.mbxCurrentSlideNum = sn;
494	tA = tD.mbxSlides[sn];
495	setLow = true;
496	if (tA.mbxBuiltSlide) {
497		P7_MBXdispA(tD.id, sn, tA.mbxBuiltSlide, bp, tch);
498	} else {
499		sB = document.createElement('div');
500		sB.className = 'mbx-slide-box mbx-' + tA.mbxSlideType;
501		if (tD.p7opt[17] == 1) {
502			P7_MBXsetCloser(sB);
503		}
504		sB.mbxMode = tA.getAttribute('data-mbx-mode');
505		if (sB.mbxMode == 'fit') {
506			sB.style.margin = '0px 0px';
507		} else {
508			sB.style.marginTop = tD.p7opt[10] + 'px';
509		}
510		sB.mbxSlideNum = sn;
511		sB.mbxDiv = tD.id;
512		sB.mbxMode = tA.getAttribute('data-mbx-mode');
513		sC = document.createElement('div');
514		sC.className = 'mbx-slide-container ' + tA.className;
515		sC.style.position = 'absolute';
516		sC.mbxDiv = tD;
517		if (tD.p7opt[9] == 1) {
518			P7_MBXsetPomo(sC);
519		}
520		sB.mbxSC = sC;
521		P7_MBXassignSwipe(sC, dv);
522		sL = document.createElement('div');
523		sL.className = 'mbx-slide ' + tA.className;
524		sC.mbxSlideType = tA.mbxSlideType;
525		sC.mbxCaption = false;
526		sC.mbxDesc = false;
527		if (tD.p7opt[11] > 0) {
528			tx = tA.innerHTML;
529			if (tD.p7opt[16] == 1) {
530				tx = p7MBX.autoCaptionFormat[p7MBX.autoCaption].replace('**', tD.mbxSlideNums);
531				tx = tx.replace('*', sn);
532			}
533			if (tx && tx !== '' && tx != ' ') {
534				cP = document.createElement('div');
535				sC.mbxCaption = cP;
536				cP.className = 'mbx-caption';
537				cP.style.display = 'none';
538				cP.innerHTML = tx;
539			}
540		}
541		if (sC.mbxSlideType == 'image') {
542			cN = tA.parentNode.childNodes;
543			for (var kk = 0; kk < cN.length; kk++) {
544				cl = cN[kk].className;
545				if (tD.p7opt[12] > 0) {
546					if (cl && /mbx_desc/i.test(cl)) {
547						dD = document.createElement('div');
548						sC.mbxDesc = dD;
549						dD.className = 'mbx-description' + cl.replace('mbx_desc', '');
550						dD.style.display = 'none';
551						P7_MBXcopyCN(dD, cN[kk]);
552					}
553				}
554				if (cl && /mbx_link/i.test(cl)) {
555					el = cN[kk].getElementsByTagName('A');
556					if (el && el[0]) {
557						tA.mbxLink = el[0];
558					}
559				}
560			}
561			aM = document.createElement('A');
562			aM.className = 'p7mbx-image-link';
563			if (tA.mbxLink) {
564				aM.setAttribute('href', tA.mbxLink.getAttribute('href'));
565				aM.setAttribute('title', tA.mbxLink.innerHTML);
566				if (tA.mbxLink.target && tA.mbxLink.target !== '') {
567					aM.setAttribute('target', tA.mbxLink.target);
568				}
569			}
570			iM = document.createElement('IMG');
571			iM.className = 'p7mbx-image';
572			P7_MBXsetImage(iM);
573			iM.mbxCnt = 0;
574			iM.src = tA.href;
575			cl = tA.getAttribute('data-mbx-max-h');
576			if (cl && cl !== '') {
577				iM.style.maxHeight = cl + 'px';
578			}
579			iM.oncontextmenu = function(){
580				return false;
581			};
582			aM.appendChild(iM);
583			if (cP && (tD.p7opt[11] == 1 || tD.p7opt[11] == 3)) {
584				P7_MBXsetClass(cP, 'caption-top');
585				if (tD.p7opt[11] == 3) {
586					P7_MBXsetClass(cP, 'overlay');
587				}
588				sL.appendChild(cP);
589				setLow = false;
590			}
591			if (dD && (tD.p7opt[12] == 1 || tD.p7opt[12] == 3)) {
592				P7_MBXsetClass(dD, 'description-top');
593				if (tD.p7opt[12] == 3) {
594					P7_MBXsetClass(dD, 'overlay');
595				}
596				sL.appendChild(dD);
597				setLow = false;
598			}
599			sLW = document.createElement('DIV');
600			sLW.className = 'mbx-slide-sw';
601			sC.mbxSlideDiv = sLW;
602			if (tD.p7opt[13] == 1) {
603				P7_MBXbuildPN(tD.id, sLW);
604			}
605			if (tD.p7opt[14] == 1) {
606				P7_MBXbuildCB(tD.id, sL, setLow);
607			}
608			sLW.appendChild(aM);
609			sL.appendChild(sLW);
610			if (cP && (tD.p7opt[11] == 2 || tD.p7opt[11] == 4)) {
611				P7_MBXsetClass(cP, 'caption-bottom');
612				if (tD.p7opt[11] == 4) {
613					P7_MBXsetClass(cP, 'overlay');
614				} else {
615					sC.mbxBottom = true;
616				}
617				sL.appendChild(cP);
618			}
619			if (dD && (tD.p7opt[12] == 2 || tD.p7opt[12] == 4)) {
620				P7_MBXsetClass(dD, 'description-bottom');
621				if (tD.p7opt[12] == 4) {
622					P7_MBXsetClass(dD, 'overlay');
623				} else {
624					sC.mbxBottom = true;
625				}
626				sL.appendChild(dD);
627			}
628			sC.appendChild(sL);
629			sB.appendChild(sC);
630			tD.mbxSW.appendChild(sB);
631			sC.mbxImage = iM;
632			tD.mbxWait = setInterval(function(){
633				P7_MBXloadImage(tD, sC, iM, sn, bp, tch);
634			}, 60);
635		} else if (sC.mbxSlideType == 'content') {
636			if (cP && (tD.p7opt[11] == 1 || tD.p7opt[11] == 3)) {
637				P7_MBXsetClass(cP, 'caption-top');
638				if (tD.p7opt[11] == 3) {
639					P7_MBXsetClass(cP, 'overlay');
640				}
641				sL.appendChild(cP);
642				setLow = false;
643			}
644			sLW = document.createElement('DIV');
645			sLW.className = 'mbx-slide-sw';
646			if (tD.p7opt[13] == 1) {
647				P7_MBXbuildPN(tD.id, sLW);
648			}
649			if (tD.p7opt[14] == 1) {
650				P7_MBXbuildCB(tD.id, sL, setLow);
651			}
652			el = document.getElementById(tA.mbxContentDiv);
653			sLW.appendChild(el);
654			sL.appendChild(sLW);
655			P7_MBXremClass(el, 'p7mbx-content');
656			P7_MBXsetClass(el, 'p7mbx-content-slide');
657			if (cP && (tD.p7opt[11] == 2 || tD.p7opt[11] == 4)) {
658				P7_MBXsetClass(cP, 'caption-bottom');
659				if (tD.p7opt[11] == 4) {
660					P7_MBXsetClass(cP, 'overlay');
661				}
662				sL.appendChild(cP);
663			}
664			sC.appendChild(sL);
665			sB.appendChild(sC);
666			tD.mbxSW.appendChild(sB);
667			if (tA.mbxFrames) {
668				sB.mbxFrames = tA.mbxFrames;
669			}
670			cl = tA.getAttribute('data-mbx-width');
671			if (!cl || cl === '') {
672				cl = p7MBX.cntDefWidth;
673			}
674			sC.style.width = cl;
675			cl = tA.getAttribute('data-mbx-max-w');
676			if (!cl || cl === '') {
677				cl = p7MBX.cntDefMaxWidth;
678			}
679			sC.style.maxWidth = cl + 'px';
680			sC.mbxMaxWidth = cl;
681			if (sC.mbxCaption) {
682				sC.mbxCaption.style.display = 'block';
683			}
684			sC.style.position = 'relative';
685			P7_MBXdispA(dv, sn, sB, bp, tch);
686		}
687	}
688	return false;
689}
690
691function P7_MBXloadImage(tD, sC, im, sn, bp, tch){
692	var sB, tA, cl;
693	im.mbxCnt++;
694	if (im.cmp && im.complete && im.height > 10 && im.width > 10) {
695		clearTimeout(tD.mbxWait);
696		if (im.p7Status == 'load_error') {
697			im.style.width = '400px';
698			im.style.height = '400px';
699		} else {
700			tD.mbxLoading.style.display = 'none';
701		}
702		tA = tD.mbxSlides[sn];
703		cl = tA.getAttribute('data-mbx-max-w');
704		if (cl && cl !== '' && cl < sC.offsetWidth) {
705			sC.style.maxWidth = cl + 'px';
706			sC.mbxMaxWidth = cl;
707		} else {
708			sC.style.maxWidth = sC.offsetWidth + 'px';
709			sC.mbxMaxWidth = sC.offsetWidth;
710		}
711		sC.mbxImWidth = im.width;
712		sC.mbxImHeight = im.height;
713		sC.mbxHSpace = sC.mbxMaxWidth - im.width;
714		sC.style.position = 'relative';
715		if (sC.mbxCaption) {
716			sC.mbxCaption.style.display = 'block';
717		}
718		if (sC.mbxDesc) {
719			sC.mbxDesc.style.display = 'block';
720		}
721		sC.mbxTopSpace = Math.abs(sC.getBoundingClientRect().top - sC.mbxImage.getBoundingClientRect().top);
722		P7_MBXdispA(tD.id, sn, sC.parentNode, bp, tch);
723	} else {
724		if (im.mbxCnt > 3 || im.p7Status == 'load_error') {
725			tD.mbxLoading.style.display = 'block';
726		}
727	}
728	if (im.mbxCnt > 100 || im.p7Status == 'load_error' && !im.cmp) {
729		im.cmp = true;
730		im.complete = true;
731		im.width = 400;
732		im.height = 400;
733	}
734}
735
736function P7_MBXsetImage(im){
737	this.p7Status = '';
738	im.onload = function(){
739		this.cmp = true;
740	};
741	im.onerror = function(){
742		this.p7Status = 'load_error';
743	};
744}
745
746function P7_MBXdispA(dv, sn, sB, bp, tch){
747	var tA, tD, an, dur, sW, h, nh, x;
748	tD = document.getElementById(dv);
749	sW = tD.mbxSW;
750	tA = tD.mbxSlides[sn];
751	if (!tA.mbxBuiltSlide) {
752		if (tD.mbxCurrentSlideNum == sn) {
753			tA.mbxBuiltSlide = sB;
754		}
755	}
756	if (tD.mbxCurrentSlideNum != sn) {
757		return false;
758	}
759	tD.mbxCurrentSlide = sB;
760	an = (bp && bp == 1) ? 0 : tD.p7opt[1];
761	dur = tD.p7opt[2];
762	sB.mbxState = 'current';
763	P7_MBXsetClass(sB, 'current-slide');
764	if (tch) {
765		an = 2;
766		dur = p7MBX.swipeDuration;
767	}
768	if (an > 0) {
769		h = p7MBX.slideHeight;
770		nh = sB.offsetHeight + tD.p7opt[10];
771		if (sB.mbxMode == 'fit') {
772			nh = p7MBX.overlay.offsetHeight;
773		}
774		if (nh > h) {
775			h = nh;
776		}
777		p7MBX.slideHeight = h;
778		sW.style.height = h + 'px';
779		sW.style.overflow = 'hidden';
780	}
781	if (tD.mbxPreviousSlideNum != sn) {
782		P7_MBXcloseSlide(dv, tD.mbxPreviousSlideNum, 0, tch);
783	}
784	if (sB.mbxMode == 'fit') {
785		P7_MBXresizer(tD, sB);
786	}
787	if (an == 1) {
788		sB.style.left = '0px';
789		sB.style.top = '0px';
790		P7_MBXfade(sB, 5, 100, dur, 'quad', function(){
791			P7_MBXdispB(this);
792		});
793		P7_MBXdispFin(dv, sn, bp);
794	} else if (an == 2) {
795		x = sW.offsetWidth;
796		if (sB.filters) {
797			sB.style.filter = '';
798		} else {
799			sB.style.opacity = 1;
800		}
801		if (tD.mbxDirection == 'left') {
802			x = x * -1;
803		}
804		sB.style.top = '0px';
805		sB.style.left = x + 'px';
806		P7_MBXanimate(sB, 'left', 'px', x, 0, dur, 'quad', function(){
807			P7_MBXdispB(this);
808		});
809		P7_MBXdispFin(dv, sn, bp);
810	} else if (an == 3) {
811		x = 100;
812		if (tD.mbxDirection == 'left') {
813			x = x * -1;
814		}
815		sB.style.opacity = 0;
816		sB.style.left = x + 'px';
817		sB.style.top = '0px';
818		sB.style.visibility = 'visible';
819		sB.offsetWidth = sB.offsetWidth;
820		sB.style[p7MBX.prf + 'transition'] = 'all ' + dur + 'ms ease-out';
821		if (sB.mbxAnimB) {
822			clearTimeout(sB.mbxAnimB);
823		}
824		sB.mbxAnimB = setTimeout(function(){
825			P7_MBXdispB(sB);
826		}, dur);
827		sB.style.left = '0px';
828		sB.style.opacity = 1;
829		P7_MBXdispFin(dv, sn, bp);
830	} else if (an == 4) {
831		sB.style[p7MBX.prf + 'transform'] = 'scale(0.1)';
832		sB.style.opacity = 1;
833		sB.style.left = '0px';
834		sB.style.top = '0px';
835		sB.style.visibility = 'visible';
836		sB.offsetWidth = sB.offsetWidth;
837		sB.style[p7MBX.prf + 'transition'] = p7MBX.prf + 'transform ' + dur + 'ms linear';
838		if (sB.mbxAnimB) {
839			clearTimeout(sB.mbxAnimB);
840		}
841		sB.mbxAnimB = setTimeout(function(){
842			P7_MBXdispB(sB);
843		}, dur);
844		sB.style[p7MBX.prf + 'transform'] = 'scale(1)';
845		P7_MBXdispFin(dv, sn, bp);
846	} else {
847		sB.style.left = '0px';
848		sB.style.top = '0px';
849		sB.style.position = 'relative';
850		sB.style.visibility = 'visible';
851		if (sB.mbxFrames) {
852			P7_MBXframes(sB, 'on');
853		}
854		P7_MBXdispFin(dv, sn, bp);
855	}
856}
857
858function P7_MBXdispB(sB){
859	var tD;
860	tD = document.getElementById(sB.mbxDiv);
861	if (tD.p7opt[1] > 0) {
862		sB.style[p7MBX.prf + 'transition'] = null;
863		sB.style[p7MBX.prf + 'transform'] = null;
864		if (sB.filters) {
865			sB.style.filter = '';
866		} else {
867			sB.style.opacity = 1;
868		}
869	}
870	if (sB.mbxSlideNum != tD.mbxCurrentSlideNum) {
871		if (sB.mbxState != 'closed') {
872			P7_MBXcloseSlideBox(tD.id, sB);
873		}
874		return;
875	}
876	sB.style.position = 'relative';
877	tD.mbxSW.style.height = 'auto';
878	tD.mbxSW.style.overflow = 'visible';
879	if (sB.mbxFrames) {
880		P7_MBXframes(sB, 'on');
881	}
882}
883
884function P7_MBXcloseSlide(dv, sn, bp, tch){
885	var tD, sB, an, dur, x;
886	bp = (bp) ? bp : null;
887	tD = document.getElementById(dv);
888	if (sn > 0) {
889		sB = tD.mbxSlides[sn].mbxBuiltSlide;
890	} else {
891		sB = tD.mbxCurrentSlide;
892	}
893	if (!sB) {
894		return;
895	}
896	an = tD.p7opt[1];
897	dur = tD.p7opt[2];
898	sB.mbxState = 'closed';
899	P7_MBXremClass(sB, 'current-slide');
900	if (tch && bp != 1) {
901		an = 2;
902		dur = p7MBX.swipeDuration;
903	}
904	if (sB.mbxFrames) {
905		P7_MBXframes(sB, 'off');
906	}
907	if (an == 1) {
908		sB.style.position = 'absolute';
909		P7_MBXfade(sB, 100, 0, dur, 'quad', function(){
910			P7_MBXcloseSlideBox(dv, sB);
911		});
912	} else if (an == 2) {
913		x = tD.mbxSW.offsetWidth * -1;
914		if (tD.mbxDirection == 'left') {
915			x = x * -1;
916		}
917		sB.style.top = '0px';
918		sB.style.left = x + 'px';
919		P7_MBXanimate(sB, 'left', 'px', 0, x, dur, 'quad', function(){
920			P7_MBXcloseSlideBox(dv, sB);
921		});
922		P7_MBXdispFin(dv, sn, bp);
923	} else if (an == 3) {
924		x = -100;
925		if (tD.mbxDirection == 'left') {
926			x = x * -1;
927		}
928		sB.offsetWidth = sB.offsetWidth;
929		sB.style[p7MBX.prf + 'transition'] = 'all ' + dur + 'ms ease-out';
930		if (sB.mbxAnimB) {
931			clearTimeout(sB.mbxAnimB);
932		}
933		sB.mbxAnimB = setTimeout(function(){
934			P7_MBXcloseSlideBox(dv, sB);
935		}, dur);
936		sB.style.left = x + 'px';
937		sB.style.opacity = 0;
938	} else if (an == 4) {
939		sB.offsetWidth = sB.offsetWidth;
940		sB.style[p7MBX.prf + 'transition'] = 'all ' + dur + 'ms ease-out';
941		if (sB.mbxAnimB) {
942			clearTimeout(sB.mbxAnimB);
943		}
944		sB.mbxAnimB = setTimeout(function(){
945			P7_MBXcloseSlideBox(dv, sB);
946		}, dur);
947		sB.style.opacity = 0;
948	} else {
949		sB.style.left = '-9000px';
950		sB.style.top = '-9000px';
951		sB.style.position = 'absolute';
952		sB.style.visibility = 'hidden';
953	}
954}
955
956function P7_MBXcloseSlideBox(dv, sB){
957	var tD;
958	tD = document.getElementById(dv);
959	sB.mbxState = 'closed';
960	P7_MBXremClass(sB, 'current-slide');
961	if (tD.p7opt[1] > 0 && p7MBX.prf != 'none') {
962		sB.style[p7MBX.prf + 'transition'] = null;
963		sB.style[p7MBX.prf + 'transform'] = null;
964		if (sB.filters) {
965			sB.style.filter = '';
966		} else {
967			sB.style.opacity = 1;
968		}
969		sB.offsetWidth = sB.offsetWidth;
970	}
971	sB.style.left = '-9000px';
972	sB.style.top = '-9000px';
973	sB.style.position = 'absolute';
974	sB.style.visibility = 'hidden';
975}
976
977function P7_MBXdispFin(dv, sn, bp){
978	var tD, ns, tA, tm, sB;
979	tD = document.getElementById(dv);
980	if (tD.mbxCurrentSlideNum != sn) {
981		return false;
982	}
983	tm = tD.p7opt[5] * 1000;
984	ns = tD.mbxCurrentSlideNum + 1;
985	ns = (ns <= tD.mbxSlides.length - 1) ? ns : 1;
986	tA = tD.mbxSlides[ns];
987	if (tA.mbxSlideType == 'image') {
988		if (!tA.mbxPreImage.cmp) {
989			tA.mbxPreImage.src = tA.href;
990		}
991	}
992	if (tD.mbxShowMode == 'play') {
993		tD.mbxShowMode = 'play';
994		tD.mbxShowResume = false;
995		if (tD.mbxShowTimer) {
996			clearTimeout(tD.mbxShowTimer);
997		}
998		tD.mbxShowTimer = setTimeout("P7_MBXcontrol('" + tD.id + "','next',2)", tm);
999	}
1000	if (tD.p7opt[19] > 0) {
1001		setTimeout(function(){
1002			P7_MBXcontrol(tD.id, 'close');
1003		}, tD.p7opt[19] * 1000);
1004	}
1005}
1006
1007function P7_MBXframes(sB, ac){
1008	var i, tD;
1009	if (sB && sB.mbxFrames && sB.mbxFrames.length) {
1010		for (i = 0; i < sB.mbxFrames.length; i++) {
1011			if (ac == 'on') {
1012				tD = document.getElementById(sB.mbxDiv);
1013				if (tD.mbxStatus == 'open') {
1014					sB.mbxFrames[i].src = sB.mbxFrames[i].mbxSrc;
1015				}
1016			} else {
1017				sB.mbxFrames[i].src = '';
1018			}
1019		}
1020	}
1021}
1022
1023function P7_MBXgetTime(st){
1024	var d = new Date();
1025	return d.getTime() - st;
1026}
1027
1028function P7_MBXanim(tp, t, b, c, d){
1029	if (tp == 'quad') {
1030		if ((t /= d / 2) < 1) {
1031			return c / 2 * t * t + b;
1032		} else {
1033			return -c / 2 * ((--t) * (t - 2) - 1) + b;
1034		}
1035	} else {
1036		return (c * (t / d)) + b;
1037	}
1038}
1039
1040function P7_MBXanimate(ob, prop, un, fv, tv, dur, typ, cb){
1041	if (ob.p7AnimRunning) {
1042		ob.p7AnimRunning = false;
1043		clearInterval(ob.p7MBXanim);
1044	}
1045	typ = (!typ) ? 'quad' : typ;
1046	ob.p7animType = typ;
1047	ob.p7animProp = prop;
1048	ob.p7animUnit = un;
1049	ob.p7animStartVal = fv;
1050	ob.p7animCurrentVal = ob.p7animStartVal;
1051	ob.p7animFinishVal = tv;
1052	ob.style[ob.p7animProp] = ob.p7animCurrentVal + ob.p7animUnit;
1053	ob.style.visibility = 'visible';
1054	ob.p7animStartTime = P7_MBXgetTime(0);
1055	ob.p7animDuration = dur;
1056	if (!ob.p7AnimRunning) {
1057		ob.p7AnimRunning = true;
1058		ob.p7MBXanim = setInterval(function(){
1059			P7_MBXanimator(ob, cb);
1060		}, p7MBX.animDelay);
1061	}
1062}
1063
1064function P7_MBXanimator(el, cb, op){
1065	var i, tB, tA, tS, et, nv, m = false;
1066	et = P7_MBXgetTime(el.p7animStartTime);
1067	if (et >= el.p7animDuration) {
1068		et = el.p7animDuration;
1069		m = true;
1070	}
1071	if (el.p7animCurrentVal != el.p7animFinishVal) {
1072		nv = P7_MBXanim(el.p7animType, et, el.p7animStartVal, el.p7animFinishVal - el.p7animStartVal, el.p7animDuration);
1073		el.p7animCurrentVal = nv;
1074		el.style[el.p7animProp] = nv + el.p7animUnit;
1075	}
1076	if (m) {
1077		el.p7AnimRunning = false;
1078		clearInterval(el.p7MBXanim);
1079		if (cb && typeof(cb) === "function") {
1080			cb.call(el);
1081		}
1082	}
1083}
1084
1085function P7_MBXfade(ob, from, to, dur, typ, cb){
1086	if (ob.p7FadeRunning) {
1087		clearInterval(ob.p7Fade);
1088		ob.p7FadeRunning = false;
1089	}
1090	typ = (!typ) ? 'quad' : typ;
1091	ob.p7fadeType = typ;
1092	ob.p7StartFade = from;
1093	ob.p7FinishFade = to;
1094	ob.p7CurrentFade = ob.p7StartFade;
1095	if (ob.filters) {
1096		ob.style.filter = 'alpha(opacity=' + ob.p7CurrentFade + ')';
1097	} else {
1098		ob.style.opacity = ob.p7CurrentFade / 100;
1099	}
1100	ob.style.visibility = 'visible';
1101	ob.fadeStartTime = P7_MBXgetTime(0);
1102	ob.fadeDuration = dur;
1103	ob.p7FadeRunning = true;
1104	ob.p7Fade = setInterval(function(){
1105		P7_MBXfader(ob, cb);
1106	}, p7MBX.animDelay);
1107}
1108
1109function P7_MBXfader(el, cb){
1110	var i, tC, tA, op, et, cet, m = false;
1111	et = P7_MBXgetTime(el.fadeStartTime);
1112	if (et >= el.fadeDuration) {
1113		et = el.fadeDuration;
1114		m = true;
1115	}
1116	if (el.p7CurrentFade != el.p7FinishFade) {
1117		op = P7_MBXanim(el.p7fadeType, et, el.p7StartFade, el.p7FinishFade - el.p7StartFade, el.fadeDuration);
1118		el.p7CurrentFade = op;
1119		if (el.filters) {
1120			el.style.filter = 'alpha(opacity=' + el.p7CurrentFade + ')';
1121		} else {
1122			el.style.opacity = el.p7CurrentFade / 100;
1123		}
1124	}
1125	if (m) {
1126		el.p7FadeRunning = false;
1127		clearInterval(el.p7Fade);
1128		if (cb && typeof(cb) === "function") {
1129			cb.call(el);
1130		}
1131	}
1132}
1133
1134function P7_MBXrsz(bp){
1135	if (p7MBX.currentShow) {
1136		P7_MBXresizer(p7MBX.currentShow);
1137	}
1138}
1139
1140function P7_MBXresizer(tD, sB){
1141	var sC, sD, w, h, wh, ww, iw, ih, nl, nt, pb, bf = 20, nw, nh, pw, df, btm;
1142	if (!tD) {
1143		return;
1144	}
1145	if (!sB || sB === null) {
1146		sB = tD.mbxCurrentSlide;
1147	}
1148	if (!sB) {
1149		return;
1150	}
1151	sC = sB.mbxSC;
1152	if (sB.mbxMode == 'fit' && sC.mbxSlideType == 'image') {
1153		wh = p7MBX.overlay.offsetHeight;
1154		wh -= (bf * 2);
1155		ww = p7MBX.overlay.offsetWidth;
1156		ww -= (bf * 2);
1157		iw = sC.mbxImWidth;
1158		ih = sC.mbxImHeight;
1159		pw = sC.mbxMaxWidth;
1160		if (ww < pw) {
1161			pw = ww;
1162		}
1163		nw = pw - sC.mbxHSpace;
1164		nh = ih * (nw / iw);
1165		btm = (sC.mbxBottom) ? 20 : 0;
1166		pb = sC.mbxTopSpace + nh + btm;
1167		if (pb >= wh) {
1168			df = pb - wh;
1169			nh = nh - df;
1170			nw = iw * (nh / ih);
1171			pw = nw + sC.mbxHSpace;
1172		}
1173		sC.style.width = pw + 'px';
1174		nl = (ww - pw) / 2;
1175		nt = (wh + (bf * 2) - sC.offsetHeight) / 2;
1176		nt = (nt < bf) ? bf : nt;
1177		sC.style.top = nt + 'px';
1178	}
1179}
1180
1181function P7_MBXsetPomo(sC){
1182	sC.addEventListener('pointerover', function(evt){
1183		this.mbxPointerType = evt.pointerType;
1184	}, false);
1185	sC.addEventListener('mouseover', function(evt){
1186		if (p7MBXtch.el || p7MBXtch.ob) {
1187			return;
1188		}
1189		if (this.mbxPointerType && this.mbxPointerType != 'mouse') {
1190			return;
1191		}
1192		var tD = this.mbxDiv;
1193		if (this.parentNode.p7AnimRunning) {
1194			return;
1195		}
1196		if (tD.mbxShowMode == 'play') {
1197			P7_MBXpause(tD.id);
1198			tD.mbxShowResume = true;
1199		}
1200	}, false);
1201	sC.addEventListener('click', function(evt){
1202		var tD = this.mbxDiv;
1203		if (tD.mbxShowMode == 'play') {
1204			P7_MBXpause(tD.id);
1205			tD.mbxShowResume = true;
1206		} else if (tD.mbxShowResume) {
1207			tD.mbxShowResume = false;
1208			P7_MBXcontrol(tD.id, 'play');
1209		}
1210	}, false);
1211	sC.addEventListener('mouseout', function(evt){
1212		if (p7MBXtch.el || p7MBXtch.ob) {
1213			return;
1214		}
1215		if (this.mbxPointerType && this.mbxPointerType != 'mouse') {
1216			return;
1217		}
1218		if (this.parentNode.p7AnimRunning) {
1219			return;
1220		}
1221		var tg, pp, m = true, tD = this.mbxDiv;
1222		if (tD.mbxCurrentSlide != this.parentNode) {
1223			return;
1224		}
1225		if (this.parentNode.p7AnimRunning) {
1226			return;
1227		}
1228		if (tD.mbxShowResume) {
1229			evt = (evt) ? evt : event;
1230			tg = (evt.toElement) ? evt.toElement : evt.relatedTarget;
1231			if (tg) {
1232				pp = tg;
1233				while (pp) {
1234					if (pp == this) {
1235						m = false;
1236						break;
1237					}
1238					if (pp == tD) {
1239						break;
1240					}
1241					pp = pp.parentNode;
1242				}
1243				if (m) {
1244					tD.mbxShowResume = false;
1245					P7_MBXcontrol(tD.id, 'play');
1246				}
1247			}
1248		}
1249	}, false);
1250}
1251
1252var p7MBXtch = {
1253	el: null,
1254	ob: null,
1255	fCnt: 0,
1256	startX: 0,
1257	curX: 0,
1258	curY: 0
1259};
1260function P7_MBXtchStart(evt){
1261	if (evt.touches.length == 1) {
1262		p7MBXtch.fCnt = evt.touches.length;
1263		p7MBXtch.ob = this;
1264		p7MBXtch.startX = evt.touches[0].pageX;
1265		p7MBXtch.startY = evt.touches[0].pageY;
1266		if (!p7MBXtch.el) {
1267			p7MBXtch.el = this;
1268		}
1269	} else if (evt.pointerType) {
1270		p7MBXtch.fCnt = 1;
1271		p7MBXtch.startX = evt.clientX;
1272		p7MBXtch.startY = evt.clientY;
1273		if (!p7MBXtch.el) {
1274			p7MBXtch.el = this;
1275		}
1276	} else {
1277		P7_MBXtchCancel(evt);
1278	}
1279}
1280
1281function P7_MBXtchMove(evt){
1282	var x;
1283	if (p7MBXtch.startX !== 0) {
1284		if (evt.touches.length == 1) {
1285			x = Math.abs(evt.touches[0].pageX - p7MBXtch.startX);
1286			if (x > 4) {
1287				evt.stopPropagation();
1288				evt.preventDefault();
1289				p7MBXtch.curX = evt.touches[0].pageX;
1290				p7MBXtch.curY = evt.touches[0].pageY;
1291			} else {
1292				P7_MBXtchCancel(evt);
1293			}
1294			if (x >= 72) {
1295				P7_MBXtchEnd(evt);
1296			}
1297		} else if (evt.pointerType) {
1298			x = Math.abs(evt.clientX - p7MBXtch.startX);
1299			if (x > 4 || navigator.maxTouchPoints || navigator.msMaxTouchPoints) {
1300				evt.stopPropagation();
1301				evt.preventDefault();
1302				p7MBXtch.curX = evt.clientX;
1303				p7MBXtch.curY = evt.clientY;
1304			} else {
1305				P7_MBXtchCancel(evt);
1306			}
1307			if (x >= 72) {
1308				P7_MBXtchEnd(evt);
1309			}
1310		} else {
1311			P7_MBXtchCancel(evt);
1312		}
1313	} else {
1314		P7_MBXtchCancel(evt);
1315	}
1316}
1317
1318function P7_MBXtchEnd(evt){
1319	var swl, swa, swd, x, y, z, r;
1320	if (p7MBXtch.fCnt == 1 && p7MBXtch.curX !== 0 && Math.abs(p7MBXtch.startX - p7MBXtch.curX) > 6) {
1321		evt.preventDefault();
1322		swl = Math.round(Math.sqrt(Math.pow(p7MBXtch.curX - p7MBXtch.startX, 2) + Math.pow(p7MBXtch.curY - p7MBXtch.startY, 2)));
1323		if (swl >= 72) {
1324			x = p7MBXtch.startX - p7MBXtch.curX;
1325			y = p7MBXtch.curY - p7MBXtch.startY;
1326			r = Math.atan2(y, x);
1327			swa = Math.round(r * 180 / Math.PI);
1328			if (swa < 0) {
1329				swa = 360 - Math.abs(swa);
1330			}
1331			if ((swa <= 45) && (swa >= 0)) {
1332				swd = 'left';
1333			} else if ((swa <= 360) && (swa >= 315)) {
1334				swd = 'left';
1335			} else if ((swa >= 135) && (swa <= 225)) {
1336				swd = 'right';
1337			} else if ((swa > 45) && (swa < 135)) {
1338				swd = 'down';
1339			} else {
1340				swd = 'up';
1341			}
1342			p7MBXtch.el.onSwiped(swd);
1343			P7_MBXtchCancel(evt);
1344		} else {
1345			P7_MBXtchCancel(evt);
1346		}
1347	} else {
1348		P7_MBXtchCancel(evt);
1349	}
1350}
1351
1352function P7_MBXtchCancel(evt){
1353	p7MBXtch.fCnt = 0;
1354	p7MBXtch.startX = 0;
1355	p7MBXtch.startY = 0;
1356	p7MBXtch.curX = 0;
1357	p7MBXtch.curY = 0;
1358	p7MBXtch.el = null;
1359}
1360
1361function P7_MBXbindSwipe(ob, fn){
1362	if (ob.addEventListener) {
1363		ob.onSwiped = fn;
1364		if ('ontouchstart' in window) {
1365			ob.addEventListener('touchstart', P7_MBXtchStart, false);
1366			ob.addEventListener('touchend', P7_MBXtchEnd, false);
1367			ob.addEventListener('touchmove', P7_MBXtchMove, false);
1368			ob.addEventListener('touchcancel', P7_MBXtchCancel, false);
1369		} else if (navigator.maxTouchPoints) {
1370			ob.addEventListener('pointerdown', P7_MBXtchStart, false);
1371			ob.addEventListener('pointerup', P7_MBXtchEnd, false);
1372			ob.addEventListener('pointermove', P7_MBXtchMove, false);
1373			P7_MBXsetClass(ob, 'p7mbx-pointer');
1374		} else if (navigator.msMaxTouchPoints) {
1375			ob.addEventListener('MSPointerDown', P7_MBXtchStart, false);
1376			ob.addEventListener('MSPointerUp', P7_MBXtchEnd, false);
1377			ob.addEventListener('MSPointerMove', P7_MBXtchMove, false);
1378			P7_MBXsetClass(ob, 'p7mbx-ms-pointer');
1379		}
1380	}
1381}
1382
1383function P7_MBXassignSwipe(el, dv){
1384	P7_MBXbindSwipe(el, function(dir){
1385		if (dir == 'left') {
1386			P7_MBXcontrol(dv, 'next', null, true);
1387		} else if (dir == 'right') {
1388			P7_MBXcontrol(dv, 'prev', null, true);
1389		}
1390	});
1391}
1392
1393function P7_MBXurl(dv){
1394	var i, h, s, x, k, d = 'mbx', pn, tD, n = dv.replace('p7MBX_', '');
1395	tD = document.getElementById(dv);
1396	h = document.location.search;
1397	if (h) {
1398		h = h.replace('?', '');
1399		s = h.split(/[=&]/g);
1400		if (s && s.length) {
1401			for (i = 0; i < s.length; i += 2) {
1402				if (s[i] == d) {
1403					x = s[i + 1];
1404					if (n != x.match(/\d*[^_]/)) {
1405						x = false;
1406					}
1407					if (x && x.length > 2) {
1408						p7MBX.urlOpen = tD.id;
1409						p7MBX.urlSlide = P7_MBXparsePN(x);
1410					}
1411				}
1412			}
1413		}
1414	}
1415	h = document.location.hash;
1416	if (h) {
1417		x = h.substring(1, h.length);
1418		if (n != x.replace(d, '').match(/\d*[^_]/)) {
1419			x = false;
1420		}
1421		if (x && x.indexOf(d) === 0 && x.length > 5) {
1422			p7MBX.urlOpen = tD.id;
1423			p7MBX.urlSlide = P7_MBXparsePN(x);
1424		}
1425	}
1426}
1427
1428function P7_MBXparsePN(d){
1429	var x = d.lastIndexOf('_');
1430	return parseInt(d.substr(x + 1), 10);
1431}
1432
1433function P7_MBXkey(evt){
1434	var dv, k, tg, nn, ac, m = true;
1435	if (!p7MBX.currentShow) {
1436		return;
1437	} else {
1438		dv = p7MBX.currentShow.id;
1439	}
1440	evt = (evt) ? evt : event;
1441	tg = (evt.target) ? evt.target : evt.srcElement;
1442	nn = tg.nodeName.toLowerCase();
1443	if (!evt.altKey && !evt.ctrlKey) {
1444		if (nn != 'input' && nn != 'textarea') {
1445			k = evt.keyCode;
1446			if (k == 27 || (k == 88 && typeof(opera) != 'object')) {
1447				P7_MBXcloseBox();
1448				m = false;
1449			} else if (k == 33 || k == 37 || k == 109 || k == 32 && evt.shiftKey) {
1450				P7_MBXcontrol(dv, 'prev');
1451				m = false;
1452			} else if (k == 34 || k == 39 || k == 107 || k == 32) {
1453				P7_MBXcontrol(dv, 'next');
1454				m = false;
1455			} else if (k == 35) {
1456				P7_MBXcontrol(dv, 'last');
1457				m = false;
1458			} else if (k == 36) {
1459				P7_MBXcontrol(dv, 'first');
1460				m = false;
1461			} else if (k == 80) {
1462				if (p7MBX.currentShow.mbxShowMode) {
1463					ac = (p7MBX.currentShow.mbxShowMode == 'play') ? 'pause' : 'play';
1464					P7_MBXcontrol(dv, ac);
1465					m = false;
1466				}
1467			}
1468		}
1469	}
1470	if (!m) {
1471		if (evt.preventDefault) {
1472			evt.preventDefault();
1473		}
1474	}
1475	return m;
1476}
1477
1478function P7_MBXsetCloser(el){
1479	el.onclick = function(evt){
1480		evt = (evt) ? evt : event;
1481		var pp = (evt.fromElement) ? evt.fromElement : evt.target;
1482		if (pp == this) {
1483			P7_MBXcloseBox();
1484			evt.stopPropagation();
1485		}
1486	};
1487}
1488
1489function P7_MBXsetClass(ob, cl){
1490	if (ob) {
1491		var cc, nc, r = /\s+/g;
1492		cc = ob.className;
1493		nc = cl;
1494		if (cc && cc.length > 0) {
1495			if (cc.indexOf(cl) == -1) {
1496				nc = cc + ' ' + cl;
1497			} else {
1498				nc = cc;
1499			}
1500		}
1501		nc = nc.replace(r, ' ');
1502		ob.className = nc;
1503	}
1504}
1505
1506function P7_MBXsetCC(dd, rp, ac){
1507	var d, tC;
1508	d = dd.replace('_', rp);
1509	tC = document.getElementById(d);
1510	if (tC) {
1511		tC.onclick = function(){
1512			return P7_MBXcontrol(dd, ac);
1513		};
1514	}
1515	return tC;
1516}
1517
1518function P7_MBXbuildPN(dv, sC){
1519	var pD, el, a;
1520	pD = document.createElement('DIV');
1521	pD.className = 'p7mbx-arrows';
1522	el = document.createElement('DIV');
1523	el.className = 'arrow-left';
1524	a = document.createElement('A');
1525	a.href = "#";
1526	a.innerHTML = '&lsaquo;';
1527	P7_MBXclickPN(a, dv, 'prev');
1528	el.appendChild(a);
1529	pD.appendChild(el);
1530	el = document.createElement('DIV');
1531	el.className = 'arrow-right';
1532	a = document.createElement('A');
1533	a.href = "#";
1534	a.innerHTML = '&rsaquo;';
1535	P7_MBXclickPN(a, dv, 'next');
1536	el.appendChild(a);
1537	pD.appendChild(el);
1538	sC.appendChild(pD);
1539}
1540
1541function P7_MBXclickPN(a, dv, md){
1542	if (a.addEventListener) {
1543		a.addEventListener('click', function(evt){
1544			P7_MBXcontrol(dv, md);
1545			evt.stopPropagation();
1546			evt.preventDefault();
1547		}, false);
1548	} else if (a.attachEvent) {
1549		a.attachEvent('onclick', function(){
1550			P7_MBXcontrol(dv, md);
1551			var evt = window.event;
1552			evt.returnValue = false;
1553			evt.cancelBubble = true;
1554		});
1555	}
1556}
1557
1558function P7_MBXbuildCB(dv, pn, setLow){
1559	var cB, a;
1560	cB = document.createElement('DIV');
1561	cB.className = 'p7mbx-ex';
1562	if (setLow) {
1563		cB.className = 'p7mbx-ex set-low';
1564	} else {
1565		cB.className = 'p7mbx-ex';
1566	}
1567	a = document.createElement('A');
1568	a.href = "#";
1569	a.innerHTML = '&nbsp;';
1570	a.onclick = function(){
1571		P7_MBXcloseBox();
1572		return false;
1573	};
1574	cB.appendChild(a);
1575	pn.appendChild(cB);
1576}
1577
1578function P7_MBXgetElementsByClassName(cls){
1579	var i, x = 0, aL, aT, rS = [];
1580	if (typeof(document.getElementsByClassName) != 'function') {
1581		aL = document.getElementsByTagName('*');
1582		for (i = 0; i < aL.length; i++) {
1583			aT = aL[i].className;
1584			if (aT && aT.indexOf(cls) > -1) {
1585				rS[x] = aL[i];
1586				x++;
1587			}
1588		}
1589	} else {
1590		rS = document.getElementsByClassName(cls);
1591	}
1592	return rS;
1593}
1594
1595function P7_MBXremClass(ob, cl){
1596	if (ob) {
1597		var cc, nc;
1598		cc = ob.className;
1599		if (cc && cc.indexOf(cl > -1)) {
1600			nc = cc.replace(cl, '');
1601			nc = nc.replace(/\s+/g, ' ');
1602			nc = nc.replace(/\s$/, '');
1603			nc = nc.replace(/^\s/, '');
1604			ob.className = nc;
1605		}
1606	}
1607}
1608
1609function P7_MBXgetDim(el, d){
1610	var b, x;
1611	b = el.getBoundingClientRect();
1612	if (d == 'height') {
1613		x = b.bottom - b.top;
1614	} else if (d == 'width') {
1615		x = b.right - b.left;
1616	}
1617	return x;
1618}
1619
1620function P7_MBXgetCSSPre(){
1621	var i, dV, pre = ['animationDuration', 'WebkitAnimationDuration'];
1622	var c = 'none', cssPre = ['', '-webkit-'];
1623	dV = document.createElement('div');
1624	for (i = 0; i < pre.length; i++) {
1625		if (dV.style[pre[i]] !== undefined) {
1626			c = cssPre[i];
1627			break;
1628		}
1629	}
1630	p7MBXprf = c;
1631	return c;
1632}
1633
1634function P7_MBXcopyCN(tD, tS){
1635	while (tS.childNodes.length > 0) {
1636		tD.appendChild(tS.childNodes[0]);
1637	}
1638}
1639
1640function P7_MBXgetIEver(){
1641	var j, v = -1, nv, m = false;
1642	nv = navigator.userAgent.toLowerCase();
1643	j = nv.indexOf("msie");
1644	if (j > -1) {
1645		v = parseFloat(nv.substring(j + 4, j + 8));
1646		if (document.documentMode) {
1647			v = document.documentMode;
1648		}
1649		p7MBX.ie = v;
1650	}
1651	return v;
1652}
1653
1654function P7_MBXgetScroll(){
1655	return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
1656}

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.