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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? prototype.js

?? 酒店管理系統(tǒng) 北大青鳥(niǎo)商業(yè)項(xiàng)目
?? JS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/*  Prototype JavaScript framework, version 1.6.0.2
 *  (c) 2005-2008 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.6.0.2',

  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,
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
  },

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

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

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

if (Prototype.Browser.MobileSafari)
  Prototype.BrowserFeatures.SpecificElementExtensions = false;


/* Based on Alex Arnell's inheritance implementation. */
var Class = {
  create: function() {
    var parent = null, properties = $A(arguments);
    if (Object.isFunction(properties[0]))
      parent = properties.shift();

    function klass() {
      this.initialize.apply(this, arguments);
    }

    Object.extend(klass, Class.Methods);
    klass.superclass = parent;
    klass.subclasses = [];

    if (parent) {
      var subclass = function() { };
      subclass.prototype = parent.prototype;
      klass.prototype = new subclass;
      parent.subclasses.push(klass);
    }

    for (var i = 0; i < properties.length; i++)
      klass.addMethods(properties[i]);

    if (!klass.prototype.initialize)
      klass.prototype.initialize = Prototype.emptyFunction;

    klass.prototype.constructor = klass;

    return klass;
  }
};

Class.Methods = {
  addMethods: function(source) {
    var ancestor   = this.superclass && this.superclass.prototype;
    var properties = Object.keys(source);

    if (!Object.keys({ toString: true }).length)
      properties.push("toString", "valueOf");

    for (var i = 0, length = properties.length; i < length; i++) {
      var property = properties[i], value = source[property];
      if (ancestor && Object.isFunction(value) &&
          value.argumentNames().first() == "$super") {
        var method = value, value = Object.extend((function(m) {
          return function() { return ancestor[m].apply(this, arguments) };
        })(property).wrap(method), {
          valueOf:  function() { return method },
          toString: function() { return method.toString() }
        });
      }
      this.prototype[property] = value;
    }

    return this;
  }
};

var Abstract = { };

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.isUndefined(object)) return 'undefined';
      if (object === null) return 'null';
      return object.inspect ? object.inspect() : String(object);
    } 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.isElement(object)) return;

    var results = [];
    for (var property in object) {
      var value = Object.toJSON(object[property]);
      if (!Object.isUndefined(value))
        results.push(property.toJSON() + ': ' + value);
    }

    return '{' + results.join(', ') + '}';
  },

  toQueryString: function(object) {
    return $H(object).toQueryString();
  },

  toHTML: function(object) {
    return object && object.toHTML ? object.toHTML() : String.interpret(object);
  },

  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);
  },

  isElement: function(object) {
    return object && object.nodeType == 1;
  },

  isArray: function(object) {
    return object != null && typeof object == "object" &&
      'splice' in object && 'join' in object;
  },

  isHash: function(object) {
    return object instanceof Hash;
  },

  isFunction: function(object) {
    return typeof object == "function";
  },

  isString: function(object) {
    return typeof object == "string";
  },

  isNumber: function(object) {
    return typeof object == "number";
  },

  isUndefined: function(object) {
    return typeof object == "undefined";
  }
});

Object.extend(Function.prototype, {
  argumentNames: function() {
    var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");
    return names.length == 1 && !names[0] ? [] : names;
  },

  bind: function() {
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
    var __method = this, args = $A(arguments), object = args.shift();
    return function() {
      return __method.apply(object, args.concat($A(arguments)));
    }
  },

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

  curry: function() {
    if (!arguments.length) return this;
    var __method = this, args = $A(arguments);
    return function() {
      return __method.apply(this, args.concat($A(arguments)));
    }
  },

  delay: function() {
    var __method = this, args = $A(arguments), timeout = args.shift() * 1000;
    return window.setTimeout(function() {
      return __method.apply(__method, args);
    }, timeout);
  },

  wrap: function(wrapper) {
    var __method = this;
    return function() {
      return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
    }
  },

  methodize: function() {
    if (this._methodized) return this._methodized;
    var __method = this;
    return this._methodized = function() {
      return __method.apply(null, [this].concat($A(arguments)));
    };
  }
});

Function.prototype.defer = Function.prototype.delay.curry(0.01);

Date.prototype.toJSON = function() {
  return '"' + this.getUTCFullYear() + '-' +
    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
    this.getUTCDate().toPaddedString(2) + 'T' +
    this.getUTCHours().toPaddedString(2) + ':' +
    this.getUTCMinutes().toPaddedString(2) + ':' +
    this.getUTCSeconds().toPaddedString(2) + 'Z"';
};

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;
  }
};

RegExp.prototype.match = RegExp.prototype.test;

RegExp.escape = function(str) {
  return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
};

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

var PeriodicalExecuter = Class.create({
  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);
  },

  execute: function() {
    this.callback(this);
  },

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

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.execute();
      } 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 = Object.isUndefined(count) ? 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 String(this);
  },

  truncate: function(length, truncation) {
    length = length || 30;
    truncation = Object.isUndefined(truncation) ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : String(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 = new Element('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 (!Object.isArray(hash[key])) 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) {
    return count < 1 ? '' : new Array(count + 1).join(this);
  },

  camelize: function() {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区美女| 日韩一区欧美二区| 国产精品美女www爽爽爽| 欧美tickling网站挠脚心| 91精品国产综合久久久蜜臀图片 | 欧洲一区二区三区在线| 日本乱人伦一区| 欧美视频一区二区在线观看| 欧美日韩中文字幕精品| 欧美一区二区国产| 2020国产精品自拍| 国产精品久久久久久久久快鸭| 国产精品久久久久永久免费观看| 亚洲欧美一区二区三区极速播放 | 日韩一区二区三| 精品国免费一区二区三区| 久久精品视频一区二区三区| 国产精品久久久久久久浪潮网站| 亚洲三级在线看| 午夜精品一区二区三区免费视频| 婷婷六月综合亚洲| 国产一区二区三区国产| 99在线精品视频| 在线观看日韩电影| 欧美一区二区在线免费播放| 久久久久久亚洲综合| 成人免费视频在线观看| 亚洲1区2区3区视频| 精品中文av资源站在线观看| www.欧美.com| 91.com在线观看| 久久久.com| 亚洲精品免费电影| 老司机精品视频在线| 成人一区二区三区中文字幕| 91极品视觉盛宴| 精品久久一二三区| 亚洲免费视频成人| 精品一区二区免费视频| 91麻豆成人久久精品二区三区| 欧美高清视频在线高清观看mv色露露十八| 2020日本不卡一区二区视频| 亚洲免费观看高清完整版在线观看| 视频精品一区二区| 粉嫩绯色av一区二区在线观看| 欧美色窝79yyyycom| 亚洲精品一区二区三区四区高清 | 成人性色生活片| 欧美精品久久久久久久多人混战| 久久久久久久久久久久久女国产乱 | 欧美日韩国产一级| 久久久欧美精品sm网站| 婷婷开心久久网| 成人激情动漫在线观看| 日韩一级高清毛片| 亚洲精品中文在线观看| 国内精品国产成人国产三级粉色| 色狠狠综合天天综合综合| 久久人人爽人人爽| 亚洲mv大片欧洲mv大片精品| 99久久er热在这里只有精品15| 精品久久人人做人人爰| 午夜精品一区二区三区三上悠亚| 99久久免费精品高清特色大片| 精品久久久久久最新网址| 亚洲福利一二三区| 91日韩在线专区| 久久久久久久久一| 麻豆91精品视频| 欧美午夜在线观看| 日韩毛片精品高清免费| 国产盗摄一区二区| 欧美一级日韩免费不卡| 午夜伊人狠狠久久| 欧美亚洲动漫精品| 成人欧美一区二区三区视频网页| 国产精品18久久久久久久网站| 欧美一二三区精品| 五月婷婷综合激情| 欧美亚洲自拍偷拍| 亚洲精品国产精华液| 99re免费视频精品全部| 亚洲国产成人在线| 国产成人在线视频网站| 久久嫩草精品久久久久| 久久99最新地址| 欧美一级电影网站| 日本色综合中文字幕| 欧美乱妇15p| 天使萌一区二区三区免费观看| 在线观看日韩av先锋影音电影院| 国产精品美女久久久久久久久久久| 国产一区不卡精品| 久久久久久久久久久久电影| 精品一区二区三区蜜桃| 精品少妇一区二区三区在线播放 | 不卡视频免费播放| 中文在线一区二区| 成人性生交大片免费看在线播放| 久久久久国产免费免费 | 3atv一区二区三区| 日韩av一区二区三区四区| 欧美二区在线观看| 秋霞影院一区二区| 欧美xxxxx裸体时装秀| 精品制服美女丁香| 国产亚洲一区二区三区四区| 粉嫩绯色av一区二区在线观看| 欧美国产成人精品| av激情亚洲男人天堂| 亚洲色图另类专区| 欧美图区在线视频| 日韩电影在线看| 精品国产网站在线观看| 国产精品乡下勾搭老头1| 国产精品视频在线看| 99久久久精品免费观看国产蜜| 亚洲女人****多毛耸耸8| 91蜜桃在线免费视频| 亚洲午夜久久久久中文字幕久| 91精品国产综合久久久久久久久久| 另类小说欧美激情| 国产午夜亚洲精品羞羞网站| 99久久综合狠狠综合久久| 一区二区三区日韩欧美精品| 欧美精品少妇一区二区三区| 精油按摩中文字幕久久| 国产精品女主播av| 欧美日韩精品一二三区| 国内精品视频一区二区三区八戒| 国产精品久久久久永久免费观看| 在线视频你懂得一区二区三区| 日日夜夜免费精品| 国产欧美一区二区精品仙草咪| 色欲综合视频天天天| 蜜臀av在线播放一区二区三区| 中文成人综合网| 欧美乱妇一区二区三区不卡视频| 国产麻豆91精品| 一区二区三区在线观看国产| 精品久久久久香蕉网| 91免费版在线看| 久久精品99国产精品| 中文字幕一区二区三区在线播放 | 欧美一区二区三区在线视频| 国产不卡视频在线观看| 亚洲电影中文字幕在线观看| 精品精品国产高清一毛片一天堂| av激情亚洲男人天堂| 免费成人小视频| 亚洲人成网站精品片在线观看| 日韩欧美亚洲国产另类| 色婷婷亚洲综合| 韩国av一区二区三区四区| 亚洲午夜久久久久久久久久久| 久久久久99精品国产片| 欧美日韩的一区二区| 不卡高清视频专区| 精品午夜一区二区三区在线观看 | 成人午夜精品在线| 视频一区二区中文字幕| 最近日韩中文字幕| 久久一区二区三区四区| 欧洲激情一区二区| 国产成人在线视频网址| 欧美aaaaaa午夜精品| 伊人婷婷欧美激情| 亚洲国产精品高清| 精品99999| 91精品国产麻豆| 欧美性高清videossexo| 成年人网站91| 国产成人免费在线视频| 美腿丝袜亚洲综合| 午夜久久电影网| 亚洲精品国产精品乱码不99| 中文字幕乱码日本亚洲一区二区| 欧美一区二区精美| 欧美色成人综合| 色综合久久综合中文综合网| 国产精品99久久久久久久vr| 麻豆91在线播放免费| 五月婷婷激情综合| 亚洲韩国精品一区| 亚洲欧美日本韩国| 亚洲欧美自拍偷拍| 国产三区在线成人av| 精品国产百合女同互慰| 欧美一区二区三区四区高清 | 国产精品久线观看视频| 久久久天堂av| 久久久精品国产免费观看同学| 日韩欧美在线不卡| 日韩一区二区精品葵司在线| 91精品在线麻豆| 777午夜精品视频在线播放| 欧美日韩国产乱码电影| 欧美精品第一页| 欧美日韩精品欧美日韩精品一 | 日韩一级免费观看|