code: function replaceCharacter(search, replace, subject, count) {
    var i = 0, j = 0, temp = '', repl = '', sl = 0,
      fl = 0, f = [].concat(search), r = [].concat(replace),
      s = subject, ra = Object.prototype.toString.call(r) === '[object Array]',
      sa = Object.prototype.toString.call(s) === '[object Array]', s = [].concat(s);
    
    if(typeof(search) === 'object' && typeof(replace) === 'string' ) {
      temp = replace; 
      replace = new Array();
      for (i=0; i < search.length; i+=1) { 
        replace[i] = temp; 
      }
      temp = ''; 
      r = [].concat(replace); 
      ra = Object.prototype.toString.call(r) === '[object Array]';
    }
    
    if (count) {
      this.window[count] = 0;
    }
  
    for (i = 0, sl = s.length; i < sl; i++) {
      if (s[i] === '') {
        continue;
      }
      for (j = 0, fl = f.length; j < fl; j++) {
        temp = s[i] + '';
        repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
        s[i] = (temp)
          .split(f[j])
          .join(repl);
        if (count) {
          this.window[count] += ((temp.split(f[j])).length - 1);
        } 
      }
    }
    return sa ? s : s[0];
  }
docs: Method for character replacement.