Скрипт для справжніх програмістів

Особисто я читаю газети не так багато. Мені цікавіше книжку почитати або щось свіже в інтернеті. Але ось цей прінт газети  мене дууже зацікавив. Спеціально вставив лінк що б побачити у великому розмірі. Дальше я розкажу як це зробити на своєму сайті. Що б поглянути як він працює нажміть на це посилання

Сьогодні ось під цей шабаш я зробив jquery плагін. 

Я як типовий програміст не дуже люблю описувати що і куди, для мене головне результат і код.
Перше викладу код потім побачим. Постараюсь в найближчому майбутньому описати кусок коду. 

Ось посилання на плагін. Покищо він буде там.

/**
 * oneZero plugin for true coders 
 * 
 * How to use
 * 
 * $('html').oneZero();  //replace all chars that is valid for default regex in html node
 * 
 * $('#footer').oneZero({charsPattern:/^[0-9]$/i});  //replace all numerical chars in #footer node
 *
 *
 * @demo http://funivan.com/?rundemo=onezero
 * @author Ivan Scherbak 
 * @version 6/8/12 5:37 PM
 */
(function($) {
  $.fn.oneZero = function(userOptions) {
                
    var options = {
		charsPattern : /^[a-z0-9\u0410-\u044F\u0401\u0451єїі]$/i
    }            

    options = $.extend(options, userOptions);

    var oneZeroMake = function(node){
      var nodeElements = node.contents();
      nodeElements.each(function(){
                    
        if(this.nodeType==3){
          var textArray = this.nodeValue.split("");
          for(letterIndex in textArray){
            if(options.charsPattern.test(textArray[letterIndex])){
              if(textArray[letterIndex].charCodeAt(0)%2){
                textArray[letterIndex]='1';
              }else{
                textArray[letterIndex]= '0';
              }
            }
          }
          this.nodeValue = textArray.join("");
        } else {
          oneZeroMake($(this));
        }
      })
    }
                
    oneZeroMake($(this))
  };	
})(jQuery);