הבדלים בין גרסאות בדף "מדיה ויקי:Mobile.js"

מאגר הידע של דואלוג: מאגר הידע המקיף בעברית בתחומי האסטרטגיה והחשיבה המערכתית
קפיצה לניווט קפיצה לחיפוש
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
שורה 1,176: שורה 1,176:
 
     e.preventDefault();
 
     e.preventDefault();
 
     var aid = $(this).attr("href");
 
     var aid = $(this).attr("href");
     $('html,body').animate({scrollTop: $(aid).offset().top-127},'slow');
+
     $('html,body').animate({scrollTop: $(aid).offset().top},'slow');
 
});
 
});

גרסה מ־11:58, 6 במרץ 2020

// menu
window.onload=function(){
var d1 = document.getElementById( 'mw-mf-page-left' ).getElementsByTagName( 'ul' )[0];
d1.insertAdjacentHTML('beforeend', '<li><a href="/wiki/פורטלים" class="icon-portal icon icon-text" id="portalButton">פורטלים</a></li><li><a href="/blog" class="icon-blog icon icon-text" id="blogButton">בלוג</a></li><li><a href="/wiki/ייעוץ_אסטרטגי" class="icon-strat icon  icon-text" id="stratButton">ייעוץ אסטרטגי</a></li><li><a href="/wiki/קורסים_והכשרות" class="icon-course icon  icon-text" id="courseButton">קורסים והכשרות</a></li><li><a href="/#contact" class="icon-contact icon icon-text" id="contactButton">צור קשר</a></li><li id="contact-icons"><a href="tel:+972544702895" class="icon-phone icon-text" id="phoneButton"></a><a href="//www.facebook.com/doalogue" class="icon-facebook icon-text" id="FBButton"></a><a href="//twitter.com/doalogue" class="icon-twitter icon-text" id="twitterButton"></a><a href="//linkedin.com/company/doalogue" class="icon-linkedin icon-text" id="twitterButton"></a></li>');
}
// banner

$( document ).ready(function(){
$('head').append('<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.12.1/css/all.css" integrity="sha384-TxKWSXbsweFt0o2WqfkfJRRNVaPdzXJ/YLqgStggBVRREXkwU7OKz+xXtqOU4u8+" crossorigin="anonymous"><meta name="theme-color" content="#52A3F6"><meta name="msapplication-navbutton-color" content="#52A3F6"><meta name="apple-mobile-web-app-status-bar-style" content="#52A3F6">');
if ($('#image-banner').length > 0) { 
$('#image-banner').css('background-image', 'url(' + $('.image img').attr('src') + ')').css('opacity', '1');

var PageHead = document.getElementById("section_0");
// Copy the element and its child nodes
var clnPageHead = PageHead.cloneNode(true);
var PageHeader = document.getElementById("image-banner");
var clnPageHeader = PageHeader.cloneNode(true);


if ($('.image').length > 0) {    
    document.getElementById("image-banner").remove();    
    $(".header").after(clnPageHeader);
document.getElementById("section_0").remove();    
document.getElementById("newHeading").appendChild(clnPageHead);
}
}
});

if (typeof jQuery != 'undefined') {
  jQuery(document).ready(function($) {
    var filetypes = /\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');

    jQuery('a').on('click', function(event) {
      var el = jQuery(this);
      var track = true;
      var href = (typeof(el.attr('href')) != 'undefined' ) ? el.attr('href') :"";
      var isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);
      if (!href.match(/^javascript:/i)) {
    	var elEv = []; elEv.value=0, elEv.non_i=false;
        if (href.match(/^mailto\:/i)) {
          elEv.category = "email";
          elEv.action = "click";
          elEv.label = href.replace(/^mailto\:/i, '');
          elEv.loc = href;
        }
        else if (href.match(filetypes)) {
          var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
          elEv.category = "download";
          elEv.action = "click-" + extension[0];
          elEv.label = href.replace(/ /g,"-");
          elEv.loc = baseHref + href;
        }
        else if (href.match(/^https?\:/i) && !isThisDomain) {
          elEv.category = "external";
          elEv.action = "click";
          elEv.label = href.replace(/^https?\:\/\//i, '');
          elEv.non_i = true;
          elEv.loc = href;
        }
        else if (href.match(/^tel\:/i)) {
          elEv.category = "telephone";
          elEv.action = "click";
          elEv.label = href.replace(/^tel\:/i, '');
          elEv.loc = href;
        }
        else track = false;

       	if (track) {
          _gaq.push(['_trackEvent', elEv.category.toLowerCase(), elEv.action.toLowerCase(), elEv.label.toLowerCase(), elEv.value, elEv.non_i]);
          if ( el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') {
            setTimeout(function() { location.href = elEv.loc; }, 400);
            return false;
	  }
	}
      }
    });
  });
}

/*!***************************************************
 * mark.js v8.6.0
 * https://github.com/julmot/mark.js
 * Copyright (c) 2014–2017, Julian Motz
 * Released under the MIT license https://git.io/vwTVl
 *****************************************************/
 ( function ( $ ) {
   /*!***************************************************
 * mark.js v8.11.1
 * https://markjs.io/
 * Copyright (c) 2014–2018, Julian Kühnel
 * Released under the MIT license https://git.io/vwTVl
 *****************************************************/

 (function (global, factory) {
 	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) :
 	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
 	(global.Mark = factory(global.jQuery));
 }(this, (function ($) { 'use strict';

 $ = $ && $.hasOwnProperty('default') ? $['default'] : $;

 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
   return typeof obj;
 } : function (obj) {
   return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
 };











 var classCallCheck = function (instance, Constructor) {
   if (!(instance instanceof Constructor)) {
     throw new TypeError("Cannot call a class as a function");
   }
 };

 var createClass = function () {
   function defineProperties(target, props) {
     for (var i = 0; i < props.length; i++) {
       var descriptor = props[i];
       descriptor.enumerable = descriptor.enumerable || false;
       descriptor.configurable = true;
       if ("value" in descriptor) descriptor.writable = true;
       Object.defineProperty(target, descriptor.key, descriptor);
     }
   }

   return function (Constructor, protoProps, staticProps) {
     if (protoProps) defineProperties(Constructor.prototype, protoProps);
     if (staticProps) defineProperties(Constructor, staticProps);
     return Constructor;
   };
 }();







 var _extends = Object.assign || function (target) {
   for (var i = 1; i < arguments.length; i++) {
     var source = arguments[i];

     for (var key in source) {
       if (Object.prototype.hasOwnProperty.call(source, key)) {
         target[key] = source[key];
       }
     }
   }

   return target;
 };

 var DOMIterator = function () {
   function DOMIterator(ctx) {
     var iframes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
     var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
     var iframesTimeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5000;
     classCallCheck(this, DOMIterator);

     this.ctx = ctx;
     this.iframes = iframes;
     this.exclude = exclude;
     this.iframesTimeout = iframesTimeout;
   }

   createClass(DOMIterator, [{
     key: 'getContexts',
     value: function getContexts() {
       var ctx = void 0,
           filteredCtx = [];
       if (typeof this.ctx === 'undefined' || !this.ctx) {
         ctx = [];
       } else if (NodeList.prototype.isPrototypeOf(this.ctx)) {
         ctx = Array.prototype.slice.call(this.ctx);
       } else if (Array.isArray(this.ctx)) {
         ctx = this.ctx;
       } else if (typeof this.ctx === 'string') {
         ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx));
       } else {
         ctx = [this.ctx];
       }
       ctx.forEach(function (ctx) {
         var isDescendant = filteredCtx.filter(function (contexts) {
           return contexts.contains(ctx);
         }).length > 0;
         if (filteredCtx.indexOf(ctx) === -1 && !isDescendant) {
           filteredCtx.push(ctx);
         }
       });
       return filteredCtx;
     }
   }, {
     key: 'getIframeContents',
     value: function getIframeContents(ifr, successFn) {
       var errorFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};

       var doc = void 0;
       try {
         var ifrWin = ifr.contentWindow;
         doc = ifrWin.document;
         if (!ifrWin || !doc) {
           throw new Error('iframe inaccessible');
         }
       } catch (e) {
         errorFn();
       }
       if (doc) {
         successFn(doc);
       }
     }
   }, {
     key: 'isIframeBlank',
     value: function isIframeBlank(ifr) {
       var bl = 'about:blank',
           src = ifr.getAttribute('src').trim(),
           href = ifr.contentWindow.location.href;
       return href === bl && src !== bl && src;
     }
   }, {
     key: 'observeIframeLoad',
     value: function observeIframeLoad(ifr, successFn, errorFn) {
       var _this = this;

       var called = false,
           tout = null;
       var listener = function listener() {
         if (called) {
           return;
         }
         called = true;
         clearTimeout(tout);
         try {
           if (!_this.isIframeBlank(ifr)) {
             ifr.removeEventListener('load', listener);
             _this.getIframeContents(ifr, successFn, errorFn);
           }
         } catch (e) {
           errorFn();
         }
       };
       ifr.addEventListener('load', listener);
       tout = setTimeout(listener, this.iframesTimeout);
     }
   }, {
     key: 'onIframeReady',
     value: function onIframeReady(ifr, successFn, errorFn) {
       try {
         if (ifr.contentWindow.document.readyState === 'complete') {
           if (this.isIframeBlank(ifr)) {
             this.observeIframeLoad(ifr, successFn, errorFn);
           } else {
             this.getIframeContents(ifr, successFn, errorFn);
           }
         } else {
           this.observeIframeLoad(ifr, successFn, errorFn);
         }
       } catch (e) {
         errorFn();
       }
     }
   }, {
     key: 'waitForIframes',
     value: function waitForIframes(ctx, done) {
       var _this2 = this;

       var eachCalled = 0;
       this.forEachIframe(ctx, function () {
         return true;
       }, function (ifr) {
         eachCalled++;
         _this2.waitForIframes(ifr.querySelector('html'), function () {
           if (! --eachCalled) {
             done();
           }
         });
       }, function (handled) {
         if (!handled) {
           done();
         }
       });
     }
   }, {
     key: 'forEachIframe',
     value: function forEachIframe(ctx, filter, each) {
       var _this3 = this;

       var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};

       var ifr = ctx.querySelectorAll('iframe'),
           open = ifr.length,
           handled = 0;
       ifr = Array.prototype.slice.call(ifr);
       var checkEnd = function checkEnd() {
         if (--open <= 0) {
           end(handled);
         }
       };
       if (!open) {
         checkEnd();
       }
       ifr.forEach(function (ifr) {
         if (DOMIterator.matches(ifr, _this3.exclude)) {
           checkEnd();
         } else {
           _this3.onIframeReady(ifr, function (con) {
             if (filter(ifr)) {
               handled++;
               each(con);
             }
             checkEnd();
           }, checkEnd);
         }
       });
     }
   }, {
     key: 'createIterator',
     value: function createIterator(ctx, whatToShow, filter) {
       return document.createNodeIterator(ctx, whatToShow, filter, false);
     }
   }, {
     key: 'createInstanceOnIframe',
     value: function createInstanceOnIframe(contents) {
       return new DOMIterator(contents.querySelector('html'), this.iframes);
     }
   }, {
     key: 'compareNodeIframe',
     value: function compareNodeIframe(node, prevNode, ifr) {
       var compCurr = node.compareDocumentPosition(ifr),
           prev = Node.DOCUMENT_POSITION_PRECEDING;
       if (compCurr & prev) {
         if (prevNode !== null) {
           var compPrev = prevNode.compareDocumentPosition(ifr),
               after = Node.DOCUMENT_POSITION_FOLLOWING;
           if (compPrev & after) {
             return true;
           }
         } else {
           return true;
         }
       }
       return false;
     }
   }, {
     key: 'getIteratorNode',
     value: function getIteratorNode(itr) {
       var prevNode = itr.previousNode();
       var node = void 0;
       if (prevNode === null) {
         node = itr.nextNode();
       } else {
         node = itr.nextNode() && itr.nextNode();
       }
       return {
         prevNode: prevNode,
         node: node
       };
     }
   }, {
     key: 'checkIframeFilter',
     value: function checkIframeFilter(node, prevNode, currIfr, ifr) {
       var key = false,
           handled = false;
       ifr.forEach(function (ifrDict, i) {
         if (ifrDict.val === currIfr) {
           key = i;
           handled = ifrDict.handled;
         }
       });
       if (this.compareNodeIframe(node, prevNode, currIfr)) {
         if (key === false && !handled) {
           ifr.push({
             val: currIfr,
             handled: true
           });
         } else if (key !== false && !handled) {
           ifr[key].handled = true;
         }
         return true;
       }
       if (key === false) {
         ifr.push({
           val: currIfr,
           handled: false
         });
       }
       return false;
     }
   }, {
     key: 'handleOpenIframes',
     value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) {
       var _this4 = this;

       ifr.forEach(function (ifrDict) {
         if (!ifrDict.handled) {
           _this4.getIframeContents(ifrDict.val, function (con) {
             _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb);
           });
         }
       });
     }
   }, {
     key: 'iterateThroughNodes',
     value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) {
       var _this5 = this;

       var itr = this.createIterator(ctx, whatToShow, filterCb);
       var ifr = [],
           elements = [],
           node = void 0,
           prevNode = void 0,
           retrieveNodes = function retrieveNodes() {
         var _getIteratorNode = _this5.getIteratorNode(itr);

         prevNode = _getIteratorNode.prevNode;
         node = _getIteratorNode.node;

         return node;
       };
       while (retrieveNodes()) {
         if (this.iframes) {
           this.forEachIframe(ctx, function (currIfr) {
             return _this5.checkIframeFilter(node, prevNode, currIfr, ifr);
           }, function (con) {
             _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function (ifrNode) {
               return elements.push(ifrNode);
             }, filterCb);
           });
         }
         elements.push(node);
       }
       elements.forEach(function (node) {
         eachCb(node);
       });
       if (this.iframes) {
         this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb);
       }
       doneCb();
     }
   }, {
     key: 'forEachNode',
     value: function forEachNode(whatToShow, each, filter) {
       var _this6 = this;

       var done = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};

       var contexts = this.getContexts();
       var open = contexts.length;
       if (!open) {
         done();
       }
       contexts.forEach(function (ctx) {
         var ready = function ready() {
           _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function () {
             if (--open <= 0) {
               done();
             }
           });
         };
         if (_this6.iframes) {
           _this6.waitForIframes(ctx, ready);
         } else {
           ready();
         }
       });
     }
   }], [{
     key: 'matches',
     value: function matches(element, selector) {
       var selectors = typeof selector === 'string' ? [selector] : selector,
           fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector;
       if (fn) {
         var match = false;
         selectors.every(function (sel) {
           if (fn.call(element, sel)) {
             match = true;
             return false;
           }
           return true;
         });
         return match;
       } else {
         return false;
       }
     }
   }]);
   return DOMIterator;
 }();

 var Mark = function () {
   function Mark(ctx) {
     classCallCheck(this, Mark);

     this.ctx = ctx;
     this.ie = false;
     var ua = window.navigator.userAgent;
     if (ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1) {
       this.ie = true;
     }
   }

   createClass(Mark, [{
     key: 'log',
     value: function log(msg) {
       var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'debug';

       var log = this.opt.log;
       if (!this.opt.debug) {
         return;
       }
       if ((typeof log === 'undefined' ? 'undefined' : _typeof(log)) === 'object' && typeof log[level] === 'function') {
         log[level]('mark.js: ' + msg);
       }
     }
   }, {
     key: 'escapeStr',
     value: function escapeStr(str) {
       return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
     }
   }, {
     key: 'createRegExp',
     value: function createRegExp(str) {
       if (this.opt.wildcards !== 'disabled') {
         str = this.setupWildcardsRegExp(str);
       }
       str = this.escapeStr(str);
       if (Object.keys(this.opt.synonyms).length) {
         str = this.createSynonymsRegExp(str);
       }
       if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
         str = this.setupIgnoreJoinersRegExp(str);
       }
       if (this.opt.diacritics) {
         str = this.createDiacriticsRegExp(str);
       }
       str = this.createMergedBlanksRegExp(str);
       if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
         str = this.createJoinersRegExp(str);
       }
       if (this.opt.wildcards !== 'disabled') {
         str = this.createWildcardsRegExp(str);
       }
       str = this.createAccuracyRegExp(str);
       return str;
     }
   }, {
     key: 'createSynonymsRegExp',
     value: function createSynonymsRegExp(str) {
       var syn = this.opt.synonyms,
           sens = this.opt.caseSensitive ? '' : 'i',
           joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? '\0' : '';
       for (var index in syn) {
         if (syn.hasOwnProperty(index)) {
           var value = syn[index],
               k1 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(index) : this.escapeStr(index),
               k2 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(value) : this.escapeStr(value);
           if (k1 !== '' && k2 !== '') {
             str = str.replace(new RegExp('(' + this.escapeStr(k1) + '|' + this.escapeStr(k2) + ')', 'gm' + sens), joinerPlaceholder + ('(' + this.processSynomyms(k1) + '|') + (this.processSynomyms(k2) + ')') + joinerPlaceholder);
           }
         }
       }
       return str;
     }
   }, {
     key: 'processSynomyms',
     value: function processSynomyms(str) {
       if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
         str = this.setupIgnoreJoinersRegExp(str);
       }
       return str;
     }
   }, {
     key: 'setupWildcardsRegExp',
     value: function setupWildcardsRegExp(str) {
       str = str.replace(/(?:\\)*\?/g, function (val) {
         return val.charAt(0) === '\\' ? '?' : '\x01';
       });
       return str.replace(/(?:\\)*\*/g, function (val) {
         return val.charAt(0) === '\\' ? '*' : '\x02';
       });
     }
   }, {
     key: 'createWildcardsRegExp',
     value: function createWildcardsRegExp(str) {
       var spaces = this.opt.wildcards === 'withSpaces';
       return str.replace(/\u0001/g, spaces ? '[\\S\\s]?' : '\\S?').replace(/\u0002/g, spaces ? '[\\S\\s]*?' : '\\S*');
     }
   }, {
     key: 'setupIgnoreJoinersRegExp',
     value: function setupIgnoreJoinersRegExp(str) {
       return str.replace(/[^(|)\\]/g, function (val, indx, original) {
         var nextChar = original.charAt(indx + 1);
         if (/[(|)\\]/.test(nextChar) || nextChar === '') {
           return val;
         } else {
           return val + '\0';
         }
       });
     }
   }, {
     key: 'createJoinersRegExp',
     value: function createJoinersRegExp(str) {
       var joiner = [];
       var ignorePunctuation = this.opt.ignorePunctuation;
       if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) {
         joiner.push(this.escapeStr(ignorePunctuation.join('')));
       }
       if (this.opt.ignoreJoiners) {
         joiner.push('\\u00ad\\u200b\\u200c\\u200d');
       }
       return joiner.length ? str.split(/\u0000+/).join('[' + joiner.join('') + ']*') : str;
     }
   }, {
     key: 'createDiacriticsRegExp',
     value: function createDiacriticsRegExp(str) {
       var sens = this.opt.caseSensitive ? '' : 'i',
           dct = this.opt.caseSensitive ? ['aàáảãạăằắẳẵặâầấẩẫậäåāą', 'AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćč', 'CÇĆČ', 'dđď', 'DĐĎ', 'eèéẻẽẹêềếểễệëěēę', 'EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïī', 'IÌÍỈĨỊÎÏĪ', 'lł', 'LŁ', 'nñňń', 'NÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøō', 'OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rř', 'RŘ', 'sšśșş', 'SŠŚȘŞ', 'tťțţ', 'TŤȚŢ', 'uùúủũụưừứửữựûüůū', 'UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿ', 'YÝỲỶỸỴŸ', 'zžżź', 'ZŽŻŹ'] : ['aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćčCÇĆČ', 'dđďDĐĎ', 'eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïīIÌÍỈĨỊÎÏĪ', 'lłLŁ', 'nñňńNÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rřRŘ', 'sšśșşSŠŚȘŞ', 'tťțţTŤȚŢ', 'uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿYÝỲỶỸỴŸ', 'zžżźZŽŻŹ'];
       var handled = [];
       str.split('').forEach(function (ch) {
         dct.every(function (dct) {
           if (dct.indexOf(ch) !== -1) {
             if (handled.indexOf(dct) > -1) {
               return false;
             }
             str = str.replace(new RegExp('[' + dct + ']', 'gm' + sens), '[' + dct + ']');
             handled.push(dct);
           }
           return true;
         });
       });
       return str;
     }
   }, {
     key: 'createMergedBlanksRegExp',
     value: function createMergedBlanksRegExp(str) {
       return str.replace(/[\s]+/gmi, '[\\s]+');
     }
   }, {
     key: 'createAccuracyRegExp',
     value: function createAccuracyRegExp(str) {
       var _this = this;

       var chars = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~¡¿';
       var acc = this.opt.accuracy,
           val = typeof acc === 'string' ? acc : acc.value,
           ls = typeof acc === 'string' ? [] : acc.limiters,
           lsJoin = '';
       ls.forEach(function (limiter) {
         lsJoin += '|' + _this.escapeStr(limiter);
       });
       switch (val) {
         case 'partially':
         default:
           return '()(' + str + ')';
         case 'complementary':
           lsJoin = '\\s' + (lsJoin ? lsJoin : this.escapeStr(chars));
           return '()([^' + lsJoin + ']*' + str + '[^' + lsJoin + ']*)';
         case 'exactly':
           return '(^|\\s' + lsJoin + ')(' + str + ')(?=$|\\s' + lsJoin + ')';
       }
     }
   }, {
     key: 'getSeparatedKeywords',
     value: function getSeparatedKeywords(sv) {
       var _this2 = this;

       var stack = [];
       sv.forEach(function (kw) {
         if (!_this2.opt.separateWordSearch) {
           if (kw.trim() && stack.indexOf(kw) === -1) {
             stack.push(kw);
           }
         } else {
           kw.split(' ').forEach(function (kwSplitted) {
             if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) {
               stack.push(kwSplitted);
             }
           });
         }
       });
       return {
         'keywords': stack.sort(function (a, b) {
           return b.length - a.length;
         }),
         'length': stack.length
       };
     }
   }, {
     key: 'isNumeric',
     value: function isNumeric(value) {
       return Number(parseFloat(value)) == value;
     }
   }, {
     key: 'checkRanges',
     value: function checkRanges(array) {
       var _this3 = this;

       if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== '[object Object]') {
         this.log('markRanges() will only accept an array of objects');
         this.opt.noMatch(array);
         return [];
       }
       var stack = [];
       var last = 0;
       array.sort(function (a, b) {
         return a.start - b.start;
       }).forEach(function (item) {
         var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last),
             start = _callNoMatchOnInvalid.start,
             end = _callNoMatchOnInvalid.end,
             valid = _callNoMatchOnInvalid.valid;

         if (valid) {
           item.start = start;
           item.length = end - start;
           stack.push(item);
           last = end;
         }
       });
       return stack;
     }
   }, {
     key: 'callNoMatchOnInvalidRanges',
     value: function callNoMatchOnInvalidRanges(range, last) {
       var start = void 0,
           end = void 0,
           valid = false;
       if (range && typeof range.start !== 'undefined') {
         start = parseInt(range.start, 10);
         end = start + parseInt(range.length, 10);
         if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) {
           valid = true;
         } else {
           this.log('Ignoring invalid or overlapping range: ' + ('' + JSON.stringify(range)));
           this.opt.noMatch(range);
         }
       } else {
         this.log('Ignoring invalid range: ' + JSON.stringify(range));
         this.opt.noMatch(range);
       }
       return {
         start: start,
         end: end,
         valid: valid
       };
     }
   }, {
     key: 'checkWhitespaceRanges',
     value: function checkWhitespaceRanges(range, originalLength, string) {
       var end = void 0,
           valid = true,
           max = string.length,
           offset = originalLength - max,
           start = parseInt(range.start, 10) - offset;
       start = start > max ? max : start;
       end = start + parseInt(range.length, 10);
       if (end > max) {
         end = max;
         this.log('End range automatically set to the max value of ' + max);
       }
       if (start < 0 || end - start < 0 || start > max || end > max) {
         valid = false;
         this.log('Invalid range: ' + JSON.stringify(range));
         this.opt.noMatch(range);
       } else if (string.substring(start, end).replace(/\s+/g, '') === '') {
         valid = false;
         this.log('Skipping whitespace only range: ' + JSON.stringify(range));
         this.opt.noMatch(range);
       }
       return {
         start: start,
         end: end,
         valid: valid
       };
     }
   }, {
     key: 'getTextNodes',
     value: function getTextNodes(cb) {
       var _this4 = this;

       var val = '',
           nodes = [];
       this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function (node) {
         nodes.push({
           start: val.length,
           end: (val += node.textContent).length,
           node: node
         });
       }, function (node) {
         if (_this4.matchesExclude(node.parentNode)) {
           return NodeFilter.FILTER_REJECT;
         } else {
           return NodeFilter.FILTER_ACCEPT;
         }
       }, function () {
         cb({
           value: val,
           nodes: nodes
         });
       });
     }
   }, {
     key: 'matchesExclude',
     value: function matchesExclude(el) {
       return DOMIterator.matches(el, this.opt.exclude.concat(['script', 'style', 'title', 'head', 'html']));
     }
   }, {
     key: 'wrapRangeInTextNode',
     value: function wrapRangeInTextNode(node, start, end) {
       var hEl = !this.opt.element ? 'mark' : this.opt.element,
           startNode = node.splitText(start),
           ret = startNode.splitText(end - start);
       var repl = document.createElement(hEl);
       repl.setAttribute('data-markjs', 'true');
       if (this.opt.className) {
         repl.setAttribute('class', this.opt.className);
       }
       repl.textContent = startNode.textContent;
       startNode.parentNode.replaceChild(repl, startNode);
       return ret;
     }
   }, {
     key: 'wrapRangeInMappedTextNode',
     value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) {
       var _this5 = this;

       dict.nodes.every(function (n, i) {
         var sibl = dict.nodes[i + 1];
         if (typeof sibl === 'undefined' || sibl.start > start) {
           if (!filterCb(n.node)) {
             return false;
           }
           var s = start - n.start,
               e = (end > n.end ? n.end : end) - n.start,
               startStr = dict.value.substr(0, n.start),
               endStr = dict.value.substr(e + n.start);
           n.node = _this5.wrapRangeInTextNode(n.node, s, e);
           dict.value = startStr + endStr;
           dict.nodes.forEach(function (k, j) {
             if (j >= i) {
               if (dict.nodes[j].start > 0 && j !== i) {
                 dict.nodes[j].start -= e;
               }
               dict.nodes[j].end -= e;
             }
           });
           end -= e;
           eachCb(n.node.previousSibling, n.start);
           if (end > n.end) {
             start = n.end;
           } else {
             return false;
           }
         }
         return true;
       });
     }
   }, {
     key: 'wrapMatches',
     value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) {
       var _this6 = this;

       var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
       this.getTextNodes(function (dict) {
         dict.nodes.forEach(function (node) {
           node = node.node;
           var match = void 0;
           while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== '') {
             if (!filterCb(match[matchIdx], node)) {
               continue;
             }
             var pos = match.index;
             if (matchIdx !== 0) {
               for (var i = 1; i < matchIdx; i++) {
                 pos += match[i].length;
               }
             }
             node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length);
             eachCb(node.previousSibling);
             regex.lastIndex = 0;
           }
         });
         endCb();
       });
     }
   }, {
     key: 'wrapMatchesAcrossElements',
     value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) {
       var _this7 = this;

       var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
       this.getTextNodes(function (dict) {
         var match = void 0;
         while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== '') {
           var start = match.index;
           if (matchIdx !== 0) {
             for (var i = 1; i < matchIdx; i++) {
               start += match[i].length;
             }
           }
           var end = start + match[matchIdx].length;
           _this7.wrapRangeInMappedTextNode(dict, start, end, function (node) {
             return filterCb(match[matchIdx], node);
           }, function (node, lastIndex) {
             regex.lastIndex = lastIndex;
             eachCb(node);
           });
         }
         endCb();
       });
     }
   }, {
     key: 'wrapRangeFromIndex',
     value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) {
       var _this8 = this;

       this.getTextNodes(function (dict) {
         var originalLength = dict.value.length;
         ranges.forEach(function (range, counter) {
           var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value),
               start = _checkWhitespaceRange.start,
               end = _checkWhitespaceRange.end,
               valid = _checkWhitespaceRange.valid;

           if (valid) {
             _this8.wrapRangeInMappedTextNode(dict, start, end, function (node) {
               return filterCb(node, range, dict.value.substring(start, end), counter);
             }, function (node) {
               eachCb(node, range);
             });
           }
         });
         endCb();
       });
     }
   }, {
     key: 'unwrapMatches',
     value: function unwrapMatches(node) {
       var parent = node.parentNode;
       var docFrag = document.createDocumentFragment();
       while (node.firstChild) {
         docFrag.appendChild(node.removeChild(node.firstChild));
       }
       parent.replaceChild(docFrag, node);
       if (!this.ie) {
         parent.normalize();
       } else {
         this.normalizeTextNode(parent);
       }
     }
   }, {
     key: 'normalizeTextNode',
     value: function normalizeTextNode(node) {
       if (!node) {
         return;
       }
       if (node.nodeType === 3) {
         while (node.nextSibling && node.nextSibling.nodeType === 3) {
           node.nodeValue += node.nextSibling.nodeValue;
           node.parentNode.removeChild(node.nextSibling);
         }
       } else {
         this.normalizeTextNode(node.firstChild);
       }
       this.normalizeTextNode(node.nextSibling);
     }
   }, {
     key: 'markRegExp',
     value: function markRegExp(regexp, opt) {
       var _this9 = this;

       this.opt = opt;
       this.log('Searching with expression "' + regexp + '"');
       var totalMatches = 0,
           fn = 'wrapMatches';
       var eachCb = function eachCb(element) {
         totalMatches++;
         _this9.opt.each(element);
       };
       if (this.opt.acrossElements) {
         fn = 'wrapMatchesAcrossElements';
       }
       this[fn](regexp, this.opt.ignoreGroups, function (match, node) {
         return _this9.opt.filter(node, match, totalMatches);
       }, eachCb, function () {
         if (totalMatches === 0) {
           _this9.opt.noMatch(regexp);
         }
         _this9.opt.done(totalMatches);
       });
     }
   }, {
     key: 'mark',
     value: function mark(sv, opt) {
       var _this10 = this;

       this.opt = opt;
       var totalMatches = 0,
           fn = 'wrapMatches';

       var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === 'string' ? [sv] : sv),
           kwArr = _getSeparatedKeywords.keywords,
           kwArrLen = _getSeparatedKeywords.length,
           sens = this.opt.caseSensitive ? '' : 'i',
           handler = function handler(kw) {
         var regex = new RegExp(_this10.createRegExp(kw), 'gm' + sens),
             matches = 0;
         _this10.log('Searching with expression "' + regex + '"');
         _this10[fn](regex, 1, function (term, node) {
           return _this10.opt.filter(node, kw, totalMatches, matches);
         }, function (element) {
           matches++;
           totalMatches++;
           _this10.opt.each(element);
         }, function () {
           if (matches === 0) {
             _this10.opt.noMatch(kw);
           }
           if (kwArr[kwArrLen - 1] === kw) {
             _this10.opt.done(totalMatches);
           } else {
             handler(kwArr[kwArr.indexOf(kw) + 1]);
           }
         });
       };

       if (this.opt.acrossElements) {
         fn = 'wrapMatchesAcrossElements';
       }
       if (kwArrLen === 0) {
         this.opt.done(totalMatches);
       } else {
         handler(kwArr[0]);
       }
     }
   }, {
     key: 'markRanges',
     value: function markRanges(rawRanges, opt) {
       var _this11 = this;

       this.opt = opt;
       var totalMatches = 0,
           ranges = this.checkRanges(rawRanges);
       if (ranges && ranges.length) {
         this.log('Starting to mark with the following ranges: ' + JSON.stringify(ranges));
         this.wrapRangeFromIndex(ranges, function (node, range, match, counter) {
           return _this11.opt.filter(node, range, match, counter);
         }, function (element, range) {
           totalMatches++;
           _this11.opt.each(element, range);
         }, function () {
           _this11.opt.done(totalMatches);
         });
       } else {
         this.opt.done(totalMatches);
       }
     }
   }, {
     key: 'unmark',
     value: function unmark(opt) {
       var _this12 = this;

       this.opt = opt;
       var sel = this.opt.element ? this.opt.element : '*';
       sel += '[data-markjs]';
       if (this.opt.className) {
         sel += '.' + this.opt.className;
       }
       this.log('Removal selector "' + sel + '"');
       this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function (node) {
         _this12.unwrapMatches(node);
       }, function (node) {
         var matchesSel = DOMIterator.matches(node, sel),
             matchesExclude = _this12.matchesExclude(node);
         if (!matchesSel || matchesExclude) {
           return NodeFilter.FILTER_REJECT;
         } else {
           return NodeFilter.FILTER_ACCEPT;
         }
       }, this.opt.done);
     }
   }, {
     key: 'opt',
     set: function set$$1(val) {
       this._opt = _extends({}, {
         'element': '',
         'className': '',
         'exclude': [],
         'iframes': false,
         'iframesTimeout': 5000,
         'separateWordSearch': true,
         'diacritics': true,
         'synonyms': {},
         'accuracy': 'partially',
         'acrossElements': false,
         'caseSensitive': false,
         'ignoreJoiners': false,
         'ignoreGroups': 0,
         'ignorePunctuation': [],
         'wildcards': 'disabled',
         'each': function each() {},
         'noMatch': function noMatch() {},
         'filter': function filter() {
           return true;
         },
         'done': function done() {},
         'debug': false,
         'log': window.console
       }, val);
     },
     get: function get$$1() {
       return this._opt;
     }
   }, {
     key: 'iterator',
     get: function get$$1() {
       return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout);
     }
   }]);
   return Mark;
 }();

 $.fn.mark = function (sv, opt) {
   new Mark(this.get()).mark(sv, opt);
   return this;
 };
 $.fn.markRegExp = function (regexp, opt) {
   new Mark(this.get()).markRegExp(regexp, opt);
   return this;
 };
 $.fn.markRanges = function (ranges, opt) {
   new Mark(this.get()).markRanges(ranges, opt);
   return this;
 };
 $.fn.unmark = function (opt) {
   new Mark(this.get()).unmark(opt);
   return this;
 };

 return $;

 })));
}( jQuery ) );

/* סינון מונחון */
$(function() {
  var $input = $("input[name='keyword']"),
    $context = $("#context ul li");
  	$outofcontext = $("#context h3 "),
  $input.on("input", function() {
    var term = $(this).val();
    $context.show().unmark();
    if (term) {
      $context.mark(term, {
        done: function() {
          $context.not(":has(mark)").hide();
          $outofcontext.hide();
        }
      });
    }  else {
          $outofcontext.show();
    }
  });
});
$("#heroButton").click(function(e) {
    e.preventDefault();
    var aid = $(this).attr("href");
    $('html,body').animate({scrollTop: $(aid).offset().top},'slow');
});

הודפס מתוך מאגר הידע של דואלוג בכתובת: "https://doalogue.co.il/wiki/index.php?title=מדיה_ויקי:Mobile.js&oldid=9061"

משותף תחת רישיון CC-BY 4.0. ניתן להפיץ באופן חופשי תוך מתן קרדיט לדואלוג וקישור למקור.