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