1/* convert <url>example.com</url> to clickable link */ 2document.addEventListener('readystatechange', event => { 3 if (event.target.readyState === "complete") { 4 const regex = /(http|https):\/\//; 5 document.querySelectorAll("url").forEach(u => { 6 const linkText = u.innerText.trim(); 7 let link = u.innerText.trim(); 8 if (!regex.test(link)) { 9 link = "//" + link 10 } 11 u.outerHTML = `<a href="${link}" target="_blank">${linkText}</a>`; 12 }); 13 } 14}); 15 16 17 18 19// Function to load the PDF.js library dynamically 20function loadPdfJs(callback) { 21 if (!window.pdfjsLib) { 22 var script = document.createElement('script'); 23 script.src = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.7.570/pdf.min.js'; 24 script.onload = callback; 25 document.head.appendChild(script); 26 } else { 27 callback(); 28 } 29} 30 31// Function to render the PDF in a specific container 32function renderPdf(url, container) { 33 loadPdfJs(function () { 34 var pdfjsLib = window['pdfjs-dist/build/pdf']; 35 pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.7.570/pdf.worker.min.js'; 36 37 var loadingTask = pdfjsLib.getDocument(url); 38 loadingTask.promise.then(function (pdf) { 39 //console.log('PDF loaded'); 40 41 container.innerHTML = ''; // Clear any previous content 42 43 // Default parent width 44 var parent_width = "300px"; 45 46 // Check for the .hpe-article-detail element and set its width 47 var articleDetailElement = document.querySelector(".hpe-article-detail"); 48 if (articleDetailElement) { 49 parent_width = articleDetailElement.offsetWidth + "px"; 50 } 51 52 // Check for the container and its data-width attribute 53 var pdf_width = parent_width; 54 var dataWidth = container.getAttribute('size')?.trim(); 55 if (dataWidth && dataWidth !== 'full') { 56 pdf_width = dataWidth + 'px'; 57 } 58 59 // Add styles dynamically 60 var style = document.createElement('style'); 61 style.textContent = ` 62 div[pdf] { 63 width: ${pdf_width}; 64 border: 1px solid #ccc; 65 margin-bottom: 10px; 66 } 67 .page { 68 display: block; 69 margin: 0 auto 20px auto; 70 } 71 @media (max-width:992px) { 72 div[pdf] { 73 width: ${parent_width}; 74 } 75 } 76 `; 77 container.appendChild(style); 78 79 for (var pageNum = 1; pageNum <= pdf.numPages; pageNum++) { 80 (function (pageNum) { 81 pdf.getPage(pageNum).then(function (page) { 82 var viewport = page.getViewport({ scale: 1 }); 83 var scale = container.clientWidth / viewport.width; 84 viewport = page.getViewport({ scale: scale }); 85 86 var canvas = document.createElement('canvas'); 87 canvas.className = 'page'; 88 var context = canvas.getContext('2d'); 89 canvas.height = viewport.height; 90 canvas.width = viewport.width; 91 92 container.appendChild(canvas); 93 94 var renderContext = { 95 canvasContext: context, 96 viewport: viewport 97 }; 98 page.render(renderContext).promise.then(function () { 99 //console.log('Page rendered'); 100 }); 101 }); 102 })(pageNum); // Immediately-invoked function expression (IIFE) to capture pageNum 103 } 104 }, function (reason) { 105 console.error(reason); 106 }); 107 });
108} 109 110// Manually trigger the onload event for the pdf-viewer divs 111document.addEventListener('readystatechange', event => { 112 if (event.target.readyState === "interactive") { 113 var pdfContainers = document.querySelectorAll("div[pdf]"); 114 pdfContainers.forEach(function (container) { 115 var url = container.getAttribute('pdf'); 116 if (url) { 117 renderPdf(url, container); 118 } 119 }); 120 } 121}); 122 123 124 125/* peeler ad */ 126function writeObjects(small_path, big_path, small_width, small_height, big_width, big_height, link, direction, new_window) { 127 128 /* add peeler ad element */ 129 document.body.insertAdjacentHTML(`beforeend`, `<!-- Peeler Ad Start --><peeler></peeler><!-- Peeler Ad End -->`); 130 131 /* hide peeler ad after specific height */ 132 const scroll_hide = 'Yes'; 133 const scroll_position = 200; 134 135 /* get site url */ 136 let site = location.href.match(/:\/\/(.[^/]+)/)[1]; 137 let folder = ""; 138 const url = window.location.href; 139 if (url.split("/").length == 5) { // Folder Sites 140 folder = "/" + url.split("/")[3]; 141 } 142 site = `https://${site}${folder}/`; 143 144 /* get small image */ 145 let small = small_path; 146 let small_parts = small.split('/'); 147 small = small_parts[small_parts.length - 1]; 148 const small_image = site + small; 149 150 /* get big image */ 151 let big = big_path; 152 let big_parts = big.split('/'); 153 big = big_parts[big_parts.length - 1]; 154 const big_image = site + big; 155 156 /* link */ 157 let link_code = ''; 158 if (link.trim() != '') { 159 if (!link.startsWith('http://') && !link.startsWith('https://')) { 160 link = '//' + link; 161 } 162 if (new_window == 'new') { 163 link_code = `onclick="window.open('${link}');"`; 164 } else { 165 link_code = `onclick="window.open('${link}', '_self');"`; 166 } 167 document.querySelector('peeler').insertAdjacentHTML(`beforeend`, `<style>.peeler_position {cursor:pointer;}</style>`); 168 } 169 170 /* add common css */ 171 document.querySelector('peeler').insertAdjacentHTML(`beforeend`, `<style>#peeler-top-left,#peeler-top-right{position:fixed;top:0;z-index:999999}#peeler-top-left .back-img,#peeler-top-left img,#peeler-top-right .back-img,#peeler-top-right img{width:100px;height:100px;position:absolute;top:0}#peeler-top-left .peel-ad-small,#peeler-top-right .peel-ad-small{z-index:99;transition-delay:0.2s!important}#peeler-top-left .back-img,#peeler-top-right .back-img{overflow:hidden;z-index:101;box-shadow:0 0 10px rgba(0,0,0,.5)}#peeler-top-left .back-img,#peeler-top-left .peel-ad-big,#peeler-top-left .peel-ad-small,#peeler-top-right .back-img,#peeler-top-right .peel-ad-big,#peeler-top-right .peel-ad-small{transition:.2s ease-in-out}#peeler-top-left:hover .back-img,#peeler-top-left:hover .peel-ad-big,#peeler-top-right:hover .back-img,#peeler-top-right:hover .peel-ad-big{width:600px;height:600px;transition:.3s ease-in-out}#peeler-top-left:hover .peel-ad-small,#peeler-top-right:hover .peel-ad-small{opacity:0}#peeler-top-left:hover .peel-ad-big,#peeler-top-right:hover .peel-ad-big{z-index:100}#peeler-top-left:hover .back-img,#peeler-top-right:hover .back-img{top:-12px;width:600px;height:613px}</style>`); 172 173 /* only for desktop */ 174 if (window.screen.width > 992) { 175 /* if direction is Top-Right */ 176 if (direction == 'rt') { 177 document.querySelector('peeler').insertAdjacentHTML(`beforeend`, ` 178 <div id="peeler-top-right" class="peeler_top_right peeler_position" ${link_code}> 179 <div class="back-img peeler_top_right"></div> 180 <img class="peel-ad-small peeler_top_right" src="${small_image}"> 181 <img class="peel-ad-big peeler_top_right" src="${big_image}"> 182 </div> 183 <style>#peeler-top-right { right: 0; float: right; & .back-img, & img { right: 0; } & .back-img { background: linear-gradient(-2.35998rad, transparent 45%, rgba(0, 0, 0, .2) 50%, #aaa 50%, #bbb 56%, #ccc 62%, #f3f3f3 80%, #fff 100%);}}</style>`); 184 } else { 185 document.querySelector('peeler').insertAdjacentHTML(`beforeend`, ` 186 <div id="peeler-top-left" class="peeler_top_left" ${link_code}> 187 <div class="back-img peeler_top_left"></div> 188 <img class="peel-ad-small peeler_top_left" src="${small_image}"> 189 <img class="peel-ad-big peeler_top_left" src="${big_image}"> 190 </div> 191 <style>#peeler-top-left {left: 0;float:left; & .back-img, & img {left: 0;} & .back-img {background: linear-gradient(2.35998rad, transparent 45%, rgba(0, 0, 0, .2) 50%, #aaa 50%, #bbb 56%, #ccc 62%, #f3f3f3 80%, #fff 100%);}}</style>`);} 192 193 /* hide peeler ad after provided height in 'scroll_position' */ 194 document.addEventListener("DOMContentLoaded", function () { 195 if (direction != '') { 196 var script = document.createElement('script'); 197 script.textContent = ` 198 window.addEventListener("scroll", function(event) { 199 if (this.scrollY > ${scroll_position}) { 200 if(document.querySelector("#peeler-top-right")) { 201 document.querySelector("#peeler-top-right").style.display = "none"; 202 } 203 if(document.querySelector("#peeler-top-left")) { 204 document.querySelector("#peeler-top-left").style.display = "none"; 205 } 206 } else { 207 if(document.querySelector("#peeler-top-right")) { 208 document.querySelector("#peeler-top-right").style.display = "block"; 209 } 210 if(document.querySelector("#peeler-top-left")) { 211 document.querySelector("#peeler-top-left").style.display = "block"; 212 } 213 214 } 215 }, false);`; 216 if (scroll_hide == 'Yes') { 217 document.querySelector('peeler').appendChild(script); 218 } 219 } 220 }); 221 } 222 } 223 224 225 226 function Tooltip() { 227 var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) 228 var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) { 229 return new bootstrap.Tooltip(tooltipTriggerEl) 230 });
231} 232 233 234function ReadSubmenu() { 235 let qrStr = location.href; 236 if (qrStr.indexOf('&site') != -1) { 237 qrStr = qrStr.split('&site').shift(); 238 } 239 if (qrStr.indexOf("/index.html") != -1) { 240 return SParameters(); 241 } 242 const isFrontPage = qrStr.indexOf('.htm', 0); 243 if (isFrontPage == -1) { 244 return SParameters(); 245 } else { 246 let sPos, ePos, smenu; 247 sPos = qrStr.indexOf('/index', 0); 248 if (qrStr.indexOf('?lb=') != -1) { 249 sPos = qrStr.indexOf('=index', 0); 250 } 251 if (sPos != -1) { 252 ePos = qrStr.lastIndexOf('.', qrStr.length); 253 smenu = qrStr.substring(sPos + 6, ePos); 254 if (smenu == SParameters()) { 255 return SParameters(); 256 } 257 if (qrStr.indexOf('smenu') != -1) { 258 const url = new URL(qrStr); 259 const smenup = url.searchParams.get("smenu"); 260 return smenup; 261 } else { 262 return smenu; 263 } 264 } else { 265 sPos = qrStr.lastIndexOf('-', qrStr.length); 266 if (sPos != -1) { 267 ePos = qrStr.lastIndexOf('.', qrStr.length); 268 smenu = qrStr.substring(sPos + 1, ePos); 269 if (smenu == SParameters()) { 270 sPos = qrStr.lastIndexOf('-p', qrStr.length); 271 if (sPos == -1) { 272 return 'home'; 273 } 274 } else { 275 return smenu; 276 } 277 } 278 } 279 } 280} 281 282 283 284 285function getVIP(myObj) { 286 document.write("<input type=\"hidden\" id=\"vip\" name=\"vip\" value=\"" + myObj.ip + "\">"); 287} 288 289 290/* get AppServer */ 291let sites = ["bulletlink.one", "bulletlink.net"]; 292 293function shuffleArray(array) { 294 for (let i = array.length - 1; i > 0; i--) { 295 const j = Math.floor(Math.random() * (i + 1)); 296 [array[i], array[j]] = [array[j], array[i]]; 297 } 298 return array; 299} 300async function checkStatus(domain) { 301 try { 302 const response = await fetch(domain + 'app_server.php', { 303 method: 'HEAD', 304 headers: { 305 'Access-Control-Request-Headers': 'content-type', // Add any additional headers if needed 306 } 307 }); 308 return response.ok; 309 } catch (error) { 310 return false; 311 } 312} 313async function findAvailableServer(sites) { 314 for (const site of sites) { 315 const url = 'https://' + site + '/'; 316 const isAvailable = await checkStatus(url); 317 if (isAvailable) { 318 return url; 319 } 320 } 321 return ''; 322} 323/* Check if the "AppServer" cookie exists */ 324const cookies = document.cookie.split(';'); 325let appServerCookie = null; 326for (const cookie of cookies) { 327 const [cookieName, cookieValue] = cookie.trim().split('='); 328 if (cookieName === 'AppServer') { 329 appServerCookie = cookieValue; 330 break; 331 } 332} 333if (appServerCookie == null) { 334 sites = shuffleArray(sites); 335 findAvailableServer(sites).then(appServer => document.cookie = "AppServer=" + appServer); 336} 337 338 339function ShowHTag(HTag) { document.getElementById(HTag).style.visibility = "visible"; } 340 341function HideHTag(HTag) { document.getElementById(HTag).style.visibility = "hidden"; } 342 343 344function setIframeHeight2(iframe) { 345 if (iframe) { 346 var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow; 347 if (iframeWin.document.body) { 348 iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight; 349 } 350 } 351}; 352 353 354 355function GetTimeAgo(sDate, adjusttime, Article_Timestamp, format, TimezoneOffset) { 356 357 var startDate = new Date(sDate); 358 startDate = dateFormat(startDate, 'mm/dd/yyyy h:MM:ss TT'); 359 startDate = new Date(startDate); 360 361 var endDate = new Date(); 362 endDate = dateFormat(endDate, 'mm/dd/yyyy h:MM:ss TT'); 363 endDate = new Date(endDate); 364 365 if (adjusttime > 0) adjusttime = -adjusttime; 366 else adjusttime = Math.abs(adjusttime); 367 368 diff = new Date();
369 diff.setTime(Math.abs((endDate.getTime() - ((TimezoneOffset + adjusttime - endDate.getTimezoneOffset()) * 60000)) - startDate.getTime())); 370 timediff = diff.getTime(); 371 372 diff_pos_neg = new Date(); 373 diff_pos_neg.setTime((endDate.getTime() - ((TimezoneOffset + adjusttime - endDate.getTimezoneOffset()) * 60000)) - startDate.getTime()); 374 diff_check = diff_pos_neg.getTime(); 375 376 var cnt = 0; 377 var str = ''; 378 379 days = Math.floor(timediff / (1000 * 60 * 60 * 24)); 380 timediff -= days * (1000 * 60 * 60 * 24); 381 382 hours = Math.floor(timediff / (1000 * 60 * 60)); 383 timediff -= hours * (1000 * 60 * 60); 384 385 mins = Math.floor(timediff / (1000 * 60)); 386 timediff -= mins * (1000 * 60); 387 388 secs = Math.floor(timediff / 1000); 389 timediff -= secs * 1000; 390 391 // Rounding 392 if (days > 0) cnt = cnt + 1; 393 if (hours > 0 && cnt < 2) { 394 cnt = cnt + 1; 395 if (cnt == 2 && hours >= 12) days = days + 1; 396 else if (cnt == 2 && hours < 12) hours = 0; 397 } 398 if (mins > 0 && cnt < 2) { 399 cnt = cnt + 1; 400 if (cnt == 2 && mins >= 30) hours = hours + 1; 401 else if (cnt == 2 && mins < 30) mins = 0; 402 } 403 if (secs > 0 && cnt < 2) { 404 cnt = cnt + 1; 405 if (cnt == 2 && secs >= 30) mins = mins + 1; 406 else if (cnt == 2 && secs < 30) secs = 0; 407 } 408 409 //------------------------------------ 410 411 if (diff_check > -5000) { 412 if (days > 0 && days < 2) str = document.write(days + ' day ago'); 413 else if (days > 1 && days <= Article_Timestamp) str = document.write(days + ' days ago'); 414 else if (days > Article_Timestamp) return GetDate(sDate, format); 415 else if (hours > 0 && hours < 2) str = document.write(hours + ' hour ago'); 416 else if (hours > 1) str = document.write(hours + ' hours ago'); 417 else if (mins > 0 && mins < 2) str = document.write(mins + ' min ago'); 418 else if (mins > 1) str = document.write(mins + ' mins ago'); 419 else if (secs > 0 && secs < 2) str = document.write(secs + ' sec ago'); 420 else if (secs > 1) str = document.write(secs + ' secs ago'); 421 else return GetDate(sDate, format); 422 423 } else { 424 return GetDate(sDate, format); 425 } 426 return str; 427} 428 429 430 431function GetSandwichMenu() { Tipped.create('.smenu1', { ajax: true, closeButton: false, showOn: 'click', skin: 'yellow', fixed: true, target: 'mouse', maxWidth: $(window).width() - 30 }); } 432 433 434function LimitCharacters(txtMsg, indicator, indicator2, limitword) { 435 stringmemo = txtMsg.value; 436 stringmemo2 = stringmemo.replace(/\s\s+/g, ' '); // replace multiple whitespaces whit single space 437 chars = txtMsg.value.length; 438 word = stringmemo2.split(/\s/); 439 wordcount = word.length; 440 maxChar = txtMsg.maxLength; 441 limitword2 = limitword.replace("W", ""); 442 443 444 if (limitword.toLowerCase().indexOf("w") >= 0) { 445 if (wordcount > limitword2) { 446 447 rgxwords = new RegExp('([^ ]*[ ]{0,1}){1,' + limitword2 + '}', 'g'); // regexp for specified number of spaces 448 stringmemo3 = stringmemo2.match(rgxwords)[0]; // get the substring with "limitword2" number of words 449 450 alert("Maximum word limit exceeded.!"); 451 stringmemo3 = stringmemo3.replace(/\s?$/, ''); 452 txtMsg.value = stringmemo3; 453 word = stringmemo3.split(/\s/); 454 wordcount = word.length; 455 chars = stringmemo3.value.length; 456 } 457 458 if (txtMsg.value.length < 1) { 459 document.getElementById(indicator).innerHTML = chars + " characters | "; 460 document.getElementById(indicator2).innerHTML = chars + " words"; 461 } else { 462 document.getElementById(indicator).innerHTML = chars + " characters | "; 463 document.getElementById(indicator2).innerHTML = wordcount + " of " + limitword2 + " words"; 464 } 465 466 } else { 467 468 if (txtMsg.value.length < 1) { 469 document.getElementById(indicator).innerHTML = chars + " of " + maxChar + " characters | "; 470 document.getElementById(indicator2).innerHTML = chars + " words"; 471 } else { 472 document.getElementById(indicator).innerHTML = chars + " of " + maxChar + " characters | "; 473 document.getElementById(indicator2).innerHTML = wordcount + " words"; 474 } 475 476 } 477} 478 479 480 481function goBack() { 482 window.history.back() 483} 484 485function ArrayRemoveByKey(arrayName, key) { 486 var x; 487 var tmpArray = new Array(); 488 for (x in arrayName) { 489 if (x != key) { tmpArray[x] = arrayName[x]; } 490 } 491 return tmpArray; 492} 493 494function ChangeBodyImage(styleName) { 495 496 //alert(document.getElementById('blbodymain')); 497 if (document.getElementById('blbodymain') != '') { 498 499 if (readCookie(styleName) != null && readCookie(styleName) != '') { 500 document.getElementById('blbodymain').style.backgroundImage = "url(/images/" + readCookie(styleName) + ")"; 501 } 502 } 503} 504 505 506function GetTooltipSys1(width) { 507 if (width == null || width == '') { width = 500; } 508 Tipped.create('.s1', { ajax: false, closeButton: true, showOn: 'mouseover', skin: 'yellow', fixed: true, target: 'mouse', maxWidth: width }); 509} 510 511
512function DisplayHighlight(divHighlight) { 513 var qrStr = location.href; 514 if (qrStr.indexOf("/index.html") != -1) { // Front Page New 515 document.getElementById(divHighlight).style.display = 'block'; 516 } 517 var isFrontPage = qrStr.indexOf('.htm', 0); 518 if (isFrontPage == -1) { // Front Page 519 document.getElementById(divHighlight).style.display = 'block'; 520 } else { 521 var sPos, ePos, smenu; 522 sPos = qrStr.indexOf('/index', 0); 523 if (sPos != -1) { 524 ePos = qrStr.lastIndexOf('.', qrStr.length); 525 smenu = qrStr.substring(sPos + 6, ePos); 526 if (smenu == SParameters()) { 527 document.getElementById(divHighlight).style.display = 'block'; 528 } 529 } else { 530 sPos = qrStr.lastIndexOf('-', qrStr.length); 531 if (sPos != -1) { 532 ePos = qrStr.lastIndexOf('.', qrStr.length); 533 smenu = qrStr.substring(sPos + 1, ePos); 534 if (smenu == SParameters()) { 535 sPos = qrStr.lastIndexOf('-p', qrStr.length); 536 if (sPos == -1) { 537 document.getElementById(divHighlight).style.display = 'block'; 538 } 539 } 540 } 541 } 542 } 543} 544 545 546function HideUnhideStickyAd(contentId) { 547 var content = document.getElementById(contentId); 548 if (content.style.display == 'none') 549 content.style.display = 'block'; 550 else 551 content.style.display = 'none'; 552} 553 554function CloseStickyAd(contentId) { 555 var myParameters = new Array(); 556 myParameters = ReadSParameters(location.href); 557 var smenu = myParameters['smenu']; 558 559 var content = document.getElementById(contentId); 560 content.style.display = 'none'; 561 var adCode; 562 if (contentId == 'stickyright') 563 adCode = 'R'; 564 if (contentId == 'stickybottom') 565 adCode = 'B'; 566 if (contentId == 'stickyleft') 567 adCode = 'L'; 568 if (contentId == 'stickytop') 569 adCode = 'T'; 570 571 createCookie("AdSticky" + adCode + smenu, "Yes"); 572} 573 574 575function checkStickyAdCookie() { 576 var myParameters = new Array(); 577 myParameters = ReadSParameters(location.href); 578 var smenu = myParameters['smenu']; 579 var isClosed; 580 isClosed = readCookie("AdStickyR" + smenu); 581 if (isClosed == "Yes") 582 CloseStickyAd("stickyright"); 583 isClosed = readCookie("AdStickyB" + smenu); 584 if (isClosed == "Yes") 585 CloseStickyAd("stickybottom"); 586 isClosed = readCookie("AdStickyL" + smenu); 587 if (isClosed == "Yes") 588 CloseStickyAd("stickyleft"); 589 isClosed = readCookie("AdStickyT" + smenu); 590 if (isClosed == "Yes") 591 CloseStickyAd("stickytop"); 592 if (document.getElementById('stickytopContent').children.length < 2) { 593 CloseStickyAd("stickytop"); 594 } 595 if (document.getElementById('stickybottomContent').children.length < 2) { 596 CloseStickyAd("stickybottom"); 597 } 598 if (document.getElementById('stickyleftContent').children.length < 2) { 599 CloseStickyAd("stickyleft"); 600 } 601 if (document.getElementById('stickyrightContent').children.length < 2) { 602 CloseStickyAd("stickyright"); 603 } 604} 605 606// To search value in array. Returns array with indexes. 607function ArraySearch(myArray, searchStr) { 608 var returnArray = false; 609 for (i = 0; i < myArray.length; i++) { 610 if (typeof(searchStr) == 'function') { 611 if (searchStr.test(myArray[i])) { 612 if (!returnArray) { returnArray = [] } 613 returnArray.push(i); 614 } 615 } else { 616 if (myArray[i] === searchStr) { 617 if (!returnArray) { returnArray = [] } 618 returnArray.push(i); 619 } 620 } 621 } 622 return returnArray; 623} 624 625// To find max value in array 626function ArrayMax(myArray) { 627 var max = myArray[0]; 628 var len = myArray.length; 629 //alert(len); 630 for (var i = 1; i < len; i++) 631 if (myArray[i] > max) max = myArray[i]; 632 return max; 633} 634 635// To find min value in array 636function ArrayMin(myArray) { 637 var min = myArray[0]; 638 var len = myArray.length; 639 for (var i = 1; i < len; i++) 640 if (myArray[i] < min) min = myArray[i]; 641 return min; 642} 643 644function GetTimeDifference(sDate) { 645 646 var startDate = new Date(sDate); 647 startDate = dateFormat(startDate, 'mm/dd/yyyy h:MM:ss TT'); 648 startDate = new Date(startDate); 649 650 var endDate = new Date(); 651 endDate = dateFormat(endDate, 'mm/dd/yyyy h:MM:ss TT'); 652 endDate = new Date(endDate); 653 654 diff = new Date(); 655 diff.setTime(Math.abs((endDate.getTime() + (endDate.getTimezoneOffset() * 60000)) - startDate.getTime())); 656 timediff = diff.getTime(); 657 658 var cnt = 0; 659 var str = ''; 660 661 //------------------------------------ 662 663 //weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7)); 664 //timediff -= weeks * (1000 * 60 * 60 * 24 * 7); 665 666 days = Math.floor(timediff / (1000 * 60 * 60 * 24)); 667 timediff -= days * (1000 * 60 * 60 * 24); 668 669 hours = Math.floor(timediff / (1000 * 60 * 60)); 670 timediff -= hours * (1000 * 60 * 60); 671 672 mins = Math.floor(timediff / (1000 * 60)); 673 timediff -= mins * (1000 * 60); 674 675 secs = Math.floor(timediff / 1000); 676 timediff -= secs * 1000; 677 678 // Rounding 679 if (days > 0) cnt = cnt + 1; 680 if (hours > 0 && cnt < 2) { 681 cnt = cnt + 1; 682 if (cnt == 2 && hours >= 12) days = days + 1; 683 else if (cnt == 2 && hours < 12) hours = 0; 684 } 685 if (mins > 0 && cnt < 2) { 686 cnt = cnt + 1; 687 if (cnt == 2 && mins >= 30) hours = hours + 1; 688 else if (cnt == 2 && mins < 30) mins = 0; 689 } 690 if (secs > 0 && cnt < 2) { 691 cnt = cnt + 1; 692 if (cnt == 2 && secs >= 30) mins = mins + 1; 693 else if (cnt == 2 && secs < 30) secs = 0; 694 } 695 696 //------------------------------------ 697 698 if (days > 0) str = days + ' days'; 699 else if (hours > 0) str = hours + ' hours'; 700 else if (mins > 0) str = mins + ' mins'; 701 else if (secs > 0) str = secs + ' secs'; 702 else str = '0 secs'; 703 704 return str; 705} 706 707function ReadSParameters(str) { 708 var qrStr, spQrStr, isFrontPage, sPos, ePos; 709 var twindow, smenu, mad, a, sname, isIndex0; 710 var myParameters = new Array(); 711 if (str == null) { 712 qrStr = location.href; 713 714 isPopUp = qrStr.indexOf('/AdGroupPopup.htm', 0); 715 if (isPopUp != -1) { 716 qrStr = parent.location.href; 717 } 718 } else { 719 qrStr = str 720 } 721 722 spQrStr = qrStr.substring(1); 723 isFrontPage = qrStr.indexOf('.htm', 0); 724 isIndex0 = qrStr.indexOf('/index0', 0); 725 smenu = getQueryVariable(spQrStr, 'smenu'); 726 727 728 729 // Front Page 730 if (isFrontPage == -1) { 731 smenu = SParameters(); 732 var myArray = new Array(); 733 myArray = GetMenuParameters(smenu); 734 twindow = myArray['twindow']; 735 smenu = smenu; 736 mad = myArray['mad']; 737 a = myArray['a']; 738 sname = myArray['sname']; 739 //alert('*' + smenu + '*'); 740 741 } 742 743 // Parameters stored in hostname.js 744 else if ((smenu == '' || smenu == null) && (isIndex0 == -1)) { 745 sPos = qrStr.indexOf('/index', 0); 746 if (sPos != -1) { 747 ePos = qrStr.lastIndexOf('.', qrStr.length); 748 smenu = qrStr.substring(sPos + 6, ePos); 749 //alert(qrStr + '*' + smenu); 750 751 } else { 752 sPos1 = qrStr.lastIndexOf('-', qrStr.length); 753 sPos2 = qrStr.lastIndexOf('.htm', qrStr.length); 754 if (sPos1 != -1 || sPos2 != -1) { 755 smenu = qrStr.substring(sPos1 + 1, sPos2); 756 //alert('*' + smenu + '*'); 757 } 758 } 759 var myArray = new Array(); 760 myArray = GetMenuParameters(smenu); 761 twindow = myArray['twindow']; 762 smenu = smenu; 763 mad = myArray['mad']; 764 a = myArray['a']; 765 sname = myArray['sname']; 766 767 } 768 769 // Parameters passed using Querystring 770 else { 771 twindow = getQueryVariable(spQrStr, 'twindow'); 772 smenu = getQueryVariable(spQrStr, 'smenu'); 773 mad = getQueryVariable(spQrStr, 'mad'); 774 a = getQueryVariable(spQrStr, 'a'); 775 sname = getQueryVariable(spQrStr, 'sname'); 776 } 777 778 if (twindow == null) { 779 twindow = ''; 780 } 781 if (smenu == null) { 782 smenu = ''; 783 } 784 if (mad == null) { 785 mad = ''; 786 } 787 if (a == null) { 788 a = ''; 789 } 790 if (sname == null) { 791 sname = ''; 792 } 793 794 myParameters['twindow'] = twindow; 795 myParameters['smenu'] = smenu; 796 myParameters['mad'] = mad; 797 myParameters['a'] = a; 798 myParameters['sname'] = sname; 799 800 return myParameters; 801} 802 803function OpenLoginPopup(ctl) { 804 var s = readCookie('loginStatus'); 805 var url = window.location.href; 806 var siteUh = location.href.match(/:\/\/(.[^/]+)/)[1]; 807 var siteU = location.href.match(/:\/\/(.[^/]+)/)[1]; 808 if (readCookie('hpe_client_domain')) { 809 if (siteU != readCookie('hpe_client_domain').split('//').pop().split('/').shift()) { 810 siteU = readCookie('hpe_client_domain').split('//').pop().split('/').shift(); 811 } 812 } 813 var lb_page = 'hpeditor.asp'; // LB page 814 var myParameters = new Array(); 815 var qrStr; 816 if (ctl == null) { 817 qrStr = location.href; 818 } else { 819 qrStr = ctl.href; 820 } 821 myParameters = ReadSParameters(qrStr); 822 var a = myParameters['a']; 823 824 if (a == '1' && s != 'Yes') { 825 createCookie('curl', escape(qrStr)); 826 if (readCookie('hpe_client_domain')) { 827 if (siteUh != readCookie('hpe_client_domain').split('//').pop().split('/').shift()) { 828 window.open('/' + lb_page + '?lb=index0.htm?twindow=Form&pform={{Login}}&smenu=0&sname=target_form2.asp&site=' + siteU, target = '_parent'); 829 return false; 830 } 831 } 832 if (url.split("/").length == 5) { // Folder Sites 833 var folder = "/" + url.split("/")[3]; 834 window.open(folder + "/index0.htm?pform={{Login}}&sname=target_form2.asp&site=" + siteU + folder, target = "_parent"); 835 return false; 836 } 837 window.open('/index0.htm?pform={{Login}}&sname=target_form2.asp&site=' + siteU, target = '_parent'); 838 return false; 839 } else { 840 return true; 841 } 842} 843 844function checkLoginStatus(isRestricted) { 845 if (readCookie('Style_s13251')) { // header background - old template 846 document.getElementById('tdHeader').style.backgroundImage = "url(/lib/images/" + readCookie('Style_s13251') + ")"; 847 } 848 var url = location.href; 849 var qs = url.substring(url.indexOf('?')); 850 851 var myParameters = new Array(); 852 myParameters = ReadSParameters(); 853 var sname = myParameters['sname']; 854 var a = myParameters['a']; 855 var urlhttps = url.startsWith("https"); 856 var urlarr = new URL(url); 857 var surl; 858 if (sname.length > 0) { 859 var uint = setInterval(function() { 860 if (readCookie('AppServer')) { 861 clearInterval(uint); 862 surl = readCookie('AppServer'); 863 var sframe = "<iframe id=\"frame1\" style=\"border:none;\" width=\"100%\" src=\"" + surl + sname + qs + "\" onload=\"window.parent.parent.scrollTo(0,0);iFrameResize({log:true}, '#frame1');\"></iframe>" 864 document.getElementById("MainContent").innerHTML = sframe; 865 } 866 }, 10); 867 868 } else { 869 if (a == 1) { 870 var s = readCookie('loginStatus'); 871 if (s != 'Yes') { 872 var divAccess1 = document.getElementById('divAccess'); 873 if (divAccess1 != null) { 874 document.getElementById('divAccess').style.display = 'none'; 875 OpenLoginPopup(); 876 document.getElementById('divMain').style.display = 'none'; 877 } 878 return false; 879 } else { 880 var divMain1 = document.getElementById('divMain'); 881 if (divMain1 != null) { 882 document.getElementById('divMain').style.display = 'block'; 883 } 884 return true; 885 } 886 } else { 887 var divMain = document.getElementById('divMain'); 888 if (divMain != null) { 889 document.getElementById('divMain').style.display = 'block'; 890 } 891 return true; 892 } 893 } 894} 895 896function jsAppend(js_file) { 897 js_script = document.createElement('script'); 898 js_script.type = "text/javascript"; 899 js_script.src = js_file; 900 document.getElementsByTagName('head')[0].appendChild(js_script); 901} 902 903function cssAppend(css_file) { 904 var fileref = document.createElement("link"); 905 fileref.setAttribute("rel", "stylesheet"); 906 fileref.setAttribute("type", "text/css"); 907 fileref.setAttribute("href", css_file); 908 document.getElementsByTagName('head')[0].appendChild(fileref); 909} 910 911String.prototype.startsWith = function(str) { 912 return (this.indexOf(str) === 0); 913} 914 915function ReservedKeywordChecker(ctl) { 916 if (ctl.type == "text" || ctl.type == "textarea") { 917 var v1 = ctl.value.toLowerCase(); 918 if (v1.startsWith('insert ') || v1.startsWith('insert%20') || v1.startsWith('update ') || v1.startsWith('update%20') || v1.startsWith('delete ') || v1.startsWith('delete%20') || v1.startsWith('truncate ') || v1.startsWith('truncate%20')) { 919 var msg = "You cannot start with this special word. Try again with different word."; 920 alert(msg, ctl); 921 ctl.focus(); 922 return false; 923 } 924 } 925 return true; 926} 927 928function reloadiframe(id, theme, days) { 929 var win = window.frames[id]; 930 if (win != null) { 931 window.frames[id].IframeChooseStyle(theme, days); 932 } 933} 934 935function GetDate(CurrentDate, format) { 936 if (CurrentDate == null) { 937 CurrentDate = new Date(); 938 } 939 if (format == '') { 940 format = GetDateFormat(); 941 } 942 if (format == 'No') { 943 document.write(''); 944 } 945 if (format == 'Default') { 946 document.write(new Date()); 947 } 948 if (format == 'Friday, Jul 15, 2009') { 949 document.write(dateFormat(CurrentDate, 'dddd, mmm dd, yyyy')); 950 } 951 if (format == 'Friday, Jul 15, 2009, 10:30 AM') { 952 document.write(dateFormat(CurrentDate, 'dddd, mmm dd, yyyy, h:MM TT'));
953 } 954 if (format == 'Friday, July 15, 2009') { 955 document.write(dateFormat(CurrentDate, 'dddd, mmmm dd, yyyy')); 956 } 957 if (format == 'Friday, July 15, 2009, 10:30 AM') { 958 document.write(dateFormat(CurrentDate, 'dddd, mmmm dd, yyyy, h:MM TT')); 959 } 960 if (format == 'Fri, Jul 15, 2009') { 961 document.write(dateFormat(CurrentDate, 'ddd, mmm dd, yyyy')); 962 } 963 if (format == 'Fri, Jul 15, 2009, 10:30 AM') { 964 document.write(dateFormat(CurrentDate, 'ddd, mmm dd, yyyy, h:MM TT')); 965 } 966 if (format == 'Fri, July 15, 2009') { 967 document.write(dateFormat(CurrentDate, 'ddd, mmmm dd, yyyy')); 968 } 969 if (format == 'Fri, July 15, 2009, 10:30 AM') { 970 document.write(dateFormat(CurrentDate, 'ddd, mmmm dd, yyyy, h:MM TT')); 971 } 972 if (format == 'Jul 15, 2009') { 973 document.write(dateFormat(CurrentDate, 'mmm dd, yyyy')); 974 } 975 if (format == 'Jul 15, 2009, 10:30 AM') { 976 document.write(dateFormat(CurrentDate, 'mmm dd, yyyy, h:MM TT')); 977 } 978 if (format == 'July 15, 2009') { 979 document.write(dateFormat(CurrentDate, 'mmmm dd, yyyy')); 980 } 981 if (format == 'July 15, 2009, 10:30 AM') { 982 document.write(dateFormat(CurrentDate, 'mmmm dd, yyyy, h:MM TT'));
983 } 984 985 //----------- 986 987 if (format == '07/15/09') { 988 document.write(dateFormat(CurrentDate, 'mm/dd/yy')); 989 } 990 if (format == '07/15/09 10:30 AM') { 991 document.write(dateFormat(CurrentDate, 'mm/dd/yy h:MM TT')); 992 } 993 if (format == '07/15/2009') { 994 document.write(dateFormat(CurrentDate, 'mm/dd/yyyy')); 995 } 996 if (format == '07/15/2009 10:30 AM') { 997 document.write(dateFormat(CurrentDate, 'mm/dd/yyyy h:MM TT')); 998 } 999 1000 if (format == '07.15.09') { 1001 document.write(dateFormat(CurrentDate, 'mm.dd.yy')); 1002 } 1003 if (format == '07.15.09 10:30 AM') { 1004 document.write(dateFormat(CurrentDate, 'mm.dd.yy h:MM TT')); 1005 } 1006 if (format == '07.15.2009') { 1007 document.write(dateFormat(CurrentDate, 'mm.dd.yyyy')); 1008 } 1009 if (format == '07.15.2009 10:30 AM') { 1010 document.write(dateFormat(CurrentDate, 'mm.dd.yyyy h:MM TT')); 1011 } 1012 1013 if (format == '07-15-09') { 1014 document.write(dateFormat(CurrentDate, 'mm-dd-yy')); 1015 } 1016 if (format == '07-15-09 10:30 AM') { 1017 document.write(dateFormat(CurrentDate, 'mm-dd-yy h:MM TT'));
1018 } 1019 if (format == '07-15-2009') { 1020 document.write(dateFormat(CurrentDate, 'mm-dd-yyyy')); 1021 } 1022 if (format == '07-15-2009 10:30 AM') { 1023 document.write(dateFormat(CurrentDate, 'mm-dd-yyyy h:MM TT')); 1024 } 1025 1026 //----------------------------------------------------------------- 1027 1028 if (format == 'Friday, 15 Jul, 2009') { 1029 document.write(dateFormat(CurrentDate, 'dddd, dd mmm, yyyy')); 1030 } 1031 if (format == 'Friday, 15 Jul, 2009, 10:30 AM') { 1032 document.write(dateFormat(CurrentDate, 'dddd, dd mmm, yyyy, h:MM TT')); 1033 } 1034 if (format == 'Friday, 15 July, 2009') { 1035 document.write(dateFormat(CurrentDate, 'dddd, dd mmmm, yyyy')); 1036 } 1037 if (format == 'Friday, 15 July, 2009, 10:30 AM') { 1038 document.write(dateFormat(CurrentDate, 'dddd, dd mmmm, yyyy, h:MM TT')); 1039 } 1040 if (format == 'Fri, 15 Jul, 2009') { 1041 document.write(dateFormat(CurrentDate, 'ddd, dd mmm, yyyy')); 1042 } 1043 if (format == 'Fri, 15 Jul, 2009, 10:30 AM') { 1044 document.write(dateFormat(CurrentDate, 'ddd, dd mmm, yyyy, h:MM TT'));
1045 } 1046 if (format == 'Fri, 15 July, 2009') { 1047 document.write(dateFormat(CurrentDate, 'ddd, dd mmmm, yyyy')); 1048 } 1049 if (format == 'Fri, 15 July, 2009, 10:30 AM') { 1050 document.write(dateFormat(CurrentDate, 'ddd, dd mmmm, yyyy, h:MM TT')); 1051 } 1052 if (format == '15 Jul, 2009') { 1053 document.write(dateFormat(CurrentDate, 'dd mmm, yyyy')); 1054 } 1055 if (format == '15 Jul, 2009, 10:30 AM') { 1056 document.write(dateFormat(CurrentDate, 'dd mmm, yyyy, h:MM TT')); 1057 } 1058 if (format == '15 July, 2009') { 1059 document.write(dateFormat(CurrentDate, 'dd mmmm, yyyy')); 1060 } 1061 if (format == '15 July, 2009, 10:30 AM') { 1062 document.write(dateFormat(CurrentDate, 'dd mmmm, yyyy, h:MM TT')); 1063 } 1064 1065 //----------- 1066 1067 if (format == '15/07/09') { 1068 document.write(dateFormat(CurrentDate, 'dd/mm/yy')); 1069 } 1070 if (format == '15/07/09 10:30 AM') { 1071 document.write(dateFormat(CurrentDate, 'dd/mm/yy h:MM TT')); 1072 } 1073 if (format == '15/07/2009') { 1074 document.write(dateFormat(CurrentDate, 'dd/mm/yyyy')); 1075 } 1076 if (format == '15/07/2009 10:30 AM') { 1077 document.write(dateFormat(CurrentDate, 'dd/mm/yyyy h:MM TT'));
1078 } 1079 1080 if (format == '15.07.09') { 1081 document.write(dateFormat(CurrentDate, 'dd.mm.yy')); 1082 } 1083 if (format == '15.07.09 10:30 AM') { 1084 document.write(dateFormat(CurrentDate, 'dd.mm.yy h:MM TT')); 1085 } 1086 if (format == '15.07.2009') { 1087 document.write(dateFormat(CurrentDate, 'dd.mm.yyyy')); 1088 } 1089 if (format == '15.07.2009 10:30 AM') { 1090 document.write(dateFormat(CurrentDate, 'dd.mm.yyyy h:MM TT')); 1091 } 1092 1093 if (format == '15-07-09') { 1094 document.write(dateFormat(CurrentDate, 'dd-mm-yy')); 1095 } 1096 if (format == '15-07-09 10:30 AM') { 1097 document.write(dateFormat(CurrentDate, 'dd-mm-yy h:MM TT')); 1098 } 1099 if (format == '15-07-2009') { 1100 document.write(dateFormat(CurrentDate, 'dd-mm-yyyy')); 1101 } 1102 if (format == '15-07-2009 10:30 AM') { 1103 document.write(dateFormat(CurrentDate, 'dd-mm-yyyy h:MM TT')); 1104 } 1105 1106} 1107 1108 1109var dateFormat = function() { 1110 var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, 1111 timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, 1112 timezoneClip = /[^-+\dA-Z]/g, 1113 pad = function(val, len) { 1114 val = String(val); 1115 len = len || 2; 1116 while (val.length < len) val = "0" + val; 1117 return val; 1118 }; 1119 1120 // Regexes and supporting functions are cached through closure 1121 return function(date, mask, utc) { 1122 var dF = dateFormat; 1123 1124 // You can't provide utc if you skip other args (use the "UTC:" mask prefix) 1125 if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { 1126 mask = date; 1127 date = undefined; 1128 } 1129 1130 // Passing date through Date applies Date.parse, if necessary 1131 date = date ? new Date(date) : new Date; 1132 if (isNaN(date)) throw SyntaxError("invalid date"); 1133 1134 mask = String(dF.masks[mask] || mask || dF.masks["default"]); 1135 1136 // Allow setting the utc argument via the mask 1137 if (mask.slice(0, 4) == "UTC:") { 1138 mask = mask.slice(4); 1139 utc = true; 1140 } 1141 1142 var _ = utc ? "getUTC" : "get", 1143 d = date[_ + "Date"](), 1144 D = date[_ + "Day"](), 1145 m = date[_ + "Month"](), 1146 y = date[_ + "FullYear"](), 1147 H = date[_ + "Hours"](), 1148 M = date[_ + "Minutes"](), 1149 s = date[_ + "Seconds"](), 1150 L = date[_ + "Milliseconds"](), 1151 o = utc ? 0 : date.getTimezoneOffset(), 1152 flags = { 1153 d: d, 1154 dd: pad(d), 1155 ddd: dF.i18n.dayNames[D], 1156 dddd: dF.i18n.dayNames[D + 7], 1157 m: m + 1, 1158 mm: pad(m + 1), 1159 mmm: dF.i18n.monthNames[m], 1160 mmmm: dF.i18n.monthNames[m + 12], 1161 yy: String(y).slice(2), 1162 yyyy: y, 1163 h: H % 12 || 12, 1164 hh: pad(H % 12 || 12), 1165 H: H, 1166 HH: pad(H), 1167 M: M, 1168 MM: pad(M), 1169 s: s, 1170 ss: pad(s), 1171 l: pad(L, 3), 1172 L: pad(L > 99 ? Math.round(L / 10) : L), 1173 t: H < 12 ? "a" : "p", 1174 tt: H < 12 ? "am" : "pm", 1175 T: H < 12 ? "A" : "P", 1176 TT: H < 12 ? "AM" : "PM", 1177 Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), 1178 o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), 1179 S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10] 1180 }; 1181 1182 return mask.replace(token, function($0) { 1183 return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); 1184 }); 1185 }; 1186}(); 1187 1188// Some common format strings 1189dateFormat.masks = { 1190 "default": "ddd mmm dd yyyy HH:MM:ss", 1191 shortDate: "m/d/yy", 1192 mediumDate: "mmm d, yyyy", 1193 longDate: "mmmm d, yyyy", 1194 fullDate: "dddd, mmmm d, yyyy", 1195 shortTime: "h:MM TT", 1196 mediumTime: "h:MM:ss TT", 1197 longTime: "h:MM:ss TT Z", 1198 isoDate: "yyyy-mm-dd", 1199 isoTime: "HH:MM:ss", 1200 isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", 1201 isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" 1202}; 1203 1204// Internationalization strings 1205dateFormat.i18n = { 1206 dayNames: [ 1207 "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", 1208 "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" 1209 ], 1210 monthNames: [ 1211 "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", 1212 "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
1212November", "December" 1213 ] 1214}; 1215 1216// For convenience... 1217Date.prototype.format = function(mask, utc) { 1218 return dateFormat(this, mask, utc); 1219}; 1220 1221//------------------------------------------------------------ 1222 1223function ArraySortShuffleMerge(myAds) { 1224 var negAds = new Array(); 1225 var zeroAds = new Array(); 1226 var posiAds = new Array(); 1227 var totalAds = new Array(); 1228 var order_no; 1229 1230 for (var i in myAds) { 1231 order_no = i.substring(i.lastIndexOf("_") + 1, i.length); 1232 if (order_no < 0) { 1233 negAds[i] = myAds[i]; 1234 } else if (order_no == 0) { 1235 zeroAds[i] = myAds[i]; 1236 } else if (order_no > 0) { 1237 posiAds[i] = myAds[i]; 1238 } 1239 } 1240 1241 zeroAds = ArrayShuffle(zeroAds); 1242 1243 for (var i in negAds) { 1244 totalAds[i] = negAds[i]; 1245 } 1246 for (var i in zeroAds) { 1247 totalAds[i] = zeroAds[i]; 1248 } 1249 for (var i in posiAds) { 1250 totalAds[i] = posiAds[i]; 1251 } 1252 return totalAds; 1253} 1254 1255 1256/////////////////////////////////////////////////////////////////////////////////// 1257 1258 1259function DoClickOnEnter(link, e) { 1260 var key; 1261 1262 if (window.event) 1263 key = window.event.keyCode; //IE 1264 else 1265 key = e.which; //firefox 1266 1267 if (key == 13) { 1268 var search = document.getElementById('SearchBox1').value; 1269 window.location.href = link + escape(search); 1270 //event.keyCode = 0 1271 } 1272} 1273 1274function HideControls(objName) { 1275 var arr = new Array(); 1276 arr = document.getElementsByTagName('span'); 1277 for (var i = 0; i < arr.length; i++) { 1278 if (arr[i].getAttribute('name') == objName) { 1279 arr[i].style.display = 'none'; 1280 } 1281 } 1282 arr = document.getElementsByTagName('div'); 1283 for (var i = 0; i < arr.length; i++) { 1284 if (arr[i].getAttribute('name') == objName) { 1285 arr[i].style.display = 'none'; 1286 } 1287 } 1288} 1289 1290 1291function chkSearch(link, ctrl) { 1292 var search = document.getElementById('SearchBox1').value; 1293 ctrl.href = link + escape(search); 1294} 1295 1296 1297function alert(msg, ctl) { 1298 if (!document.getElementById('f_alert_button')) { 1299 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_alert_button' type='button' data-bs-toggle='modal' data-bs-target='#f_alert' style='display:none;'></button><div class='f_alert_box modal fade' id='f_alert' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_alertLabel' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable'><div class='modal-content'><div class='modal-header' style='display:none'><button type='button' class='btn-close' data-bs-dismiss='modal' aria-label='Close'></button></div><div class='modal-body text-center' style='white-space: pre-wrap;'>" + msg + "</div><div class='modal-footer d-flex justify-content-center border-0'><button type='button' class='f_alert_close btn btn-dark py-2 px-4' data-bs-dismiss='modal'>OK</button></div></div></div><style>@media (min-width:576px){.modal-dialog{max-width:400px}}</style></div>"); 1300 document.getElementById('f_alert_button').click(); 1301 document.getElementsByClassName('f_alert_close')[0].addEventListener('click', function() { 1302 document.getElementById('f_alert_button').remove(); 1303 document.getElementsByClassName('f_alert_box')[0].remove(); 1304 if (ctl) { 1305 ctl.focus(); 1306 } 1307 }); 1308 } 1309} 1310 1311function confirm(msg, ctl) { 1312 if (!document.getElementById('f_confirm_button')) { 1313 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_confirm_button' type='button' data-bs-toggle='modal' data-bs-target='#f_confirm' style='display:none;'></button><div class='f_confirm_box modal fade' id='f_confirm' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_confirmLabel' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable'><div class='modal-content'><div class='modal-header' style='display:none'><button type='button' class='btn-close' data-bs-dismiss='modal' aria-label='Close'></button></div><div class='modal-body text-center' style='white-space: pre-wrap;'>" + msg + "</div><div class='modal-footer d-flex justify-content-center border-0'><button type='button' class='f_confirm_yes btn btn-danger me-3 py-2 px-4' data-bs-dismiss='modal'>Confirm</button><button type='button' class='f_confirm_close btn btn-dark py-2 px-4' data-bs-dismiss='modal'>Cancel</button></div></div></div><style>@media (min-width:576px){.modal-dialog{max-width:400px}}</style></div>"); 1314 document.getElementById('f_confirm_button').click(); 1315 document.getElementsByClassName('f_confirm_close')[0].addEventListener('click', function() { 1316 document.getElementById('f_confirm_button').remove(); 1317 document.getElementsByClassName('f_confirm_box')[0].remove(); 1318 }); 1319 document.getElementsByClassName('f_confirm_yes')[0].addEventListener('click', function() { 1320 document.getElementById('f_confirm_button').remove(); 1321 document.getElementsByClassName('f_confirm_box')[0].remove(); 1322 if (ctl) { 1323 window.location = ctl.href; 1324 } 1325 }); 1326 } 1327 return false; 1328} 1329 1330function confirmdelete(msg, ctl) { 1331 if (!document.getElementById('f_confirm_delete_button')) { 1332 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_confirm_delete_button' type='button' data-bs-toggle='modal' data-bs-target='#f_confirm_delete' style='display:none;'></button><div class='f_confirm_delete_box modal fade' id='f_confirm_delete' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_confirm_deleteLabel' aria-hidden='true'>
1332<div class='modal-dialog modal-dialog-centered modal-dialog-scrollable'><div class='modal-content'><div class='modal-header' style='display:none'><button type='button' class='btn-close' data-bs-dismiss='modal' aria-label='Close'></button></div><div class='modal-body text-center' style='white-space: pre-wrap;'>" + msg + "</div><div class='modal-footer d-flex justify-content-center border-0'><button type='button' class='f_confirm_delete_yes btn btn-danger me-3 py-2 px-4' data-bs-dismiss='modal'>Delete</button><button type='button' class='f_confirm_delete_close btn btn-dark py-2 px-4' data-bs-dismiss='modal'>Cancel</button></div></div></div><style>@media (min-width:576px){.modal-dialog{max-width:400px}}</style></div>"); 1333 document.getElementById('f_confirm_delete_button').click(); 1334 document.getElementsByClassName('f_confirm_delete_close')[0].addEventListener('click', function() { 1335 document.getElementById('f_confirm_delete_button').remove(); 1336 document.getElementsByClassName('f_confirm_delete_box')[0].remove(); 1337 }); 1338 document.getElementsByClassName('f_confirm_delete_yes')[0].addEventListener('click', function() { 1339 document.getElementById('f_confirm_delete_button').remove(); 1340 document.getElementsByClassName('f_confirm_delete_box')[0].remove(); 1341 if (ctl) { 1342 window.location = ctl.href; 1343 } 1344 }); 1345 } 1346 return false; 1347} 1348 1349function confirmhide(msg, ctl) { 1350 if (!document.getElementById('f_confirm_hide_button')) { 1351 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_confirm_hide_button' type='button' data-bs-toggle='modal' data-bs-target='#f_confirm_hide' style='display:none;'></button><div class='f_confirm_hide_box modal fade' id='f_confirm_hide' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_confirm_hideLabel' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable'><div class='modal-content'><div class='modal-header' style='display:none'><button type='button' class='btn-close' data-bs-dismiss='modal' aria-label='Close'></button></div><div class='modal-body text-center' style='white-space: pre-wrap;'>" + msg + "</div><div class='modal-footer d-flex justify-content-center border-0'><button type='button' class='f_confirm_hide_yes btn btn-danger me-3 py-2 px-4' data-bs-dismiss='modal'>Hide</button><button type='button' class='f_confirm_hide_close btn btn-dark py-2 px-4' data-bs-dismiss='modal'>Cancel</button></div></div></div><style>@media (min-width:576px){.modal-dialog{max-width:400px}}</style></div>"); 1352 document.getElementById('f_confirm_hide_button').click(); 1353 document.getElementsByClassName('f_confirm_hide_close')[0].addEventListener('click', function() { 1354 document.getElementById('f_confirm_hide_button').remove(); 1355 document.getElementsByClassName('f_confirm_hide_box')[0].remove(); 1356 }); 1357 document.getElementsByClassName('f_confirm_hide_yes')[0].addEventListener('click', function() { 1358 document.getElementById('f_confirm_hide_button').remove(); 1359 document.getElementsByClassName('f_confirm_hide_box')[0].remove(); 1360 if (ctl) { 1361 window.location = ctl.href; 1362 } 1363 }); 1364 } 1365 return false; 1366} 1367 1368function ChangeInputFocus(obj, evt, cname) { 1369 if (evt.type == "focus") 1370 obj.className = cname; 1371 else if (evt.type == "blur") 1372 obj.className = cname; 1373} 1374 1375 1376function getQueryVariable(query, variable) { 1377 query = query.replace('?', "&"); 1378 var vars = query.split("&"); 1379 for (var i = 0; i < vars.length; i++) { 1380 var pair = vars[i].split("="); 1381 if (pair[0] == variable) { 1382 return pair[1]; 1383 } 1384 } 1385 return ""; 1386} 1387 1388function ResizeIFrame(IFrameContent) { 1389 document.getElementById(IFrameContent).height = document.getElementById(IFrameContent).contentWindow.document.body.scrollHeight; 1390 document.getElementById(IFrameContent).width = document.getElementById(IFrameContent).contentWindow.document.body.scrollWidth; 1391 scroll(0, 0); 1392} 1393 1394 1395function UseIFrameAds(IFrameContent) { 1396 document.getElementById(IFrameContent).height = document.getElementById(IFrameContent).contentWindow.document.body.scrollHeight; 1397 document.getElementById(IFrameContent).width = document.getElementById(IFrameContent).contentWindow.document.body.scrollWidth; 1398} 1399 1400 1401function GotoParent(url) { 1402 if (self.parent.frames.length != 0) self.parent.location = url; 1403} 1404 1405function login() { 1406 url = location.href; 1407 var f = url.substring(0, url.indexOf('?')); 1408 if (f == "") { f = url; } 1409 f = f.substring(f.lastIndexOf('/') + 1); 1410 url = url.replace(f, "index0.htm") 1411 if (f.substring(0, 2).toLowerCase() == "ps" && readCookie("BLUserLoggedIn") == null) { document.location.href = url + "&sdetail=0"; } 1412} 1413 1414function createCookie(name, value, days) { 1415 if (days) { 1416 var date = new Date(); 1417 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 1418 var expires = "; expires=" + date.toGMTString(); 1419 } else var expires = ""; 1420 document.cookie = name + "=" + value + expires + "; path=/"; 1421} 1422 1423function readCookie(name) { 1424 var nameEQ = name + "="; 1425 var ca = document.cookie.split(';'); 1426 for (var i = 0; i < ca.length; i++) { 1427 var c = ca[i];
1428 while (c.charAt(0) == ' ') c = c.substring(1, c.length); 1429 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 1430 } 1431 return null; 1432} 1433 1434function eraseCookie(name) { 1435 createCookie(name, "", -1); 1436} 1437 1438function RunScript() { 1439 1440} 1441 1442function ChangeStyle_s13251(fName) { 1443 parent.document.getElementById('tdHeader').style.backgroundImage = "url(/lib/images/" + fName + ")"; 1444 createCookie("Style_s13251", fName, 60); 1445} 1446 1447function PopupWindow(mypage, myname, w, h, scroll) { 1448 var win = null; 1449 LPos = (screen.width) ? (screen.width - w) / 2 : 0; 1450 TPos = (screen.height) ? (screen.height - h) / 2 : 0; 1451 settings = 'height=' + h + ',width=' + w + ',top=' + TPos + ',left=' + LPos + ',scrollbars=' + scroll + ',resizable'; 1452 win = window.open(mypage, myname, settings); 1453 1454} 1455 1456function PopupWindow2(wName, w, h, scroll) { 1457 LPos = (screen.width) ? (screen.width - w) / 2 : 0; 1458 TPos = (screen.height) ? (screen.height - h) / 2 : 0; 1459 features = 'width=' + w + ',height=' + h + ',top=' + TPos + ',left=' + LPos + ',status=no,toolbar=no,location=no,menubar=no,titlebar=no,scrollbars=' + scroll + ''; 1460 pop = window.open('', wName, features); 1461 if (pop.focus) { pop.focus(); } 1462 return true; 1463} 1464 1465function LoadDoc(dataSource, dtag, gtrack) { 1466 1467 var XMLHttpRequestObject = false; 1468 1469 if (window.XMLHttpRequest) { 1470 XMLHttpRequestObject = new XMLHttpRequest(); 1471 } else if (window.ActiveXObject) { 1472 XMLHttpRequestObject = new 1473 ActiveXObject("Microsoft.XMLHTTP"); 1474 } 1475 1476 if (XMLHttpRequestObject) { 1477 XMLHttpRequestObject.open("GET", dataSource); 1478 XMLHttpRequestObject.onreadystatechange = function() { 1479 if (XMLHttpRequestObject.readyState == 4 && 1480 XMLHttpRequestObject.status == 200) { 1481 var v1 = document.getElementById(dtag); 1482 if (v1 != null) 1483 v1.innerHTML = XMLHttpRequestObject.responseText; 1484 else { 1485 v1 = parent.document.getElementById(dtag); 1486 if (v1 != null) 1487 v1.innerHTML = XMLHttpRequestObject.responseText; 1488 } 1489 1490 } 1491 } 1492 1493 XMLHttpRequestObject.send(null); 1494 } 1495} 1496 1497 1498function ValidateSize(file, limit) { 1499 var v = trim(file.value); 1500 if (v != '') { 1501 var FileSize = file.files[0].size / 1024 / 1024; // in MB 1502 var LimitSize = limit / 1024 / 1024; 1503 if (FileSize > LimitSize) { 1504 var msg = 'File size exceeded <b>' + LimitSize + ' MB</b> limit. Please upload smaller size.'; 1505 alert(msg, this); 1506 this.focus(); 1507 return false 1508 } 1509 } 1510 return true; 1511} 1512 1513function DuplicateChecker(myValue, t, c, kn, kv, fkn, fkv, it, cv) { 1514 1515 var XMLHttpRequestObject = false; 1516 if (location.protocol == "file:") { 1517 if (!XMLHttpRequestObject) try { XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP"); } catch (e) { XMLHttpRequestObject = false; } 1518 if (!XMLHttpRequestObject) try { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { XMLHttpRequestObject = false; } 1519 }; 1520 if (!XMLHttpRequestObject) try { XMLHttpRequestObject = new XMLHttpRequest(); } catch (e) { XMLHttpRequestObject = false; } 1521 if (typeof ActiveXObject != "undefined") { 1522 if (!XMLHttpRequestObject) try { XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP"); } catch (e) { XMLHttpRequestObject = false; } 1523 if (!XMLHttpRequestObject) try { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { XMLHttpRequestObject = false; } 1524 } 1525 1526 if (XMLHttpRequestObject) { 1527 var url = "DuplicateChecker.asp?v=" + myValue + "&t=" + t + "&c=" + c + "&kn=" + kn + "&kv=" + kv + "&fkn=" + fkn + "&fkv=" + fkv + "&it=" + it + "&cv=" + cv; 1528 // return url; 1529 XMLHttpRequestObject.open("GET", url, false); 1530 XMLHttpRequestObject.send(null); 1531 return XMLHttpRequestObject.responseText; 1532 } else { 1533 alert("To use this feature, please upgrade to a current web browser"); 1534 } 1535} 1536 1537 1538 1539function get_radio_value(frmId) { 1540 var rad_val; 1541 var frm; 1542 frm = document.getElementById(frmId); 1543 for (var i = 0; i < frm.choiceid.length; i++) { 1544 if (frm.choiceid[i].checked) { 1545 rad_val = frm.choiceid[i].value; 1546 } 1547 } 1548 return rad_val; 1549} 1550 1551 1552function get_checkbox_value(frmId) { 1553 var chk_val; 1554 var flag; 1555 var chk; 1556 var frm; 1557 frm = document.getElementById(frmId); 1558 1559 chk = frm.choiceid1; 1560 if (chk != null) { 1561 if (chk.checked) { 1562 flag = 1; 1563 } else { 1564 flag = ''; 1565 } 1566 } else { 1567 flag = ''; 1568 } 1569 chk_val = "choiceid1=" + flag; 1570 1571 chk = frm.choiceid2; 1572 if (chk != null) { 1573 if (chk.checked) { 1574 flag = 1; 1575 } else { 1576 flag = ''; 1577 } 1578 } else { 1579 flag = ''; 1580 } 1581 chk_val = chk_val + "&choiceid2=" + flag; 1582 1583 chk = frm.choiceid3; 1584 if (chk != null) { 1585 if (chk.checked) { 1586 flag = 1; 1587 } else { 1588 flag = ''; 1589 } 1590 } else { 1591 flag = ''; 1592 } 1593 chk_val = chk_val + "&choiceid3=" + flag; 1594 1595 chk = frm.choiceid4; 1596 if (chk != null) { 1597 if (chk.checked) { 1598 flag = 1; 1599 } else { 1600 flag = ''; 1601 } 1602 } else { 1603 flag = ''; 1604 } 1605 chk_val = chk_val + "&choiceid4=" + flag; 1606 1607 chk = frm.choiceid5; 1608 if (chk != null) { 1609 if (chk.checked) { 1610 flag = 1; 1611 } else { 1612 flag = ''; 1613 } 1614 } else { 1615 flag = ''; 1616 } 1617 chk_val = chk_val + "&choiceid5=" + flag; 1618 1619 chk = frm.choiceid6; 1620 if (chk != null) { 1621 if (chk.checked) { 1622 flag = 1; 1623 } else { 1624 flag = ''; 1625 } 1626 } else { 1627 flag = ''; 1628 } 1629 chk_val = chk_val + "&choiceid6=" + flag; 1630 1631 chk = frm.choiceid7; 1632 if (chk != null) { 1633 if (chk.checked) { 1634 flag = 1; 1635 } else { 1636 flag = ''; 1637 } 1638 } else { 1639 flag = ''; 1640 } 1641 chk_val = chk_val + "&choiceid7=" + flag; 1642 return chk_val; 1643} 1644 1645 1646 1647 1648 1649function keyRestrict(e, val, validType) { 1650 1651 var key = '', 1652 keychar = ''; 1653 key = getKeyCode(e); 1654 if (key == null) return true; 1655 keychar = String.fromCharCode(key); 1656 keychar = keychar.toLowerCase(); 1657
1658 var validchars; 1659 if (validType == "Number") { 1660 validchars = "0123456789"; 1661 } else if (validType == "NumberNegative") { 1662 validchars = "-0123456789"; 1663 } else if (validType == "Decimal") { 1664 validchars = "0123456789."; 1665 } else if (validType == "DecimalNegative") { 1666 validchars = "-0123456789."; 1667 } else if (validType == "cssNumber") { 1668 validchars = "0123456789%"; 1669 } else if (validType == "Filename") { 1670 validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-"; 1671 } else if (validType == "Formname") { 1672 validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_{}"; 1673 } else if (validType == "ProductDiscount") { 1674 validchars = "0123456789.%"; 1675 } else if (validType == "ServicePackageDiscount") { 1676 validchars = "0123456789.%F"; 1677 } else if (validType == "Menu") { 1678 validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~!@$%^*()+={}[]<>|:. -"; 1679 } 1680 validchars = validchars.toLowerCase(); 1681 1682 if (validType == "NumberNegative") { 1683 if (keychar == "-") { 1684 if (val.indexOf(keychar) != -1) 1685 return false; 1686 } 1687 if (validchars.indexOf(keychar) != -1) 1688 return true; 1689 } else if (validType == "Decimal") { 1690 if (keychar == ".") { 1691 if (val.indexOf(keychar) != -1) 1692 return false; 1693 } 1694 if (validchars.indexOf(keychar) != -1) 1695 return true; 1696 } else if (validType == "DecimalNegative") { 1697 if (keychar == ".") { 1698 if (val.indexOf(keychar) != -1) 1699 return false; 1700 } 1701 if (keychar == "-") { 1702 if (val.indexOf(keychar) != -1) 1703 return false; 1704 } 1705 if (validchars.indexOf(keychar) != -1) 1706 return true; 1707 } else if (validType == "cssNumber") { 1708 if (keychar == "%") { 1709 if (val.indexOf(keychar) != -1) 1710 return false; 1711 } 1712 if (validchars.indexOf(keychar) != -1) 1713 return true; 1714 } else { 1715 if (validchars.indexOf(keychar) != -1) 1716 return true; 1717 } 1718 1719 if (key == null || key == 0 || key == 8 || key == 9 || key == 13 || key == 27) 1720 return true; 1721 return false; 1722} 1723 1724 1725 1726 1727 1728 1729function getKeyCode(e) { 1730 if (window.event) 1731 return window.event.keyCode; 1732 else if (e) 1733 return e.which; 1734 else 1735 return null; 1736} 1737 1738 1739 1740 1741 1742 1743 1744 1745function trim(s) { 1746 s = s.replace(/(^\s*)|(\s*$)/gi, ""); 1747 //s = s.replace(/[ ]{2,}/gi, " "); 1748 s = s.replace(/\n /, "\n"); 1749 return s; 1750} 1751 1752 1753function DecimalValidator(myKey, myControl) { 1754 var myValue = trim(myControl.value); 1755 var re5digit = /^[0-9]*(\.[0-9]+)?$/; 1756 if (myValue.search(re5digit) == -1) { 1757 var msg = "<b>" + myKey + "</b>
1757is invalid."; 1758 alert(msg, myControl); 1759 myControl.focus(); 1760 return false; 1761 } 1762 return true; 1763} 1764 1765 1766function RangeValidator(min, max, myKey, myControl) { 1767 var msg; 1768 var myValue = trim(myControl.value); 1769 if (myValue != "") { 1770 if (min && max) { 1771 if (!(myValue >= min && myValue <= max)) { 1772 msg = "<b>" + myKey + "</b> Enter value between " + min + " and " + max + "."; 1773 alert(msg, myControl); 1774 myControl.focus(); 1775 return false; 1776 } 1777 } else if (min) { 1778 if (!(myValue >= min)) { 1779 msg = "<b>" + myKey + "</b> Enter value " + min + " or higher."; 1780 alert(msg, myControl); 1781 myControl.focus(); 1782 return false; 1783 } 1784 } else if (max) { 1785 if (!(myValue <= max)) { 1786 msg = "<b>" + myKey + "</b> Enter value " + max + " or less."; 1787 alert(msg, myControl); 1788 myControl.focus(); 1789 return false; 1790 } 1791 } 1792 } 1793 return true; 1794} 1795 1796function SelectHTMLtagValidator(caption, ctl) { 1797 if (ctl.type == 'text') { 1798 var v1 = ctl.value.toLowerCase(); 1799 if (v1.indexOf('<html') > -1 || v1.indexOf('/html>') > -1 || v1.indexOf('<iframe') > -1 || v1.indexOf('<script') > -1 || v1.indexOf('<\/script>') > -1 || v1.indexOf('<div') > -1 || v1.indexOf('/div>') > -1 || v1.indexOf('<body') > -1 || v1.indexOf('/body>') > -1 || v1.indexOf('<p') > -1 || v1.indexOf('/p>') > -1 || v1.indexOf('<br') > -1 || v1.indexOf('/br>') > -1 || v1.indexOf('hr>') > -1 || v1.indexOf('<textarea') > -1 || v1.indexOf('<img') > -1 || v1.indexOf('<a') > -1 || v1.indexOf('<ul') > -1 || v1.indexOf('<li') > -1 || v1.indexOf('<table') > -1 || v1.indexOf('/table>') > -1 || v1.indexOf('<tr') > -1 || v1.indexOf('/tr>') > -1 || v1.indexOf('<td') > -1 || v1.indexOf('/td>') > -1 || v1.indexOf('<span') > -1 || v1.indexOf('<embed') > -1 || v1.indexOf('<object') > -1) { 1800 var msg = 'Some HTML tags are not allowed in <br><br><b>' + caption + '</b><br><br>'; 1801 alert(msg, ctl); 1802 ctl.focus(); 1803 return false; 1804 } 1805 } 1806 return true; 1807} 1808 1809 1810function EmptyValidator(myKey, myControl) { 1811 var myValue; 1812 if (myControl.type == "select-one") 1813 myValue = trim(myControl[myControl.selectedIndex].text); 1814 else //Text 1815 myValue = trim(myControl.value); 1816 1817 var myValueb = myValue.startsWith("-- "); 1818 1819 if (myValue == "" || myValueb == true) { 1820 var msg = "<b>" + myKey + "</b> is required."; 1821 alert(msg, myControl); 1822 myControl.focus(); 1823 return false; 1824 } 1825 return true; 1826} 1827 1828 1829function MenuValidator(myKey, myControl) { 1830 var myValue = trim(myControl.value); 1831 var re5digit = /^[a-zA-Z0-9_~!@$%^*()+={}\[\]|:'. -]+$/; 1832 if (myValue != "") { 1833 if (myValue.search(re5digit) == -1) { 1834 var msg = "<b>" + myKey + "</b> has invalid characters.\n\n Mouse over to light bulb for help."; 1835 alert(msg, myControl); 1836 myControl.focus(); 1837 return false; 1838 } 1839 } 1840 return true; 1841} 1842 1843function EmailValidator(myKey, myControl) { 1844 var myValue = trim(myControl.value); 1845 var filter = /^.+@.+\..{2,7}$/ 1846 1847 if (myValue != "") { 1848 if (!filter.test(myValue)) { 1849 var msg = "<b>" + myKey + "</b>
1849is invalid."; 1850 alert(msg, myControl); 1851 myControl.focus(); 1852 return false; 1853 } 1854 } 1855 return true; 1856} 1857 1858 1859function EmailValidatorMultiple(myKey, myControl) { 1860 var myValueArray = trim(myControl.value); 1861 if (myValueArray != "") { 1862 myValueArray = myValueArray.split(","); 1863 1864 var i = 0; 1865 for (i = 0; i < myValueArray.length; i++) { 1866 var myValue = trim(myValueArray[i]); 1867 var filter = /^.+@.+\..{2,7}$/ 1868 1869 if (!filter.test(myValue)) { 1870 var msg = "<b>" + myKey + "</b> is invalid."; 1871 alert(msg, myControl); 1872 myControl.focus(); 1873 return false; 1874 } 1875 } 1876 1877 } 1878 return true; 1879} 1880 1881 1882function PasswordValidator(myKey1, myControl1, myKey2, myControl2) { 1883 var myValue1 = trim(myControl1.value); 1884 var myValue2 = trim(myControl2.value); 1885 1886 if (myValue1 != myValue2) { 1887 var msg = "<b>" + myKey1 + "</b> and<b>" + myKey2 + "</b> must be same."; 1888 alert(msg, myControl); 1889 myControl1.focus(); 1890 return false; 1891 } 1892 return true; 1893} 1894 1895function PasswordValidator2(PField) { 1896 var str = document.getElementById(PField).value; 1897 if (str.length < 6) { 1898 alert("Password must be 6 characters long."); 1899 return false; 1900 } else if (str.length > 25) { 1901 alert("Password must be less than 25 characters long."); 1902 return false; 1903 } else if (str.search(/\d/) == -1) { 1904 alert("Password must contain numeric letter."); 1905 return false; 1906 } else if (str.search(/[a-zA-Z]/) == -1) { 1907 alert("Password must contain alphabet letters."); 1908 return false; 1909 } else if (str.search(/[\!\@\#\$\%\^\&\*\(\)\_\+\.\,\:\[\]\{\}\<\>]/) == -1) { 1910 alert("Password must contain following special letters. <br><br> ! @ # $ % ^ & * ( ) _ + . , : [ ] { } < >"); 1911 return false; 1912 } 1913 return true; 1914} 1915 1916 1917function FileValidator(myKey, myControl, fileType) { 1918 var myValue = trim(myControl.value); 1919 var reFile; 1920 if (fileType == 'All') { 1921 reFile = /^.+\.(([jJ][pP][eE]?[gG])|([jJ][fF][iI][fF])|([gG][iI][fF])|([iI][cC][oO])|([jJ][sS])|([pP][nN][gG])|([cC][sS][sS])|([wW][mM][vV])|([wW][mM][aA])|([pP][dD][fF])|([sS][wW][fF])|([wW][eE][bB][pP])|([mM][pP][3])|([mM][pP][4])|([rR][sS][sS])|([tT][xX][tT])|([mM][pP][gG])|([mM][pP][eE][gG])|([aA][vV][iI])|([wW][aA][vV])|([aA][iI][fF])|([aA][iI][fF][fF])|([mM][oO][vV])|([hH][tT][mM])|([hH][tT][mM][lL])|([fF][lL][aA])|([xX][mM][lL])|([jJ][sS][oO][nN]))$/; 1922 } 1923 if (fileType == 'Image') { 1924 reFile = /^.+\.(([jJ][pP][eE]?[gG])|([jJ][fF][iI][fF])|([gG][iI][fF])|([iI][cC][oO])|([pP][dD][fF])|([pP][nN][gG])|([fF][lL][aA])|([sS][wW][fF])|([wW][eE][bB][pP]))$/; 1925 1926 } 1927 1928 if (myValue != "") { 1929 if (myValue.search(reFile) == -1) { 1930 var msg; 1931 if (fileType == "All") 1932 msg = "<b>" + myKey + "</b> Invalid file type."; 1933 if (fileType == "Image") 1934 msg = "<b>" + myKey + "</b> Invalid file type. Valid files: gif, ico, wmv, wma, jpg, jpeg, flv, pdf, png, css, swf, mp3, mp4, rss, txt, mpg, mpeg, avi, wav, aif, aiff, mov, htm, html, fla, xml"; 1935 alert(msg, myControl); 1936 myControl.focus(); 1937 return false; 1938 } 1939 } 1940 return true; 1941} 1942 1943 1944function ColorCodeValidator(myKey, myControl) { 1945 var myValue = trim(myControl.value); 1946 var filter = /^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ 1947 1948 if (myValue != "") { 1949 if (!filter.test(myValue)) { 1950 var msg = "<b>" + myKey + "</b> Invalid color code."; 1951 alert(msg, myControl); 1952 myControl.focus(); 1953 return false; 1954 } 1955 } 1956 return true; 1957} 1958 1959 1960 1961function NumberValidator(myKey, myControl) { 1962 var myValue = trim(myControl.value); 1963 var re5digit = /^[0-9]+$/; 1964 if (myValue != "") { 1965 if (myValue.search(re5digit) == -1) { 1966 var msg = "<b>" + myKey + "</b>
1966is invalid."; 1967 alert(msg, myControl); 1968 myControl.focus(); 1969 return false; 1970 } 1971 } 1972 return true; 1973} 1974 1975function FilenameValidator(myKey, myControl) { 1976 var myValue = trim(myControl.value); 1977 var re5digit = /^[a-zA-Z0-9_-]+$/; 1978 if (myValue != "") { 1979 if (myValue.search(re5digit) == -1) { 1980 var msg = "<b>" + myKey + "</b> is invalid."; 1981 alert(msg, myControl); 1982 myControl.focus(); 1983 return false; 1984 } 1985 } 1986 return true; 1987} 1988 1989 1990 1991function WebsiteValidator(myKey, myControl) { 1992 var myValue = trim(myControl.value.toLowerCase()); 1993 var filter = /http(s)?:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{2}/; 1994 1995 if (myValue != "") { 1996 if (!filter.test(myValue)) { 1997 var msg = "<b>" + myKey + "</b> Invalid website URL. Valid URL example: http://cnn.com"; 1998 alert(msg, myControl); 1999 myControl.focus(); 2000 return false; 2001 } 2002 } 2003 return true; 2004} 2005 2006 2007function CSSNumberValidator(myKey, myControl) { 2008 var myValue = trim(myControl.value); 2009 var filter = /^([0-9])+%?$/ 2010 2011 if (myValue != "") { 2012 if (!filter.test(myValue)) { 2013 var msg = "<b>" + myKey + "</b> Invalid value."; 2014 alert(msg, myControl); 2015 myControl.focus(); 2016 return false; 2017 } else if (myValue.indexOf("%") != -1) { 2018 myValue = myValue.substring(0, myValue.length - 1); 2019 if (parseInt(myValue) > 100) { 2020 var msg = "<b>" + myKey + "</b> % value should not be exceed 100."; 2021 alert(msg, myControl); 2022 myControl.focus(); 2023 return false; 2024 } 2025 } 2026 } 2027 return true; 2028} 2029 2030 2031 2032function NumberNegativeValidator(myKey, myControl) { 2033 var myValue = trim(myControl.value); 2034 var re5digit = /^(-)?[0-9]+$/; 2035 if (myValue != "") { 2036 if (myValue.search(re5digit) == -1) { 2037 var msg = "<b>" + myKey + "</b>
2037is invalid."; 2038 alert(msg, myControl); 2039 myControl.focus(); 2040 return false; 2041 } 2042 } 2043 return true; 2044} 2045 2046 2047 2048function DecimalNegativeValidator(myKey, myControl) { 2049 var myValue = trim(myControl.value); 2050 var re5digit = /^(-)?[0-9]*(\.[0-9]+)?$/; 2051 if (myValue.search(re5digit) == -1) { 2052 var msg = "<b>" + myKey + "</b> is invalid."; 2053 alert(msg, myControl); 2054 myControl.focus(); 2055 return false; 2056 } 2057 return true; 2058} 2059 2060 2061 2062function ProductDiscountValidator(myKey, myControl) { 2063 var myValue = trim(myControl.value); 2064 var re5digit = /^[0-9]*(\.[0-9]+)?(%)?$/; 2065 if (myValue != "") { 2066 if (myValue.search(re5digit) == -1) { 2067 var msg = "<b>" + myKey + "</b> is invalid."; 2068 alert(msg, myControl); 2069 myControl.focus(); 2070 return false; 2071 } else if (myValue == '%') { 2072 var msg = "<b>" + myKey + "</b> is invalid."; 2073 alert(msg, myControl); 2074 myControl.focus(); 2075 return false; 2076 } 2077 2078 } 2079 return true; 2080} 2081 2082 2083function ServicePackageDiscountValidator(myKey, myControl) { 2084 var myValue = trim(myControl.value.toLowerCase()); 2085 var re5digit = /^[0-9]*(\.[0-9]+)?([f%])?$/; 2086 if (myValue != "") { 2087 if (myValue.search(re5digit) == -1) { 2088 var msg = "<b>" + myKey + "</b>
2088is invalid."; 2089 alert(msg, myControl); 2090 myControl.focus(); 2091 return false; 2092 } else if (myValue == '%' || myValue == 'f') { 2093 var msg = "<b>" + myKey + "</b> is invalid."; 2094 alert(msg, myControl); 2095 myControl.focus(); 2096 return false; 2097 } 2098 2099 } 2100 return true; 2101} 2102 2103 2104function FormnameValidator(myKey, myControl) { 2105 var myValue = trim(myControl.value); 2106 var re5digit1 = /^[a-zA-Z0-9_]+$/; 2107 var re5digit2 = /^{{[a-zA-Z0-9_]+}}$/; 2108 if (myValue != "") { 2109 if (myValue.search(re5digit1) == -1 && myValue.search(re5digit2) == -1) { 2110 var msg = "<b>" + myKey + "</b> is invalid."; 2111 alert(msg, myControl); 2112 myControl.focus(); 2113 return false; 2114 } 2115 } 2116 return true; 2117} 2118 2119function ArrayShuffle(myAds) { 2120 var cnt = 0; 2121 var o = new Array(); 2122 for (var i in myAds) { 2123 o[cnt] = myAds[i]; 2124 cnt = cnt + 1; 2125 } 2126 2127 for (var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); 2128 2129 cnt = 0; 2130 for (var i in myAds) { 2131 myAds[i] = o[cnt]; 2132 cnt = cnt + 1; 2133 } 2134 return myAds; 2135} 2136 2137function OpenLoginPopupM(qrStr) { 2138 var s = readCookie('loginStatus'); 2139 var pg = 'a'; 2140 var url = window.location.href; 2141 var myParameters = new Array(); 2142 myParameters = ReadSParameters(qrStr); 2143 var sg = 'sp'; 2144 var a = myParameters['a']; 2145 var as = readCookie('AppServer'); 2146 var st = window.location.hostname; 2147 if (url.split("/").length == 9) { // Folder Sites 2148 var st = st + "/" + url.split("/")[7]; 2149 } 2150 var lg = '.' + pg + sg; 2151 if (a == '1' && s != 'Yes') { 2152 createCookie('curl', escape(qrStr)); 2153 window.location = as + 'target_form2' + lg + '?pform={{Login}}&sname=target_form2' + lg + '&site=' + st; 2154 return false; 2155 } else { 2156 return true; 2157 } 2158} 2159 2160 2161function HtmlTagCounter(ctl) { 2162 var searchtext = ctl.value.toLowerCase(); 2163 var opendiv = searchtext.match(new RegExp('<div'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2164 var closediv = searchtext.match(new RegExp('</div'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2165 var openp = searchtext.match(new RegExp('<p'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2166 var closep = searchtext.match(new RegExp('</p'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2167 var openspan = searchtext.match(new RegExp('<span'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2168 var closespan = searchtext.match(new RegExp('</span'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2169 var opentable = searchtext.match(new RegExp('<table'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2170 var closetable = searchtext.match(new RegExp('</table'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2171 var opentr = searchtext.match(new RegExp('<tr'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2172 var closetr = searchtext.match(new RegExp('</tr'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2173 var opentd = searchtext.match(new RegExp('<td'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2174 var closetd = searchtext.match(new RegExp('</td'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2175 var openli = searchtext.match(new RegExp('<li>'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2176 var closeli = searchtext.match(new RegExp('</li>'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2177 var openul = searchtext.match(new RegExp('<ul'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2178 var closeul = searchtext.match(new RegExp('</ul'.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "ig")); 2179 2180 var msg1 = ""; 2181 var msgdiv = ""; 2182 var msgp = ""; 2183 var msgspan = ""; 2184 var msgtable = ""; 2185 var msgtr = ""; 2186 var msgtd = ""; 2187 var msgli = ""; 2188 var msgul = ""; 2189 2190 if (!(openp)) { openp = ""; } 2191 if (!(closep)) { closep = ""; } 2192 if (!(opendiv)) { opendiv = ""; } 2193 if (!(closediv)) { closediv = ""; } 2194 if (!(openspan)) { openspan = ""; } 2195 if (!(closespan)) { closespan = ""; } 2196 if (!(opentable)) { opentable = ""; } 2197 if (!(closetable)) { closetable = ""; } 2198 if (!(opentr)) { opentr = ""; } 2199 if (!(closetr)) { closetr = ""; } 2200 if (!(opentd)) { opentd = ""; } 2201 if (!(closetd)) { closetd = ""; } 2202 if (!(openli)) { openli = ""; } 2203 if (!(closeli)) { closeli = ""; } 2204 if (!(openul)) { openul = ""; } 2205 if (!(closeul)) { closeul = ""; } 2206 2207 if (opendiv.length != closediv.length || openp.length != closep.length || openspan.length != closespan.length || opentable.length != closetable.length || opentr.length != closetr.length || opentd.length != closetd.length || openli.length != closeli.length || openul.length != closeul.length) { 2208 2209 if (opendiv.length != closediv.length) { msgdiv = 'Open <DIV> (' + opendiv.length + '), Closed </DIV>(' + closediv.length + '). ' } 2210 if (openp.length != closep.length) { msgp = '\n Open <P> (' + openp.length + '), Closed </P>(' + closep.length + ')' } 2211 if (openspan.length != closespan.length) { msgspan = '\n Open <SPAN> (' + openspan.length + '), Closed </SPAN>(' + closespan.length + ')' } 2212 if (opentable.length != closetable.length) { msgtable = '\n Open <TABLE> (' + opentable.length + '), Closed </TABLE>(' + closetable.length + ')' } 2213 if (opentr.length != closetr.length) { msgtr = '\n Open <TR> (' + opentr.length + '), Closed </TR>(' + closetr.length + ')' } 2214 if (opentd.length != closetd.length) { msgtd = '\n Open <TD> (' + opentd.length + '), Closed </TD>(' + closetd.length + ')' } 2215 if (openli.length != closeli.length) { msgli = '\n Open <LI> (' + openli.length + '), Closed </LI>(' + closeli.length + ')' } 2216 if (openul.length != closeul.length) { msgul = '\n Open <UL> (' + openul.length + '), Closed </UL>(' + closeul.length + ')' } 2217 2218 msg1 = 'See Missing HTML Tags: \n' + msgdiv + msgp + msgspan + msgtable + msgtr + msgtd + msgli + msgul; 2219 alert(msg1, ctl); 2220 ctl.focus(); 2221 return false; 2222 } 2223 2224 //alert("No error"); 2225 return true; 2226} 2227 2228 2229function OpenPopup(uniqueId, pageUrl, title, width, height, leftOffset, rightOffset, isCentered, isResizable, isScrollable) { 2230 document.body.style.position = 'static';
2231 var v1 = "width=" + width + "px,height=" + height + "px,left=" + leftOffset + "px,right=" + rightOffset + "px,center=" + isCentered + ",resize=" + isResizable + ",scrolling=" + isScrollable; 2232 calcPopup = dhtmlmodal.open(uniqueId, "iframe", pageUrl, title, v1) 2233 calcPopup.onclose = function() { return true } 2234} 2235 2236 2237function OpenPopup2(pageUrl, window_type, fwidth, fheight) { 2238 if (!document.getElementById('f_Popup2_button')) { 2239 var msg = '<iframe id="f-mfp-iframe" class="f-mfp-iframe" allowfullscreen="" src="' + pageUrl + '" frameborder="0"></iframe>'; 2240 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_Popup2_button' type='button' data-bs-toggle='modal' data-bs-target='#f_Popup2' style='display:none;'></button><div class='f_Popup2_box modal fade' id='f_Popup2' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_Popup2Label' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable mx-auto'><div class='modal-content'><button type='button' class='f_Popup2_close btn-close position-absolute' data-bs-dismiss='modal' aria-label='Close'><svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-lg' viewBox='0 0 16 16'> <path d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/></svg></button><div class='modal-body text-center' style='white-space: pre-wrap;'><p id='f_loader'><i class='fa fa-spinner fa-spin' aria-hidden='true'></i></p>" + msg + "</div></div></div><style>
2240.modal-dialog-scrollable .modal-content {max-height: none;overflow:visible;}.modal-body {padding:0;} .f_Popup2_close{right:-1rem;z-index:999;top:-1rem;background-color:#0d6efd;border-radius:50px;padding:.5rem;opacity:1;box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);background-image:none;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:18px}.modal-dialog{display:flex;justify-content:center} .f_Popup2_close:hover{color:#fff;background-color: red;opacity:1} #f-mfp-iframe{width:100%;height:90vh} @media (min-width:992px) {.modal-content{width:auto;border-width:0;}#f-mfp-iframe{width:" + fwidth + "px;height:" + fheight + "px;}}#f_loader{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#f_loader i{font-size:4rem;color:#0d6efd;opacity:0.8} @media (max-width:991px) {#f_Popup2 .modal-dialog {max-width: 85vw;}}</style></div>"); 2241 document.getElementById('f-mfp-iframe').onload = function() { 2242 document.getElementById("f_loader").remove(); 2243 }; 2244 document.getElementById('f_Popup2_button').click(); 2245 document.getElementsByClassName('f_Popup2_close')[0].addEventListener('click', function() { 2246 document.getElementById('f_Popup2_button').remove(); 2247 document.getElementsByClassName('f_Popup2_box')[0].remove(); 2248 }); 2249 } 2250} 2251 2252 2253function OpenPopup3(pageUrl, window_type) { 2254 if (!document.getElementById('f_Popup3_button')) { 2255 if (pageUrl.indexOf('?pul=') != -1) { 2256 var aurl = pageUrl.split('?pul=').pop(); 2257 aurl = (aurl.indexOf('http') == -1) ? 'http://' + aurl : aurl; // add http if not added 2258 pageUrl = pageUrl.split('?pul').shift(); 2259 var msg = '<figure class="figure"><img id="f-mfp-img" class="mb-0" src="' + pageUrl + '" class="figure-img img-fluid" style="cursor:pointer" onclick="window.open(\'' + aurl + '\', \'_blank\')"></figure>'; 2260 } else { 2261 var msg = '<figure class="figure"><img id="f-mfp-img" class="mb-0" src="' + pageUrl + '" class="figure-img img-fluid"></figure>'; 2262 } 2263 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_Popup3_button' type='button' data-bs-toggle='modal' data-bs-target='#f_Popup3' style='display:none;'></button><div class='f_Popup3_box modal fade' id='f_Popup3' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_Popup3Label' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable mx-auto'><div class='modal-content'><button type='button' class='f_Popup3_close btn-close position-absolute' data-bs-dismiss='modal' aria-label='Close'><svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-lg' viewBox='0 0 16 16'> <path d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/></svg></button><div class='modal-body text-center' style='white-space: pre-wrap;'>" + msg + "</div></div></div><style>
2263.modal-dialog-scrollable .modal-content {max-height: none;overflow:visible;}.modal-body {padding:0;} .f_Popup3_close{right:-1rem;z-index:999;top:-1rem;background-color:#0d6efd;border-radius:50px;padding:.5rem;opacity:1;box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);background-image:none;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:18px}.f_Popup3_close:hover{color:#fff;background-color: red;opacity:1}.modal-dialog{display:flex;justify-content:center} .modal-content{width:auto;border-width:0} #f-mfp-img{max-height:90vh;max-width: 90vw;} @media (min-width:576px) {.modal-content{width:auto;}.modal-dialog{max-width:800px;}} .modal-content{background:0 0}}</style></div>"); 2264 document.getElementById('f_Popup3_button').click(); 2265 document.getElementsByClassName('f_Popup3_close')[0].addEventListener('click', function() { 2266 document.getElementById('f_Popup3_button').remove(); 2267 document.getElementsByClassName('f_Popup3_box')[0].remove(); 2268 }); 2269 } 2270} 2271 2272function OpenPopup4(pageUrl, window_type, fwidth, fheight) { 2273 if (!document.getElementById('f_Popup4_button')) { 2274 var msg = '<iframe id="f-mfp-iframe" class="f-mfp-iframe" allowfullscreen="" src="' + pageUrl + '" frameborder="0"></iframe>'; 2275 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_Popup4_button' type='button' data-bs-toggle='modal' data-bs-target='#f_Popup4' style='display:none;'></button><div class='f_Popup4_box modal fade' id='f_Popup4' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_Popup4Label' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable mx-auto'><div class='modal-content'><button type='button' class='f_Popup4_close btn-close position-absolute' data-bs-dismiss='modal' aria-label='Close'><svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-lg' viewBox='0 0 16 16'> <path d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/></svg></button><div class='modal-body text-center' style='white-space: pre-wrap;'><p id='f_loader'><i class='fa fa-spinner fa-spin' aria-hidden='true'></i></p>" + msg + "</div></div></div><style>
2275.modal-dialog-scrollable .modal-content {max-height: none;overflow:visible;}.modal-body {padding:0;} .f_Popup4_close{right:-1rem;z-index:999;top:-1rem;background-color:#0d6efd;border-radius:50px;padding:.5rem;opacity:1;box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);background-image:none;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:18px}.f_Popup4_close:hover{color:#fff;background-color: red;opacity:1} @media (min-width:992px) {#f_Popup4 .modal-dialog {max-width: 70vw;}} @media (max-width:991px) {#f_Popup4 .modal-dialog {max-width: 85vw;}} .f-mfp-iframe {width:100%;min-height:90vh;height:90vh;}#f_loader{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#f_loader i{font-size:4rem;color:#0d6efd;opacity:0.8}</style></div>"); 2276 document.getElementById('f-mfp-iframe').onload = function() { 2277 document.getElementById("f_loader").remove(); 2278 }; 2279 document.getElementById('f_Popup4_button').click(); 2280 document.getElementsByClassName('f_Popup4_close')[0].addEventListener('click', function() { 2281 document.getElementById('f_Popup4_button').remove(); 2282 document.getElementsByClassName('f_Popup4_box')[0].remove(); 2283 }); 2284 } 2285} 2286 2287 2288function OpenPopup5(pageUrl, window_type, fwidth, fheight) { 2289 if (!document.getElementById('f_Popup5_button')) { 2290 pageUrl = readCookie('AppServer') + pageUrl; 2291 var msg = '<iframe id="f-mfp-iframe" class="f-mfp-iframe" allowfullscreen="" src="' + pageUrl + '" frameborder="0"></iframe>'; 2292 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_Popup5_button' type='button' data-bs-toggle='modal' data-bs-target='#f_Popup5' style='display:none;'></button><div class='f_Popup5_box modal fade' id='f_Popup5' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_Popup5Label' aria-hidden='true'><div class='modal-dialog modal-dialog-centered modal-dialog-scrollable mx-auto'><div class='modal-content'><button type='button' class='f_Popup5_close btn-close position-absolute' data-bs-dismiss='modal' aria-label='Close'><svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-lg' viewBox='0 0 16 16'> <path d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/></svg></button><div class='modal-body text-center' style='white-space: pre-wrap;'><p id='f_loader'><i class='fa fa-spinner fa-spin' aria-hidden='true'></i></p>" + msg + "</div></div></div><style>
2292.modal-dialog-scrollable .modal-content {max-height: none;overflow:visible;}.modal-body {padding:0;} .f_Popup5_close{right:-1rem;z-index:999;top:-1rem;background-color:#0d6efd;border-radius:50px;padding:.5rem;opacity:1;box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);background-image:none;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:18px}.f_Popup5_close:hover{color:#fff;background-color: red;opacity:1} @media (min-width:992px) {#f_Popup5 .modal-dialog {max-width: 70vw;}}@media (max-width:991px) {#f_Popup5 .modal-dialog {max-width: 85vw;}} .f-mfp-iframe {width:100%;min-height:90vh;height:90vh;}#f_loader{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#f_loader i{font-size:4rem;color:#0d6efd;opacity:0.8}</style></div>"); 2293 document.getElementById('f-mfp-iframe').onload = function() { 2294 document.getElementById("f_loader").remove(); 2295 }; 2296 document.getElementById('f_Popup5_button').click(); 2297 document.getElementsByClassName('f_Popup5_close')[0].addEventListener('click', function() { 2298 document.getElementById('f_Popup5_button').remove(); 2299 document.getElementsByClassName('f_Popup5_box')[0].remove(); 2300 }); 2301 } 2302} 2303 2304function OpenYouTube(id) { 2305 if (!document.getElementById('f_YT_button')) { 2306 var msg = '<iframe id="f-mfp-iframe" class="f-mfp-iframe" allowfullscreen="" src="https://www.youtube.com/embed/' + id + '?autoplay=1" scrolling="no" frameborder="0"></iframe>'; 2307 document.getElementsByTagName("body")[0].insertAdjacentHTML("beforeend", "<button id='f_YT_button' type='button' data-bs-toggle='modal' data-bs-target='#f_YT' style='display:none;'></button><div class='f_YT_box modal fade' id='f_YT' data-bs-backdrop='static' data-bs-keyboard='false' tabindex='-1' aria-labelledby='f_YTLabel' aria-hidden='true'><div class='modal-dialog modal-dialog-centered mx-auto'><div class='modal-content' id='YT_parent'><button type='button' class='f_YT_close btn-close position-absolute' data-bs-dismiss='modal' aria-label='Close'><svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-x-lg' viewBox='0 0 16 16'> <path d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/></svg></button><div class='modal-body text-center' style='white-space: pre-wrap;'><p id='f_loader'><i class='fa fa-spinner fa-spin' aria-hidden='true'></i></p>" + msg + "</div></div></div><style>#YT_parent{width:70vw;height:39.43vw}.modal-dialog{max-width:none;display:flex;align-items:center;justify-content:center}
2307.modal-dialog-scrollable .modal-content {max-height: none;overflow:visible;}.modal-body {padding:0;} .f_YT_close{right:-1rem;z-index:999;top:-1rem;background-color:red;border-radius:50px;padding:.5rem;opacity:1;box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);background-image:none;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:18px}.f_YT_close:hover{color:#fff;background-color: #333;opacity:1} .f-mfp-iframe {width:100%;height:100%;}#f_loader{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#f_loader i{font-size:4rem;color:red;opacity:0.8}@media (max-width:576px){#YT_parent{width:85vw;height:48vw}}</style></div>"); 2308 document.getElementById('f-mfp-iframe').onload = function() { 2309 document.getElementById("f_loader").remove(); 2310 }; 2311 document.getElementById('f_YT_button').click(); 2312 document.getElementsByClassName('f_YT_close')[0].addEventListener('click', function() { 2313 document.getElementById('f_YT_button').remove(); 2314 document.getElementsByClassName('f_YT_box')[0].remove(); 2315 }); 2316 } 2317}
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.