Zeile 1 | Zeile 1 |
---|
/* Prototype JavaScript framework, version 1.7
| /* Prototype JavaScript framework, version 1.7.1
|
* (c) 2005-2010 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style license.
| * (c) 2005-2010 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style license.
|
Zeile 8 | Zeile 8 |
---|
var Prototype = {
|
var Prototype = {
|
Version: '1.7',
| Version: '1.7.1',
|
Browser: (function(){ var ua = navigator.userAgent;
| Browser: (function(){ var ua = navigator.userAgent;
|
Zeile 49 | Zeile 49 |
---|
})() },
|
})() },
|
ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
| ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script\\s*>',
|
JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
emptyFunction: function() { },
| JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
emptyFunction: function() { },
|
Zeile 120 | Zeile 120 |
---|
return function() { return ancestor[m].apply(this, arguments); }; })(property).wrap(method);
|
return function() { return ancestor[m].apply(this, arguments); }; })(property).wrap(method);
|
value.valueOf = method.valueOf.bind(method); value.toString = method.toString.bind(method);
| value.valueOf = (function(method) { return function() { return method.valueOf.call(method); }; })(method);
value.toString = (function(method) { return function() { return method.toString.call(method); }; })(method);
|
} this.prototype[property] = value; }
| } this.prototype[property] = value; }
|
Zeile 139 | Zeile 144 |
---|
(function() {
var _toString = Object.prototype.toString,
|
(function() {
var _toString = Object.prototype.toString,
|
| _hasOwnProperty = Object.prototype.hasOwnProperty,
|
NULL_TYPE = 'Null', UNDEFINED_TYPE = 'Undefined', BOOLEAN_TYPE = 'Boolean',
| NULL_TYPE = 'Null', UNDEFINED_TYPE = 'Undefined', BOOLEAN_TYPE = 'Boolean',
|
Zeile 155 | Zeile 161 |
---|
typeof JSON.stringify === 'function' && JSON.stringify(0) === '0' && typeof JSON.stringify(Prototype.K) === 'undefined';
|
typeof JSON.stringify === 'function' && JSON.stringify(0) === '0' && typeof JSON.stringify(Prototype.K) === 'undefined';
|
|
var DONT_ENUMS = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'];
var IS_DONTENUM_BUGGY = (function(){ for (var p in { toString: 1 }) { if (p === 'toString') return false; } return true; })();
|
function Type(o) { switch(o) {
| function Type(o) { switch(o) {
|
Zeile 192 | Zeile 210 |
---|
}
function Str(key, holder, stack) {
|
}
function Str(key, holder, stack) {
|
var value = holder[key], type = typeof value;
| var value = holder[key];
|
if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') { value = value.toJSON(key);
|
if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') { value = value.toJSON(key);
|
}
| }
|
var _class = _toString.call(value);
switch (_class) {
| var _class = _toString.call(value);
switch (_class) {
|
Zeile 206 | Zeile 222 |
---|
case BOOLEAN_CLASS: case STRING_CLASS: value = value.valueOf();
|
case BOOLEAN_CLASS: case STRING_CLASS: value = value.valueOf();
|
}
| }
|
switch (value) { case null: return 'null'; case true: return 'true'; case false: return 'false'; }
|
switch (value) { case null: return 'null'; case true: return 'true'; case false: return 'false'; }
|
type = typeof value;
| var type = typeof value;
|
switch (type) { case 'string': return value.inspect(true);
| switch (type) { case 'string': return value.inspect(true);
|
Zeile 223 | Zeile 239 |
---|
case 'object':
for (var i = 0, length = stack.length; i < length; i++) {
|
case 'object':
for (var i = 0, length = stack.length; i < length; i++) {
|
if (stack[i] === value) { throw new TypeError(); }
| if (stack[i] === value) { throw new TypeError("Cyclic reference to '" + value + "' in object"); }
|
} stack.push(value);
| } stack.push(value);
|
Zeile 265 | Zeile 283 |
---|
if (Type(object) !== OBJECT_TYPE) { throw new TypeError(); } var results = []; for (var property in object) {
|
if (Type(object) !== OBJECT_TYPE) { throw new TypeError(); } var results = []; for (var property in object) {
|
if (object.hasOwnProperty(property)) {
| if (_hasOwnProperty.call(object, property))
|
results.push(property);
|
results.push(property);
|
| }
if (IS_DONTENUM_BUGGY) { for (var i = 0; property = DONT_ENUMS[i]; i++) { if (_hasOwnProperty.call(object, property)) results.push(property);
|
} }
|
} }
|
|
|
return results; }
| return results; }
|
Zeile 312 | Zeile 337 |
---|
function isNumber(object) { return _toString.call(object) === NUMBER_CLASS;
|
function isNumber(object) { return _toString.call(object) === NUMBER_CLASS;
|
}
| }
|
function isDate(object) { return _toString.call(object) === DATE_CLASS; }
| function isDate(object) { return _toString.call(object) === DATE_CLASS; }
|
Zeile 361 | Zeile 386 |
---|
.replace(/\s+/g, '').split(','); return names.length == 1 && !names[0] ? [] : names; }
|
.replace(/\s+/g, '').split(','); return names.length == 1 && !names[0] ? [] : names; }
|
|
|
function bind(context) {
|
function bind(context) {
|
if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
| if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
if (!Object.isFunction(this)) throw new TypeError("The object is not callable.");
var nop = function() {};
|
var __method = this, args = slice.call(arguments, 1);
|
var __method = this, args = slice.call(arguments, 1);
|
return function() { var a = merge(args, arguments); return __method.apply(context, a); }
| var bound = function() { var a = merge(args, arguments), c = context; var c = this instanceof bound ? this : context; return __method.apply(c, a); };
nop.prototype = this.prototype; bound.prototype = new nop();
return bound;
|
}
function bindAsEventListener(context) {
| }
function bindAsEventListener(context) {
|
Zeile 418 | Zeile 457 |
---|
}; }
|
}; }
|
return {
| var extensions = {
|
argumentNames: argumentNames,
|
argumentNames: argumentNames,
|
bind: bind,
| |
bindAsEventListener: bindAsEventListener, curry: curry, delay: delay, defer: defer, wrap: wrap, methodize: methodize
|
bindAsEventListener: bindAsEventListener, curry: curry, delay: delay, defer: defer, wrap: wrap, methodize: methodize
|
}
| };
if (!Function.prototype.bind) extensions.bind = bind;
return extensions;
|
})());
| })());
|
Zeile 588 | Zeile 631 |
---|
}
function evalScripts() {
|
}
function evalScripts() {
|
return this.extractScripts().map(function(script) { return eval(script) });
| return this.extractScripts().map(function(script) { return eval(script); });
|
}
function escapeHTML() {
| }
function escapeHTML() {
|
Zeile 798 | Zeile 841 |
---|
var Enumerable = (function() { function each(iterator, context) {
|
var Enumerable = (function() { function each(iterator, context) {
|
var index = 0;
| |
try {
|
try {
|
this._each(function(value) { iterator.call(context, value, index++); });
| this._each(iterator, context);
|
} catch (e) { if (e != $break) throw e; } return this;
|
} catch (e) { if (e != $break) throw e; } return this;
|
}
| }
|
function eachSlice(number, iterator, context) { var index = -number, slices = [], array = this.toArray(); if (number < 1) return array;
| function eachSlice(number, iterator, context) { var index = -number, slices = [], array = this.toArray(); if (number < 1) return array;
|
Zeile 820 | Zeile 860 |
---|
function all(iterator, context) { iterator = iterator || Prototype.K; var result = true;
|
function all(iterator, context) { iterator = iterator || Prototype.K; var result = true;
|
this.each(function(value, index) { result = result && !!iterator.call(context, value, index);
| this.each(function(value, index) { result = result && !!iterator.call(context, value, index, this);
|
if (!result) throw $break;
|
if (!result) throw $break;
|
});
| }, this);
|
return result; }
function any(iterator, context) {
|
return result; }
function any(iterator, context) {
|
iterator = iterator || Prototype.K;
| iterator = iterator || Prototype.K;
|
var result = false;
|
var result = false;
|
this.each(function(value, index) { if (result = !!iterator.call(context, value, index)) throw $break; }); return result; }
| this.each(function(value, index) { if (result = !!iterator.call(context, value, index, this)) throw $break; }, this); return result; }
|
function collect(iterator, context) { iterator = iterator || Prototype.K; var results = []; this.each(function(value, index) {
|
function collect(iterator, context) { iterator = iterator || Prototype.K; var results = []; this.each(function(value, index) {
|
results.push(iterator.call(context, value, index)); });
| results.push(iterator.call(context, value, index, this)); }, this);
|
return results;
|
return results;
|
}
| }
|
function detect(iterator, context) { var result; this.each(function(value, index) {
|
function detect(iterator, context) { var result; this.each(function(value, index) {
|
if (iterator.call(context, value, index)) {
| if (iterator.call(context, value, index, this)) {
|
result = value; throw $break; }
|
result = value; throw $break; }
|
});
| }, this);
|
return result; }
function findAll(iterator, context) {
|
return result; }
function findAll(iterator, context) {
|
var results = []; this.each(function(value, index) { if (iterator.call(context, value, index)) results.push(value); });
| var results = []; this.each(function(value, index) { if (iterator.call(context, value, index, this)) results.push(value); }, this);
|
return results; }
| return results; }
|
Zeile 872 | Zeile 912 |
---|
if (Object.isString(filter)) filter = new RegExp(RegExp.escape(filter));
|
if (Object.isString(filter)) filter = new RegExp(RegExp.escape(filter));
|
this.each(function(value, index) {
| this.each(function(value, index) {
|
if (filter.match(value))
|
if (filter.match(value))
|
results.push(iterator.call(context, value, index)); });
| results.push(iterator.call(context, value, index, this)); }, this);
|
return results; }
| return results; }
|
Zeile 899 | Zeile 939 |
---|
return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice;
|
return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice;
|
}); }
| }); }
|
function inject(memo, iterator, context) { this.each(function(value, index) {
|
function inject(memo, iterator, context) { this.each(function(value, index) {
|
memo = iterator.call(context, memo, value, index); });
| memo = iterator.call(context, memo, value, index, this); }, this);
|
return memo; }
| return memo; }
|
Zeile 917 | Zeile 957 |
---|
}
function max(iterator, context) {
|
}
function max(iterator, context) {
|
iterator = iterator || Prototype.K;
| iterator = iterator || Prototype.K;
|
var result; this.each(function(value, index) {
|
var result; this.each(function(value, index) {
|
value = iterator.call(context, value, index);
| value = iterator.call(context, value, index, this);
|
if (result == null || value >= result)
|
if (result == null || value >= result)
|
result = value; });
| result = value; }, this);
|
return result; }
function min(iterator, context) {
|
return result; }
function min(iterator, context) {
|
iterator = iterator || Prototype.K;
| iterator = iterator || Prototype.K;
|
var result; this.each(function(value, index) {
|
var result; this.each(function(value, index) {
|
value = iterator.call(context, value, index);
| value = iterator.call(context, value, index, this);
|
if (result == null || value < result) result = value;
|
if (result == null || value < result) result = value;
|
});
| }, this);
|
return result; }
| return result; }
|
Zeile 942 | Zeile 982 |
---|
iterator = iterator || Prototype.K; var trues = [], falses = []; this.each(function(value, index) {
|
iterator = iterator || Prototype.K; var trues = [], falses = []; this.each(function(value, index) {
|
(iterator.call(context, value, index) ?
| (iterator.call(context, value, index, this) ?
|
trues : falses).push(value);
|
trues : falses).push(value);
|
});
| }, this);
|
return [trues, falses];
|
return [trues, falses];
|
}
| }
|
function pluck(property) { var results = [];
| function pluck(property) { var results = [];
|
Zeile 959 | Zeile 999 |
---|
function reject(iterator, context) { var results = []; this.each(function(value, index) {
|
function reject(iterator, context) { var results = []; this.each(function(value, index) {
|
if (!iterator.call(context, value, index))
| if (!iterator.call(context, value, index, this))
|
results.push(value);
|
results.push(value);
|
});
| }, this);
|
return results; }
| return results; }
|
Zeile 969 | Zeile 1009 |
---|
return this.map(function(value, index) { return { value: value,
|
return this.map(function(value, index) { return { value: value,
|
criteria: iterator.call(context, value, index)
| criteria: iterator.call(context, value, index, this)
|
};
|
};
|
}).sort(function(left, right) {
| }, this).sort(function(left, right) {
|
var a = left.criteria, b = right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value');
| var a = left.criteria, b = right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value');
|
Zeile 1121 | Zeile 1161 |
---|
function intersect(array) { return this.uniq().findAll(function(item) {
|
function intersect(array) { return this.uniq().findAll(function(item) {
|
return array.detect(function(value) { return item === value });
| return array.indexOf(item) !== -1;
|
}); }
| }); }
|
Zeile 1139 | Zeile 1179 |
---|
}
function indexOf(item, i) {
|
}
function indexOf(item, i) {
|
i || (i = 0); var length = this.length; if (i < 0) i = length + i; for (; i < length; i++) if (this[i] === item) return i; return -1; }
| if (this == null) throw new TypeError();
|
|
|
function lastIndexOf(item, i) { i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; var n = this.slice(0, i).reverse().indexOf(item); return (n < 0) ? n : i - n - 1;
| var array = Object(this), length = array.length >>> 0; if (length === 0) return -1;
i = Number(i); if (isNaN(i)) { i = 0; } else if (i !== 0 && isFinite(i)) { i = (i > 0 ? 1 : -1) * Math.floor(Math.abs(i)); }
if (i > length) return -1;
var k = i >= 0 ? i : Math.max(length - Math.abs(i), 0); for (; k < length; k++) if (k in array && array[k] === item) return k; return -1;
|
}
|
}
|
function concat() { var array = slice.call(this, 0), item; for (var i = 0, length = arguments.length; i < length; i++) { item = arguments[i];
| function lastIndexOf(item, i) { if (this == null) throw new TypeError();
var array = Object(this), length = array.length >>> 0; if (length === 0) return -1;
if (!Object.isUndefined(i)) { i = Number(i); if (isNaN(i)) { i = 0; } else if (i !== 0 && isFinite(i)) { i = (i > 0 ? 1 : -1) * Math.floor(Math.abs(i)); } } else { i = length; }
var k = i >= 0 ? Math.min(i, length - 1) : length - Math.abs(i);
for (; k >= 0; k--) if (k in array && array[k] === item) return k; return -1; }
function concat(_) { var array = [], items = slice.call(arguments, 0), item, n = 0; items.unshift(this); for (var i = 0, length = items.length; i < length; i++) { item = items[i];
|
if (Object.isArray(item) && !('callee' in item)) {
|
if (Object.isArray(item) && !('callee' in item)) {
|
for (var j = 0, arrayLength = item.length; j < arrayLength; j++) array.push(item[j]);
| for (var j = 0, arrayLength = item.length; j < arrayLength; j++) { if (j in item) array[n] = item[j]; n++; } } else { array[n++] = item; } } array.length = n; return array; }
function wrapNative(method) { return function() { if (arguments.length === 0) { return method.call(this, Prototype.K); } else if (arguments[0] === undefined) { var args = slice.call(arguments, 1); args.unshift(Prototype.K); return method.apply(this, args);
|
} else {
|
} else {
|
array.push(item);
| return method.apply(this, arguments); } }; }
function map(iterator) { if (this == null) throw new TypeError(); iterator = iterator || Prototype.K;
var object = Object(this); var results = [], context = arguments[1], n = 0;
for (var i = 0, length = object.length >>> 0; i < length; i++) { if (i in object) { results[n] = iterator.call(context, object[i], i, object); } n++; } results.length = n; return results; }
if (arrayProto.map) { map = wrapNative(Array.prototype.map); }
function filter(iterator) { if (this == null || !Object.isFunction(iterator)) throw new TypeError();
var object = Object(this); var results = [], context = arguments[1], value;
for (var i = 0, length = object.length >>> 0; i < length; i++) { if (i in object) { value = object[i]; if (iterator.call(context, value, i, object)) { results.push(value); } } } return results; }
if (arrayProto.filter) { filter = Array.prototype.filter; }
function some(iterator) { if (this == null) throw new TypeError(); iterator = iterator || Prototype.K; var context = arguments[1];
var object = Object(this); for (var i = 0, length = object.length >>> 0; i < length; i++) { if (i in object && iterator.call(context, object[i], i, object)) { return true; } }
return false; }
if (arrayProto.some) { var some = wrapNative(Array.prototype.some); }
function every(iterator) { if (this == null) throw new TypeError(); iterator = iterator || Prototype.K; var context = arguments[1];
var object = Object(this); for (var i = 0, length = object.length >>> 0; i < length; i++) { if (i in object && !iterator.call(context, object[i], i, object)) { return false;
|
} }
|
} }
|
return array;
| return true; }
if (arrayProto.every) { var every = wrapNative(Array.prototype.every); }
var _reduce = arrayProto.reduce; function inject(memo, iterator) { iterator = iterator || Prototype.K; var context = arguments[2]; return _reduce.call(this, iterator.bind(context), memo); }
if (!arrayProto.reduce) { var inject = Enumerable.inject;
|
}
Object.extend(arrayProto, Enumerable);
if (!arrayProto._reverse) arrayProto._reverse = arrayProto.reverse;
|
}
Object.extend(arrayProto, Enumerable);
if (!arrayProto._reverse) arrayProto._reverse = arrayProto.reverse;
|
|
|
Object.extend(arrayProto, { _each: _each,
|
Object.extend(arrayProto, { _each: _each,
|
| map: map, collect: map, select: filter, filter: filter, findAll: filter, some: some, any: some, every: every, all: every, inject: inject,
|
clear: clear, first: first, last: last,
| clear: clear, first: first, last: last,
|
Zeile 1191 | Zeile 1388 |
---|
var CONCAT_ARGUMENTS_BUGGY = (function() { return [].concat(arguments)[0][0] !== 1;
|
var CONCAT_ARGUMENTS_BUGGY = (function() { return [].concat(arguments)[0][0] !== 1;
|
})(1,2)
| })(1,2);
|
if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat;
| if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat;
|
Zeile 1208 | Zeile 1405 |
---|
}
|
}
|
function _each(iterator) {
| function _each(iterator, context) {
|
for (var key in this._object) { var value = this._object[key], pair = [key, value]; pair.key = key; pair.value = value;
|
for (var key in this._object) { var value = this._object[key], pair = [key, value]; pair.key = key; pair.value = value;
|
iterator(pair);
| iterator.call(context, pair);
|
} }
| } }
|
Zeile 1266 | Zeile 1463 |
---|
function toQueryPair(key, value) { if (Object.isUndefined(value)) return key;
|
function toQueryPair(key, value) { if (Object.isUndefined(value)) return key;
|
return key + '=' + encodeURIComponent(String.interpret(value));
| var value = String.interpret(value);
value = value.gsub(/(\r)?\n/, '\r\n'); value = encodeURIComponent(value); value = value.gsub(/%20/, '+'); return key + '=' + value;
|
}
function toQueryString() {
| }
function toQueryString() {
|
Zeile 1376 | Zeile 1579 |
---|
this.exclusive = exclusive; }
|
this.exclusive = exclusive; }
|
function _each(iterator) {
| function _each(iterator, context) {
|
var value = this.start; while (this.include(value)) {
|
var value = this.start; while (this.include(value)) {
|
iterator(value);
| iterator.call(context, value);
|
value = value.succ(); } }
| value = value.succ(); } }
|
Zeile 1435 | Zeile 1638 |
---|
Ajax.Responders = { responders: [],
|
Ajax.Responders = { responders: [],
|
_each: function(iterator) { this.responders._each(iterator);
| _each: function(iterator, context) { this.responders._each(iterator, context);
|
},
register: function(responder) {
| },
register: function(responder) {
|
Zeile 1711 | Zeile 1914 |
---|
_getHeaderJSON: function() { var json = this.getHeader('X-JSON'); if (!json) return null;
|
_getHeaderJSON: function() { var json = this.getHeader('X-JSON'); if (!json) return null;
|
json = decodeURIComponent(escape(json));
| try { json = decodeURIComponent(escape(json)); } catch(e) { }
|
try { return json.evalJSON(this.request.options.sanitizeJSON ||
|
try { return json.evalJSON(this.request.options.sanitizeJSON ||
|
!this.request.isSameOrigin()); } catch (e) { this.request.dispatchException(e);
| !this.request.isSameOrigin()); } catch (e) { this.request.dispatchException(e);
|
} },
| } },
|
Zeile 1731 | Zeile 1939 |
---|
!this.request.isSameOrigin()); } catch (e) { this.request.dispatchException(e);
|
!this.request.isSameOrigin()); } catch (e) { this.request.dispatchException(e);
|
}
| }
|
} });
| } });
|
Zeile 1811 | Zeile 2019 |
---|
this.updater = new Ajax.Updater(this.container, this.url, this.options); } });
|
this.updater = new Ajax.Updater(this.container, this.url, this.options); } });
|
function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i])); return elements;
| (function(GLOBAL) {
var UNDEFINED; var SLICE = Array.prototype.slice;
var DIV = document.createElement('div');
function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i])); return elements; }
if (Object.isString(element)) element = document.getElementById(element); return Element.extend(element); }
GLOBAL.$ = $;
if (!GLOBAL.Node) GLOBAL.Node = {};
if (!GLOBAL.Node.ELEMENT_NODE) { Object.extend(GLOBAL.Node, { ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5, ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12 });
|
}
|
}
|
if (Object.isString(element)) element = document.getElementById(element); return Element.extend(element); }
if (Prototype.BrowserFeatures.XPath) { document._getElementsByXPath = function(expression, parentElement) { var results = []; var query = document.evaluate(expression, $(parentElement) || document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0, length = query.snapshotLength; i < length; i++) results.push(Element.extend(query.snapshotItem(i))); return results; }; }
/*--------------------------------------------------------------------------*/
if (!Node) var Node = { };
if (!Node.ELEMENT_NODE) { Object.extend(Node, { ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5, ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12 }); }
| |
|
|
| var ELEMENT_CACHE = {};
|
|
|
(function(global) { function shouldUseCache(tagName, attributes) {
| function shouldUseCreationCache(tagName, attributes) {
|
if (tagName === 'select') return false; if ('type' in attributes) return false; return true; }
|
if (tagName === 'select') return false; if ('type' in attributes) return false; return true; }
|
var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX = (function(){
| var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX = Prototype.Browser.IE && (function(){
|
try { var el = document.createElement('<input name="x">'); return el.tagName.toLowerCase() === 'input' && el.name === 'x';
| try { var el = document.createElement('<input name="x">'); return el.tagName.toLowerCase() === 'input' && el.name === 'x';
|
Zeile 1875 | Zeile 2080 |
---|
} })();
|
} })();
|
var element = global.Element;
| |
|
|
global.Element = function(tagName, attributes) { attributes = attributes || { };
| var oldElement = GLOBAL.Element; function Element(tagName, attributes) { attributes = attributes || {};
|
tagName = tagName.toLowerCase();
|
tagName = tagName.toLowerCase();
|
var cache = Element.cache;
| |
if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) { tagName = '<' + tagName + ' name="' + attributes.name + '">';
| if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) { tagName = '<' + tagName + ' name="' + attributes.name + '">';
|
Zeile 1888 | Zeile 2092 |
---|
return Element.writeAttribute(document.createElement(tagName), attributes); }
|
return Element.writeAttribute(document.createElement(tagName), attributes); }
|
if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
| if (!ELEMENT_CACHE[tagName]) ELEMENT_CACHE[tagName] = Element.extend(document.createElement(tagName));
|
|
|
var node = shouldUseCache(tagName, attributes) ? cache[tagName].cloneNode(false) : document.createElement(tagName);
| var node = shouldUseCreationCache(tagName, attributes) ? ELEMENT_CACHE[tagName].cloneNode(false) : document.createElement(tagName);
|
return Element.writeAttribute(node, attributes);
|
return Element.writeAttribute(node, attributes);
|
};
Object.extend(global.Element, element || { }); if (element) global.Element.prototype = element.prototype;
| }
GLOBAL.Element = Element;
Object.extend(GLOBAL.Element, oldElement || {}); if (oldElement) GLOBAL.Element.prototype = oldElement.prototype;
Element.Methods = { ByTag: {}, Simulated: {} };
var methods = {};
var INSPECT_ATTRIBUTES = { id: 'id', className: 'class' }; function inspect(element) { element = $(element); var result = '<' + element.tagName.toLowerCase();
var attribute, value; for (var property in INSPECT_ATTRIBUTES) { attribute = INSPECT_ATTRIBUTES[property]; value = (element[property] || '').toString(); if (value) result += ' ' + attribute + '=' + value.inspect(true); }
return result + '>'; }
methods.inspect = inspect;
|
|
|
})(this);
| |
|
|
Element.idCounter = 1; Element.cache = { };
Element._purgeElement = function(element) { var uid = element._prototypeUID; if (uid) { Element.stopObserving(element); element._prototypeUID = void 0; delete Element.Storage[uid]; } }
Element.Methods = { visible: function(element) { return $(element).style.display != 'none'; },
toggle: function(element) { element = $(element); Element[Element.visible(element) ? 'hide' : 'show'](element); return element; },
hide: function(element) { element = $(element); element.style.display = 'none'; return element; },
show: function(element) { element = $(element);
| function visible(element) { return $(element).style.display !== 'none'; }
function toggle(element, bool) { element = $(element); if (Object.isUndefined(bool)) bool = !Element.visible(element); Element[bool ? 'show' : 'hide'](element);
return element; }
function hide(element) { element = $(element); element.style.display = 'none'; return element; }
function show(element) { element = $(element);
|
element.style.display = ''; return element;
|
element.style.display = ''; return element;
|
},
remove: function(element) { element = $(element); element.parentNode.removeChild(element); return element; },
update: (function(){
var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){ var el = document.createElement("select"), isBuggy = true; el.innerHTML = "<option value=\"test\">test</option>"; if (el.options && el.options[0]) { isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION"; } el = null; return isBuggy; })();
| }
Object.extend(methods, { visible: visible, toggle: toggle, hide: hide, show: show });
|
|
|
var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){ try { var el = document.createElement("table"); if (el && el.tBodies) { el.innerHTML = "<tbody><tr><td>test</td></tr></tbody>"; var isBuggy = typeof el.tBodies[0] == "undefined"; el = null; return isBuggy; } } catch (e) { return true; } })();
| |
|
|
var LINK_ELEMENT_INNERHTML_BUGGY = (function() { try { var el = document.createElement('div'); el.innerHTML = "<link>"; var isBuggy = (el.childNodes.length === 0); el = null; return isBuggy; } catch(e) { return true; } })();
var ANY_INNERHTML_BUGGY = SELECT_ELEMENT_INNERHTML_BUGGY || TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY;
var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () { var s = document.createElement("script"), isBuggy = false; try { s.appendChild(document.createTextNode("")); isBuggy = !s.firstChild || s.firstChild && s.firstChild.nodeType !== 3; } catch (e) {
| function remove(element) { element = $(element); element.parentNode.removeChild(element); return element; }
var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){ var el = document.createElement("select"),
|
isBuggy = true;
|
isBuggy = true;
|
| el.innerHTML = "<option value=\"test\">test</option>"; if (el.options && el.options[0]) { isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION"; } el = null; return isBuggy; })();
var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){ try { var el = document.createElement("table"); if (el && el.tBodies) { el.innerHTML = "<tbody><tr><td>test</td></tr></tbody>"; var isBuggy = typeof el.tBodies[0] == "undefined"; el = null; return isBuggy;
|
}
|
}
|
s = null; return isBuggy; })();
| } catch (e) { return true; } })();
|
|
|
function update(element, content) { element = $(element); var purgeElement = Element._purgeElement;
var descendants = element.getElementsByTagName('*'), i = descendants.length; while (i--) purgeElement(descendants[i]);
if (content && content.toElement) content = content.toElement();
if (Object.isElement(content)) return element.update().insert(content);
content = Object.toHTML(content);
var tagName = element.tagName.toUpperCase();
if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) { element.text = content; return element; }
if (ANY_INNERHTML_BUGGY) { if (tagName in Element._insertionTranslations.tags) { while (element.firstChild) { element.removeChild(element.firstChild); } Element._getContentFromAnonymousElement(tagName, content.stripScripts()) .each(function(node) { element.appendChild(node) }); } else if (LINK_ELEMENT_INNERHTML_BUGGY && Object.isString(content) && content.indexOf('<link') > -1) { while (element.firstChild) { element.removeChild(element.firstChild); } var nodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts(), true); nodes.each(function(node) { element.appendChild(node) }); } else { element.innerHTML = content.stripScripts(); } } else {
| var LINK_ELEMENT_INNERHTML_BUGGY = (function() { try { var el = document.createElement('div'); el.innerHTML = "<link />"; var isBuggy = (el.childNodes.length === 0); el = null; return isBuggy; } catch(e) { return true; } })();
var ANY_INNERHTML_BUGGY = SELECT_ELEMENT_INNERHTML_BUGGY || TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY;
var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () { var s = document.createElement("script"), isBuggy = false; try { s.appendChild(document.createTextNode("")); isBuggy = !s.firstChild || s.firstChild && s.firstChild.nodeType !== 3; } catch (e) { isBuggy = true; } s = null; return isBuggy; })();
function update(element, content) { element = $(element);
var descendants = element.getElementsByTagName('*'), i = descendants.length; while (i--) purgeElement(descendants[i]);
if (content && content.toElement) content = content.toElement();
if (Object.isElement(content)) return element.update().insert(content);
content = Object.toHTML(content); var tagName = element.tagName.toUpperCase();
if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) { element.text = content; return element; }
if (ANY_INNERHTML_BUGGY) { if (tagName in INSERTION_TRANSLATIONS.tags) { while (element.firstChild) element.removeChild(element.firstChild);
var nodes = getContentFromAnonymousElement(tagName, content.stripScripts()); for (var i = 0, node; node = nodes[i]; i++) element.appendChild(node);
} else if (LINK_ELEMENT_INNERHTML_BUGGY && Object.isString(content) && content.indexOf('<link') > -1) { while (element.firstChild) element.removeChild(element.firstChild);
var nodes = getContentFromAnonymousElement(tagName, content.stripScripts(), true);
for (var i = 0, node; node = nodes[i]; i++) element.appendChild(node); } else {
|
element.innerHTML = content.stripScripts(); }
|
element.innerHTML = content.stripScripts(); }
|
content.evalScripts.bind(content).defer(); return element;
| } else { element.innerHTML = content.stripScripts();
|
}
|
}
|
return update; })(),
replace: function(element, content) {
| content.evalScripts.bind(content).defer(); return element; }
function replace(element, content) {
|
element = $(element);
|
element = $(element);
|
if (content && content.toElement) content = content.toElement(); else if (!Object.isElement(content)) {
| if (content && content.toElement) { content = content.toElement(); } else if (!Object.isElement(content)) {
|
content = Object.toHTML(content); var range = element.ownerDocument.createRange(); range.selectNode(element); content.evalScripts.bind(content).defer(); content = range.createContextualFragment(content.stripScripts()); }
|
content = Object.toHTML(content); var range = element.ownerDocument.createRange(); range.selectNode(element); content.evalScripts.bind(content).defer(); content = range.createContextualFragment(content.stripScripts()); }
|
|
|
element.parentNode.replaceChild(content, element);
|
element.parentNode.replaceChild(content, element);
|
return element; },
insert: function(element, insertions) { element = $(element);
if (Object.isString(insertions) || Object.isNumber(insertions) || Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) insertions = {bottom:insertions};
var content, insert, tagName, childNodes;
for (var position in insertions) { content = insertions[position]; position = position.toLowerCase(); insert = Element._insertionTranslations[position];
if (content && content.toElement) content = content.toElement(); if (Object.isElement(content)) { insert(element, content); continue; }
content = Object.toHTML(content);
tagName = ((position == 'before' || position == 'after') ? element.parentNode : element).tagName.toUpperCase();
| return element; }
var INSERTION_TRANSLATIONS = { before: function(element, node) { element.parentNode.insertBefore(node, element); }, top: function(element, node) { element.insertBefore(node, element.firstChild); }, bottom: function(element, node) { element.appendChild(node); }, after: function(element, node) { element.parentNode.insertBefore(node, element.nextSibling); },
tags: { TABLE: ['<table>', '</table>', 1], TBODY: ['<table><tbody>', '</tbody></table>', 2], TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3], TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4], SELECT: ['<select>', '</select>', 1] } };
var tags = INSERTION_TRANSLATIONS.tags;
Object.extend(tags, { THEAD: tags.TBODY, TFOOT: tags.TBODY, TH: tags.TD });
function replace_IE(element, content) { element = $(element); if (content && content.toElement) content = content.toElement(); if (Object.isElement(content)) { element.parentNode.replaceChild(content, element); return element; }
content = Object.toHTML(content); var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
if (tagName in INSERTION_TRANSLATIONS.tags) { var nextSibling = Element.next(element); var fragments = getContentFromAnonymousElement( tagName, content.stripScripts());
parent.removeChild(element);
|
|
|
childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
| var iterator; if (nextSibling) iterator = function(node) { parent.insertBefore(node, nextSibling) }; else iterator = function(node) { parent.appendChild(node); }
|
|
|
if (position == 'top' || position == 'after') childNodes.reverse(); childNodes.each(insert.curry(element));
content.evalScripts.bind(content).defer();
| fragments.each(iterator); } else { element.outerHTML = content.stripScripts();
|
}
|
}
|
| content.evalScripts.bind(content).defer();
|
return element;
|
return element;
|
},
wrap: function(element, wrapper, attributes) {
| }
if ('outerHTML' in document.documentElement) replace = replace_IE;
function isContent(content) { if (Object.isUndefined(content) || content === null) return false;
if (Object.isString(content) || Object.isNumber(content)) return true; if (Object.isElement(content)) return true; if (content.toElement || content.toHTML) return true;
return false; }
function insertContentAt(element, content, position) { position = position.toLowerCase(); var method = INSERTION_TRANSLATIONS[position];
if (content && content.toElement) content = content.toElement(); if (Object.isElement(content)) { method(element, content); return element; }
content = Object.toHTML(content); var tagName = ((position === 'before' || position === 'after') ? element.parentNode : element).tagName.toUpperCase();
var childNodes = getContentFromAnonymousElement(tagName, content.stripScripts());
if (position === 'top' || position === 'after') childNodes.reverse();
for (var i = 0, node; node = childNodes[i]; i++) method(element, node);
content.evalScripts.bind(content).defer(); }
function insert(element, insertions) { element = $(element);
if (isContent(insertions)) insertions = { bottom: insertions };
for (var position in insertions) insertContentAt(element, insertions[position], position);
return element; }
function wrap(element, wrapper, attributes) {
|
element = $(element);
|
element = $(element);
|
if (Object.isElement(wrapper)) $(wrapper).writeAttribute(attributes || { }); else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); else wrapper = new Element('div', wrapper);
| if (Object.isElement(wrapper)) { $(wrapper).writeAttribute(attributes || {}); } else if (Object.isString(wrapper)) { wrapper = new Element(wrapper, attributes); } else { wrapper = new Element('div', wrapper); }
|
if (element.parentNode) element.parentNode.replaceChild(wrapper, element);
|
if (element.parentNode) element.parentNode.replaceChild(wrapper, element);
|
|
|
wrapper.appendChild(element);
|
wrapper.appendChild(element);
|
return wrapper; },
| |
|
|
inspect: function(element) { element = $(element); var result = '<' + element.tagName.toLowerCase(); $H({'id': 'id', 'className': 'class'}).each(function(pair) { var property = pair.first(), attribute = pair.last(), value = (element[property] || '').toString(); if (value) result += ' ' + attribute + '=' + value.inspect(true); }); return result + '>'; },
| return wrapper; }
function cleanWhitespace(element) { element = $(element); var node = element.firstChild;
while (node) { var nextNode = node.nextSibling; if (node.nodeType === Node.TEXT_NODE && !/\S/.test(node.nodeValue)) element.removeChild(node); node = nextNode; } return element; }
function empty(element) { return $(element).innerHTML.blank(); }
function getContentFromAnonymousElement(tagName, html, force) { var t = INSERTION_TRANSLATIONS.tags[tagName], div = DIV;
var workaround = !!t; if (!workaround && force) { workaround = true; t = ['', '', 0]; }
if (workaround) { div.innerHTML = ' ' + t[0] + html + t[1]; div.removeChild(div.firstChild); for (var i = t[2]; i--; ) div = div.firstChild; } else { div.innerHTML = html; }
return $A(div.childNodes); }
function clone(element, deep) { if (!(element = $(element))) return; var clone = element.cloneNode(deep); if (!HAS_UNIQUE_ID_PROPERTY) { clone._prototypeUID = UNDEFINED; if (deep) { var descendants = Element.select(clone, '*'), i = descendants.length; while (i--) descendants[i]._prototypeUID = UNDEFINED; } } return Element.extend(clone); }
function purgeElement(element) { var uid = getUniqueElementID(element); if (uid) { Element.stopObserving(element); if (!HAS_UNIQUE_ID_PROPERTY) element._prototypeUID = UNDEFINED; delete Element.Storage[uid]; } }
function purgeCollection(elements) { var i = elements.length; while (i--) purgeElement(elements[i]); }
function purgeCollection_IE(elements) { var i = elements.length, element, uid; while (i--) { element = elements[i]; uid = getUniqueElementID(element); delete Element.Storage[uid]; delete Event.cache[uid]; } }
if (HAS_UNIQUE_ID_PROPERTY) { purgeCollection = purgeCollection_IE; }
function purge(element) { if (!(element = $(element))) return; purgeElement(element);
var descendants = element.getElementsByTagName('*'), i = descendants.length;
while (i--) purgeElement(descendants[i]);
return null; }
Object.extend(methods, { remove: remove, update: update, replace: replace, insert: insert, wrap: wrap, cleanWhitespace: cleanWhitespace, empty: empty, clone: clone, purge: purge });
|
|
|
recursivelyCollect: function(element, property, maximumLength) {
| function recursivelyCollect(element, property, maximumLength) {
|
element = $(element); maximumLength = maximumLength || -1; var elements = [];
|
element = $(element); maximumLength = maximumLength || -1; var elements = [];
|
|
|
while (element = element[property]) {
|
while (element = element[property]) {
|
if (element.nodeType == 1)
| if (element.nodeType === Node.ELEMENT_NODE)
|
elements.push(Element.extend(element));
|
elements.push(Element.extend(element));
|
if (elements.length == maximumLength) break; }
return elements; },
ancestors: function(element) { return Element.recursivelyCollect(element, 'parentNode'); },
| |
|
|
descendants: function(element) { return Element.select(element, "*"); },
firstDescendant: function(element) {
| if (elements.length === maximumLength) break; }
return elements; }
function ancestors(element) { return recursivelyCollect(element, 'parentNode'); }
function descendants(element) { return Element.select(element, '*'); }
function firstDescendant(element) {
|
element = $(element).firstChild;
|
element = $(element).firstChild;
|
while (element && element.nodeType != 1) element = element.nextSibling;
| while (element && element.nodeType !== Node.ELEMENT_NODE) element = element.nextSibling;
|
return $(element);
|
return $(element);
|
},
immediateDescendants: function(element) {
| }
function immediateDescendants(element) {
|
var results = [], child = $(element).firstChild;
|
var results = [], child = $(element).firstChild;
|
|
|
while (child) {
|
while (child) {
|
if (child.nodeType === 1) {
| if (child.nodeType === Node.ELEMENT_NODE)
|
results.push(Element.extend(child));
|
results.push(Element.extend(child));
|
}
|
|
child = child.nextSibling; }
|
child = child.nextSibling; }
|
|
|
return results;
|
return results;
|
},
previousSiblings: function(element, maximumLength) { return Element.recursivelyCollect(element, 'previousSibling'); },
nextSiblings: function(element) { return Element.recursivelyCollect(element, 'nextSibling'); },
siblings: function(element) { element = $(element); return Element.previousSiblings(element).reverse() .concat(Element.nextSiblings(element)); },
match: function(element, selector) {
| }
function previousSiblings(element) { return recursivelyCollect(element, 'previousSibling'); }
function nextSiblings(element) { return recursivelyCollect(element, 'nextSibling'); }
function siblings(element) {
|
element = $(element);
|
element = $(element);
|
| var previous = previousSiblings(element), next = nextSiblings(element); return previous.reverse().concat(next); }
function match(element, selector) { element = $(element);
|
if (Object.isString(selector)) return Prototype.Selector.match(element, selector);
|
if (Object.isString(selector)) return Prototype.Selector.match(element, selector);
|
|
|
return selector.match(element);
|
return selector.match(element);
|
},
up: function(element, expression, index) { element = $(element); if (arguments.length == 1) return $(element.parentNode); var ancestors = Element.ancestors(element); return Object.isNumber(expression) ? ancestors[expression] : Prototype.Selector.find(ancestors, expression, index); },
down: function(element, expression, index) { element = $(element); if (arguments.length == 1) return Element.firstDescendant(element); return Object.isNumber(expression) ? Element.descendants(element)[expression] : Element.select(element, expression)[index || 0]; },
previous: function(element, expression, index) { element = $(element); if (Object.isNumber(expression)) index = expression, expression = false; if (!Object.isNumber(index)) index = 0;
if (expression) { return Prototype.Selector.find(element.previousSiblings(), expression, index); } else { return element.recursivelyCollect("previousSibling", index + 1)[index];
| }
function _recursivelyFind(element, property, expression, index) { element = $(element), expression = expression || 0, index = index || 0; if (Object.isNumber(expression)) { index = expression, expression = null; }
while (element = element[property]) { if (element.nodeType !== 1) continue; if (expression && !Prototype.Selector.match(element, expression)) continue; if (--index >= 0) continue;
return Element.extend(element);
|
}
|
}
|
},
next: function(element, expression, index) {
| }
function up(element, expression, index) {
|
element = $(element);
|
element = $(element);
|
if (Object.isNumber(expression)) index = expression, expression = false; if (!Object.isNumber(index)) index = 0;
if (expression) { return Prototype.Selector.find(element.nextSiblings(), expression, index); } else { var maximumLength = Object.isNumber(index) ? index + 1 : 1; return element.recursivelyCollect("nextSibling", index + 1)[index]; } },
| |
|
|
| if (arguments.length === 1) return $(element.parentNode); return _recursivelyFind(element, 'parentNode', expression, index); }
function down(element, expression, index) { element = $(element), expression = expression || 0, index = index || 0;
if (Object.isNumber(expression)) index = expression, expression = '*';
var node = Prototype.Selector.select(expression, element)[index]; return Element.extend(node); }
function previous(element, expression, index) { return _recursivelyFind(element, 'previousSibling', expression, index); }
function next(element, expression, index) { return _recursivelyFind(element, 'nextSibling', expression, index); }
|
|
|
select: function(element) { element = $(element); var expressions = Array.prototype.slice.call(arguments, 1).join(', ');
| function select(element) { element = $(element); var expressions = SLICE.call(arguments, 1).join(', ');
|
return Prototype.Selector.select(expressions, element);
|
return Prototype.Selector.select(expressions, element);
|
},
adjacent: function(element) { element = $(element); var expressions = Array.prototype.slice.call(arguments, 1).join(', '); return Prototype.Selector.select(expressions, element.parentNode).without(element); },
identify: function(element) {
| }
function adjacent(element) { element = $(element); var expressions = SLICE.call(arguments, 1).join(', '); var siblings = Element.siblings(element), results = []; for (var i = 0, sibling; sibling = siblings[i]; i++) { if (Prototype.Selector.match(sibling, expressions)) results.push(sibling); }
return results; }
function descendantOf_DOM(element, ancestor) { element = $(element), ancestor = $(ancestor); while (element = element.parentNode) if (element === ancestor) return true; return false; }
function descendantOf_contains(element, ancestor) { element = $(element), ancestor = $(ancestor); if (!ancestor.contains) return descendantOf_DOM(element, ancestor); return ancestor.contains(element) && ancestor !== element; }
function descendantOf_compareDocumentPosition(element, ancestor) { element = $(element), ancestor = $(ancestor); return (element.compareDocumentPosition(ancestor) & 8) === 8; }
var descendantOf; if (DIV.compareDocumentPosition) { descendantOf = descendantOf_compareDocumentPosition; } else if (DIV.contains) { descendantOf = descendantOf_contains; } else { descendantOf = descendantOf_DOM; }
Object.extend(methods, { recursivelyCollect: recursivelyCollect, ancestors: ancestors, descendants: descendants, firstDescendant: firstDescendant, immediateDescendants: immediateDescendants, previousSiblings: previousSiblings, nextSiblings: nextSiblings, siblings: siblings, match: match, up: up, down: down, previous: previous, next: next, select: select, adjacent: adjacent, descendantOf: descendantOf,
getElementsBySelector: select,
childElements: immediateDescendants });
var idCounter = 1; function identify(element) {
|
element = $(element); var id = Element.readAttribute(element, 'id'); if (id) return id;
|
element = $(element); var id = Element.readAttribute(element, 'id'); if (id) return id;
|
do { id = 'anonymous_element_' + Element.idCounter++ } while ($(id));
| do { id = 'anonymous_element_' + idCounter++ } while ($(id));
|
Element.writeAttribute(element, 'id', id); return id;
|
Element.writeAttribute(element, 'id', id); return id;
|
},
readAttribute: function(element, name) {
| }
function readAttribute(element, name) { return $(element).getAttribute(name); }
function readAttribute_IE(element, name) {
|
element = $(element);
|
element = $(element);
|
if (Prototype.Browser.IE) { var t = Element._attributeTranslations.read; if (t.values[name]) return t.values[name](element, name); if (t.names[name]) name = t.names[name]; if (name.include(':')) { return (!element.attributes || !element.attributes[name]) ? null : element.attributes[name].value; }
| var table = ATTRIBUTE_TRANSLATIONS.read; if (table.values[name]) return table.values[name](element, name);
if (table.names[name]) name = table.names[name];
if (name.include(':')) { if (!element.attributes || !element.attributes[name]) return null; return element.attributes[name].value;
|
}
|
}
|
return element.getAttribute(name); },
writeAttribute: function(element, name, value) { element = $(element); var attributes = { }, t = Element._attributeTranslations.write;
| |
|
|
if (typeof name == 'object') attributes = name; else attributes[name] = Object.isUndefined(value) ? true : value;
| return element.getAttribute(name); }
function readAttribute_Opera(element, name) { if (name === 'title') return element.title; return element.getAttribute(name); }
var PROBLEMATIC_ATTRIBUTE_READING = (function() { DIV.setAttribute('onclick', Prototype.emptyFunction); var value = DIV.getAttribute('onclick'); var isFunction = (typeof value === 'function'); DIV.removeAttribute('onclick'); return isFunction; })();
if (PROBLEMATIC_ATTRIBUTE_READING) { readAttribute = readAttribute_IE; } else if (Prototype.Browser.Opera) { readAttribute = readAttribute_Opera; }
function writeAttribute(element, name, value) { element = $(element); var attributes = {}, table = ATTRIBUTE_TRANSLATIONS.write;
if (typeof name === 'object') { attributes = name; } else { attributes[name] = Object.isUndefined(value) ? true : value; }
|
for (var attr in attributes) {
|
for (var attr in attributes) {
|
name = t.names[attr] || attr;
| name = table.names[attr] || attr;
|
value = attributes[attr];
|
value = attributes[attr];
|
if (t.values[attr]) name = t.values[attr](element, value);
| if (table.values[attr]) name = table.values[attr](element, value);
|
if (value === false || value === null) element.removeAttribute(name); else if (value === true) element.setAttribute(name, name); else element.setAttribute(name, value); }
|
if (value === false || value === null) element.removeAttribute(name); else if (value === true) element.setAttribute(name, name); else element.setAttribute(name, value); }
|
return element; },
getHeight: function(element) { return Element.getDimensions(element).height; },
getWidth: function(element) { return Element.getDimensions(element).width; },
classNames: function(element) { return new Element.ClassNames(element); },
hasClassName: function(element, className) { if (!(element = $(element))) return;
| return element; }
function hasAttribute(element, attribute) { attribute = ATTRIBUTE_TRANSLATIONS.has[attribute] || attribute; var node = $(element).getAttributeNode(attribute); return !!(node && node.specified); }
GLOBAL.Element.Methods.Simulated.hasAttribute = hasAttribute;
function classNames(element) { return new Element.ClassNames(element); }
var regExpCache = {}; function getRegExpForClassName(className) { if (regExpCache[className]) return regExpCache[className];
var re = new RegExp("(^|\\s+)" + className + "(\\s+|$)"); regExpCache[className] = re; return re; }
function hasClassName(element, className) { if (!(element = $(element))) return;
|
var elementClassName = element.className;
|
var elementClassName = element.className;
|
return (elementClassName.length > 0 && (elementClassName == className || new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); },
addClassName: function(element, className) {
| if (elementClassName.length === 0) return false; if (elementClassName === className) return true;
return getRegExpForClassName(className).test(elementClassName); }
function addClassName(element, className) {
|
if (!(element = $(element))) return;
|
if (!(element = $(element))) return;
|
if (!Element.hasClassName(element, className))
| if (!hasClassName(element, className))
|
element.className += (element.className ? ' ' : '') + className;
|
element.className += (element.className ? ' ' : '') + className;
|
|
|
return element;
|
return element;
|
},
removeClassName: function(element, className) { if (!(element = $(element))) return; element.className = element.className.replace( new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); return element; },
toggleClassName: function(element, className) { if (!(element = $(element))) return; return Element[Element.hasClassName(element, className) ? 'removeClassName' : 'addClassName'](element, className); },
cleanWhitespace: function(element) { element = $(element); var node = element.firstChild; while (node) { var nextNode = node.nextSibling; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); node = nextNode; } return element; },
empty: function(element) { return $(element).innerHTML.blank(); },
descendantOf: function(element, ancestor) { element = $(element), ancestor = $(ancestor);
if (element.compareDocumentPosition) return (element.compareDocumentPosition(ancestor) & 8) === 8;
| }
function removeClassName(element, className) { if (!(element = $(element))) return;
|
|
|
if (ancestor.contains) return ancestor.contains(element) && ancestor !== element;
while (element = element.parentNode) if (element == ancestor) return true;
return false; },
scrollTo: function(element) { element = $(element); var pos = Element.cumulativeOffset(element); window.scrollTo(pos[0], pos[1]); return element; },
getStyle: function(element, style) { element = $(element); style = style == 'float' ? 'cssFloat' : style.camelize(); var value = element.style[style]; if (!value || value == 'auto') { var css = document.defaultView.getComputedStyle(element, null); value = css ? css[style] : null; } if (style == 'opacity') return value ? parseFloat(value) : 1.0; return value == 'auto' ? null : value; },
getOpacity: function(element) { return $(element).getStyle('opacity'); },
setStyle: function(element, styles) { element = $(element); var elementStyle = element.style, match; if (Object.isString(styles)) { element.style.cssText += ';' + styles; return styles.include('opacity') ? element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; } for (var property in styles) if (property == 'opacity') element.setOpacity(styles[property]); else elementStyle[(property == 'float' || property == 'cssFloat') ? (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') : property] = styles[property];
return element; },
setOpacity: function(element, value) { element = $(element); element.style.opacity = (value == 1 || value === '') ? '' : (value < 0.00001) ? 0 : value; return element; },
makePositioned: function(element) { element = $(element); var pos = Element.getStyle(element, 'position'); if (pos == 'static' || !pos) { element._madePositioned = true; element.style.position = 'relative'; if (Prototype.Browser.Opera) { element.style.top = 0; element.style.left = 0; } } return element; },
undoPositioned: function(element) { element = $(element); if (element._madePositioned) { element._madePositioned = undefined; element.style.position = element.style.top = element.style.left = element.style.bottom = element.style.right = ''; } return element; },
makeClipping: function(element) { element = $(element); if (element._overflow) return element; element._overflow = Element.getStyle(element, 'overflow') || 'auto'; if (element._overflow !== 'hidden') element.style.overflow = 'hidden'; return element; },
undoClipping: function(element) { element = $(element); if (!element._overflow) return element; element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; element._overflow = null; return element; },
clonePosition: function(element, source) { var options = Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, arguments[2] || { });
source = $(source); var p = Element.viewportOffset(source), delta = [0, 0], parent = null;
element = $(element);
if (Element.getStyle(element, 'position') == 'absolute') { parent = Element.getOffsetParent(element); delta = Element.viewportOffset(parent); }
if (parent == document.body) { delta[0] -= document.body.offsetLeft; delta[1] -= document.body.offsetTop; }
if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; if (options.setWidth) element.style.width = source.offsetWidth + 'px'; if (options.setHeight) element.style.height = source.offsetHeight + 'px'; return element; } };
Object.extend(Element.Methods, { getElementsBySelector: Element.Methods.select,
childElements: Element.Methods.immediateDescendants });
| element.className = element.className.replace( getRegExpForClassName(className), ' ').strip();
|
|
|
Element._attributeTranslations = { write: {
| return element; }
function toggleClassName(element, className, bool) { if (!(element = $(element))) return;
if (Object.isUndefined(bool)) bool = !hasClassName(element, className);
var method = Element[bool ? 'addClassName' : 'removeClassName']; return method(element, className); }
var ATTRIBUTE_TRANSLATIONS = {};
var classProp = 'className', forProp = 'for';
DIV.setAttribute(classProp, 'x'); if (DIV.className !== 'x') { DIV.setAttribute('class', 'x'); if (DIV.className === 'x') classProp = 'class'; }
var LABEL = document.createElement('label'); LABEL.setAttribute(forProp, 'x'); if (LABEL.htmlFor !== 'x') { LABEL.setAttribute('htmlFor', 'x'); if (LABEL.htmlFor === 'x') forProp = 'htmlFor'; } LABEL = null;
function _getAttr(element, attribute) { return element.getAttribute(attribute); }
function _getAttr2(element, attribute) { return element.getAttribute(attribute, 2); }
function _getAttrNode(element, attribute) { var node = element.getAttributeNode(attribute); return node ? node.value : ''; }
function _getFlag(element, attribute) { return $(element).hasAttribute(attribute) ? attribute : null; }
DIV.onclick = Prototype.emptyFunction; var onclickValue = DIV.getAttribute('onclick');
var _getEv;
if (String(onclickValue).indexOf('{') > -1) { _getEv = function(element, attribute) { var value = element.getAttribute(attribute); if (!value) return null; value = value.toString(); value = value.split('{')[1]; value = value.split('}')[0]; return value.strip(); }; } else if (onclickValue === '') { _getEv = function(element, attribute) { var value = element.getAttribute(attribute); if (!value) return null; return value.strip(); }; }
ATTRIBUTE_TRANSLATIONS.read = {
|
names: {
|
names: {
|
className: 'class', htmlFor: 'for'
| 'class': classProp, 'className': classProp, 'for': forProp, 'htmlFor': forProp },
values: { style: function(element) { return element.style.cssText.toLowerCase(); }, title: function(element) { return element.title; } } };
ATTRIBUTE_TRANSLATIONS.write = { names: { className: 'class', htmlFor: 'for', cellpadding: 'cellPadding', cellspacing: 'cellSpacing'
|
},
|
},
|
values: { } } };
if (Prototype.Browser.Opera) { Element.Methods.getStyle = Element.Methods.getStyle.wrap( function(proceed, element, style) { switch (style) { case 'height': case 'width': if (!Element.visible(element)) return null;
var dim = parseInt(proceed(element, style), 10);
if (dim !== element['offset' + style.capitalize()]) return dim + 'px';
var properties; if (style === 'height') { properties = ['border-top-width', 'padding-top', 'padding-bottom', 'border-bottom-width']; } else { properties = ['border-left-width', 'padding-left', 'padding-right', 'border-right-width']; } return properties.inject(dim, function(memo, property) { var val = proceed(element, property); return val === null ? memo : memo - parseInt(val, 10); }) + 'px'; default: return proceed(element, style); } } );
Element.Methods.readAttribute = Element.Methods.readAttribute.wrap( function(proceed, element, attribute) { if (attribute === 'title') return element.title; return proceed(element, attribute); } ); }
else if (Prototype.Browser.IE) { Element.Methods.getStyle = function(element, style) { element = $(element); style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); var value = element.style[style]; if (!value && element.currentStyle) value = element.currentStyle[style];
if (style == 'opacity') { if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) if (value[1]) return parseFloat(value[1]) / 100; return 1.0; }
if (value == 'auto') { if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) return element['offset' + style.capitalize()] + 'px'; return null; } return value; };
Element.Methods.setOpacity = function(element, value) { function stripAlpha(filter){ return filter.replace(/alpha\([^\)]*\)/gi,''); } element = $(element); var currentStyle = element.currentStyle; if ((currentStyle && !currentStyle.hasLayout) || (!currentStyle && element.style.zoom == 'normal')) element.style.zoom = 1;
var filter = element.getStyle('filter'), style = element.style; if (value == 1 || value === '') { (filter = stripAlpha(filter)) ? style.filter = filter : style.removeAttribute('filter'); return element; } else if (value < 0.00001) value = 0; style.filter = stripAlpha(filter) + 'alpha(opacity=' + (value * 100) + ')'; return element; };
Element._attributeTranslations = (function(){
var classProp = 'className', forProp = 'for', el = document.createElement('div');
el.setAttribute(classProp, 'x');
if (el.className !== 'x') { el.setAttribute('class', 'x'); if (el.className === 'x') { classProp = 'class'; } } el = null;
el = document.createElement('label'); el.setAttribute(forProp, 'x'); if (el.htmlFor !== 'x') { el.setAttribute('htmlFor', 'x'); if (el.htmlFor === 'x') { forProp = 'htmlFor'; } } el = null;
return { read: { names: { 'class': classProp, 'className': classProp, 'for': forProp, 'htmlFor': forProp }, values: { _getAttr: function(element, attribute) { return element.getAttribute(attribute); }, _getAttr2: function(element, attribute) { return element.getAttribute(attribute, 2); }, _getAttrNode: function(element, attribute) { var node = element.getAttributeNode(attribute); return node ? node.value : ""; }, _getEv: (function(){
var el = document.createElement('div'), f; el.onclick = Prototype.emptyFunction; var value = el.getAttribute('onclick');
if (String(value).indexOf('{') > -1) { f = function(element, attribute) { attribute = element.getAttribute(attribute); if (!attribute) return null; attribute = attribute.toString(); attribute = attribute.split('{')[1]; attribute = attribute.split('}')[0]; return attribute.strip(); }; } else if (value === '') { f = function(element, attribute) { attribute = element.getAttribute(attribute); if (!attribute) return null; return attribute.strip(); }; } el = null; return f; })(), _flag: function(element, attribute) { return $(element).hasAttribute(attribute) ? attribute : null; }, style: function(element) { return element.style.cssText.toLowerCase(); }, title: function(element) { return element.title; } } } } })();
| |
|
|
Element._attributeTranslations.write = { names: Object.extend({ cellpadding: 'cellPadding', cellspacing: 'cellSpacing' }, Element._attributeTranslations.read.names), values: {
| values: {
|
checked: function(element, value) { element.checked = !!value; },
|
checked: function(element, value) { element.checked = !!value; },
|
|
|
style: function(element, value) { element.style.cssText = value ? value : ''; }
|
style: function(element, value) { element.style.cssText = value ? value : ''; }
|
} };
Element._attributeTranslations.has = {};
$w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + 'encType maxLength readOnly longDesc frameBorder').each(function(attr) { Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; Element._attributeTranslations.has[attr.toLowerCase()] = attr; });
(function(v) { Object.extend(v, { href: v._getAttr2, src: v._getAttr2, type: v._getAttr, action: v._getAttrNode, disabled: v._flag, checked: v._flag, readonly: v._flag, multiple: v._flag, onload: v._getEv, onunload: v._getEv, onclick: v._getEv, ondblclick: v._getEv, onmousedown: v._getEv, onmouseup: v._getEv, onmouseover: v._getEv, onmousemove: v._getEv, onmouseout: v._getEv, onfocus: v._getEv, onblur: v._getEv, onkeypress: v._getEv, onkeydown: v._getEv, onkeyup: v._getEv, onsubmit: v._getEv, onreset: v._getEv, onselect: v._getEv, onchange: v._getEv }); })(Element._attributeTranslations.read.values);
if (Prototype.BrowserFeatures.ElementExtensions) { (function() { function _descendants(element) { var nodes = element.getElementsByTagName('*'), results = []; for (var i = 0, node; node = nodes[i]; i++) if (node.tagName !== "!") // Filter out comment nodes. results.push(node); return results; }
Element.Methods.down = function(element, expression, index) { element = $(element); if (arguments.length == 1) return element.firstDescendant(); return Object.isNumber(expression) ? _descendants(element)[expression] : Element.select(element, expression)[index || 0]; } })(); }
}
else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { Element.Methods.setOpacity = function(element, value) { element = $(element); element.style.opacity = (value == 1) ? 0.999999 : (value === '') ? '' : (value < 0.00001) ? 0 : value; return element; }; }
else if (Prototype.Browser.WebKit) { Element.Methods.setOpacity = function(element, value) { element = $(element); element.style.opacity = (value == 1 || value === '') ? '' : (value < 0.00001) ? 0 : value;
if (value == 1) if (element.tagName.toUpperCase() == 'IMG' && element.width) { element.width++; element.width--; } else try { var n = document.createTextNode(' '); element.appendChild(n); element.removeChild(n); } catch (e) { }
return element; }; }
if ('outerHTML' in document.documentElement) { Element.Methods.replace = function(element, content) { element = $(element);
if (content && content.toElement) content = content.toElement(); if (Object.isElement(content)) { element.parentNode.replaceChild(content, element); return element; }
content = Object.toHTML(content); var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
if (Element._insertionTranslations.tags[tagName]) { var nextSibling = element.next(), fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); parent.removeChild(element); if (nextSibling) fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); else fragments.each(function(node) { parent.appendChild(node) }); } else element.outerHTML = content.stripScripts();
content.evalScripts.bind(content).defer(); return element;
| }
|
};
|
};
|
}
Element._returnOffset = function(l, t) { var result = [l, t]; result.left = l; result.top = t; return result; };
Element._getContentFromAnonymousElement = function(tagName, html, force) { var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
var workaround = false; if (t) workaround = true; else if (force) { workaround = true; t = ['', '', 0]; }
if (workaround) { div.innerHTML = ' ' + t[0] + html + t[1]; div.removeChild(div.firstChild); for (var i = t[2]; i--; ) { div = div.firstChild; } } else { div.innerHTML = html; } return $A(div.childNodes); };
Element._insertionTranslations = { before: function(element, node) { element.parentNode.insertBefore(node, element); }, top: function(element, node) { element.insertBefore(node, element.firstChild); }, bottom: function(element, node) { element.appendChild(node); }, after: function(element, node) { element.parentNode.insertBefore(node, element.nextSibling); }, tags: { TABLE: ['<table>', '</table>', 1], TBODY: ['<table><tbody>', '</tbody></table>', 2], TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3], TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4], SELECT: ['<select>', '</select>', 1] } };
(function() { var tags = Element._insertionTranslations.tags; Object.extend(tags, { THEAD: tags.TBODY, TFOOT: tags.TBODY, TH: tags.TD }); })();
Element.Methods.Simulated = { hasAttribute: function(element, attribute) { attribute = Element._attributeTranslations.has[attribute] || attribute; var node = $(element).getAttributeNode(attribute); return !!(node && node.specified); } };
Element.Methods.ByTag = { };
Object.extend(Element, Element.Methods);
(function(div) {
if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) { window.HTMLElement = { }; window.HTMLElement.prototype = div['__proto__']; Prototype.BrowserFeatures.ElementExtensions = true; }
div = null;
})(document.createElement('div'));
| |
|
|
Element.extend = (function() {
| ATTRIBUTE_TRANSLATIONS.has = { names: {} };
|
|
|
function checkDeficiency(tagName) { if (typeof window.Element != 'undefined') { var proto = window.Element.prototype; if (proto) { var id = '_' + (Math.random()+'').slice(2), el = document.createElement(tagName); proto[id] = 'x'; var isBuggy = (el[id] !== 'x'); delete proto[id]; el = null; return isBuggy;
| Object.extend(ATTRIBUTE_TRANSLATIONS.write.names, ATTRIBUTE_TRANSLATIONS.read.names);
var CAMEL_CASED_ATTRIBUTE_NAMES = $w('colSpan rowSpan vAlign dateTime ' + 'accessKey tabIndex encType maxLength readOnly longDesc frameBorder');
for (var i = 0, attr; attr = CAMEL_CASED_ATTRIBUTE_NAMES[i]; i++) { ATTRIBUTE_TRANSLATIONS.write.names[attr.toLowerCase()] = attr; ATTRIBUTE_TRANSLATIONS.has.names[attr.toLowerCase()] = attr; }
Object.extend(ATTRIBUTE_TRANSLATIONS.read.values, { href: _getAttr2, src: _getAttr2, type: _getAttr, action: _getAttrNode, disabled: _getFlag, checked: _getFlag, readonly: _getFlag, multiple: _getFlag, onload: _getEv, onunload: _getEv, onclick: _getEv, ondblclick: _getEv, onmousedown: _getEv, onmouseup: _getEv, onmouseover: _getEv, onmousemove: _getEv, onmouseout: _getEv, onfocus: _getEv, onblur: _getEv, onkeypress: _getEv, onkeydown: _getEv, onkeyup: _getEv, onsubmit: _getEv, onreset: _getEv, onselect: _getEv, onchange: _getEv });
Object.extend(methods, { identify: identify, readAttribute: readAttribute, writeAttribute: writeAttribute, classNames: classNames, hasClassName: hasClassName, addClassName: addClassName, removeClassName: removeClassName, toggleClassName: toggleClassName });
function normalizeStyleName(style) { if (style === 'float' || style === 'styleFloat') return 'cssFloat'; return style.camelize(); }
function normalizeStyleName_IE(style) { if (style === 'float' || style === 'cssFloat') return 'styleFloat'; return style.camelize(); }
function setStyle(element, styles) { element = $(element); var elementStyle = element.style, match;
if (Object.isString(styles)) { elementStyle.cssText += ';' + styles; if (styles.include('opacity')) { var opacity = styles.match(/opacity:\s*(\d?\.?\d*)/)[1]; Element.setOpacity(element, opacity); } return element; }
for (var property in styles) { if (property === 'opacity') { Element.setOpacity(element, styles[property]); } else { var value = styles[property]; if (property === 'float' || property === 'cssFloat') { property = Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat'; } elementStyle[property] = value;
|
}
|
}
|
} return false;
| }
return element; }
function getStyle(element, style) { element = $(element); style = normalizeStyleName(style);
var value = element.style[style]; if (!value || value === 'auto') { var css = document.defaultView.getComputedStyle(element, null); value = css ? css[style] : null; }
if (style === 'opacity') return value ? parseFloat(value) : 1.0; return value === 'auto' ? null : value; }
function getStyle_Opera(element, style) { switch (style) { case 'height': case 'width': if (!Element.visible(element)) return null;
var dim = parseInt(getStyle(element, style), 10);
if (dim !== element['offset' + style.capitalize()]) return dim + 'px';
return Element.measure(element, style);
default: return getStyle(element, style); } }
function getStyle_IE(element, style) { element = $(element); style = normalizeStyleName_IE(style);
var value = element.style[style]; if (!value && element.currentStyle) { value = element.currentStyle[style]; }
if (style === 'opacity' && !STANDARD_CSS_OPACITY_SUPPORTED) return getOpacity_IE(element);
if (value === 'auto') { if ((style === 'width' || style === 'height') && Element.visible(element)) return Element.measure(element, style) + 'px'; return null; }
return value; }
function stripAlphaFromFilter_IE(filter) { return (filter || '').replace(/alpha\([^\)]*\)/gi, ''); }
function hasLayout_IE(element) { if (!element.currentStyle.hasLayout) element.style.zoom = 1; return element; }
var STANDARD_CSS_OPACITY_SUPPORTED = (function() { DIV.style.cssText = "opacity:.55"; return /^0.55/.test(DIV.style.opacity); })();
function setOpacity(element, value) { element = $(element); if (value == 1 || value === '') value = ''; else if (value < 0.00001) value = 0; element.style.opacity = value; return element; }
function setOpacity_IE(element, value) { if (STANDARD_CSS_OPACITY_SUPPORTED) return setOpacity(element, value);
element = hasLayout_IE($(element)); var filter = Element.getStyle(element, 'filter'), style = element.style;
if (value == 1 || value === '') { filter = stripAlphaFromFilter_IE(filter); if (filter) style.filter = filter; else style.removeAttribute('filter'); return element; }
if (value < 0.00001) value = 0;
style.filter = stripAlphaFromFilter_IE(filter) + 'alpha(opacity=' + (value * 100) + ')';
return element; }
function getOpacity(element) { return Element.getStyle(element, 'opacity'); }
function getOpacity_IE(element) { if (STANDARD_CSS_OPACITY_SUPPORTED) return getOpacity(element);
var filter = Element.getStyle(element, 'filter'); if (filter.length === 0) return 1.0; var match = (filter || '').match(/alpha\(opacity=(.*)\)/); if (match[1]) return parseFloat(match[1]) / 100; return 1.0; }
Object.extend(methods, { setStyle: setStyle, getStyle: getStyle, setOpacity: setOpacity, getOpacity: getOpacity });
if ('styleFloat' in DIV.style) { methods.getStyle = getStyle_IE; methods.setOpacity = setOpacity_IE; methods.getOpacity = getOpacity_IE; }
var UID = 0;
GLOBAL.Element.Storage = { UID: 1 };
function getUniqueElementID(element) { if (element === window) return 0;
if (typeof element._prototypeUID === 'undefined') element._prototypeUID = Element.Storage.UID++; return element._prototypeUID; }
function getUniqueElementID_IE(element) { if (element === window) return 0; if (element == document) return 1; return element.uniqueID; }
var HAS_UNIQUE_ID_PROPERTY = ('uniqueID' in DIV); if (HAS_UNIQUE_ID_PROPERTY) getUniqueElementID = getUniqueElementID_IE;
function getStorage(element) { if (!(element = $(element))) return;
var uid = getUniqueElementID(element);
if (!Element.Storage[uid]) Element.Storage[uid] = $H();
return Element.Storage[uid]; }
function store(element, key, value) { if (!(element = $(element))) return; var storage = getStorage(element); if (arguments.length === 2) { storage.update(key); } else { storage.set(key, value); } return element; }
function retrieve(element, key, defaultValue) { if (!(element = $(element))) return; var storage = getStorage(element), value = storage.get(key);
if (Object.isUndefined(value)) { storage.set(key, defaultValue); value = defaultValue; }
return value; }
Object.extend(methods, { getStorage: getStorage, store: store, retrieve: retrieve });
var Methods = {}, ByTag = Element.Methods.ByTag, F = Prototype.BrowserFeatures;
if (!F.ElementExtensions && ('__proto__' in DIV)) { GLOBAL.HTMLElement = {}; GLOBAL.HTMLElement.prototype = DIV['__proto__']; F.ElementExtensions = true;
|
}
|
}
|
| function checkElementPrototypeDeficiency(tagName) { if (typeof window.Element === 'undefined') return false; var proto = window.Element.prototype; if (proto) { var id = '_' + (Math.random() + '').slice(2), el = document.createElement(tagName); proto[id] = 'x'; var isBuggy = (el[id] !== 'x'); delete proto[id]; el = null; return isBuggy; }
return false; }
var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = checkElementPrototypeDeficiency('object');
|
function extendElementWith(element, methods) { for (var property in methods) {
| function extendElementWith(element, methods) { for (var property in methods) {
|
Zeile 2905 | Zeile 3275 |
---|
} }
|
} }
|
var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = checkDeficiency('object');
if (Prototype.BrowserFeatures.SpecificElementExtensions) { if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) { return function(element) { if (element && typeof element._extendedByPrototype == 'undefined') { var t = element.tagName; if (t && (/^(?:object|applet|embed)$/i.test(t))) { extendElementWith(element, Element.Methods); extendElementWith(element, Element.Methods.Simulated); extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]); } } return element; } } return Prototype.K; }
var Methods = { }, ByTag = Element.Methods.ByTag;
var extend = Object.extend(function(element) { if (!element || typeof element._extendedByPrototype != 'undefined' || element.nodeType != 1 || element == window) return element;
| var EXTENDED = {}; function elementIsExtended(element) { var uid = getUniqueElementID(element); return (uid in EXTENDED); }
function extend(element) { if (!element || elementIsExtended(element)) return element; if (element.nodeType !== Node.ELEMENT_NODE || element == window) return element;
|
var methods = Object.clone(Methods),
|
var methods = Object.clone(Methods),
|
tagName = element.tagName.toUpperCase();
| tagName = element.tagName.toUpperCase();
|
if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
extendElementWith(element, methods);
|
if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
extendElementWith(element, methods);
|
element._extendedByPrototype = Prototype.emptyFunction;
| EXTENDED[getUniqueElementID(element)] = true;
|
return element;
|
return element;
|
| }
function extend_IE8(element) { if (!element || elementIsExtended(element)) return element;
|
|
|
}, { refresh: function() { if (!Prototype.BrowserFeatures.ElementExtensions) { Object.extend(Methods, Element.Methods); Object.extend(Methods, Element.Methods.Simulated); }
| var t = element.tagName; if (t && (/^(?:object|applet|embed)$/i.test(t))) { extendElementWith(element, Element.Methods); extendElementWith(element, Element.Methods.Simulated); extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]);
|
}
|
}
|
});
extend.refresh(); return extend; })();
if (document.documentElement.hasAttribute) { Element.hasAttribute = function(element, attribute) { return element.hasAttribute(attribute); }; } else { Element.hasAttribute = Element.Methods.Simulated.hasAttribute; }
| |
|
|
Element.addMethods = function(methods) { var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
| return element; }
|
|
|
if (!methods) { Object.extend(Form, Form.Methods); Object.extend(Form.Element, Form.Element.Methods); Object.extend(Element.Methods.ByTag, { "FORM": Object.clone(Form.Methods), "INPUT": Object.clone(Form.Element.Methods), "SELECT": Object.clone(Form.Element.Methods), "TEXTAREA": Object.clone(Form.Element.Methods), "BUTTON": Object.clone(Form.Element.Methods) }); }
if (arguments.length == 2) { var tagName = methods; methods = arguments[1]; }
if (!tagName) Object.extend(Element.Methods, methods || { }); else { if (Object.isArray(tagName)) tagName.each(extend); else extend(tagName); }
function extend(tagName) {
| if (F.SpecificElementExtensions) { extend = HTMLOBJECTELEMENT_PROTOTYPE_BUGGY ? extend_IE8 : Prototype.K; }
function addMethodsToTagName(tagName, methods) {
|
tagName = tagName.toUpperCase();
|
tagName = tagName.toUpperCase();
|
if (!Element.Methods.ByTag[tagName]) Element.Methods.ByTag[tagName] = { }; Object.extend(Element.Methods.ByTag[tagName], methods);
| if (!ByTag[tagName]) ByTag[tagName] = {}; Object.extend(ByTag[tagName], methods);
|
}
|
}
|
function copy(methods, destination, onlyIfAbsent) { onlyIfAbsent = onlyIfAbsent || false;
| function mergeMethods(destination, methods, onlyIfAbsent) { if (Object.isUndefined(onlyIfAbsent)) onlyIfAbsent = false;
|
for (var property in methods) { var value = methods[property]; if (!Object.isFunction(value)) continue; if (!onlyIfAbsent || !(property in destination)) destination[property] = value.methodize();
|
for (var property in methods) { var value = methods[property]; if (!Object.isFunction(value)) continue; if (!onlyIfAbsent || !(property in destination)) destination[property] = value.methodize();
|
} }
| } }
|
function findDOMClass(tagName) { var klass; var trans = {
| function findDOMClass(tagName) { var klass; var trans = {
|
Zeile 3024 | Zeile 3348 |
---|
if (window[klass]) return window[klass]; klass = 'HTML' + tagName.capitalize() + 'Element'; if (window[klass]) return window[klass];
|
if (window[klass]) return window[klass]; klass = 'HTML' + tagName.capitalize() + 'Element'; if (window[klass]) return window[klass];
|
|
|
var element = document.createElement(tagName),
|
var element = document.createElement(tagName),
|
proto = element['__proto__'] || element.constructor.prototype;
| proto = element['__proto__'] || element.constructor.prototype;
|
element = null; return proto;
|
element = null; return proto;
|
}
var elementPrototype = window.HTMLElement ? HTMLElement.prototype : Element.prototype;
if (F.ElementExtensions) { copy(Element.Methods, elementPrototype); copy(Element.Methods.Simulated, elementPrototype, true); }
if (F.SpecificElementExtensions) { for (var tag in Element.Methods.ByTag) { var klass = findDOMClass(tag); if (Object.isUndefined(klass)) continue; copy(T[tag], klass.prototype); } }
Object.extend(Element, Element.Methods); delete Element.ByTag;
if (Element.extend.refresh) Element.extend.refresh(); Element.cache = { }; };
document.viewport = {
getDimensions: function() { return { width: this.getWidth(), height: this.getHeight() }; },
getScrollOffsets: function() { return Element._returnOffset( window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop); } };
(function(viewport) { var B = Prototype.Browser, doc = document, element, property = {};
function getRootElement() { if (B.WebKit && !doc.evaluate) return document;
if (B.Opera && window.parseFloat(window.opera.version()) < 9.5) return document.body;
return document.documentElement; }
function define(D) { if (!element) element = getRootElement();
property[D] = 'client' + D;
viewport['get' + D] = function() { return element[property[D]] }; return viewport['get' + D](); }
viewport.getWidth = define.curry('Width');
viewport.getHeight = define.curry('Height'); })(document.viewport);
Element.Storage = { UID: 1 };
Element.addMethods({ getStorage: function(element) { if (!(element = $(element))) return;
var uid; if (element === window) { uid = 0; } else { if (typeof element._prototypeUID === "undefined") element._prototypeUID = Element.Storage.UID++; uid = element._prototypeUID; }
if (!Element.Storage[uid]) Element.Storage[uid] = $H();
return Element.Storage[uid]; },
store: function(element, key, value) { if (!(element = $(element))) return;
| }
function addMethods(methods) { if (arguments.length === 0) addFormMethods();
|
if (arguments.length === 2) {
|
if (arguments.length === 2) {
|
Element.getStorage(element).update(key); } else { Element.getStorage(element).set(key, value);
| var tagName = methods; methods = arguments[1];
|
}
|
}
|
return element; },
retrieve: function(element, key, defaultValue) { if (!(element = $(element))) return; var hash = Element.getStorage(element), value = hash.get(key);
if (Object.isUndefined(value)) { hash.set(key, defaultValue); value = defaultValue; }
return value; },
clone: function(element, deep) { if (!(element = $(element))) return; var clone = element.cloneNode(deep); clone._prototypeUID = void 0; if (deep) { var descendants = Element.select(clone, '*'), i = descendants.length; while (i--) { descendants[i]._prototypeUID = void 0; }
| if (!tagName) { Object.extend(Element.Methods, methods || {}); } else { if (Object.isArray(tagName)) { for (var i = 0, tag; tag = tagName[i]; i++) addMethodsToTagName(tag, methods); } else { addMethodsToTagName(tagName, methods); } }
var ELEMENT_PROTOTYPE = window.HTMLElement ? HTMLElement.prototype : Element.prototype;
if (F.ElementExtensions) { mergeMethods(ELEMENT_PROTOTYPE, Element.Methods); mergeMethods(ELEMENT_PROTOTYPE, Element.Methods.Simulated, true);
|
}
|
}
|
return Element.extend(clone); },
purge: function(element) { if (!(element = $(element))) return; var purgeElement = Element._purgeElement;
purgeElement(element);
var descendants = element.getElementsByTagName('*'), i = descendants.length;
while (i--) purgeElement(descendants[i]);
return null; } });
(function() {
| if (F.SpecificElementExtensions) { for (var tag in Element.Methods.ByTag) { var klass = findDOMClass(tag); if (Object.isUndefined(klass)) continue; mergeMethods(klass.prototype, ByTag[tag]); } }
Object.extend(Element, Element.Methods); Object.extend(Element, Element.Methods.Simulated); delete Element.ByTag; delete Element.Simulated;
Element.extend.refresh();
ELEMENT_CACHE = {}; }
Object.extend(GLOBAL.Element, { extend: extend, addMethods: addMethods });
if (extend === Prototype.K) { GLOBAL.Element.extend.refresh = Prototype.emptyFunction; } else { GLOBAL.Element.extend.refresh = function() { if (Prototype.BrowserFeatures.ElementExtensions) return; Object.extend(Methods, Element.Methods); Object.extend(Methods, Element.Methods.Simulated);
EXTENDED = {}; }; }
function addFormMethods() { Object.extend(Form, Form.Methods); Object.extend(Form.Element, Form.Element.Methods); Object.extend(Element.Methods.ByTag, { "FORM": Object.clone(Form.Methods), "INPUT": Object.clone(Form.Element.Methods), "SELECT": Object.clone(Form.Element.Methods), "TEXTAREA": Object.clone(Form.Element.Methods), "BUTTON": Object.clone(Form.Element.Methods) }); }
Element.addMethods(methods);
})(this); (function() {
|
function toDecimal(pctString) { var match = pctString.match(/^(\d+)%?$/i); if (!match) return null; return (Number(match[1]) / 100); }
|
function toDecimal(pctString) { var match = pctString.match(/^(\d+)%?$/i); if (!match) return null; return (Number(match[1]) / 100); }
|
| function getRawStyle(element, style) { element = $(element);
var value = element.style[style]; if (!value || value === 'auto') { var css = document.defaultView.getComputedStyle(element, null); value = css ? css[style] : null; }
if (style === 'opacity') return value ? parseFloat(value) : 1.0; return value === 'auto' ? null : value; }
function getRawStyle_IE(element, style) { var value = element.style[style]; if (!value && element.currentStyle) { value = element.currentStyle[style]; } return value; }
function getContentWidth(element, context) { var boxWidth = element.offsetWidth;
var bl = getPixelValue(element, 'borderLeftWidth', context) || 0; var br = getPixelValue(element, 'borderRightWidth', context) || 0; var pl = getPixelValue(element, 'paddingLeft', context) || 0; var pr = getPixelValue(element, 'paddingRight', context) || 0;
return boxWidth - bl - br - pl - pr; }
if ('currentStyle' in document.documentElement) { getRawStyle = getRawStyle_IE; }
|
function getPixelValue(value, property, context) { var element = null; if (Object.isElement(value)) { element = value;
|
function getPixelValue(value, property, context) { var element = null; if (Object.isElement(value)) { element = value;
|
value = element.getStyle(property);
| value = getRawStyle(element, property);
|
}
|
}
|
if (value === null) {
| if (value === null || Object.isUndefined(value)) {
|
return null; }
| return null; }
|
Zeile 3211 | Zeile 3508 |
---|
if (element && isPercentage) { context = context || element.parentNode;
|
if (element && isPercentage) { context = context || element.parentNode;
|
var decimal = toDecimal(value); var whole = null; var position = element.getStyle('position');
| var decimal = toDecimal(value), whole = null;
|
var isHorizontal = property.include('left') || property.include('right') || property.include('width');
|
var isHorizontal = property.include('left') || property.include('right') || property.include('width');
|
var isVertical = property.include('top') || property.include('bottom') ||
| var isVertical = property.include('top') || property.include('bottom') ||
|
property.include('height');
if (context === document.viewport) {
| property.include('height');
if (context === document.viewport) {
|
Zeile 3242 | Zeile 3537 |
---|
}
function toCSSPixels(number) {
|
}
function toCSSPixels(number) {
|
if (Object.isString(number) && number.endsWith('px')) {
| if (Object.isString(number) && number.endsWith('px'))
|
return number;
|
return number;
|
}
| |
return number + 'px'; }
function isDisplayed(element) {
|
return number + 'px'; }
function isDisplayed(element) {
|
var originalElement = element;
| |
while (element && element.parentNode) { var display = element.getStyle('display'); if (display === 'none') {
| while (element && element.parentNode) { var display = element.getStyle('display'); if (display === 'none') {
|
Zeile 3307 | Zeile 3600 |
---|
},
_begin: function() {
|
},
_begin: function() {
|
if (this._prepared) return;
| if (this._isPrepared()) return;
|
var element = this.element; if (isDisplayed(element)) {
|
var element = this.element; if (isDisplayed(element)) {
|
this._prepared = true;
| this._setPrepared(true);
|
return; }
|
return; }
|
|
|
var originalStyles = { position: element.style.position || '', width: element.style.width || '', visibility: element.style.visibility || '', display: element.style.display || ''
|
var originalStyles = { position: element.style.position || '', width: element.style.width || '', visibility: element.style.visibility || '', display: element.style.display || ''
|
};
element.store('prototype_original_styles', originalStyles);
var position = element.getStyle('position'), width = element.getStyle('width');
if (width === "0px" || width === null) {
| };
element.store('prototype_original_styles', originalStyles);
var position = getRawStyle(element, 'position'), width = element.offsetWidth;
if (width === 0 || width === null) {
|
element.style.display = 'block';
|
element.style.display = 'block';
|
width = element.getStyle('width');
| width = element.offsetWidth;
|
}
var context = (position === 'fixed') ? document.viewport : element.parentNode;
|
}
var context = (position === 'fixed') ? document.viewport : element.parentNode;
|
element.setStyle({ position: 'absolute',
| var tempStyles = {
|
visibility: 'hidden', display: 'block'
|
visibility: 'hidden', display: 'block'
|
});
| };
if (position !== 'fixed') tempStyles.position = 'absolute';
|
|
|
var positionedWidth = element.getStyle('width');
| element.setStyle(tempStyles);
|
|
|
var newWidth;
| var positionedWidth = element.offsetWidth, newWidth;
|
if (width && (positionedWidth === width)) {
|
if (width && (positionedWidth === width)) {
|
newWidth = getPixelValue(element, 'width', context);
| newWidth = getContentWidth(element, context);
|
} else if (position === 'absolute' || position === 'fixed') {
|
} else if (position === 'absolute' || position === 'fixed') {
|
newWidth = getPixelValue(element, 'width', context);
| newWidth = getContentWidth(element, context);
|
} else { var parent = element.parentNode, pLayout = $(parent).getLayout();
| } else { var parent = element.parentNode, pLayout = $(parent).getLayout();
|
Zeile 3362 | Zeile 3656 |
---|
element.setStyle({ width: newWidth + 'px' });
|
element.setStyle({ width: newWidth + 'px' });
|
this._prepared = true;
| this._setPrepared(true);
|
},
_end: function() {
| },
_end: function() {
|
Zeile 3370 | Zeile 3664 |
---|
var originalStyles = element.retrieve('prototype_original_styles'); element.store('prototype_original_styles', null); element.setStyle(originalStyles);
|
var originalStyles = element.retrieve('prototype_original_styles'); element.store('prototype_original_styles', null); element.setStyle(originalStyles);
|
this._prepared = false;
| this._setPrepared(false);
|
},
_compute: function(property) {
| },
_compute: function(property) {
|
Zeile 3380 | Zeile 3674 |
---|
}
return this._set(property, COMPUTATIONS[property].call(this, this.element));
|
}
return this._set(property, COMPUTATIONS[property].call(this, this.element));
|
| },
_isPrepared: function() { return this.element.retrieve('prototype_element_layout_prepared', false); },
_setPrepared: function(bool) { return this.element.store('prototype_element_layout_prepared', bool);
|
},
toObject: function() {
| },
toObject: function() {
|
Zeile 3387 | Zeile 3689 |
---|
var keys = (args.length === 0) ? Element.Layout.PROPERTIES : args.join(' ').split(' '); var obj = {};
|
var keys = (args.length === 0) ? Element.Layout.PROPERTIES : args.join(' ').split(' '); var obj = {};
|
keys.each( function(key) { if (!Element.Layout.PROPERTIES.include(key)) return; var value = this.get(key);
| keys.each( function(key) { if (!Element.Layout.PROPERTIES.include(key)) return; var value = this.get(key);
|
if (value != null) obj[key] = value; }, this); return obj;
| if (value != null) obj[key] = value; }, this); return obj;
|
Zeile 3437 | Zeile 3739 |
---|
}
var bTop = this.get('border-top'),
|
}
var bTop = this.get('border-top'),
|
bBottom = this.get('border-bottom');
| bBottom = this.get('border-bottom');
|
var pTop = this.get('padding-top'), pBottom = this.get('padding-bottom');
|
var pTop = this.get('padding-top'), pBottom = this.get('padding-bottom');
|
if (!this._preComputing) this._end();
| if (!this._preComputing) this._end();
|
return bHeight - bTop - bBottom - pTop - pBottom; },
| return bHeight - bTop - bBottom - pTop - pBottom; },
|
Zeile 3463 | Zeile 3765 |
---|
pRight = this.get('padding-right');
if (!this._preComputing) this._end();
|
pRight = this.get('padding-right');
if (!this._preComputing) this._end();
|
| |
return bWidth - bLeft - bRight - pLeft - pRight; },
| return bWidth - bLeft - bRight - pLeft - pRight; },
|
Zeile 3581 | Zeile 3882 |
---|
'margin-top': function(element) { return getPixelValue(element, 'marginTop');
|
'margin-top': function(element) { return getPixelValue(element, 'marginTop');
|
},
| },
|
'margin-bottom': function(element) { return getPixelValue(element, 'marginBottom'); },
| 'margin-bottom': function(element) { return getPixelValue(element, 'marginBottom'); },
|
Zeile 3600 | Zeile 3901 |
---|
if ('getBoundingClientRect' in document.documentElement) { Object.extend(Element.Layout.COMPUTATIONS, { 'right': function(element) {
|
if ('getBoundingClientRect' in document.documentElement) { Object.extend(Element.Layout.COMPUTATIONS, { 'right': function(element) {
|
var parent = hasLayout(element.getOffsetParent());
| var parent = hasLayout(element.getOffsetParent());
|
var rect = element.getBoundingClientRect(), pRect = parent.getBoundingClientRect();
| var rect = element.getBoundingClientRect(), pRect = parent.getBoundingClientRect();
|
Zeile 3652 | Zeile 3953 |
---|
function measure(element, property) { return $(element).getLayout().get(property);
|
function measure(element, property) { return $(element).getLayout().get(property);
|
| }
function getHeight(element) { return Element.getDimensions(element).height; }
function getWidth(element) { return Element.getDimensions(element).width;
|
}
function getDimensions(element) {
| }
function getDimensions(element) {
|
Zeile 3712 | Zeile 4021 |
---|
element = $(element); var valueT = 0, valueL = 0; if (element.parentNode) {
|
element = $(element); var valueT = 0, valueL = 0; if (element.parentNode) {
|
do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; } while (element); } return new Element.Offset(valueL, valueT); }
function positionedOffset(element) { element = $(element);
var layout = element.getLayout();
var valueT = 0, valueL = 0;
| do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; } while (element); } return new Element.Offset(valueL, valueT); }
function positionedOffset(element) { element = $(element);
var layout = element.getLayout();
var valueT = 0, valueL = 0;
|
do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0;
| do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0;
|
Zeile 3736 | Zeile 4045 |
---|
var p = Element.getStyle(element, 'position'); if (p !== 'static') break; }
|
var p = Element.getStyle(element, 'position'); if (p !== 'static') break; }
|
} while (element);
| } while (element);
|
valueL -= layout.get('margin-top'); valueT -= layout.get('margin-left');
|
valueL -= layout.get('margin-top'); valueT -= layout.get('margin-left');
|
return new Element.Offset(valueL, valueT);
| return new Element.Offset(valueL, valueT);
|
}
function cumulativeScrollOffset(element) {
| }
function cumulativeScrollOffset(element) {
|
Zeile 3755 | Zeile 4064 |
---|
}
function viewportOffset(forElement) {
|
}
function viewportOffset(forElement) {
|
element = $(element);
| |
var valueT = 0, valueL = 0, docBody = document.body;
|
var valueT = 0, valueL = 0, docBody = document.body;
|
var element = forElement;
| var element = $(forElement);
|
do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0;
| do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0;
|
Zeile 3820 | Zeile 4128 |
---|
if (originalStyles) element.setStyle(originalStyles); return element; }
|
if (originalStyles) element.setStyle(originalStyles); return element; }
|
|
function scrollTo(element) { element = $(element); var pos = Element.cumulativeOffset(element); window.scrollTo(pos.left, pos.top); return element; }
function makePositioned(element) { element = $(element); var position = Element.getStyle(element, 'position'), styles = {}; if (position === 'static' || !position) { styles.position = 'relative'; if (Prototype.Browser.Opera) { styles.top = 0; styles.left = 0; } Element.setStyle(element, styles); Element.store(element, 'prototype_made_positioned', true); } return element; }
function undoPositioned(element) { element = $(element); var storage = Element.getStorage(element), madePositioned = storage.get('prototype_made_positioned');
if (madePositioned) { storage.unset('prototype_made_positioned'); Element.setStyle(element, { position: '', top: '', bottom: '', left: '', right: '' }); } return element; }
function makeClipping(element) { element = $(element);
var storage = Element.getStorage(element), madeClipping = storage.get('prototype_made_clipping');
if (Object.isUndefined(madeClipping)) { var overflow = Element.getStyle(element, 'overflow'); storage.set('prototype_made_clipping', overflow); if (overflow !== 'hidden') element.style.overflow = 'hidden'; }
return element; }
function undoClipping(element) { element = $(element); var storage = Element.getStorage(element), overflow = storage.get('prototype_made_clipping');
if (!Object.isUndefined(overflow)) { storage.unset('prototype_made_clipping'); element.style.overflow = overflow || ''; }
return element; }
function clonePosition(element, source, options) { options = Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, options || {});
source = $(source); element = $(element); var p, delta, layout, styles = {};
if (options.setLeft || options.setTop) { p = Element.viewportOffset(source); delta = [0, 0]; if (Element.getStyle(element, 'position') === 'absolute') { var parent = Element.getOffsetParent(element); if (parent !== document.body) delta = Element.viewportOffset(parent); } }
if (options.setWidth || options.setHeight) { layout = Element.getLayout(source); }
if (options.setLeft) styles.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; if (options.setTop) styles.top = (p[1] - delta[1] + options.offsetTop) + 'px';
if (options.setWidth) styles.width = layout.get('border-box-width') + 'px'; if (options.setHeight) styles.height = layout.get('border-box-height') + 'px';
return Element.setStyle(element, styles); }
|
if (Prototype.Browser.IE) { getOffsetParent = getOffsetParent.wrap(
| if (Prototype.Browser.IE) { getOffsetParent = getOffsetParent.wrap(
|
Zeile 3831 | Zeile 4251 |
---|
var position = element.getStyle('position'); if (position !== 'static') return proceed(element);
|
var position = element.getStyle('position'); if (position !== 'static') return proceed(element);
|
|
|
element.setStyle({ position: 'relative' }); var value = proceed(element); element.setStyle({ position: position });
| element.setStyle({ position: 'relative' }); var value = proceed(element); element.setStyle({ position: position });
|
Zeile 3861 | Zeile 4281 |
---|
do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0;
|
do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0;
|
if (element.offsetParent == document.body)
| if (element.offsetParent == document.body) {
|
if (Element.getStyle(element, 'position') == 'absolute') break;
|
if (Element.getStyle(element, 'position') == 'absolute') break;
|
| }
|
element = element.offsetParent; } while (element);
| element = element.offsetParent; } while (element);
|
Zeile 3875 | Zeile 4296 |
---|
Element.addMethods({ getLayout: getLayout, measure: measure,
|
Element.addMethods({ getLayout: getLayout, measure: measure,
|
| getWidth: getWidth, getHeight: getHeight,
|
getDimensions: getDimensions, getOffsetParent: getOffsetParent, cumulativeOffset: cumulativeOffset,
| getDimensions: getDimensions, getOffsetParent: getOffsetParent, cumulativeOffset: cumulativeOffset,
|
Zeile 3882 | Zeile 4305 |
---|
cumulativeScrollOffset: cumulativeScrollOffset, viewportOffset: viewportOffset, absolutize: absolutize,
|
cumulativeScrollOffset: cumulativeScrollOffset, viewportOffset: viewportOffset, absolutize: absolutize,
|
relativize: relativize
| relativize: relativize, scrollTo: scrollTo, makePositioned: makePositioned, undoPositioned: undoPositioned, makeClipping: makeClipping, undoClipping: undoClipping, clonePosition: clonePosition
|
});
function isBody(element) {
| });
function isBody(element) {
|
Zeile 3915 | Zeile 4344 |
---|
} }); }
|
} }); }
|
|
})();
(function() {
var IS_OLD_OPERA = Prototype.Browser.Opera && (window.parseFloat(window.opera.version()) < 9.5); var ROOT = null; function getRootElement() { if (ROOT) return ROOT; ROOT = IS_OLD_OPERA ? document.body : document.documentElement; return ROOT; }
function getDimensions() { return { width: this.getWidth(), height: this.getHeight() }; }
function getWidth() { return getRootElement().clientWidth; }
function getHeight() { return getRootElement().clientHeight; }
function getScrollOffsets() { var x = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft; var y = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
return new Element.Offset(x, y); }
document.viewport = { getDimensions: getDimensions, getWidth: getWidth, getHeight: getHeight, getScrollOffsets: getScrollOffsets };
|
})(); window.$$ = function() { var expression = $A(arguments).join(', ');
| })(); window.$$ = function() { var expression = $A(arguments).join(', ');
|
Zeile 3961 | Zeile 4433 |
---|
}; })(); /*!
|
}; })(); /*!
|
* Sizzle CSS Selector Engine - v1.0 * Copyright 2009, The Dojo Foundation
| * Sizzle CSS Selector Engine * Copyright 2011, The Dojo Foundation
|
* Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ (function(){
|
* Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ (function(){
|
var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
| var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
|
done = 0, toString = Object.prototype.toString, hasDuplicate = false,
|
done = 0, toString = Object.prototype.toString, hasDuplicate = false,
|
baseHasDuplicate = true;
| baseHasDuplicate = true, rBackslash = /\\/g, rNonWord = /\W/;
|
|
|
[0, 0].sort(function(){
| [0, 0].sort(function() {
|
baseHasDuplicate = false; return 0; });
|
baseHasDuplicate = false; return 0; });
|
var Sizzle = function(selector, context, results, seed) {
| var Sizzle = function( selector, context, results, seed ) {
|
results = results || [];
|
results = results || [];
|
var origContext = context = context || document;
| context = context || document;
var origContext = context;
|
if ( context.nodeType !== 1 && context.nodeType !== 9 ) { return [];
| if ( context.nodeType !== 1 && context.nodeType !== 9 ) { return [];
|
Zeile 3991 | Zeile 4467 |
---|
return results; }
|
return results; }
|
var parts = [], m, set, checkSet, check, mode, extra, prune = true, contextXML = isXML(context),
| var m, set, checkSet, extra, ret, cur, pop, i, prune = true, contextXML = Sizzle.isXML( context ), parts = [],
|
soFar = selector;
|
soFar = selector;
|
while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) { soFar = m[3];
parts.push( m[1] );
if ( m[2] ) { extra = m[3]; break;
| do { chunker.exec( "" ); m = chunker.exec( soFar );
if ( m ) { soFar = m[3];
parts.push( m[1] );
if ( m[2] ) { extra = m[3]; break; }
|
}
|
}
|
}
| } while ( m );
|
if ( parts.length > 1 && origPOS.exec( selector ) ) {
|
if ( parts.length > 1 && origPOS.exec( selector ) ) {
|
|
|
if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { set = posProcess( parts[0] + parts[1], context );
|
if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { set = posProcess( parts[0] + parts[1], context );
|
|
|
} else { set = Expr.relative[ parts[0] ] ? [ context ] :
| } else { set = Expr.relative[ parts[0] ] ? [ context ] :
|
Zeile 4015 | Zeile 4501 |
---|
while ( parts.length ) { selector = parts.shift();
|
while ( parts.length ) { selector = parts.shift();
|
if ( Expr.relative[ selector ] )
| if ( Expr.relative[ selector ] ) {
|
selector += parts.shift();
|
selector += parts.shift();
|
| }
|
set = posProcess( selector, set ); }
|
set = posProcess( selector, set ); }
|
}
| }
|
} else { if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
|
} else { if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
|
var ret = Sizzle.find( parts.shift(), context, contextXML ); context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0]; }
| ret = Sizzle.find( parts.shift(), context, contextXML ); context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0]; }
|
if ( context ) {
|
if ( context ) {
|
var ret = seed ?
| ret = seed ?
|
{ expr: parts.pop(), set: makeArray(seed) } : Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
|
{ expr: parts.pop(), set: makeArray(seed) } : Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
|
set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
| set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
|
if ( parts.length > 0 ) {
|
if ( parts.length > 0 ) {
|
checkSet = makeArray(set);
| checkSet = makeArray( set );
|
} else { prune = false; }
while ( parts.length ) {
|
} else { prune = false; }
while ( parts.length ) {
|
var cur = parts.pop(), pop = cur;
| cur = parts.pop(); pop = cur;
|
if ( !Expr.relative[ cur ] ) { cur = "";
| if ( !Expr.relative[ cur ] ) { cur = "";
|
Zeile 4056 | Zeile 4552 |
---|
Expr.relative[ cur ]( checkSet, pop, contextXML ); }
|
Expr.relative[ cur ]( checkSet, pop, contextXML ); }
|
|
|
} else { checkSet = parts = [];
|
} else { checkSet = parts = [];
|
} }
if ( !checkSet ) { checkSet = set; }
| } }
if ( !checkSet ) { checkSet = set; }
|
if ( !checkSet ) {
|
if ( !checkSet ) {
|
throw "Syntax error, unrecognized expression: " + (cur || selector);
| Sizzle.error( cur || selector );
|
}
if ( toString.call(checkSet) === "[object Array]" ) { if ( !prune ) { results.push.apply( results, checkSet );
|
}
if ( toString.call(checkSet) === "[object Array]" ) { if ( !prune ) { results.push.apply( results, checkSet );
|
|
|
} else if ( context && context.nodeType === 1 ) {
|
} else if ( context && context.nodeType === 1 ) {
|
for ( var i = 0; checkSet[i] != null; i++ ) { if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
| for ( i = 0; checkSet[i] != null; i++ ) { if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
|
results.push( set[i] ); } }
|
results.push( set[i] ); } }
|
|
|
} else {
|
} else {
|
for ( var i = 0; checkSet[i] != null; i++ ) {
| for ( i = 0; checkSet[i] != null; i++ ) {
|
if ( checkSet[i] && checkSet[i].nodeType === 1 ) { results.push( set[i] ); } } }
|
if ( checkSet[i] && checkSet[i].nodeType === 1 ) { results.push( set[i] ); } } }
|
|
|
} else { makeArray( checkSet, results );
|
} else { makeArray( checkSet, results );
|
}
| }
|
if ( extra ) { Sizzle( extra, origContext, results, seed ); Sizzle.uniqueSort( results );
|
if ( extra ) { Sizzle( extra, origContext, results, seed ); Sizzle.uniqueSort( results );
|
}
return results; };
| }
return results; };
|
|
|
Sizzle.uniqueSort = function(results){
| Sizzle.uniqueSort = function( results ) {
|
if ( sortOrder ) { hasDuplicate = baseHasDuplicate;
|
if ( sortOrder ) { hasDuplicate = baseHasDuplicate;
|
results.sort(sortOrder);
| results.sort( sortOrder );
|
if ( hasDuplicate ) { for ( var i = 1; i < results.length; i++ ) {
|
if ( hasDuplicate ) { for ( var i = 1; i < results.length; i++ ) {
|
if ( results[i] === results[i-1] ) { results.splice(i--, 1);
| if ( results[i] === results[ i - 1 ] ) { results.splice( i--, 1 );
|
} } }
| } } }
|
Zeile 4114 | Zeile 4614 |
---|
return results; };
|
return results; };
|
Sizzle.matches = function(expr, set){ return Sizzle(expr, null, null, set); };
Sizzle.find = function(expr, context, isXML){ var set, match;
| Sizzle.matches = function( expr, set ) { return Sizzle( expr, null, null, set ); };
Sizzle.matchesSelector = function( node, expr ) { return Sizzle( expr, null, null, [node] ).length > 0; };
Sizzle.find = function( expr, context, isXML ) { var set;
|
if ( !expr ) { return [];
|
if ( !expr ) { return [];
|
}
for ( var i = 0, l = Expr.order.length; i < l; i++ ) { var type = Expr.order[i], match;
| }
for ( var i = 0, l = Expr.order.length; i < l; i++ ) { var match, type = Expr.order[i];
|
if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { var left = match[1];
|
if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { var left = match[1];
|
match.splice(1,1);
| match.splice( 1, 1 );
|
if ( left.substr( left.length - 1 ) !== "\\" ) {
|
if ( left.substr( left.length - 1 ) !== "\\" ) {
|
match[1] = (match[1] || "").replace(/\\/g, "");
| match[1] = (match[1] || "").replace( rBackslash, "" );
|
set = Expr.find[ type ]( match, context, isXML );
|
set = Expr.find[ type ]( match, context, isXML );
|
|
|
if ( set != null ) {
|
if ( set != null ) {
|
expr = expr.replace( Expr.match[ type ], "" );
| expr = expr.replace( Expr.match[ type ], "" );
|
break; } } }
|
break; } } }
|
}
| }
|
if ( !set ) {
|
if ( !set ) {
|
set = context.getElementsByTagName("*");
| set = typeof context.getElementsByTagName !== "undefined" ? context.getElementsByTagName( "*" ) : [];
|
}
|
}
|
return {set: set, expr: expr}; };
Sizzle.filter = function(expr, set, inplace, not){ var old = expr, result = [], curLoop = set, match, anyFound, isXMLFilter = set && set[0] && isXML(set[0]);
| return { set: set, expr: expr }; };
Sizzle.filter = function( expr, set, inplace, not ) { var match, anyFound, old = expr, result = [], curLoop = set, isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
|
while ( expr && set.length ) { for ( var type in Expr.filter ) {
|
while ( expr && set.length ) { for ( var type in Expr.filter ) {
|
if ( (match = Expr.match[ type ].exec( expr )) != null ) { var filter = Expr.filter[ type ], found, item;
| if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { var found, item, filter = Expr.filter[ type ], left = match[1];
|
anyFound = false;
|
anyFound = false;
|
if ( curLoop == result ) {
| match.splice(1,1);
if ( left.substr( left.length - 1 ) === "\\" ) { continue; }
if ( curLoop === result ) {
|
result = [];
|
result = [];
|
}
| }
|
if ( Expr.preFilter[ type ] ) { match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
|
if ( Expr.preFilter[ type ] ) { match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
|
|
|
if ( !match ) { anyFound = found = true;
|
if ( !match ) { anyFound = found = true;
|
|
|
} else if ( match === true ) { continue;
|
} else if ( match === true ) { continue;
|
}
| }
|
}
if ( match ) {
| }
if ( match ) {
|
Zeile 4183 | Zeile 4704 |
---|
if ( inplace && found != null ) { if ( pass ) { anyFound = true;
|
if ( inplace && found != null ) { if ( pass ) { anyFound = true;
|
|
|
} else { curLoop[i] = false; }
|
} else { curLoop[i] = false; }
|
|
|
} else if ( pass ) { result.push( item ); anyFound = true;
| } else if ( pass ) { result.push( item ); anyFound = true;
|
Zeile 4197 | Zeile 4720 |
---|
if ( found !== undefined ) { if ( !inplace ) { curLoop = result;
|
if ( found !== undefined ) { if ( !inplace ) { curLoop = result;
|
}
expr = expr.replace( Expr.match[ type ], "" );
| }
expr = expr.replace( Expr.match[ type ], "" );
|
if ( !anyFound ) { return []; }
break;
|
if ( !anyFound ) { return []; }
break;
|
} }
| } }
|
}
|
}
|
if ( expr == old ) {
| if ( expr === old ) {
|
if ( anyFound == null ) {
|
if ( anyFound == null ) {
|
throw "Syntax error, unrecognized expression: " + expr;
| Sizzle.error( expr );
|
} else { break; }
| } else { break; }
|
Zeile 4222 | Zeile 4746 |
---|
}
return curLoop;
|
}
return curLoop;
|
| };
Sizzle.error = function( msg ) { throw "Syntax error, unrecognized expression: " + msg;
|
};
var Expr = Sizzle.selectors = { order: [ "ID", "NAME", "TAG" ],
|
};
var Expr = Sizzle.selectors = { order: [ "ID", "NAME", "TAG" ],
|
|
|
match: {
|
match: {
|
ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/ },
| ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ },
|
leftMatch: {},
|
leftMatch: {},
|
|
|
attrMap: { "class": "className", "for": "htmlFor"
|
attrMap: { "class": "className", "for": "htmlFor"
|
},
| },
|
attrHandle: {
|
attrHandle: {
|
href: function(elem){ return elem.getAttribute("href");
| href: function( elem ) { return elem.getAttribute( "href" ); }, type: function( elem ) { return elem.getAttribute( "type" );
|
} },
|
} },
|
|
|
relative: {
|
relative: {
|
"+": function(checkSet, part, isXML){
| "+": function(checkSet, part){
|
var isPartStr = typeof part === "string",
|
var isPartStr = typeof part === "string",
|
isTag = isPartStr && !/\W/.test(part),
| isTag = isPartStr && !rNonWord.test( part ),
|
isPartStrNotTag = isPartStr && !isTag;
|
isPartStrNotTag = isPartStr && !isTag;
|
if ( isTag && !isXML ) { part = part.toUpperCase();
| if ( isTag ) { part = part.toLowerCase();
|
}
for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { if ( (elem = checkSet[i]) ) { while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
|
}
for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { if ( (elem = checkSet[i]) ) { while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
|
checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
| checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
|
elem || false : elem === part; }
| elem || false : elem === part; }
|
Zeile 4268 | Zeile 4804 |
---|
if ( isPartStrNotTag ) { Sizzle.filter( part, checkSet, true );
|
if ( isPartStrNotTag ) { Sizzle.filter( part, checkSet, true );
|
}
| }
|
},
|
},
|
">": function(checkSet, part, isXML){ var isPartStr = typeof part === "string";
if ( isPartStr && !/\W/.test(part) ) { part = isXML ? part : part.toUpperCase();
for ( var i = 0, l = checkSet.length; i < l; i++ ) { var elem = checkSet[i];
| ">": function( checkSet, part ) { var elem, isPartStr = typeof part === "string", i = 0, l = checkSet.length;
if ( isPartStr && !rNonWord.test( part ) ) { part = part.toLowerCase();
for ( ; i < l; i++ ) { elem = checkSet[i];
|
if ( elem ) { var parent = elem.parentNode;
|
if ( elem ) { var parent = elem.parentNode;
|
checkSet[i] = parent.nodeName === part ? parent : false;
| checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
|
} }
|
} }
|
|
|
} else {
|
} else {
|
for ( var i = 0, l = checkSet.length; i < l; i++ ) { var elem = checkSet[i];
| for ( ; i < l; i++ ) { elem = checkSet[i];
|
if ( elem ) { checkSet[i] = isPartStr ? elem.parentNode :
| if ( elem ) { checkSet[i] = isPartStr ? elem.parentNode :
|
Zeile 4298 | Zeile 4841 |
---|
} } },
|
} } },
|
|
|
"": function(checkSet, part, isXML){
|
"": function(checkSet, part, isXML){
|
var doneName = done++, checkFn = dirCheck;
if ( !/\W/.test(part) ) { var nodeCheck = part = isXML ? part : part.toUpperCase(); checkFn = dirNodeCheck; }
checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); }, "~": function(checkSet, part, isXML){ var doneName = done++, checkFn = dirCheck;
| var nodeCheck, doneName = done++, checkFn = dirCheck;
|
|
|
if ( typeof part === "string" && !/\W/.test(part) ) { var nodeCheck = part = isXML ? part : part.toUpperCase();
| if ( typeof part === "string" && !rNonWord.test( part ) ) { part = part.toLowerCase(); nodeCheck = part;
|
checkFn = dirNodeCheck; }
|
checkFn = dirNodeCheck; }
|
checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
| checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); },
"~": function( checkSet, part, isXML ) { var nodeCheck, doneName = done++, checkFn = dirCheck;
if ( typeof part === "string" && !rNonWord.test( part ) ) { part = part.toLowerCase(); nodeCheck = part; checkFn = dirNodeCheck; }
checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
|
} },
|
} },
|
|
|
find: {
|
find: {
|
ID: function(match, context, isXML){
| ID: function( match, context, isXML ) {
|
if ( typeof context.getElementById !== "undefined" && !isXML ) { var m = context.getElementById(match[1]);
|
if ( typeof context.getElementById !== "undefined" && !isXML ) { var m = context.getElementById(match[1]);
|
return m ? [m] : [];
| return m && m.parentNode ? [m] : [];
|
} },
|
} },
|
NAME: function(match, context, isXML){ if ( typeof context.getElementsByName !== "undefined" ) { var ret = [], results = context.getElementsByName(match[1]);
| NAME: function( match, context ) { if ( typeof context.getElementsByName !== "undefined" ) { var ret = [], results = context.getElementsByName( match[1] );
|
for ( var i = 0, l = results.length; i < l; i++ ) { if ( results[i].getAttribute("name") === match[1] ) {
| for ( var i = 0, l = results.length; i < l; i++ ) { if ( results[i].getAttribute("name") === match[1] ) {
|
Zeile 4337 | Zeile 4891 |
---|
}
return ret.length === 0 ? null : ret;
|
}
return ret.length === 0 ? null : ret;
|
} }, TAG: function(match, context){ return context.getElementsByTagName(match[1]);
| } },
TAG: function( match, context ) { if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( match[1] ); }
|
} }, preFilter: {
|
} }, preFilter: {
|
CLASS: function(match, curLoop, inplace, result, not, isXML){ match = " " + match[1].replace(/\\/g, "") + " ";
| CLASS: function( match, curLoop, inplace, result, not, isXML ) { match = " " + match[1].replace( rBackslash, "" ) + " ";
|
if ( isXML ) { return match;
| if ( isXML ) { return match;
|
Zeile 4353 | Zeile 4910 |
---|
for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { if ( elem ) {
|
for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { if ( elem ) {
|
if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) { if ( !inplace )
| if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { if ( !inplace ) {
|
result.push( elem );
|
result.push( elem );
|
| }
|
} else if ( inplace ) { curLoop[i] = false;
|
} else if ( inplace ) { curLoop[i] = false;
|
} } }
| } } }
|
return false; },
|
return false; },
|
ID: function(match){ return match[1].replace(/\\/g, ""); }, TAG: function(match, curLoop){ for ( var i = 0; curLoop[i] === false; i++ ){} return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
| ID: function( match ) { return match[1].replace( rBackslash, "" ); },
TAG: function( match, curLoop ) { return match[1].replace( rBackslash, "" ).toLowerCase();
|
},
|
},
|
CHILD: function(match){ if ( match[1] == "nth" ) { var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
| CHILD: function( match ) { if ( match[1] === "nth" ) { if ( !match[2] ) { Sizzle.error( match[0] ); }
match[2] = match[2].replace(/^\+|\s*/g, '');
var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
|
!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
match[2] = (test[1] + (test[2] || 1)) - 0; match[3] = test[3] - 0;
|
!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
match[2] = (test[1] + (test[2] || 1)) - 0; match[3] = test[3] - 0;
|
}
| } else if ( match[2] ) { Sizzle.error( match[0] ); }
|
match[0] = done++;
|
match[0] = done++;
|
|
|
return match; },
|
return match; },
|
ATTR: function(match, curLoop, inplace, result, not, isXML){ var name = match[1].replace(/\\/g, "");
| ATTR: function( match, curLoop, inplace, result, not, isXML ) { var name = match[1] = match[1].replace( rBackslash, "" );
|
if ( !isXML && Expr.attrMap[name] ) { match[1] = Expr.attrMap[name];
|
if ( !isXML && Expr.attrMap[name] ) { match[1] = Expr.attrMap[name];
|
}
| }
match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
|
if ( match[2] === "~=" ) { match[4] = " " + match[4] + " "; }
|
if ( match[2] === "~=" ) { match[4] = " " + match[4] + " "; }
|
|
|
return match; },
|
return match; },
|
PSEUDO: function(match, curLoop, inplace, result, not){
| PSEUDO: function( match, curLoop, inplace, result, not ) {
|
if ( match[1] === "not" ) { if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { match[3] = Sizzle(match[3], null, null, curLoop);
|
if ( match[1] === "not" ) { if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { match[3] = Sizzle(match[3], null, null, curLoop);
|
|
|
} else { var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
|
} else { var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
|
|
|
if ( !inplace ) { result.push.apply( result, ret ); }
|
if ( !inplace ) { result.push.apply( result, ret ); }
|
|
|
return false;
|
return false;
|
}
| }
|
} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { return true; }
|
} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { return true; }
|
|
|
return match; },
|
return match; },
|
POS: function(match){
| POS: function( match ) {
|
match.unshift( true );
|
match.unshift( true );
|
|
|
return match; } },
|
return match; } },
|
|
|
filters: {
|
filters: {
|
enabled: function(elem){
| enabled: function( elem ) {
|
return elem.disabled === false && elem.type !== "hidden"; },
|
return elem.disabled === false && elem.type !== "hidden"; },
|
disabled: function(elem){
| disabled: function( elem ) {
|
return elem.disabled === true; },
|
return elem.disabled === true; },
|
checked: function(elem){
| checked: function( elem ) {
|
return elem.checked === true;
|
return elem.checked === true;
|
}, selected: function(elem){ elem.parentNode.selectedIndex;
| },
selected: function( elem ) { if ( elem.parentNode ) { elem.parentNode.selectedIndex; }
|
return elem.selected === true; },
|
return elem.selected === true; },
|
parent: function(elem){
| parent: function( elem ) {
|
return !!elem.firstChild;
|
return !!elem.firstChild;
|
}, empty: function(elem){
| },
empty: function( elem ) {
|
return !elem.firstChild;
|
return !elem.firstChild;
|
}, has: function(elem, i, match){
| },
has: function( elem, i, match ) {
|
return !!Sizzle( match[3], elem ).length;
|
return !!Sizzle( match[3], elem ).length;
|
}, header: function(elem){ return /h\d/i.test( elem.nodeName ); }, text: function(elem){ return "text" === elem.type; }, radio: function(elem){ return "radio" === elem.type; }, checkbox: function(elem){ return "checkbox" === elem.type; }, file: function(elem){ return "file" === elem.type; }, password: function(elem){ return "password" === elem.type; }, submit: function(elem){ return "submit" === elem.type; }, image: function(elem){ return "image" === elem.type; }, reset: function(elem){ return "reset" === elem.type; }, button: function(elem){ return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON"; }, input: function(elem){ return /input|select|textarea|button/i.test(elem.nodeName);
| },
header: function( elem ) { return (/h\d/i).test( elem.nodeName ); },
text: function( elem ) { var attr = elem.getAttribute( "type" ), type = elem.type; return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); },
radio: function( elem ) { return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; },
checkbox: function( elem ) { return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; },
file: function( elem ) { return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; },
password: function( elem ) { return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; },
submit: function( elem ) { var name = elem.nodeName.toLowerCase(); return (name === "input" || name === "button") && "submit" === elem.type; },
image: function( elem ) { return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; },
reset: function( elem ) { var name = elem.nodeName.toLowerCase(); return (name === "input" || name === "button") && "reset" === elem.type; },
button: function( elem ) { var name = elem.nodeName.toLowerCase(); return name === "input" && "button" === elem.type || name === "button"; },
input: function( elem ) { return (/input|select|textarea|button/i).test( elem.nodeName ); },
focus: function( elem ) { return elem === elem.ownerDocument.activeElement;
|
} }, setFilters: {
|
} }, setFilters: {
|
first: function(elem, i){
| first: function( elem, i ) {
|
return i === 0; },
|
return i === 0; },
|
last: function(elem, i, match, array){
| last: function( elem, i, match, array ) {
|
return i === array.length - 1;
|
return i === array.length - 1;
|
}, even: function(elem, i){
| },
even: function( elem, i ) {
|
return i % 2 === 0;
|
return i % 2 === 0;
|
}, odd: function(elem, i){
| },
odd: function( elem, i ) {
|
return i % 2 === 1;
|
return i % 2 === 1;
|
}, lt: function(elem, i, match){
| },
lt: function( elem, i, match ) {
|
return i < match[3] - 0; },
|
return i < match[3] - 0; },
|
gt: function(elem, i, match){
| gt: function( elem, i, match ) {
|
return i > match[3] - 0; },
|
return i > match[3] - 0; },
|
nth: function(elem, i, match){ return match[3] - 0 == i;
| nth: function( elem, i, match ) { return match[3] - 0 === i;
|
},
|
},
|
eq: function(elem, i, match){ return match[3] - 0 == i;
| eq: function( elem, i, match ) { return match[3] - 0 === i;
|
} }, filter: {
|
} }, filter: {
|
PSEUDO: function(elem, match, i, array){ var name = match[1], filter = Expr.filters[ name ];
if ( filter ) {
| PSEUDO: function( elem, match, i, array ) { var name = match[1], filter = Expr.filters[ name ];
if ( filter ) {
|
return filter( elem, i, match, array );
|
return filter( elem, i, match, array );
|
|
|
} else if ( name === "contains" ) {
|
} else if ( name === "contains" ) {
|
return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
| return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0;
|
} else if ( name === "not" ) { var not = match[3];
|
} else if ( name === "not" ) { var not = match[3];
|
for ( var i = 0, l = not.length; i < l; i++ ) { if ( not[i] === elem ) {
| for ( var j = 0, l = not.length; j < l; j++ ) { if ( not[j] === elem ) {
|
return false; } }
return true;
|
return false; } }
return true;
|
}
| } else { Sizzle.error( name ); }
|
},
|
},
|
CHILD: function(elem, match){ var type = match[1], node = elem; switch (type) { case 'only': case 'first': while ( (node = node.previousSibling) ) { if ( node.nodeType === 1 ) return false; } if ( type == 'first') return true;
| CHILD: function( elem, match ) { var type = match[1], node = elem;
switch ( type ) { case "only": case "first": while ( (node = node.previousSibling) ) { if ( node.nodeType === 1 ) { return false; } }
if ( type === "first" ) { return true; }
|
node = elem;
|
node = elem;
|
case 'last': while ( (node = node.nextSibling) ) { if ( node.nodeType === 1 ) return false;
| case "last": while ( (node = node.nextSibling) ) { if ( node.nodeType === 1 ) { return false; }
|
}
|
}
|
return true; case 'nth': var first = match[2], last = match[3];
| |
|
|
if ( first == 1 && last == 0 ) {
| return true;
case "nth": var first = match[2], last = match[3];
if ( first === 1 && last === 0 ) {
|
return true; }
| return true; }
|
Zeile 4550 | Zeile 5187 |
---|
if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { var count = 0;
|
if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { var count = 0;
|
|
|
for ( node = parent.firstChild; node; node = node.nextSibling ) { if ( node.nodeType === 1 ) { node.nodeIndex = ++count; } }
|
for ( node = parent.firstChild; node; node = node.nextSibling ) { if ( node.nodeType === 1 ) { node.nodeIndex = ++count; } }
|
|
|
parent.sizcache = doneName;
|
parent.sizcache = doneName;
|
}
| }
|
var diff = elem.nodeIndex - last;
|
var diff = elem.nodeIndex - last;
|
if ( first == 0 ) { return diff == 0;
| if ( first === 0 ) { return diff === 0;
|
} else {
|
} else {
|
return ( diff % first == 0 && diff / first >= 0 );
| return ( diff % first === 0 && diff / first >= 0 );
|
} } },
|
} } },
|
ID: function(elem, match){
| ID: function( elem, match ) {
|
return elem.nodeType === 1 && elem.getAttribute("id") === match; },
|
return elem.nodeType === 1 && elem.getAttribute("id") === match; },
|
TAG: function(elem, match){ return (match === "*" && elem.nodeType === 1) || elem.nodeName === match; }, CLASS: function(elem, match){
| TAG: function( elem, match ) { return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; },
CLASS: function( elem, match ) {
|
return (" " + (elem.className || elem.getAttribute("class")) + " ") .indexOf( match ) > -1; },
|
return (" " + (elem.className || elem.getAttribute("class")) + " ") .indexOf( match ) > -1; },
|
ATTR: function(elem, match){
| ATTR: function( elem, match ) {
|
var name = match[1], result = Expr.attrHandle[ name ] ? Expr.attrHandle[ name ]( elem ) :
| var name = match[1], result = Expr.attrHandle[ name ] ? Expr.attrHandle[ name ]( elem ) :
|
Zeile 4598 | Zeile 5243 |
---|
!check ? value && result !== false : type === "!=" ?
|
!check ? value && result !== false : type === "!=" ?
|
value != check :
| value !== check :
|
type === "^=" ? value.indexOf(check) === 0 : type === "$=" ?
| type === "^=" ? value.indexOf(check) === 0 : type === "$=" ?
|
Zeile 4607 | Zeile 5252 |
---|
value === check || value.substr(0, check.length + 1) === check + "-" : false; },
|
value === check || value.substr(0, check.length + 1) === check + "-" : false; },
|
POS: function(elem, match, i, array){ var name = match[2], filter = Expr.setFilters[ name ];
| POS: function( elem, match, i, array ) { var name = match[2], filter = Expr.setFilters[ name ];
|
if ( filter ) { return filter( elem, i, match, array );
|
if ( filter ) { return filter( elem, i, match, array );
|
} } }
| } } }
|
};
|
};
|
var origPOS = Expr.match.POS;
| var origPOS = Expr.match.POS, fescape = function(all, num){ return "\\" + (num - 0 + 1); };
|
for ( var type in Expr.match ) {
|
for ( var type in Expr.match ) {
|
Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source ); Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source );
| Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
|
}
|
}
|
var makeArray = function(array, results) {
| var makeArray = function( array, results ) {
|
array = Array.prototype.slice.call( array, 0 );
if ( results ) {
| array = Array.prototype.slice.call( array, 0 );
if ( results ) {
|
Zeile 4636 | Zeile 5286 |
---|
};
try {
|
};
try {
|
Array.prototype.slice.call( document.documentElement.childNodes, 0 );
} catch(e){ makeArray = function(array, results) { var ret = results || [];
| Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
} catch( e ) { makeArray = function( array, results ) { var i = 0, ret = results || [];
|
if ( toString.call(array) === "[object Array]" ) { Array.prototype.push.apply( ret, array );
|
if ( toString.call(array) === "[object Array]" ) { Array.prototype.push.apply( ret, array );
|
|
|
} else { if ( typeof array.length === "number" ) {
|
} else { if ( typeof array.length === "number" ) {
|
for ( var i = 0, l = array.length; i < l; i++ ) { ret.push( array[i] );
| for ( var l = array.length; i < l; i++ ) { ret.push( array[i] );
|
}
|
}
|
|
|
} else {
|
} else {
|
for ( var i = 0; array[i]; i++ ) {
| for ( ; array[i]; i++ ) {
|
ret.push( array[i] ); } } }
return ret;
|
ret.push( array[i] ); } } }
return ret;
|
};
| };
|
}
|
}
|
var sortOrder;
| var sortOrder, siblingCheck;
|
if ( document.documentElement.compareDocumentPosition ) { sortOrder = function( a, b ) {
|
if ( document.documentElement.compareDocumentPosition ) { sortOrder = function( a, b ) {
|
| if ( a === b ) { hasDuplicate = true; return 0; }
|
if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
|
if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
|
if ( a == b ) { hasDuplicate = true; } return 0; }
var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; if ( ret === 0 ) { hasDuplicate = true; } return ret; }; } else if ( "sourceIndex" in document.documentElement ) {
| return a.compareDocumentPosition ? -1 : 1; }
return a.compareDocumentPosition(b) & 4 ? -1 : 1; };
} else {
|
sortOrder = function( a, b ) {
|
sortOrder = function( a, b ) {
|
if ( !a.sourceIndex || !b.sourceIndex ) { if ( a == b ) { hasDuplicate = true; }
| if ( a === b ) { hasDuplicate = true;
|
return 0;
|
return 0;
|
| } else if ( a.sourceIndex && b.sourceIndex ) { return a.sourceIndex - b.sourceIndex; }
var al, bl, ap = [], bp = [], aup = a.parentNode, bup = b.parentNode, cur = aup;
if ( aup === bup ) { return siblingCheck( a, b );
} else if ( !aup ) { return -1;
} else if ( !bup ) { return 1; }
while ( cur ) { ap.unshift( cur ); cur = cur.parentNode; }
cur = bup;
while ( cur ) { bp.unshift( cur ); cur = cur.parentNode; }
al = ap.length; bl = bp.length;
for ( var i = 0; i < al && i < bl; i++ ) { if ( ap[i] !== bp[i] ) { return siblingCheck( ap[i], bp[i] ); } }
return i === al ? siblingCheck( a, bp[i], -1 ) : siblingCheck( ap[i], b, 1 ); };
siblingCheck = function( a, b, ret ) { if ( a === b ) { return ret;
|
}
|
}
|
var ret = a.sourceIndex - b.sourceIndex; if ( ret === 0 ) { hasDuplicate = true;
| var cur = a.nextSibling;
while ( cur ) { if ( cur === b ) { return -1; }
cur = cur.nextSibling;
|
}
|
}
|
return ret; }; } else if ( document.createRange ) { sortOrder = function( a, b ) { if ( !a.ownerDocument || !b.ownerDocument ) { if ( a == b ) { hasDuplicate = true; } return 0; }
var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange(); aRange.setStart(a, 0); aRange.setEnd(a, 0); bRange.setStart(b, 0); bRange.setEnd(b, 0); var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange); if ( ret === 0 ) { hasDuplicate = true; } return ret;
| return 1;
|
}; }
|
}; }
|
| Sizzle.getText = function( elems ) { var ret = "", elem;
for ( var i = 0; elems[i]; i++ ) { elem = elems[i];
if ( elem.nodeType === 3 || elem.nodeType === 4 ) { ret += elem.nodeValue;
} else if ( elem.nodeType !== 8 ) { ret += Sizzle.getText( elem.childNodes ); } }
return ret; };
|
(function(){ var form = document.createElement("div"),
|
(function(){ var form = document.createElement("div"),
|
id = "script" + (new Date).getTime();
| id = "script" + (new Date()).getTime(), root = document.documentElement;
|
form.innerHTML = "<a name='" + id + "'/>";
|
form.innerHTML = "<a name='" + id + "'/>";
|
var root = document.documentElement;
| |
root.insertBefore( form, root.firstChild );
|
root.insertBefore( form, root.firstChild );
|
if ( !!document.getElementById( id ) ) { Expr.find.ID = function(match, context, isXML){
| if ( document.getElementById( id ) ) { Expr.find.ID = function( match, context, isXML ) {
|
if ( typeof context.getElementById !== "undefined" && !isXML ) { var m = context.getElementById(match[1]);
|
if ( typeof context.getElementById !== "undefined" && !isXML ) { var m = context.getElementById(match[1]);
|
return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
| return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
|
}
|
}
|
};
| };
|
|
|
Expr.filter.ID = function(elem, match){
| Expr.filter.ID = function( elem, match ) {
|
var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
|
var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
|
return elem.nodeType === 1 && node && node.nodeValue === match; }; }
| |
|
|
root.removeChild( form ); root = form = null; // release memory in IE })();
(function(){
var div = document.createElement("div");
| return elem.nodeType === 1 && node && node.nodeValue === match; }; }
root.removeChild( form );
root = form = null; })();
(function(){
var div = document.createElement("div");
|
div.appendChild( document.createComment("") );
|
div.appendChild( document.createComment("") );
|
|
|
if ( div.getElementsByTagName("*").length > 0 ) {
|
if ( div.getElementsByTagName("*").length > 0 ) {
|
Expr.find.TAG = function(match, context){ var results = context.getElementsByTagName(match[1]);
| Expr.find.TAG = function( match, context ) { var results = context.getElementsByTagName( match[1] );
|
if ( match[1] === "*" ) { var tmp = [];
|
if ( match[1] === "*" ) { var tmp = [];
|
|
|
for ( var i = 0; results[i]; i++ ) { if ( results[i].nodeType === 1 ) { tmp.push( results[i] );
| for ( var i = 0; results[i]; i++ ) { if ( results[i].nodeType === 1 ) { tmp.push( results[i] );
|
Zeile 4766 | Zeile 5478 |
---|
}
div.innerHTML = "<a href='#'></a>";
|
}
div.innerHTML = "<a href='#'></a>";
|
|
|
if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && div.firstChild.getAttribute("href") !== "#" ) {
|
if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && div.firstChild.getAttribute("href") !== "#" ) {
|
Expr.attrHandle.href = function(elem){ return elem.getAttribute("href", 2); }; }
div = null; // release memory in IE })();
if ( document.querySelectorAll ) (function(){ var oldSizzle = Sizzle, div = document.createElement("div"); div.innerHTML = "<p class='TEST'></p>";
if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { return; }
Sizzle = function(query, context, extra, seed){ context = context || document;
if ( !seed && context.nodeType === 9 && !isXML(context) ) { try { return makeArray( context.querySelectorAll(query), extra ); } catch(e){} }
return oldSizzle(query, context, extra, seed); };
for ( var prop in oldSizzle ) { Sizzle[ prop ] = oldSizzle[ prop ];
| Expr.attrHandle.href = function( elem ) { return elem.getAttribute( "href", 2 ); }; }
div = null; })();
if ( document.querySelectorAll ) { (function(){ var oldSizzle = Sizzle, div = document.createElement("div"), id = "__sizzle__";
div.innerHTML = "<p class='TEST'></p>";
if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { return; }
Sizzle = function( query, context, extra, seed ) { context = context || document;
if ( !seed && !Sizzle.isXML(context) ) { var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { if ( match[1] ) { return makeArray( context.getElementsByTagName( query ), extra );
} else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { return makeArray( context.getElementsByClassName( match[2] ), extra ); } }
if ( context.nodeType === 9 ) { if ( query === "body" && context.body ) { return makeArray( [ context.body ], extra );
} else if ( match && match[3] ) { var elem = context.getElementById( match[3] );
if ( elem && elem.parentNode ) { if ( elem.id === match[3] ) { return makeArray( [ elem ], extra ); }
} else { return makeArray( [], extra ); } }
try { return makeArray( context.querySelectorAll(query), extra ); } catch(qsaError) {}
} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { var oldContext = context, old = context.getAttribute( "id" ), nid = old || id, hasParent = context.parentNode, relativeHierarchySelector = /^\s*[+~]/.test( query );
if ( !old ) { context.setAttribute( "id", nid ); } else { nid = nid.replace( /'/g, "\\$&" ); } if ( relativeHierarchySelector && hasParent ) { context = context.parentNode; }
try { if ( !relativeHierarchySelector || hasParent ) { return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); }
} catch(pseudoError) { } finally { if ( !old ) { oldContext.removeAttribute( "id" ); } } } }
return oldSizzle(query, context, extra, seed); };
for ( var prop in oldSizzle ) { Sizzle[ prop ] = oldSizzle[ prop ]; }
div = null; })(); }
(function(){ var html = document.documentElement, matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
if ( matches ) { var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), pseudoWorks = false;
try { matches.call( document.documentElement, "[test!='']:sizzle" );
} catch( pseudoError ) { pseudoWorks = true; }
Sizzle.matchesSelector = function( node, expr ) { expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
if ( !Sizzle.isXML( node ) ) { try { if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { var ret = matches.call( node, expr );
if ( ret || !disconnectedMatch || node.document && node.document.nodeType !== 11 ) { return ret; } } } catch(e) {} }
return Sizzle(expr, null, null, [node]).length > 0; };
|
}
|
}
|
div = null; // release memory in IE
| |
})();
|
})();
|
if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
| (function(){
|
var div = document.createElement("div");
|
var div = document.createElement("div");
|
|
|
div.innerHTML = "<div class='test e'></div><div class='test'></div>";
|
div.innerHTML = "<div class='test e'></div><div class='test'></div>";
|
if ( div.getElementsByClassName("e").length === 0 )
| if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
|
return;
|
return;
|
| }
|
div.lastChild.className = "e";
|
div.lastChild.className = "e";
|
if ( div.getElementsByClassName("e").length === 1 )
| if ( div.getElementsByClassName("e").length === 1 ) {
|
return;
|
return;
|
| }
|
Expr.order.splice(1, 0, "CLASS");
|
Expr.order.splice(1, 0, "CLASS");
|
Expr.find.CLASS = function(match, context, isXML) {
| Expr.find.CLASS = function( match, context, isXML ) {
|
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { return context.getElementsByClassName(match[1]);
|
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { return context.getElementsByClassName(match[1]);
|
} };
div = null; // release memory in IE
| } };
div = null;
|
})();
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
})();
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
var sibDir = dir == "previousSibling" && !isXML; for ( var i = 0, l = checkSet.length; i < l; i++ ) { var elem = checkSet[i]; if ( elem ) { if ( sibDir && elem.nodeType === 1 ){ elem.sizcache = doneName; elem.sizset = i; } elem = elem[dir]; var match = false;
while ( elem ) { if ( elem.sizcache === doneName ) { match = checkSet[elem.sizset];
| for ( var i = 0, l = checkSet.length; i < l; i++ ) { var elem = checkSet[i];
if ( elem ) { var match = false;
elem = elem[dir];
while ( elem ) { if ( elem.sizcache === doneName ) { match = checkSet[elem.sizset];
|
break; }
if ( elem.nodeType === 1 && !isXML ){ elem.sizcache = doneName;
|
break; }
if ( elem.nodeType === 1 && !isXML ){ elem.sizcache = doneName;
|
elem.sizset = i; }
| elem.sizset = i; }
|
|
|
if ( elem.nodeName === cur ) {
| if ( elem.nodeName.toLowerCase() === cur ) {
|
match = elem; break; }
| match = elem; break; }
|
Zeile 4860 | Zeile 5672 |
---|
} } }
|
} } }
|
|
|
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
var sibDir = dir == "previousSibling" && !isXML;
| |
for ( var i = 0, l = checkSet.length; i < l; i++ ) { var elem = checkSet[i];
|
for ( var i = 0, l = checkSet.length; i < l; i++ ) { var elem = checkSet[i];
|
|
|
if ( elem ) {
|
if ( elem ) {
|
if ( sibDir && elem.nodeType === 1 ) { elem.sizcache = doneName; elem.sizset = i; } elem = elem[dir];
| |
var match = false;
|
var match = false;
|
| elem = elem[dir];
|
while ( elem ) { if ( elem.sizcache === doneName ) {
| while ( elem ) { if ( elem.sizcache === doneName ) {
|
Zeile 4884 | Zeile 5693 |
---|
elem.sizcache = doneName; elem.sizset = i; }
|
elem.sizcache = doneName; elem.sizset = i; }
|
|
|
if ( typeof cur !== "string" ) { if ( elem === cur ) { match = true;
| if ( typeof cur !== "string" ) { if ( elem === cur ) { match = true;
|
Zeile 4904 | Zeile 5714 |
---|
} }
|
} }
|
var contains = document.compareDocumentPosition ? function(a, b){ return a.compareDocumentPosition(b) & 16; } : function(a, b){ return a !== b && (a.contains ? a.contains(b) : true); };
| if ( document.documentElement.contains ) { Sizzle.contains = function( a, b ) { return a !== b && (a.contains ? a.contains(b) : true); };
} else if ( document.documentElement.compareDocumentPosition ) { Sizzle.contains = function( a, b ) { return !!(a.compareDocumentPosition(b) & 16); };
} else { Sizzle.contains = function() { return false; }; }
Sizzle.isXML = function( elem ) { var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
|
|
|
var isXML = function(elem){ return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || !!elem.ownerDocument && elem.ownerDocument.documentElement.nodeName !== "HTML";
| return documentElement ? documentElement.nodeName !== "HTML" : false;
|
};
|
};
|
var posProcess = function(selector, context){ var tmpSet = [], later = "", match,
| var posProcess = function( selector, context ) { var match, tmpSet = [], later = "",
|
root = context.nodeType ? [context] : context;
while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
| root = context.nodeType ? [context] : context;
while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
|
Zeile 4983 | Zeile 5806 |
---|
} else { initial = ''; accumulator = function(result, key, value) {
|
} else { initial = ''; accumulator = function(result, key, value) {
|
return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + encodeURIComponent(value);
| value = value.gsub(/(\r)?\n/, '\r\n'); value = encodeURIComponent(value); value = value.gsub(/%20/, '+'); return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + value;
|
} }
| } }
|
Zeile 5004 | Zeile 5830 |
---|
serialize: function(form, options) { return Form.serializeElements(Form.getElements(form), options); },
|
serialize: function(form, options) { return Form.serializeElements(Form.getElements(form), options); },
|
|
|
getElements: function(form) {
|
getElements: function(form) {
|
var elements = $(form).getElementsByTagName('*'), element, arr = [ ], serializers = Form.Element.Serializers;
| var elements = $(form).getElementsByTagName('*'); var element, results = [], serializers = Form.Element.Serializers;
|
for (var i = 0; element = elements[i]; i++) {
|
for (var i = 0; element = elements[i]; i++) {
|
arr.push(element);
| if (serializers[element.tagName.toLowerCase()]) results.push(Element.extend(element));
|
}
|
}
|
return arr.inject([], function(elements, child) { if (serializers[child.tagName.toLowerCase()]) elements.push(Element.extend(child)); return elements; })
| return results;
|
},
getInputs: function(form, typeName, name) {
| },
getInputs: function(form, typeName, name) {
|
Zeile 5327 | Zeile 6150 |
---|
return Form.serialize(this.element); } });
|
return Form.serialize(this.element); } });
|
(function() {
| (function(GLOBAL) { var DIV = document.createElement('div'); var docEl = document.documentElement; var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl && 'onmouseleave' in docEl;
|
var Event = { KEY_BACKSPACE: 8, KEY_TAB: 9,
| var Event = { KEY_BACKSPACE: 8, KEY_TAB: 9,
|
Zeile 5343 | Zeile 6170 |
---|
KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34,
|
KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34,
|
KEY_INSERT: 45,
cache: {}
| KEY_INSERT: 45
|
};
|
};
|
var docEl = document.documentElement; var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl && 'onmouseleave' in docEl;
| |
var isIELegacyEvent = function(event) { return false; };
|
var isIELegacyEvent = function(event) { return false; };
|
Zeile 5408 | Zeile 6228 |
---|
function isRightClick(event) { return _isButton(event, 2) }
function element(event) {
|
function isRightClick(event) { return _isButton(event, 2) }
function element(event) {
|
| return Element.extend(_element(event)); }
function _element(event) {
|
event = Event.extend(event);
var node = event.target, type = event.type, currentTarget = event.currentTarget;
|
event = Event.extend(event);
var node = event.target, type = event.type, currentTarget = event.currentTarget;
|
|
|
if (currentTarget && currentTarget.tagName) { if (type === 'load' || type === 'error' || (type === 'click' && currentTarget.tagName.toLowerCase() === 'input'
| if (currentTarget && currentTarget.tagName) { if (type === 'load' || type === 'error' || (type === 'click' && currentTarget.tagName.toLowerCase() === 'input'
|
Zeile 5422 | Zeile 6246 |
---|
if (node.nodeType == Node.TEXT_NODE) node = node.parentNode;
|
if (node.nodeType == Node.TEXT_NODE) node = node.parentNode;
|
|
|
return Element.extend(node); }
function findElement(event, expression) {
|
return Element.extend(node); }
function findElement(event, expression) {
|
var element = Event.element(event);
if (!expression) return element;
| var element = _element(event), match = Prototype.Selector.match; if (!expression) return Element.extend(element);
|
while (element) {
|
while (element) {
|
if (Object.isElement(element) && Prototype.Selector.match(element, expression)) {
| if (Object.isElement(element) && match(element, expression))
|
return Element.extend(element);
|
return Element.extend(element);
|
}
| |
element = element.parentNode; } }
| element = element.parentNode; } }
|
Zeile 5530 | Zeile 6352 |
---|
pageX: pointer.x, pageY: pointer.y });
|
pageX: pointer.x, pageY: pointer.y });
|
|
|
Object.extend(event, methods); Object.extend(event, additionalMethods);
|
Object.extend(event, methods); Object.extend(event, additionalMethods);
|
|
|
return event; }; } else { Event.extend = Prototype.K;
|
return event; }; } else { Event.extend = Prototype.K;
|
}
| }
|
if (window.addEventListener) { Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__; Object.extend(Event.prototype, methods);
|
if (window.addEventListener) { Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__; Object.extend(Event.prototype, methods);
|
}
function _createResponder(element, eventName, handler) { var registry = Element.retrieve(element, 'prototype_event_registry');
if (Object.isUndefined(registry)) { CACHE.push(element); registry = Element.retrieve(element, 'prototype_event_registry', $H()); }
var respondersForEvent = registry.get(eventName); if (Object.isUndefined(respondersForEvent)) { respondersForEvent = []; registry.set(eventName, respondersForEvent); }
if (respondersForEvent.pluck('handler').include(handler)) return false;
var responder; if (eventName.include(":")) { responder = function(event) { if (Object.isUndefined(event.eventName)) return false;
if (event.eventName !== eventName) return false;
Event.extend(event, element); handler.call(element, event); }; } else { if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED && (eventName === "mouseenter" || eventName === "mouseleave")) { if (eventName === "mouseenter" || eventName === "mouseleave") { responder = function(event) { Event.extend(event, element);
var parent = event.relatedTarget; while (parent && parent !== element) { try { parent = parent.parentNode; } catch(e) { parent = element; } }
if (parent === element) return;
handler.call(element, event); }; } } else { responder = function(event) { Event.extend(event, element); handler.call(element, event); }; } }
responder.handler = handler; respondersForEvent.push(responder); return responder; }
function _destroyCache() { for (var i = 0, length = CACHE.length; i < length; i++) { Event.stopObserving(CACHE[i]); CACHE[i] = null; } }
var CACHE = [];
if (Prototype.Browser.IE) window.attachEvent('onunload', _destroyCache);
if (Prototype.Browser.WebKit) window.addEventListener('unload', Prototype.emptyFunction, false);
var _getDOMEventName = Prototype.K, translations = { mouseenter: "mouseover", mouseleave: "mouseout" };
if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) { _getDOMEventName = function(eventName) { return (translations[eventName] || eventName); }; }
function observe(element, eventName, handler) { element = $(element);
var responder = _createResponder(element, eventName, handler);
if (!responder) return element;
if (eventName.include(':')) { if (element.addEventListener) element.addEventListener("dataavailable", responder, false); else { element.attachEvent("ondataavailable", responder); element.attachEvent("onlosecapture", responder); } } else { var actualEventName = _getDOMEventName(eventName);
if (element.addEventListener) element.addEventListener(actualEventName, responder, false); else element.attachEvent("on" + actualEventName, responder); }
return element; }
function stopObserving(element, eventName, handler) { element = $(element);
var registry = Element.retrieve(element, 'prototype_event_registry'); if (!registry) return element;
if (!eventName) { registry.each( function(pair) { var eventName = pair.key; stopObserving(element, eventName); }); return element; }
var responders = registry.get(eventName); if (!responders) return element;
if (!handler) { responders.each(function(r) { stopObserving(element, eventName, r.handler); }); return element; }
| }
var EVENT_TRANSLATIONS = { mouseenter: 'mouseover', mouseleave: 'mouseout' };
function getDOMEventName(eventName) { return EVENT_TRANSLATIONS[eventName] || eventName; }
if (MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) getDOMEventName = Prototype.K;
function getUniqueElementID(element) { if (element === window) return 0;
if (typeof element._prototypeUID === 'undefined') element._prototypeUID = Element.Storage.UID++; return element._prototypeUID; }
function getUniqueElementID_IE(element) { if (element === window) return 0; if (element == document) return 1; return element.uniqueID; }
if ('uniqueID' in DIV) getUniqueElementID = getUniqueElementID_IE;
function isCustomEvent(eventName) { return eventName.include(':'); }
Event._isCustomEvent = isCustomEvent;
function getRegistryForElement(element, uid) { var CACHE = GLOBAL.Event.cache; if (Object.isUndefined(uid)) uid = getUniqueElementID(element); if (!CACHE[uid]) CACHE[uid] = { element: element }; return CACHE[uid]; }
function destroyRegistryForElement(element, uid) { if (Object.isUndefined(uid)) uid = getUniqueElementID(element); delete GLOBAL.Event.cache[uid]; }
function register(element, eventName, handler) { var registry = getRegistryForElement(element); if (!registry[eventName]) registry[eventName] = []; var entries = registry[eventName];
var i = entries.length; while (i--) if (entries[i].handler === handler) return null;
var uid = getUniqueElementID(element); var responder = GLOBAL.Event._createResponder(uid, eventName, handler); var entry = { responder: responder, handler: handler };
entries.push(entry); return entry; }
function unregister(element, eventName, handler) { var registry = getRegistryForElement(element); var entries = registry[eventName]; if (!entries) return;
|
|
|
var i = responders.length, responder;
| var i = entries.length, entry;
|
while (i--) {
|
while (i--) {
|
if (responders[i].handler === handler) { responder = responders[i];
| if (entries[i].handler === handler) { entry = entries[i];
|
break; }
|
break; }
|
} if (!responder) return element;
if (eventName.include(':')) { if (element.removeEventListener) element.removeEventListener("dataavailable", responder, false); else { element.detachEvent("ondataavailable", responder); element.detachEvent("onlosecapture", responder); }
| }
if (!entry) return;
var index = entries.indexOf(entry); entries.splice(index, 1);
return entry; }
function observe(element, eventName, handler) { element = $(element); var entry = register(element, eventName, handler);
if (entry === null) return element;
var responder = entry.responder; if (isCustomEvent(eventName)) observeCustomEvent(element, eventName, responder); else observeStandardEvent(element, eventName, responder);
return element; }
function observeStandardEvent(element, eventName, responder) { var actualEventName = getDOMEventName(eventName); if (element.addEventListener) { element.addEventListener(actualEventName, responder, false); } else { element.attachEvent('on' + actualEventName, responder); } }
function observeCustomEvent(element, eventName, responder) { if (element.addEventListener) { element.addEventListener('dataavailable', responder, false); } else { element.attachEvent('ondataavailable', responder); element.attachEvent('onlosecapture', responder); } }
function stopObserving(element, eventName, handler) { element = $(element); var handlerGiven = !Object.isUndefined(handler), eventNameGiven = !Object.isUndefined(eventName);
if (!eventNameGiven && !handlerGiven) { stopObservingElement(element); return element; }
if (!handlerGiven) { stopObservingEventName(element, eventName); return element; }
var entry = unregister(element, eventName, handler);
if (!entry) return element; removeEvent(element, eventName, entry.responder); return element; }
function stopObservingStandardEvent(element, eventName, responder) { var actualEventName = getDOMEventName(eventName); if (element.removeEventListener) { element.removeEventListener(actualEventName, responder, false); } else { element.detachEvent('on' + actualEventName, responder); } }
function stopObservingCustomEvent(element, eventName, responder) { if (element.removeEventListener) { element.removeEventListener('dataavailable', responder, false);
|
} else {
|
} else {
|
var actualEventName = _getDOMEventName(eventName); if (element.removeEventListener) element.removeEventListener(actualEventName, responder, false); else element.detachEvent('on' + actualEventName, responder);
| element.detachEvent('ondataavailable', responder); element.detachEvent('onlosecapture', responder); } }
function stopObservingElement(element) { var uid = getUniqueElementID(element), registry = getRegistryForElement(element, uid);
destroyRegistryForElement(element, uid);
var entries, i; for (var eventName in registry) { if (eventName === 'element') continue;
entries = registry[eventName]; i = entries.length; while (i--) removeEvent(element, eventName, entries[i].responder);
|
}
|
}
|
| }
function stopObservingEventName(element, eventName) { var registry = getRegistryForElement(element); var entries = registry[eventName]; if (!entries) return; delete registry[eventName];
var i = entries.length; while (i--) removeEvent(element, eventName, entries[i].responder); }
function removeEvent(element, eventName, handler) { if (isCustomEvent(eventName)) stopObservingCustomEvent(element, eventName, handler); else stopObservingStandardEvent(element, eventName, handler); }
|
|
|
registry.set(eventName, responders.without(responder));
| |
|
|
| function getFireTarget(element) { if (element !== document) return element; if (document.createEvent && !element.dispatchEvent) return document.documentElement;
|
return element; }
function fire(element, eventName, memo, bubble) {
|
return element; }
function fire(element, eventName, memo, bubble) {
|
element = $(element);
if (Object.isUndefined(bubble)) bubble = true;
| element = getFireTarget($(element)); if (Object.isUndefined(bubble)) bubble = true; memo = memo || {};
|
|
|
if (element == document && document.createEvent && !element.dispatchEvent) element = document.documentElement;
| var event = fireEvent(element, eventName, memo, bubble); return Event.extend(event); }
function fireEvent_DOM(element, eventName, memo, bubble) { var event = document.createEvent('HTMLEvents'); event.initEvent('dataavailable', bubble, true);
event.eventName = eventName; event.memo = memo;
element.dispatchEvent(event); return event; }
|
|
|
var event; if (document.createEvent) { event = document.createEvent('HTMLEvents'); event.initEvent('dataavailable', bubble, true); } else { event = document.createEventObject(); event.eventType = bubble ? 'ondataavailable' : 'onlosecapture'; }
| function fireEvent_IE(element, eventName, memo, bubble) { var event = document.createEventObject(); event.eventType = bubble ? 'ondataavailable' : 'onlosecapture';
|
event.eventName = eventName;
|
event.eventName = eventName;
|
event.memo = memo || { };
if (document.createEvent) element.dispatchEvent(event); else element.fireEvent(event.eventType, event);
return Event.extend(event);
| event.memo = memo;
element.fireEvent(event.eventType, event); return event;
|
}
|
}
|
| var fireEvent = document.createEvent ? fireEvent_DOM : fireEvent_IE;
|
Event.Handler = Class.create({ initialize: function(element, eventName, selector, callback) {
| Event.Handler = Class.create({ initialize: function(element, eventName, selector, callback) {
|
Zeile 5745 | Zeile 6622 |
---|
this.callback = callback; this.handler = this.handleEvent.bind(this); },
|
this.callback = callback; this.handler = this.handleEvent.bind(this); },
|
|
|
start: function() { Event.observe(this.element, this.eventName, this.handler);
| start: function() { Event.observe(this.element, this.eventName, this.handler);
|
Zeile 5759 | Zeile 6637 |
---|
handleEvent: function(event) { var element = Event.findElement(event, this.selector); if (element) this.callback.call(this.element, event, element);
|
handleEvent: function(event) { var element = Event.findElement(event, this.selector); if (element) this.callback.call(this.element, event, element);
|
}
| }
|
});
function on(element, eventName, selector, callback) {
| });
function on(element, eventName, selector, callback) {
|
Zeile 5772 | Zeile 6650 |
---|
}
Object.extend(Event, Event.Methods);
|
}
Object.extend(Event, Event.Methods);
|
|
|
Object.extend(Event, { fire: fire, observe: observe,
| Object.extend(Event, { fire: fire, observe: observe,
|
Zeile 5785 | Zeile 6663 |
---|
observe: observe,
|
observe: observe,
|
stopObserving: stopObserving,
on: on
| stopObserving: stopObserving,
on: on
|
});
Object.extend(document, {
| });
Object.extend(document, {
|
Zeile 5801 | Zeile 6679 |
---|
loaded: false });
|
loaded: false });
|
if (window.Event) Object.extend(window.Event, Event); else window.Event = Event; })();
(function() {
| if (GLOBAL.Event) Object.extend(window.Event, Event); else GLOBAL.Event = Event;
GLOBAL.Event.cache = {};
function destroyCache_IE() { GLOBAL.Event.cache = null; }
if (window.attachEvent) window.attachEvent('onunload', destroyCache_IE);
DIV = null; docEl = null; })(this);
(function(GLOBAL) { /* Code for creating leak-free event responders is based on work by John-David Dalton. */
var docEl = document.documentElement; var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl && 'onmouseleave' in docEl;
function isSimulatedMouseEnterLeaveEvent(eventName) { return !MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED && (eventName === 'mouseenter' || eventName === 'mouseleave'); }
function createResponder(uid, eventName, handler) { if (Event._isCustomEvent(eventName)) return createResponderForCustomEvent(uid, eventName, handler); if (isSimulatedMouseEnterLeaveEvent(eventName)) return createMouseEnterLeaveResponder(uid, eventName, handler);
return function(event) { var cacheEntry = Event.cache[uid]; var element = cacheEntry.element;
Event.extend(event, element); handler.call(element, event); }; }
function createResponderForCustomEvent(uid, eventName, handler) { return function(event) { var cacheEntry = Event.cache[uid], element = cacheEntry.element;
if (Object.isUndefined(event.eventName)) return false;
if (event.eventName !== eventName) return false;
Event.extend(event, element); handler.call(element, event); }; }
function createMouseEnterLeaveResponder(uid, eventName, handler) { return function(event) { var cacheEntry = Event.cache[uid], element = cacheEntry.element;
Event.extend(event, element); var parent = event.relatedTarget;
while (parent && parent !== element) { try { parent = parent.parentNode; } catch(e) { parent = element; } }
if (parent === element) return; handler.call(element, event); } }
GLOBAL.Event._createResponder = createResponder; docEl = null; })(this);
(function(GLOBAL) {
|
/* Support for the DOMContentLoaded event is based on work by Dan Webb, Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */
|
/* Support for the DOMContentLoaded event is based on work by Dan Webb, Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */
|
var timer;
| var TIMER;
|
function fireContentLoadedEvent() { if (document.loaded) return;
|
function fireContentLoadedEvent() { if (document.loaded) return;
|
if (timer) window.clearTimeout(timer);
| if (TIMER) window.clearTimeout(TIMER);
|
document.loaded = true; document.fire('dom:loaded'); }
function checkReadyState() { if (document.readyState === 'complete') {
|
document.loaded = true; document.fire('dom:loaded'); }
function checkReadyState() { if (document.readyState === 'complete') {
|
document.stopObserving('readystatechange', checkReadyState);
| document.detachEvent('onreadystatechange', checkReadyState);
|
fireContentLoadedEvent(); } }
function pollDoScroll() {
|
fireContentLoadedEvent(); } }
function pollDoScroll() {
|
try { document.documentElement.doScroll('left'); } catch(e) { timer = pollDoScroll.defer();
| try { document.documentElement.doScroll('left'); } catch (e) { TIMER = pollDoScroll.defer();
|
return; }
|
return; }
|
|
|
fireContentLoadedEvent(); }
if (document.addEventListener) { document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); } else {
|
fireContentLoadedEvent(); }
if (document.addEventListener) { document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); } else {
|
document.observe('readystatechange', checkReadyState); if (window == top) timer = pollDoScroll.defer();
| document.attachEvent('onreadystatechange', checkReadyState); if (window == top) TIMER = pollDoScroll.defer();
|
}
Event.observe(window, 'load', fireContentLoadedEvent);
|
}
Event.observe(window, 'load', fireContentLoadedEvent);
|
})();
| })(this);
|
Element.addMethods();
|
Element.addMethods();
|
Zeile 5996 | Zeile 6951 |
---|
this.element = $(element); },
|
this.element = $(element); },
|
_each: function(iterator) {
| _each: function(iterator, context) {
|
this.element.className.split(/\s+/).select(function(name) { return name.length > 0;
|
this.element.className.split(/\s+/).select(function(name) { return name.length > 0;
|
})._each(iterator);
| })._each(iterator, context);
|
},
set: function(className) {
| },
set: function(className) {
|