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 = '‹'; 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 = '›'; 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 = ' '; 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.