1;(function($) { 2 3 var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", 4 a256 = '', 5 r64 = [256], 6 r256 = [256], 7 i = 0; 8 9 var UTF8 = { 10 11 /** 12 * Encode multi-byte Unicode string into utf-8 multiple single-byte characters 13 * (BMP / basic multilingual plane only) 14 * 15 * Chars in range U+0080 - U+07FF are encoded in 2 chars, U+0800 - U+FFFF in 3 chars 16 * 17 * @param {String} strUni Unicode string to be encoded as UTF-8 18 * @returns {String} encoded string 19 */ 20 encode: function(strUni) { 21 // use regular expressions & String.replace callback function for better efficiency 22 // than procedural approaches 23 var strUtf = strUni.replace(/[\u0080-\u07ff]/g, // U+0080 - U+07FF => 2 bytes 110yyyyy, 10zzzzzz 24 function(c) { 25 var cc = c.charCodeAt(0); 26 return String.fromCharCode(0xc0 | cc >> 6, 0x80 | cc & 0x3f); 27 }) 28 .replace(/[\u0800-\uffff]/g, // U+0800 - U+FFFF => 3 bytes 1110xxxx, 10yyyyyy, 10zzzzzz 29 function(c) { 30 var cc = c.charCodeAt(0); 31 return String.fromCharCode(0xe0 | cc >> 12, 0x80 | cc >> 6 & 0x3F, 0x80 | cc & 0x3f); 32 }); 33 return strUtf; 34 }, 35 36 /** 37 * Decode utf-8 encoded string back into multi-byte Unicode characters 38 * 39 * @param {String} strUtf UTF-8 string to be decoded back to Unicode 40 * @returns {String} decoded string 41 */ 42 decode: function(strUtf) { 43 // note: decode 3-byte chars first as decoded 2-byte strings could appear to be 3-byte char! 44 var strUni = strUtf.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, // 3-byte chars 45 function(c) { // (note parentheses for precence) 46 var cc = ((c.charCodeAt(0) & 0x0f) << 12) | ((c.charCodeAt(1) & 0x3f) << 6) | (c.charCodeAt(2) & 0x3f); 47 return String.fromCharCode(cc); 48 }) 49 .replace(/[\u00c0-\u00df][\u0080-\u00bf]/g, // 2-byte chars 50 function(c) { // (note parentheses for precence) 51 var cc = (c.charCodeAt(0) & 0x1f) << 6 | c.charCodeAt(1) & 0x3f; 52 return String.fromCharCode(cc); 53 }); 54 return strUni; 55 } 56 }; 57 58 while(i < 256) { 59 var c = String.fromCharCode(i); 60 a256 += c; 61 r256[i] = i; 62 r64[i] = b64.indexOf(c); 63 ++i; 64 } 65 66 function code(s, discard, alpha, beta, w1, w2) { 67 s = String(s); 68 var buffer = 0, 69 i = 0, 70 length = s.length, 71 result = '', 72 bitsInBuffer = 0; 73 74 while(i < length) { 75 var c = s.charCodeAt(i); 76 c = c < 256 ? alpha[c] : -1; 77 78 buffer = (buffer << w1) + c; 79 bitsInBuffer += w1; 80 81 while(bitsInBuffer >= w2) { 82 bitsInBuffer -= w2; 83 var tmp = buffer >> bitsInBuffer; 84 result += beta.charAt(tmp); 85 buffer ^= tmp << bitsInBuffer; 86 } 87 ++i; 88 } 89 if(!discard && bitsInBuffer > 0) result += beta.charAt(buffer << (w2 - bitsInBuffer)); 90 return result; 91 } 92 93 var Plugin = $.base64 = function(dir, input, encode) { 94 return input ? Plugin[dir](input, encode) : dir ? null : this; 95 }; 96 97 Plugin.btoa = Plugin.encode = function(plain, utf8encode) { 98 plain = Plugin.raw === false || Plugin.utf8encode || utf8encode ? UTF8.encode(plain) : plain; 99 plain = code(plain, false, r256, b64, 8, 6); 100 return plain + '===='.slice((plain.length % 4) || 4); 101 }; 102 103 Plugin.atob = Plugin.decode = function(coded, utf8decode) { 104 coded = coded.replace(/[^A-Za-z0-9\+\/\=]/g, ""); 105 coded = String(coded).split('='); 106 var i = coded.length; 107 do {--i; 108 coded[i] = code(coded[i], true, r64, a256, 6, 8); 109 } while (i > 0); 110 coded = coded.join(''); 111 return Plugin.raw === false || Plugin.utf8decode || utf8decode ? UTF8.decode(coded) : coded; 112 }; 113}(jQuery)); 114$.base64.utf8encode = true; 115 116// # Cookies Integration 117 (function (factory) { 118 if (typeof define === 'function' && define.amd) { 119 // AMD (Register as an anonymous module) 120 define(['jquery'], factory); 121 } else if (typeof exports === 'object') { 122 // Node/CommonJS 123 module.exports = factory(require('jquery')); 124 } else { 125 // Browser globals 126 factory(jQuery); 127 } 128 }(function ($) { 129 var pluses = /\+/g; 130 function encode(s) { 131 return config.raw ? s : encodeURIComponent(s); 132 } 133 function decode(s) { 134 return config.raw ? s : decodeURIComponent(s); 135 } 136 function stringifyCookieValue(value) { 137 return encode(config.json ? JSON.stringify(value) : String(value)); 138 } 139 function parseCookieValue(s) { 140 if (s.indexOf('"') === 0) { 141 // This is a quoted cookie as according to RFC2068, unescape... 142 s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 143 } 144 try { 145 // Replace server-side written pluses with spaces. 146 // If we can't decode the cookie, ignore it, it's unusable. 147 // If we can't parse the cookie, ignore it, it's unusable. 148 s = decodeURIComponent(s.replace(pluses, ' ')); 149 return config.json ? JSON.parse(s) : s; 150 } catch(e) {} 151 } 152 function read(s, converter) { 153 var value = config.raw ? s : parseCookieValue(s); 154 return $.isFunction(converter) ? converter(value) : value; 155 } 156 var config = $.cookie = function (key, value, options) { 157 // Write 158 if (arguments.length > 1 && !$.isFunction(value)) { 159 options = $.extend({}, config.defaults, options); 160 if (typeof options.expires === 'number') { 161 var days = options.expires, t = options.expires = new Date(); 162 t.setMilliseconds(t.getMilliseconds() + days * 864e+5); 163 } 164 return (document.cookie = [ 165 encode(key), '=', stringifyCookieValue(value), 166 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 167 options.path ? '; path=' + options.path : '', 168 options.domain ? '; domain=' + options.domain : '', 169 options.secure ? '; secure' : '' 170 ].join('')); 171 } 172 // Read 173 var result = key ? undefined : {}, 174 // To prevent the for loop in the first place assign an empty array 175 // in case there are no cookies at all. Also prevents odd result when 176 // calling $.cookie(). 177 cookies = document.cookie ? document.cookie.split('; ') : [], 178 i = 0, 179 l = cookies.length; 180 for (; i < l; i++) { 181 var parts = cookies[i].split('='), 182 name = decode(parts.shift()), 183 cookie = parts.join('='); 184 if (key === name) { 185 // If second argument (value) is a function it's a converter... 186 result = read(cookie, value); 187 break; 188 } 189 // Prevent storing a cookie that we couldn't decode. 190 if (!key && (cookie = read(cookie)) !== undefined) { 191 result[name] = cookie; 192 } 193 } 194 return result; 195 }; 196 config.defaults = {}; 197 $.removeCookie = function (key, options) {
198 // Must not alter options, thus extending a fresh object... 199 $.cookie(key, '', $.extend({}, options, { expires: -1 })); 200 return !$.cookie(key); 201 }; 202 })); 203 204// # Page Speed Boost 205 var CookiedAjax = []; 206 function ensureCssFileInclusion(cssFileToCheck) { 207 var styleSheets = document.styleSheets; 208 for (var i = 0, max = styleSheets.length; i < max; i++) { 209 if (styleSheets[i].href == cssFileToCheck) { 210 return; 211 } 212 } 213 // because no matching stylesheets were found, we will add a new HTML link element to the HEAD section of the page. 214 var link = document.createElement("link"); 215 link.rel = "stylesheet"; 216 link.href = cssFileToCheck; 217 document.getElementsByTagName("head")[0].appendChild(link); 218 } 219 // # 220 221 $('body').on("click",'.ez-toc-title',function(){ 222 $(this).parent().toggleClass('-opentable-'); 223 }); 224 $('body').on("click", '#openSEarch i.far.fa-search', function(){ 225 $('.search_header form').addClass('active'); 226 $('#openSEarch').addClass('close'); 227 228 }); 229 $('body').on("click", '#openSEarch .fa-xmark', function(){ 230 $('.search_header form').removeClass('active'); 231 $('#openSEarch').removeClass('close'); 232 }); 233 234// # children 235 236 $('body').on("click",'.menu-item-has-children>a',function(a){ 237 a.preventDefault(); 238 a.stopPropagation(); 239 $(this).parent().find('>i').toggleClass('trans'); 240 $('.menu-item-has-children').toggleClass('hover') 241 $(this).parent().find("> ul.sub-menu").toggleClass("active"), $(this).not($(this).find("> ul.sub-menu")); 242 243 244 }); 245// # Ajax Handler 246 var AjaxHandlerXHR = false; 247 var AjaxHandlerLastData = false; 248 var RetryInterval; 249 function AjaxRequest(data) { 250 if( AjaxHandlerXHR != false && AjaxHandlerLastData.url == data.url ) { 251 AjaxHandlerXHR.abort(); 252 } 253 data.error = function (jqXHR, exception) { 254 var msg = ''; 255 if (jqXHR.status == 404) { 256 msg = 'ÙÙ ÙØªÙ Ø§ÙØ¹Ø«Ùر عÙÙ Ø§ÙØµÙØØ©.'; 257 AjaxHandlerXHR = false; 258 } else if (jqXHR.status == 500) { 259 msg = 'ØØ¯Ø« خطأ Ø§Ø«ÙØ§Ø¡ ٠عاÙÙØ© اÙÙ ÙÙ.'; 260 AjaxHandlerXHR = false; 261 } else if (exception === 'timeout') { 262 msg = 'Ø¥ÙØªÙت Ù ÙÙØ© Ø§ÙØ¥ØªØµØ§Ù.'; 263 AjaxHandlerXHR = false; 264 } 265 if( msg != '' && msg != undefined ) { 266 RetryInterval = setInterval(AjaxRequest(data), 5000); 267 } 268 } 269 AjaxHandlerLastData = data; 270 AjaxHandlerXHR = $.ajax(data).done(function(){ 271 clearInterval(RetryInterval); 272 AjaxHandlerXHR = false; 273 InitializeTrig(); 274 }); 275 return true; 276 } 277 278// # Ajaxify 279 var LoadedPages = []; 280 function ChangeTitle(title) { 281 $(document).prop("title", title); 282 } 283 function ChangeURL(url) { 284 url = url.replace('/?ajax=1', ''); 285 if(url!=window.location){ 286 window.history.pushState({path:url},'',url); 287 } 288 } 289 window.onpopstate = function(e) { 290 url = location.href; 291 BackToURL(url); 292 e.preventDefault(); 293 } 294 function outerHTML(node){ 295 return node.outerHTML || new XMLSerializer().serializeToString(node); 296 } 297 function BackToURL(url) { 298 var owl, elements; 299 if( LoadedPages[url] != undefined ) { 300 $('root').after(LoadedPages[url].output).remove(); 301 $('body, html').animate({"scrollTop":LoadedPages[url].scroll}, 0); 302 LoadedPages[location.href] = { 303 "title":$(document).prop('title'), 304 "output":outerHTML(document.querySelector('root')), 305 "scroll":$(document).scrollTop() || $(window).scrollTop(), 306 }; 307 // 308 ChangeTitle(LoadedPages[url].title); 309 ChangeURL(url); 310 InitializeTrig(); 311 $(DeletedPostsItems).each(function(k, v){ 312 $('.PostItem[cpd="'+v+'"]').remove(); 313 }); 314 }else { 315 $('#BackPopstateURL').remove(); 316 $('root').append('<a href="'+url+'" id="BackPopstateURL" style="display:none;">eee</a>'); 317 // 318 $('#BackPopstateURL').trigger("click"); 319 } 320 } 321 var mouseY, mouseX; 322 $(window).on("mousemove", function(e) { 323 mouseX = e.pageX; 324 mouseY = e.pageY; 325 }) 326 function AjaxNavigate(url,s='page') { 327 if( AjaxHandlerXHR != false ) { 328 AjaxHandlerXHR.abort(); 329 } 330 Count = 0; 331 LoadingRelated = false;
332 Loadingsingle = false; 333 LoadingMore = false; 334 335 if( sharepopover != false ) { 336 sharepopover.trigger('destroy.owl.carousel').css("opacity", '0'); 337 } 338 // 339 LoadedPages[location.href] = { 340 "title":$(document).prop('title'), 341 "output":outerHTML(document.querySelector('root')), 342 "scroll":$(document).scrollTop() || $(window).scrollTop(), 343 }; 344 $('.--news-loader').remove(); 345 mouseY = mouseY - $(window).scrollTop() ; 346 $('body').append('<div style="left:'+(mouseX - 35)+'px;top:'+(mouseY - 35)+'px;" class="--news-loader"><svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve"> <path fill="#005fa3" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z"> <animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.6s" repeatCount="indefinite"></animateTransform> </path> </svg></div>'); 347 var AjaxURL = url; 348 AjaxRequest({ 349 url: AjaxURL, 350 type: "GET", 351 data: {"ajax":true}, 352 dataType: 'json', 353 success: function(msg) { 354 $('.--news-loader').remove(); 355 $('root').after(msg.output).remove(); 356 // 357 var ScrolltoElem = false; 358 if( url.indexOf('#') > -1 ) { 359 var Element = url.split('#')[1]; 360 ScrolltoElem = Element; 361 } 362 if( ScrolltoElem == false ) { 363 $('body, html').animate({"scrollTop":0}, 0); 364 }else { 365 $('body, html').animate({"scrollTop":$('#'+ScrolltoElem).offset().top}, 0); 366 } 367 ChangeURL(url); 368 ChangeTitle(msg.title); 369 InitializeTrig(); 370 371 }, 372 }); 373 } 374 375 376// ## UniqID ## // 377 var charstoformid = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''); 378 var UniqID = function() { 379 var idlength = 10; 380 var uniqid = ''; 381 for (var i = 0; i < idlength; i++) { 382 uniqid += charstoformid[Math.floor(Math.random() * charstoformid.length)]; 383 } 384 return uniqid; 385 } 386 387// # THEME CONSTRACT FUNCTIONS 388 function isEmpty(value){ 389 return !$.trim(value); 390 } 391 392 function stripslashes (str) { 393 return (str + '').replace(/\\(.?)/g, function (s,n1) { 394 switch (n1) { 395 case '\\': 396 return '\\'; 397 case '0': 398 return '\u0000'; 399 case '': 400 return ''; 401 default: 402 return n1; 403 } 404 }); 405 } 406 407 function strip_tags(str, allow){ 408 allow = (((allow || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); 409 410 var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi; 411 var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi; 412 return str.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) { 413 return allow.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 :''; 414 }); 415 } 416 417// # InitializeTrig 418 function LazyloaderHook() { 419 $("[data-loader-style]").each(function (e, t) { 420 var n = $(t).offset().top - $(window).height(); 421 $(window).scrollTop() >= n && ($(t).fadeOut(100), $(t).attr("style", $(t).attr("data-loader-style")), $(t).removeAttr("data-loader-style"), setTimeout(function () { 422 $(t).fadeIn(100) 423 }, 90)) 424 }), $("[data-loader-src]").each(function (e, t) { 425 var n = $(t).offset().top - $(window).height(); 426 $(window).scrollTop() >= n && ($(t).fadeOut(100), $(t).attr("src", $(t).attr("data-loader-src")), $(t).removeAttr("data-loader-src"), setTimeout(function () { 427 $(t).fadeIn(100) 428 }, 90)) 429 }),$("[data-loader-href]").each(function (e, t) { 430 var n = $(t).offset().top - $(window).height(); 431 $(window).scrollTop() >= n && ($(t).fadeOut(100), $(t).attr("href", $(t).attr("data-loader-href")), $(t).removeAttr("data-loader-href"), setTimeout(function () { 432 $(t).fadeIn(100) 433 }, 90)) 434 }) 435 436 437 } 438 LazyloaderHook() 439 440 441 var IPInfo = false;
442 var SidebarTerms = false, CurrenciesSlider = false, Scrollingslider = false, sharepopover = false, articlesmodel3 = false, matchesbar = false; 443 function InitializeTrig(){ 444 445 if( navigator.userAgent.indexOf("Lighthouse") == -1 ) { 446 LazyloaderHook(); 447 } 448 var WindowWidth = $(window).width(); 449 // # Auto Focus 450 if( $('[autofocus]').val() == '' ) { 451 $('[autofocus]').focus(); 452 } 453 454 $(window).scroll(ScrollListener); 455 ScrollListener(); 456 457 // # Owl Carousel 458 // # ads-widght 459 if( $('.album-slider').length > 0 && $('.album-slider.owl-loaded').length == 0 ) { 460 $('.album-slider').not('.-owl-loaded').each(function(els, el){ 461 sharepopover = $(el).owlCarousel({ 462 margin:15, 463 rtl: true, 464 loop: false, 465 center: false, 466 nav: true, 467 dots:false, 468 navSpeed:300, 469 navText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'], 470 autoplay: false, 471 responsiveClass:true, 472 autoWidth: true, 473 }).css("opacity", '1'); 474 }); 475 } 476 477 478 479 } 480 InitializeTrig(); 481// # Scroll Listener 482 var Count = 0; 483 var LoadingRelated = false; 484 var LoadingMore = false; 485 var LoadedCounter = 1; 486 // 487 488 489 var SingleCounterMore = 0; 490 var SingleScrollAllowed = false; 491 492 function ScrollListener() { 493 494 if ($("[data-loadmore]").length > 0 && $(window).scrollTop() + $(window).height() > ($('[data-loadmore]').offset().top + $('[data-loadmore]').height()) - 600) { 495 if(LoadingMore == false && $("[data-loadmore]").data('autoloaded') != false && LoadedCounter < 3 && $('[data-loadmore]').data('finish') == false){ 496 LoadedCounter = LoadedCounter + 1; 497 MoreAjax($("[data-loadmore]")); 498 } 499 } 500 501 502 503 // 504 505 } 506 $(window).scroll(ScrollListener); 507 508 window.addEventListener('load', function () { 509 if(navigator.userAgent.indexOf('Lighthouse') === -1 ){ 510 $('head').append('<link rel="stylesheet" media="all" href="https://site-assets.fontawesome.com/releases/v6.1.1/css/all.css" />'); 511 } 512 }) 513// # Comments 514 function __loc(e) { 515 return e 516 } 517 function SubmitComment(form) { 518 var alerts = 0; 519 $(form).find('.alerts').html(''); 520 $(form).find('.necessary').removeClass('necessary'); 521 if( Currentuser_Logged == true ) { 522 var Data = { 523 "action":'AddComment', 524 "type":'عضÙ', 525 "yourname":Currentuser_display_name, 526 "email":Currentuser_email, 527 "message":$(form).find('textarea').val(), 528 "rate":$(form).find('.RateValue').val(), 529 "postID":$(form).data('id'), 530 "parent":$(form).attr('data-parent'), 531 }; 532 if( $(form).find('textarea').val() == '' ) { 533 alerts++; 534 $(form).find('textarea').addClass('necessary'); 535 } 536 if( $(form).find('.RateValue').val() == '' ) { 537 alerts++; 538 $(form).find('.RateComment').addClass('necessary'); 539 } 540 }else { 541 var Data = { 542 "action":'AddComment', 543 "type":'عضÙ', 544 "yourname":$(form).find('[name="yourname"]').val(), 545 "email":$(form).find('[name="email"]').val(), 546 "message":$(form).find('textarea').val(), 547 "rate":$(form).find('.RateValue').val(), 548 "postID":$(form).data('id'), 549 "parent":$(form).attr('data-parent'), 550 }; 551 if( $(form).find('textarea').val() == '' ) { 552 alerts++; 553 $(form).find('textarea').addClass('necessary'); 554 } 555 if( $(form).find('.RateValue').val() == '' ) { 556 alerts++; 557 $(form).find('.RateComment').addClass('necessary'); 558 } 559 if( $(form).find('[name="yourname"]').val() == '' ) { 560 alerts++; 561 $(form).find('[name="yourname"]').addClass('necessary'); 562 } 563 if( $(form).find('[name="email"]').val() == '' ) { 564 alerts++; 565 $(form).find('[name="email"]').addClass('necessary'); 566 } 567 } 568 if( alerts > 0 ) { 569 $(form).find('.alerts').append('<div class="alert alert-danger">ÙØ±Ø¬Ù Ù ÙØ£ Ø§ÙØÙÙ٠اÙÙ Ø·ÙÙØ¨Ø© (*)</div>'); 570 }else { 571 $('.NoComments').remove(); 572 $(form).addClass('loading'); 573 $(form).append('<div class="loader"><div class="line"></div> <div class="line"></div> <div class="line"></div> <div class="line"></div> </div>'); 574 AjaxRequest({ 575 url: HomeURL+'/AjaxCenter/AddComment/', 576 type:'POST', 577 data:Data, 578 dataType: 'json', 579 success: function(msg) { 580 if( msg.error == undefined ) { 581 $(form).removeClass('loading'); 582 $(form).find('.loader').remove(); 583 $(form).trigger("reset"); 584 $(form).find('.RatingReview > i').removeClass('fixedactive active'); 585 $(form).find('.RateValue').val(''); 586 if( $(form).attr('data-parent') == '0' ) { 587 if( $('.CommentsListInner').closest('under-post-comments').length > 0 ) { 588 $('.CommentsListInner').prepend(msg.output); 589 }else { 590 $('.CommentsListInner').append(msg.output); 591 } 592 }else { 593 $('#comment-'+$(form).attr('data-parent')).after('<ul class="ChildComments">'+msg.output+'</ul>'); 594 } 595 } 596 } 597 }); 598 } 599 } 600 function ReplyComment(e) { 601 $("form.CommentsFormInner").attr("data-parent", $(e).data("c
601omment")), $(".ReplyCommentPreview").remove(), $("form.CommentsFormInner").prepend('<div class="ReplyCommentPreview"><h2><i class="fas fa-reply"></i><em>' + __loc("رد عÙÙ") + "</em> <span>" + $(e).parent().find(".NameArea").text() + "</span></h2><p>" + $(e).parent().find(".CommentContent > p").text() + "</p></div>"), $("form.CommentsFormInner > textarea").focus() 602 } 603// # Post references 604 605 $('body').on('click','.referance-title',function(){ 606 $('.referance-Content').toggleClass('active'); 607 if($('.referance-Content').hasClass('active')){ 608 $('.referance-title i:nth-child(3)').attr('class','fa-solid fa-minus'); 609 }else{ 610 $('.referance-title i:nth-child(3)').attr('class','fa-solid fa-plus'); 611 } 612 }) 613// # FaqQuestion 614 $('body').on("click",'[data-open-faq]',function(){ 615 var BTN,MyLI,FaqsAnswers,AnswerContext,BoxHeight; 616 BTN = $(this); 617 MyLI = BTN.parent(); 618 FaqsAnswers = $('.answer'); 619 AnswerContext = $('.answer p'); 620 BoxHeight = AnswerContext.outerHeight(); 621 BoxHeight = BoxHeight + 6; 622 // 623 if(!MyLI.hasClass('active')){ 624 FaqsAnswers.attr("style",'--outheight:'+BoxHeight+'px'); 625 setTimeout(function(){ 626 MyLI.addClass('active').siblings().removeClass('active'); 627 },100); 628 } 629 }); 630 631// # children 632 633 634// # LoadMore Function 635 LoadingRelated = false; 636 LoadingMore = false; 637 var Count = 0; 638 var LoadingRelated = false; 639 var LoadingMore = false; 640 var LoadedCounter = 1; 641 function MoreAjax(argument) { 642 $('[data-more-click]').append('<div class="-newsLoaded"><div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div></div>'); 643 LoadingMore = true; 644 var Args = argument.data("loadmore"); 645 var AjaxURL = HomeURL+'/AjaxCenter/Loadmore/'+Args+'/'; 646 $.ajax({ 647 url: AjaxURL, 648 dataType: 'json', 649 success: function(msg) { 650 $('.-newsLoaded').remove(); 651 if(LoadedCounter == 3){ 652 argument.attr("data-autoloaded",false); 653 argument.data("autoloaded",false); 654 $('.PostsScrollLoader[data-more-click="'+argument.data("uniqid")+'"]').show(); 655 }else if(LoadedCounter == 5){ 656 LoadedCounter = 1; 657 argument.attr("data-autoloaded",true); 658 argument.data("autoloaded",true); 659 $('[data-more-click="'+argument.data("uniqid")+'"]').hide(); 660 } 661 $('[data-more-click="'+argument.data("uniqid")+'"]').removeClass('isloader'); 662 LoadingMore = false; 663 argument.append(msg.output); 664 argument.data("loadmore", msg.arguments); 665 666 if(msg.end != undefined && msg.end == true){ 667 argument.attr("data-autoloaded",false); 668 argument.data("autoloaded",false); 669 argument.attr("data-finish",true); 670 $('[data-more-click="'+argument.data("uniqid")+'"]').hide(); 671 } 672 } 673 }); 674 } 675// # More Click 676 $('body').on('click','[data-more-click]',function(e){e.preventDefault(); 677 var ScrollerCenter = $('.-ScrollerCenter[data-uniqid="'+$(this).data('more-click')+'"]'); 678 if(LoadingMore == false && ScrollerCenter.data('finish') == false ){ 679 LoadedCounter = ((LoadedCounter < 3)) ? 4 : LoadedCounter + 1; 680 $(this).addClass('isloader'); 681 MoreAjax(ScrollerCenter); 682 } 683 }); 684// # data-tabs 685 var TabIsClick = false; 686 var Timeout = false; 687 $('body').on('click','[data-tabs]',function(){ 688 var BTN,ActionType,AppenderElement,type,NowUniq,cats,number; 689 BTN = $(this); 690 tabType = BTN.data('tabs'); 691 type = BTN.data('type'); 692 cats = BTN.data('cats'); 693 number = BTN.data('number'); 694 NowUniq = $(this).data('uniq'); 695 AppenderElement = $('.post-model-'+type+''); 696 BTN.addClass('active').siblings().removeClass('active'); 697 var AjaxURL = HomeURL+'/AjaxCenter/RelatedPosts/'; 698 AppenderElement.addClass("-loading"); 699 700 701 TabIsClick = true; 702 clearTimeout(Timeout); 703 Timeout = setTimeout(function(){ 704 AjaxRequest({ 705 url: AjaxURL, 706 dataType: 'json', 707 type: 'POST', 708 data: { 709 "tabs":tabType, 710 "type":type, 711 "cats":cats, 712 "number":number, 713 }, 714 success: function(msg) { 715 $(AppenderElement).html(msg.output); 716 $(AppenderElement).removeClass("-loading"); 717 } 718 }); 719 },150); 720 721 722 }); 723 724// # data-tabs 725 var TabIsClick = false;
726 var Timeout = false; 727 $('body').on('click','[data-hometab]',function(){ 728 var BTN,ActionType,AppenderElement; 729 BTN = $(this); 730 tabType = BTN.data('hometab'); 731 NowUniq = $(this).data('uniq'); 732 term = BTN.data('term'); 733 AppenderElement = $('.-ScrollerCenter[data-uniqid="'+NowUniq+'"]'); 734 BTN.addClass('active').siblings().removeClass('active'); 735 736 var AjaxURL = HomeURL+'/AjaxCenter/singletabs/'; 737 738 if( tabType != TabIsClick ) { 739 AppenderElement.addClass("-loading"); 740 741 742 TabIsClick = true; 743 clearTimeout(Timeout); 744 Timeout = setTimeout(function(){ 745 AjaxRequest({ 746 url: AjaxURL, 747 dataType: 'json', 748 type: 'POST', 749 data: { 750 "hometab":tabType, 751 "term":term, 752 }, 753 success: function(msg) { 754 tabType = TabIsClick; 755 $(AppenderElement).html(msg.output); 756 $(AppenderElement).removeClass("-loading"); 757 } 758 }); 759 },150); 760 } 761 762 }); 763 764 $(window).on("scroll", function () { 765 $(window).scrollTop() >= $('header').outerHeight() ? ( 766 767 $("header").addClass("fixed"), 768 $(".btn-phone").addClass("show"), 769 $(".btn-whatsapp").addClass("show")) : ( 770 $("header").removeClass("fixed"), 771 $(".btn-phone").removeClass("show"), 772 $(".btn-whatsapp").removeClass("show")) 773 }) 774 $('body').on('click','.menu_bar .fa-bars',function(e){ 775 $(".menu-nav").addClass("open"); 776 $(".menu_bar").addClass("icon"); 777 }); 778 $('body').on('click','.menu_bar .fa-xmark',function(e){ 779 $(".menu-nav").removeClass("open"); 780 $(".menu_bar").removeClass("icon"); 781 }); 782// # share 783 // https://ellisonleao.github.io/sharer.js 784 // # data-title - sharer text 785 // # data-url - url to be shared 786 // # data-width - popup width 787 // # data-height - popup height 788 // # data-link - share element will work as a link 789 // # data-blank (requires data-link combined) - share element will work as a link in a new tab 790 (function(m, r) { 791 "use strict"; 792 var s = function(t) { 793 this.elem = t 794 }; 795 s.init = function() { 796 var t = r.querySelectorAll("[data-sharer]"), 797 e, a = t.length; 798 for (e = 0; e < a; e++) { 799 t[e].addEventListener("click", s.add) 800 } 801 }; 802 s.add = function(t) { 803 var e = t.currentTarget || t.srcElement; 804 var a = new s(e); 805 a.share() 806 }; 807 s.prototype = { 808 constructor: s, 809 getValue: function(t) { 810 var e = this.elem.getAttribute("data-" + t); 811 if (e && t === "hashtag") { 812 if (!e.startsWith("#")) { 813 e = "#" + e 814 } 815 } 816 return e === null ? "" : e 817 }, 818 share: function() { 819 var t = this.getValue("sharer").toLowerCase(), 820 e = { 821 facebook: { 822 shareUrl: "https://www.facebook.com/sharer/sharer.php", 823 params: { 824 u: this.getValue("url"), 825 hashtag: this.getValue("hashtag"), 826 quote: this.getValue("quote") 827 } 828 }, 829 linkedin: { 830 shareUrl: "https://www.linkedin.com/shareArticle", 831 params: { 832 url: this.getValue("url"), 833 mini: true 834 } 835 }, 836 twitter: { 837 shareUrl: "https://twitter.com/intent/tweet/", 838 params: { 839 text: this.getValue("title"), 840 url: this.getValue("url"), 841 hashtags: this.getValue("hashtags"), 842 via: this.getValue("via") 843 } 844 }, 845 email: { 846 shareUrl: "mailto:" + this.getValue("to"), 847 params: { 848 subject: this.getValue("subject"), 849 body: this.getValue("title") + "\n" + this.getValue("url") 850 } 851 }, 852 whatsapp: { 853 shareUrl: this.getValue("web") === "true" ? "https://web.whatsapp.com/se
vendor: 9,860 bytes, lines 853-1123
853nd" : "https://wa.me/", 854 params: { 855 phone: this.getValue("to"), 856 text: this.getValue("title") + " " + this.getValue("url"), 857 hashtags: this.getValue("hashtags"), 858 } 859 }, 860 telegram: { 861 shareUrl: "https://t.me/share", 862 params: { 863 text: this.getValue("title"), 864 url: this.getValue("url") 865 } 866 }, 867 viber: { 868 shareUrl: "viber://forward", 869 params: { 870 text: this.getValue("title") + " " + this.getValue("url") 871 } 872 }, 873 line: { 874 shareUrl: "http://line.me/R/msg/text/?" + encodeURIComponent(this.getValue("title") + " " + this.getValue("url")) 875 }, 876 pinterest: { 877 shareUrl: "https://www.pinterest.com/pin/create/button/", 878 params: { 879 url: this.getValue("url"), 880 media: this.getValue("image"), 881 description: this.getValue("description") 882 } 883 }, 884 tumblr: { 885 shareUrl: "http://tumblr.com/widgets/share/tool", 886 params: { 887 canonicalUrl: this.getValue("url"), 888 content: this.getValue("url"), 889 posttype: "link", 890 title: this.getValue("title"), 891 caption: this.getValue("caption"), 892 tags: this.getValue("tags") 893 } 894 }, 895 hackernews: { 896 shareUrl: "https://news.ycombinator.com/submitlink", 897 params: { 898 u: this.getValue("url"), 899 t: this.getValue("title") 900 } 901 }, 902 reddit: { 903 shareUrl: "https://www.reddit.com/submit", 904 params: { 905 url: this.getValue("url"), 906 title: this.getValue("title") 907 } 908 }, 909 vk: { 910 shareUrl: "http://vk.com/share.php", 911 params: { 912 url: this.getValue("url"), 913 title: this.getValue("title"), 914 description: this.getValue("caption"), 915 image: this.getValue("image") 916 } 917 }, 918 xing: { 919 shareUrl: "https://www.xing.com/social/share/spi", 920 params: { 921 url: this.getValue("url") 922 } 923 }, 924 buffer: { 925 shareUrl: "https://buffer.com/add", 926 params: { 927 url: this.getValue("url"), 928 title: this.getValue("title"), 929 via: this.getValue("via"), 930 picture: this.getValue("picture") 931 } 932 }, 933 instapaper: { 934 shareUrl: "http://www.instapaper.com/edit", 935 params: { 936 url: this.getValue("url"), 937 title: this.getValue("title"), 938 description: this.getValue("description") 939 } 940 }, 941 pocket: { 942 shareUrl: "https://getpocket.com/save", 943 params: { 944 url: this.getValue("url") 945 } 946 }, 947 mashable: { 948 shareUrl: "https://mashable.com/submit", 949 params: { 950 url: this.getValue("url"), 951 title: this.getValue("title") 952 } 953 }, 954 mix: { 955 shareUrl: "https://mix.com/add", 956 params: { 957 url: this.getValue("url") 958 } 959 }, 960 flipboard: { 961 shareUrl: "https://share.flipboard.com/bookmarklet/popout", 962 params: { 963 v: 2, 964 title: this.getValue("title"), 965 url: this.getValue("url"), 966 t: Date.now() 967 } 968 }, 969 weibo: { 970 shareUrl: "http://service.weibo.com/share/share.php", 971 params: { 972 url: this.getValue("url"), 973 title: this.getValue("title"), 974 pic: this.getValue("image"), 975 appkey: this.getValue("appkey"), 976 ralateUid: this.getValue("ralateuid"), 977 language: "zh_cn" 978 } 979 }, 980 blogger: { 981 shareUrl: "https://www.blogger.com/blog-this.g", 982 params: { 983 u: this.getValue("url"), 984 n: this.getValue("title"), 985 t: this.getValue("description") 986 } 987 }, 988 baidu: { 989 shareUrl: "http://cang.baidu.com/do/add", 990 params: { 991 it: this.getValue("title"), 992 iu: this.getValue("url") 993 } 994 }, 995 douban: { 996 shareUrl: "https://www.douban.com/share/service", 997 params: { 998 name: this.getValue("name"), 999 href: this.getValue("url"), 1000 image: this.getValue("image"), 1001 comment: this.getValue("description") 1002 } 1003 }, 1004 okru: { 1005 shareUrl: "https://connect.ok.ru/dk", 1006 params: { 1007 "st.cmd": "WidgetSharePreview", 1008 "st.shareUrl": this.getValue("url"), 1009 title: this.getValue("title") 1010 } 1011 }, 1012 mailru: { 1013 shareUrl: "http://connect.mail.ru/share", 1014 params: { 1015 share_url: this.getValue("url"), 1016 linkname: this.getValue("title"), 1017 linknote: this.getValue("description"), 1018 type: "page" 1019 } 1020 }, 1021 evernote: { 1022 shareUrl: "https://www.evernote.com/clip.action", 1023 params: { 1024 url: this.getValue("url"), 1025 title: this.getValue("title") 1026 } 1027 }, 1028 skype: { 1029 shareUrl: "https://web.skype.com/share", 1030 params: { 1031 url: this.getValue("url"), 1032 title: this.getValue("title") 1033 } 1034 }, 1035 delicious: { 1036 shareUrl: "https://del.icio.us/post", 1037 params: { 1038 url: this.getValue("url"), 1039 title: this.getValue("title") 1040 } 1041 }, 1042 sms: { 1043 shareUrl: "sms://", 1044 params: { 1045 body: this.getValue("body") 1046 } 1047 }, 1048 trello: { 1049 shareUrl: "https://trello.com/add-card", 1050 params: { 1051 url: this.getValue("url"), 1052 name: this.getValue("title"), 1053 desc: this.getValue("description"), 1054 mode: "popup" 1055 } 1056 }, 1057 messenger: { 1058 shareUrl: "fb-messenger://share", 1059 params: { 1060 link: this.getValue("url"), 1061 title: this.getValue("title") 1062 } 1063 }, 1064 odnoklassniki: { 1065 shareUrl: "https://connect.ok.ru/dk", 1066 params: { 1067 st: { 1068 cmd: "WidgetSharePreview", 1069 deprecated: 1, 1070 shareUrl: this.getValue("url") 1071 } 1072 } 1073 }, 1074 meneame: { 1075 shareUrl: "https://www.meneame.net/submit", 1076 params: { 1077 url: this.getValue("url") 1078 } 1079 }, 1080 diaspora: { 1081 shareUrl: "https://share.diasporafoundation.org", 1082 params: { 1083 title: this.getValue("title"), 1084 url: this.getValue("url") 1085 } 1086 }, 1087 googlebookmarks: { 1088 shareUrl: "https://www.google.com/bookmarks/mark", 1089 params: { 1090 op: "edit", 1091 bkmk: this.getValue("url"), 1092 title: this.getValue("title") 1093 } 1094 }, 1095 qzone: { 1096 shareUrl: "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey", 1097 params: { 1098 url: this.getValue("url") 1099 } 1100 }, 1101 refind: { 1102 shareUrl: "https://refind.com", 1103 params: { 1104 url: this.getValue("url") 1105 } 1106 }, 1107 surfingbird: { 1108 shareUrl: "https://surfingbird.ru/share", 1109 params: { 1110 url: this.getValue("url"), 1111 title: this.getValue("title"), 1112 description: this.getValue("description") 1113 } 1114 }, 1115 yahoomail: { 1116 shareUrl: "http://compose.mail.yahoo.com", 1117 params: { 1118 to: this.getValue("to"), 1119 subject: this.getValue("subject"), 1120 body: this.getValue("body") 1121 } 1122 }, 1123 wordpress: {
1124 shareUrl: "https://wordpress.com/wp-admin/press-this.php", 1125 params: { 1126 u: this.getValue("url"), 1127 t: this.getValue("title"), 1128 s: this.getValue("title") 1129 } 1130 }, 1131 amazon: { 1132 shareUrl: "https://www.amazon.com/gp/wishlist/static-add", 1133 params: { 1134 u: this.getValue("url"), 1135 t: this.getValue("title") 1136 } 1137 }, 1138 pinboard: { 1139 shareUrl: "https://pinboard.in/add", 1140 params: { 1141 url: this.getValue("url"), 1142 title: this.getValue("title"), 1143 description: this.getValue("description") 1144 } 1145 }, 1146 threema: { 1147 shareUrl: "threema://compose", 1148 params: { 1149 text: this.getValue("text"), 1150 id: this.getValue("id") 1151 } 1152 }, 1153 kakaostory: { 1154 shareUrl: "https://story.kakao.com/share", 1155 params: { 1156 url: this.getValue("url") 1157 } 1158 }, 1159 yummly: { 1160 shareUrl: "http://www.yummly.com/urb/verify", 1161 params: { 1162 url: this.getValue("url"), 1163 title: this.getValue("title"), 1164 yumtype: "button" 1165 } 1166 } 1167 }, 1168 a = e[t]; 1169 if (a) { 1170 a.width = this.getValue("width"); 1171 a.height = this.getValue("height") 1172 } 1173 return a !== undefined ? this.urlSharer(a) : false 1174 }, 1175 urlSharer: function(t) { 1176 var e = t.params || {}, 1177 a = Object.keys(e), 1178 r, 1179 s = a.length > 0 ? "?" : ""; 1180 1181 for (r = 0; r < a.length; r++) { 1182 if (s !== "?") { 1183 s += "&" 1184 } 1185 if (e[a[r]]) { 1186 s += a[r] + "=" + encodeURIComponent(e[a[r]]) 1187 } 1188 } 1189 t.shareUrl += s; 1190 var l = this.getValue("link") === "true"; 1191 var i = this.getValue("blank") === "true"; 1192 if (l) { 1193 if (i) { 1194 m.open(t.shareUrl, "_blank") 1195 } else { 1196 m.location.href = t.shareUrl 1197 } 1198 } else { 1199 console.log(t.shareUrl); 1200 var h = t.width || 600, 1201 u = t.height || 480, 1202 o = m.innerWidth / 2 - h / 2 + m.screenX, 1203 p = m.innerHeight / 2 - u / 2 + m.screenY, 1204 g = "scrollbars=no, width=" + h + ", height=" + u + ", top=" + p + ", left=" + o, 1205 n = m.open(t.shareUrl, "", g); 1206 if (m.focus) { 1207 n.focus() 1208 } 1209 } 1210 } 1211 }; 1212 if (r.readyState === "complete" || r.readyState !== "loading") { 1213 s.init() 1214 } else { 1215 r.addEventListener("DOMContentLoaded", s.init) 1216 } 1217 m.Sharer = s 1218 })(window, document); 1219 $('body').on("click",'[data-sharer] a',function(e) {e.preventDefault();}); 1220 $('body').on("click", '.ez-toc-title-container', function(){ 1221 $('ul.ez-toc-list').toggleClass("open"); 1222 }); 1223 1224 $('body').on("click", '.album-holder .close', function(){ 1225 $('.album-holder').removeClass('open') 1226 }) 1227 $('body').on("click", 'post--albums .img', function(){ 1228 $('.album-holder').addClass('open'); 1229 })
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.