亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prototype151.js

?? 馬士兵老師的代碼
?? JS
?? 第 1 頁 / 共 5 頁
字號:
/*  Prototype JavaScript framework, version 1.5.1
 *  (c) 2005-2007 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
/*--------------------------------------------------------------------------*/

var Prototype = {
  Version: '1.5.1',

  Browser: {
    IE:     !!(window.attachEvent && !window.opera),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
  },

  BrowserFeatures: {
    XPath: !!document.evaluate,
    ElementExtensions: !!window.HTMLElement,
    SpecificElementExtensions:
      (document.createElement('div').__proto__ !==
       document.createElement('form').__proto__)
  },

  ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',
  JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,

  emptyFunction: function() { },
  K: function(x) { return x }
}

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

var Abstract = new Object();

Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
}

Object.extend(Object, {
  inspect: function(object) {
    try {
      if (object === undefined) return 'undefined';
      if (object === null) return 'null';
      return object.inspect ? object.inspect() : object.toString();
    } catch (e) {
      if (e instanceof RangeError) return '...';
      throw e;
    }
  },

  toJSON: function(object) {
    var type = typeof object;
    switch(type) {
      case 'undefined':
      case 'function':
      case 'unknown': return;
      case 'boolean': return object.toString();
    }
    if (object === null) return 'null';
    if (object.toJSON) return object.toJSON();
    if (object.ownerDocument === document) return;
    var results = [];
    for (var property in object) {
      var value = Object.toJSON(object[property]);
      if (value !== undefined)
        results.push(property.toJSON() + ': ' + value);
    }
    return '{' + results.join(', ') + '}';
  },

  keys: function(object) {
    var keys = [];
    for (var property in object)
      keys.push(property);
    return keys;
  },

  values: function(object) {
    var values = [];
    for (var property in object)
      values.push(object[property]);
    return values;
  },

  clone: function(object) {
    return Object.extend({}, object);
  }
});

Function.prototype.bind = function() {
  var __method = this, args = $A(arguments), object = args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}

Function.prototype.bindAsEventListener = function(object) {
  var __method = this, args = $A(arguments), object = args.shift();
  return function(event) {
    return __method.apply(object, [event || window.event].concat(args));
  }
}

Object.extend(Number.prototype, {
  toColorPart: function() {
    return this.toPaddedString(2, 16);
  },

  succ: function() {
    return this + 1;
  },

  times: function(iterator) {
    $R(0, this, true).each(iterator);
    return this;
  },

  toPaddedString: function(length, radix) {
    var string = this.toString(radix || 10);
    return '0'.times(length - string.length) + string;
  },

  toJSON: function() {
    return isFinite(this) ? this.toString() : 'null';
  }
});

Date.prototype.toJSON = function() {
  return '"' + this.getFullYear() + '-' +
    (this.getMonth() + 1).toPaddedString(2) + '-' +
    this.getDate().toPaddedString(2) + 'T' +
    this.getHours().toPaddedString(2) + ':' +
    this.getMinutes().toPaddedString(2) + ':' +
    this.getSeconds().toPaddedString(2) + '"';
};

var Try = {
  these: function() {
    var returnValue;

    for (var i = 0, length = arguments.length; i < length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) {}
    }

    return returnValue;
  }
}

/*--------------------------------------------------------------------------*/

var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {
  initialize: function(callback, frequency) {
    this.callback = callback;
    this.frequency = frequency;
    this.currentlyExecuting = false;

    this.registerCallback();
  },

  registerCallback: function() {
    this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  stop: function() {
    if (!this.timer) return;
    clearInterval(this.timer);
    this.timer = null;
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.callback(this);
      } finally {
        this.currentlyExecuting = false;
      }
    }
  }
}
Object.extend(String, {
  interpret: function(value) {
    return value == null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, {
  gsub: function(pattern, replacement) {
    var result = '', source = this, match;
    replacement = arguments.callee.prepareReplacement(replacement);

    while (source.length > 0) {
      if (match = source.match(pattern)) {
        result += source.slice(0, match.index);
        result += String.interpret(replacement(match));
        source  = source.slice(match.index + match[0].length);
      } else {
        result += source, source = '';
      }
    }
    return result;
  },

  sub: function(pattern, replacement, count) {
    replacement = this.gsub.prepareReplacement(replacement);
    count = count === undefined ? 1 : count;

    return this.gsub(pattern, function(match) {
      if (--count < 0) return match[0];
      return replacement(match);
    });
  },

  scan: function(pattern, iterator) {
    this.gsub(pattern, iterator);
    return this;
  },
  
  truncate: function(length, truncation) {
    length = length || 30;
    truncation = truncation === undefined ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : this;
  },

  strip: function() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  },

  stripTags: function() {
    return this.replace(/<\/?[^>]+>/gi, '');
  },

  stripScripts: function() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
  },

  extractScripts: function() {
    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  },

  evalScripts: function() {
    return this.extractScripts().map(function(script) { return eval(script) });
  },

  escapeHTML: function() {
    var self = arguments.callee;
    self.text.data = this;
    return self.div.innerHTML;
  },

  unescapeHTML: function() {
    var div = document.createElement('div');
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? (div.childNodes.length > 1 ?
      $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
      div.childNodes[0].nodeValue) : '';
  },

  toQueryParams: function(separator) {
    var match = this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) return {};

    return match[1].split(separator || '&').inject({}, function(hash, pair) {
      if ((pair = pair.split('='))[0]) {
        var key = decodeURIComponent(pair.shift());
        var value = pair.length > 1 ? pair.join('=') : pair[0];
        if (value != undefined) value = decodeURIComponent(value);

        if (key in hash) {
          if (hash[key].constructor != Array) hash[key] = [hash[key]];
          hash[key].push(value);
        }
        else hash[key] = value;
      }
      return hash;
    });
  },

  toArray: function() {
    return this.split('');
  },

  succ: function() {
    return this.slice(0, this.length - 1) +
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
  },

  times: function(count) {
    var result = '';
    for (var i = 0; i < count; i++) result += this;
    return result;
  },

  camelize: function() {
    var parts = this.split('-'), len = parts.length;
    if (len == 1) return parts[0];

    var camelized = this.charAt(0) == '-'
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
      : parts[0];

    for (var i = 1; i < len; i++)
      camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

    return camelized;
  },

  capitalize: function() {
    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
  },

  underscore: function() {
    return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
  },

  dasherize: function() {
    return this.gsub(/_/,'-');
  },

  inspect: function(useDoubleQuotes) {
    var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
      var character = String.specialChar[match[0]];
      return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
    });
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
  },

  toJSON: function() {
    return this.inspect(true);
  },

  unfilterJSON: function(filter) {
    return this.sub(filter || Prototype.JSONFilter, '#{1}');
  },

  evalJSON: function(sanitize) {
    var json = this.unfilterJSON();
    try {
      if (!sanitize || (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(json)))
        return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
  },

  include: function(pattern) {
    return this.indexOf(pattern) > -1;
  },

  startsWith: function(pattern) {
    return this.indexOf(pattern) === 0;
  },

  endsWith: function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
  },

  empty: function() {
    return this == '';
  },

  blank: function() {
    return /^\s*$/.test(this);
  }
});

if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
  escapeHTML: function() {
    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  },
  unescapeHTML: function() {
    return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
  }
});

String.prototype.gsub.prepareReplacement = function(replacement) {
  if (typeof replacement == 'function') return replacement;
  var template = new Template(replacement);
  return function(match) { return template.evaluate(match) };
}

String.prototype.parseQuery = String.prototype.toQueryParams;

Object.extend(String.prototype.escapeHTML, {
  div:  document.createElement('div'),
  text: document.createTextNode('')
});

with (String.prototype.escapeHTML) div.appendChild(text);

var Template = Class.create();
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
Template.prototype = {
  initialize: function(template, pattern) {
    this.template = template.toString();
    this.pattern  = pattern || Template.Pattern;
  },

  evaluate: function(object) {
    return this.template.gsub(this.pattern, function(match) {
      var before = match[1];
      if (before == '\\') return match[2];
      return before + String.interpret(object[match[3]]);
    });
  }
}

var $break = {}, $continue = new Error('"throw $continue" is deprecated, use "return" instead');

var Enumerable = {
  each: function(iterator) {
    var index = 0;
    try {
      this._each(function(value) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级电影网站| 欧美视频日韩视频| 中文字幕不卡一区| av福利精品导航| 亚洲人妖av一区二区| 欧美在线短视频| 奇米精品一区二区三区在线观看| 欧美一区二区三区四区视频| 国产一区二区调教| 亚洲男同性视频| 在线播放日韩导航| 国产精品一二三四五| 国产精品国产三级国产aⅴ中文| 91在线观看视频| 日本欧美在线看| 国产婷婷一区二区| 日本丶国产丶欧美色综合| 午夜精品福利久久久| 26uuu亚洲综合色| 91久久精品一区二区| 久久精品亚洲精品国产欧美 | 国产一区二区三区黄视频| 精品国产乱码久久久久久1区2区| 亚洲电影在线播放| 成人午夜电影久久影院| 欧美午夜精品一区| 亚洲福利视频一区| 欧美在线观看视频在线| 亚洲乱码国产乱码精品精的特点| 成人高清免费在线播放| 国产精品免费av| 国产成人啪午夜精品网站男同| 精品捆绑美女sm三区| 精品一区二区免费视频| 亚洲精品一区二区精华| 国产综合成人久久大片91| 精品国产伦一区二区三区免费| 老司机精品视频线观看86| 亚洲精品在线免费播放| 国产成人精品亚洲777人妖| 久久精品这里都是精品| 北条麻妃一区二区三区| 日韩毛片视频在线看| 欧美三区在线观看| 蜜桃av一区二区在线观看| 精品av久久707| 成人av在线资源| 亚洲免费看黄网站| 欧美精品在线观看播放| 久久精品国内一区二区三区| 久久久久久久综合色一本| 不卡在线视频中文字幕| 亚洲国产精品久久不卡毛片| 欧美电影精品一区二区| 成人激情免费网站| 亚洲影视在线观看| 欧美va日韩va| 91视频免费播放| 日韩电影在线免费| 中文字幕在线不卡一区| 欧美色手机在线观看| 激情亚洲综合在线| 亚洲美女在线一区| 精品久久久久久久久久久久久久久| 成人在线视频一区二区| 亚洲成av人片www| 国产精品视频你懂的| 欧美日韩精品是欧美日韩精品| 久久国产精品色| 一区二区三区丝袜| 久久精品视频一区| 欧美午夜影院一区| 成人性视频免费网站| 日韩 欧美一区二区三区| 中文字幕第一页久久| 欧美高清精品3d| 91蝌蚪porny九色| 国产乱人伦精品一区二区在线观看| 亚洲在线成人精品| 一区二区中文视频| 久久精品视频在线免费观看| 欧美白人最猛性xxxxx69交| 99久久精品国产毛片| 精品一区二区三区在线播放| 亚洲成人综合网站| 亚洲欧美另类图片小说| 国产亚洲欧美激情| 26uuuu精品一区二区| 欧美日本免费一区二区三区| 色综合天天天天做夜夜夜夜做| 国产成人日日夜夜| 国产精品一区二区男女羞羞无遮挡| 图片区日韩欧美亚洲| 亚洲欧美另类综合偷拍| 国产精品欧美综合在线| 久久精品人人做人人爽人人| 制服丝袜中文字幕一区| 欧美日韩一区二区电影| 欧美影片第一页| 色视频成人在线观看免| 色综合亚洲欧洲| 91麻豆视频网站| 一本一道综合狠狠老| 91一区二区三区在线播放| 成人av在线一区二区| 成人激情免费视频| 国产**成人网毛片九色| 成人国产视频在线观看| 成人精品国产福利| av电影一区二区| 99久久久久久| 在线视频综合导航| 欧美日产在线观看| 日韩一级免费一区| 日韩精品一区二区三区视频| 欧美电视剧在线看免费| 久久色.com| 亚洲欧洲精品一区二区三区不卡| 中文字幕一区二区三区在线观看 | 国产精品中文欧美| 国产美女在线观看一区| 国产成人99久久亚洲综合精品| 国产成人在线看| 91在线观看免费视频| 欧美色图在线观看| 欧美电影在线免费观看| 精品久久99ma| 国产日韩精品一区二区浪潮av| 国产精品麻豆网站| 亚洲一区二区三区四区中文字幕| 午夜久久久久久久久| 激情综合网最新| 波多野结衣欧美| 欧美日韩一区小说| 日韩视频永久免费| 欧美国产激情二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 婷婷六月综合网| 国产成人免费视频网站| 99久久精品国产毛片| 91精品在线观看入口| 久久精品一区二区三区不卡牛牛| 亚洲色图一区二区三区| 免费观看在线综合| a亚洲天堂av| 2020国产精品自拍| 自拍偷在线精品自拍偷无码专区 | 一区免费观看视频| 日韩精品五月天| 成人美女视频在线观看| 欧美日韩高清在线| 国产精品久久久久影视| 日本不卡123| 色综合久久天天| 久久日一线二线三线suv| 一区二区三区四区中文字幕| 国产在线精品一区在线观看麻豆| 在线视频欧美区| 亚洲国产精品av| 久久99国产精品久久99果冻传媒| 91在线精品一区二区| 26uuu亚洲综合色欧美| 亚洲动漫第一页| 91一区二区三区在线观看| 欧美α欧美αv大片| 亚洲狠狠爱一区二区三区| 成人一道本在线| 久久天堂av综合合色蜜桃网| 性做久久久久久免费观看| 成人91在线观看| 久久精品亚洲一区二区三区浴池| 日韩1区2区日韩1区2区| 在线看不卡av| 亚洲天天做日日做天天谢日日欢 | 欧美在线你懂的| 国产欧美一区二区精品性色超碰 | 蜜臀av性久久久久蜜臀av麻豆| 一本到高清视频免费精品| 国产日韩精品一区二区浪潮av| 久久疯狂做爰流白浆xx| 欧美日韩国产区一| 亚洲va国产va欧美va观看| 在线观看亚洲专区| 亚洲三级视频在线观看| 99久久精品一区二区| 国产精品女上位| va亚洲va日韩不卡在线观看| 久久蜜臀精品av| 国产成人亚洲精品青草天美| 精品国产乱码久久久久久1区2区 | 日韩**一区毛片| 欧美福利视频一区| 性久久久久久久久| 91精品免费观看| 青草国产精品久久久久久| 日韩一区二区视频在线观看| 久久av资源网| 久久久久久免费| 不卡av在线网| 亚洲精品乱码久久久久久|