author | Tero Marttila <terom@fixme.fi> |
Mon, 10 Jan 2011 18:30:58 +0200 | |
changeset 54 | d077f2f60098 |
parent 22 | c68ca09b08b9 |
permissions | -rw-r--r-- |
22
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1 |
/*! |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2 |
* jQuery JavaScript Library v1.4.4 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3 |
* http://jquery.com/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4 |
* |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5 |
* Copyright 2010, John Resig |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6 |
* Dual licensed under the MIT or GPL Version 2 licenses. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7 |
* http://jquery.org/license |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
8 |
* |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
9 |
* Includes Sizzle.js |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
10 |
* http://sizzlejs.com/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
11 |
* Copyright 2010, The Dojo Foundation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
12 |
* Released under the MIT, BSD, and GPL Licenses. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
13 |
* |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
14 |
* Date: Thu Nov 11 19:04:53 2010 -0500 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
15 |
*/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
16 |
(function( window, undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
17 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
18 |
// Use the correct document accordingly with window argument (sandbox) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
19 |
var document = window.document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
20 |
var jQuery = (function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
21 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
22 |
// Define a local copy of jQuery |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
23 |
var jQuery = function( selector, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
24 |
// The jQuery object is actually just the init constructor 'enhanced' |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
25 |
return new jQuery.fn.init( selector, context ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
26 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
27 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
28 |
// Map over jQuery in case of overwrite |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
29 |
_jQuery = window.jQuery, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
30 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
31 |
// Map over the $ in case of overwrite |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
32 |
_$ = window.$, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
33 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
34 |
// A central reference to the root jQuery(document) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
35 |
rootjQuery, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
36 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
37 |
// A simple way to check for HTML strings or ID strings |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
38 |
// (both of which we optimize for) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
39 |
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
40 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
41 |
// Is it a simple selector |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
42 |
isSimple = /^.[^:#\[\.,]*$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
43 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
44 |
// Check if a string has a non-whitespace character in it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
45 |
rnotwhite = /\S/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
46 |
rwhite = /\s/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
47 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
48 |
// Used for trimming whitespace |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
49 |
trimLeft = /^\s+/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
50 |
trimRight = /\s+$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
51 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
52 |
// Check for non-word characters |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
53 |
rnonword = /\W/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
54 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
55 |
// Check for digits |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
56 |
rdigit = /\d/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
57 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
58 |
// Match a standalone tag |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
59 |
rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
60 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
61 |
// JSON RegExp |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
62 |
rvalidchars = /^[\],:{}\s]*$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
63 |
rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
64 |
rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
65 |
rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
66 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
67 |
// Useragent RegExp |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
68 |
rwebkit = /(webkit)[ \/]([\w.]+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
69 |
ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
70 |
rmsie = /(msie) ([\w.]+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
71 |
rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
72 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
73 |
// Keep a UserAgent string for use with jQuery.browser |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
74 |
userAgent = navigator.userAgent, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
75 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
76 |
// For matching the engine and version of the browser |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
77 |
browserMatch, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
78 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
79 |
// Has the ready events already been bound? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
80 |
readyBound = false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
81 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
82 |
// The functions to execute on DOM ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
83 |
readyList = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
84 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
85 |
// The ready event handler |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
86 |
DOMContentLoaded, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
87 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
88 |
// Save a reference to some core methods |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
89 |
toString = Object.prototype.toString, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
90 |
hasOwn = Object.prototype.hasOwnProperty, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
91 |
push = Array.prototype.push, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
92 |
slice = Array.prototype.slice, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
93 |
trim = String.prototype.trim, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
94 |
indexOf = Array.prototype.indexOf, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
95 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
96 |
// [[Class]] -> type pairs |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
97 |
class2type = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
98 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
99 |
jQuery.fn = jQuery.prototype = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
100 |
init: function( selector, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
101 |
var match, elem, ret, doc; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
102 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
103 |
// Handle $(""), $(null), or $(undefined) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
104 |
if ( !selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
105 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
106 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
107 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
108 |
// Handle $(DOMElement) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
109 |
if ( selector.nodeType ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
110 |
this.context = this[0] = selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
111 |
this.length = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
112 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
113 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
114 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
115 |
// The body element only exists once, optimize finding it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
116 |
if ( selector === "body" && !context && document.body ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
117 |
this.context = document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
118 |
this[0] = document.body; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
119 |
this.selector = "body"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
120 |
this.length = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
121 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
122 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
123 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
124 |
// Handle HTML strings |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
125 |
if ( typeof selector === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
126 |
// Are we dealing with HTML string or an ID? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
127 |
match = quickExpr.exec( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
128 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
129 |
// Verify a match, and that no context was specified for #id |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
130 |
if ( match && (match[1] || !context) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
131 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
132 |
// HANDLE: $(html) -> $(array) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
133 |
if ( match[1] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
134 |
doc = (context ? context.ownerDocument || context : document); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
135 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
136 |
// If a single string is passed in and it's a single tag |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
137 |
// just do a createElement and skip the rest |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
138 |
ret = rsingleTag.exec( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
139 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
140 |
if ( ret ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
141 |
if ( jQuery.isPlainObject( context ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
142 |
selector = [ document.createElement( ret[1] ) ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
143 |
jQuery.fn.attr.call( selector, context, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
144 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
145 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
146 |
selector = [ doc.createElement( ret[1] ) ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
147 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
148 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
149 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
150 |
ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
151 |
selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
152 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
153 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
154 |
return jQuery.merge( this, selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
155 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
156 |
// HANDLE: $("#id") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
157 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
158 |
elem = document.getElementById( match[2] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
159 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
160 |
// Check parentNode to catch when Blackberry 4.6 returns |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
161 |
// nodes that are no longer in the document #6963 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
162 |
if ( elem && elem.parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
163 |
// Handle the case where IE and Opera return items |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
164 |
// by name instead of ID |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
165 |
if ( elem.id !== match[2] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
166 |
return rootjQuery.find( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
167 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
168 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
169 |
// Otherwise, we inject the element directly into the jQuery object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
170 |
this.length = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
171 |
this[0] = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
172 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
173 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
174 |
this.context = document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
175 |
this.selector = selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
176 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
177 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
178 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
179 |
// HANDLE: $("TAG") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
180 |
} else if ( !context && !rnonword.test( selector ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
181 |
this.selector = selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
182 |
this.context = document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
183 |
selector = document.getElementsByTagName( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
184 |
return jQuery.merge( this, selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
185 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
186 |
// HANDLE: $(expr, $(...)) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
187 |
} else if ( !context || context.jquery ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
188 |
return (context || rootjQuery).find( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
189 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
190 |
// HANDLE: $(expr, context) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
191 |
// (which is just equivalent to: $(context).find(expr) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
192 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
193 |
return jQuery( context ).find( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
194 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
195 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
196 |
// HANDLE: $(function) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
197 |
// Shortcut for document ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
198 |
} else if ( jQuery.isFunction( selector ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
199 |
return rootjQuery.ready( selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
200 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
201 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
202 |
if (selector.selector !== undefined) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
203 |
this.selector = selector.selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
204 |
this.context = selector.context; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
205 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
206 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
207 |
return jQuery.makeArray( selector, this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
208 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
209 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
210 |
// Start with an empty selector |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
211 |
selector: "", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
212 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
213 |
// The current version of jQuery being used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
214 |
jquery: "1.4.4", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
215 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
216 |
// The default length of a jQuery object is 0 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
217 |
length: 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
218 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
219 |
// The number of elements contained in the matched element set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
220 |
size: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
221 |
return this.length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
222 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
223 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
224 |
toArray: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
225 |
return slice.call( this, 0 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
226 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
227 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
228 |
// Get the Nth element in the matched element set OR |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
229 |
// Get the whole matched element set as a clean array |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
230 |
get: function( num ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
231 |
return num == null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
232 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
233 |
// Return a 'clean' array |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
234 |
this.toArray() : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
235 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
236 |
// Return just the object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
237 |
( num < 0 ? this.slice(num)[ 0 ] : this[ num ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
238 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
239 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
240 |
// Take an array of elements and push it onto the stack |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
241 |
// (returning the new matched element set) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
242 |
pushStack: function( elems, name, selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
243 |
// Build a new jQuery matched element set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
244 |
var ret = jQuery(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
245 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
246 |
if ( jQuery.isArray( elems ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
247 |
push.apply( ret, elems ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
248 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
249 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
250 |
jQuery.merge( ret, elems ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
251 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
252 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
253 |
// Add the old object onto the stack (as a reference) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
254 |
ret.prevObject = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
255 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
256 |
ret.context = this.context; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
257 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
258 |
if ( name === "find" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
259 |
ret.selector = this.selector + (this.selector ? " " : "") + selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
260 |
} else if ( name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
261 |
ret.selector = this.selector + "." + name + "(" + selector + ")"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
262 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
263 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
264 |
// Return the newly-formed element set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
265 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
266 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
267 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
268 |
// Execute a callback for every element in the matched set. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
269 |
// (You can seed the arguments with an array of args, but this is |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
270 |
// only used internally.) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
271 |
each: function( callback, args ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
272 |
return jQuery.each( this, callback, args ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
273 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
274 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
275 |
ready: function( fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
276 |
// Attach the listeners |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
277 |
jQuery.bindReady(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
278 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
279 |
// If the DOM is already ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
280 |
if ( jQuery.isReady ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
281 |
// Execute the function immediately |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
282 |
fn.call( document, jQuery ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
283 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
284 |
// Otherwise, remember the function for later |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
285 |
} else if ( readyList ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
286 |
// Add the function to the wait list |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
287 |
readyList.push( fn ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
288 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
289 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
290 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
291 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
292 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
293 |
eq: function( i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
294 |
return i === -1 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
295 |
this.slice( i ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
296 |
this.slice( i, +i + 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
297 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
298 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
299 |
first: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
300 |
return this.eq( 0 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
301 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
302 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
303 |
last: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
304 |
return this.eq( -1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
305 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
306 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
307 |
slice: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
308 |
return this.pushStack( slice.apply( this, arguments ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
309 |
"slice", slice.call(arguments).join(",") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
310 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
311 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
312 |
map: function( callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
313 |
return this.pushStack( jQuery.map(this, function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
314 |
return callback.call( elem, i, elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
315 |
})); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
316 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
317 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
318 |
end: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
319 |
return this.prevObject || jQuery(null); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
320 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
321 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
322 |
// For internal use only. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
323 |
// Behaves like an Array's method, not like a jQuery method. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
324 |
push: push, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
325 |
sort: [].sort, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
326 |
splice: [].splice |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
327 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
328 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
329 |
// Give the init function the jQuery prototype for later instantiation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
330 |
jQuery.fn.init.prototype = jQuery.fn; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
331 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
332 |
jQuery.extend = jQuery.fn.extend = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
333 |
var options, name, src, copy, copyIsArray, clone, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
334 |
target = arguments[0] || {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
335 |
i = 1, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
336 |
length = arguments.length, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
337 |
deep = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
338 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
339 |
// Handle a deep copy situation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
340 |
if ( typeof target === "boolean" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
341 |
deep = target; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
342 |
target = arguments[1] || {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
343 |
// skip the boolean and the target |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
344 |
i = 2; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
345 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
346 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
347 |
// Handle case when target is a string or something (possible in deep copy) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
348 |
if ( typeof target !== "object" && !jQuery.isFunction(target) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
349 |
target = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
350 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
351 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
352 |
// extend jQuery itself if only one argument is passed |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
353 |
if ( length === i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
354 |
target = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
355 |
--i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
356 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
357 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
358 |
for ( ; i < length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
359 |
// Only deal with non-null/undefined values |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
360 |
if ( (options = arguments[ i ]) != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
361 |
// Extend the base object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
362 |
for ( name in options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
363 |
src = target[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
364 |
copy = options[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
365 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
366 |
// Prevent never-ending loop |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
367 |
if ( target === copy ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
368 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
369 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
370 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
371 |
// Recurse if we're merging plain objects or arrays |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
372 |
if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
373 |
if ( copyIsArray ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
374 |
copyIsArray = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
375 |
clone = src && jQuery.isArray(src) ? src : []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
376 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
377 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
378 |
clone = src && jQuery.isPlainObject(src) ? src : {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
379 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
380 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
381 |
// Never move original objects, clone them |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
382 |
target[ name ] = jQuery.extend( deep, clone, copy ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
383 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
384 |
// Don't bring in undefined values |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
385 |
} else if ( copy !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
386 |
target[ name ] = copy; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
387 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
388 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
389 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
390 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
391 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
392 |
// Return the modified object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
393 |
return target; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
394 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
395 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
396 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
397 |
noConflict: function( deep ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
398 |
window.$ = _$; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
399 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
400 |
if ( deep ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
401 |
window.jQuery = _jQuery; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
402 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
403 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
404 |
return jQuery; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
405 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
406 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
407 |
// Is the DOM ready to be used? Set to true once it occurs. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
408 |
isReady: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
409 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
410 |
// A counter to track how many items to wait for before |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
411 |
// the ready event fires. See #6781 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
412 |
readyWait: 1, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
413 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
414 |
// Handle when the DOM is ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
415 |
ready: function( wait ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
416 |
// A third-party is pushing the ready event forwards |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
417 |
if ( wait === true ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
418 |
jQuery.readyWait--; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
419 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
420 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
421 |
// Make sure that the DOM is not already loaded |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
422 |
if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
423 |
// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
424 |
if ( !document.body ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
425 |
return setTimeout( jQuery.ready, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
426 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
427 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
428 |
// Remember that the DOM is ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
429 |
jQuery.isReady = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
430 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
431 |
// If a normal DOM Ready event fired, decrement, and wait if need be |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
432 |
if ( wait !== true && --jQuery.readyWait > 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
433 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
434 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
435 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
436 |
// If there are functions bound, to execute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
437 |
if ( readyList ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
438 |
// Execute all of them |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
439 |
var fn, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
440 |
i = 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
441 |
ready = readyList; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
442 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
443 |
// Reset the list of functions |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
444 |
readyList = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
445 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
446 |
while ( (fn = ready[ i++ ]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
447 |
fn.call( document, jQuery ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
448 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
449 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
450 |
// Trigger any bound ready events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
451 |
if ( jQuery.fn.trigger ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
452 |
jQuery( document ).trigger( "ready" ).unbind( "ready" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
453 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
454 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
455 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
456 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
457 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
458 |
bindReady: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
459 |
if ( readyBound ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
460 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
461 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
462 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
463 |
readyBound = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
464 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
465 |
// Catch cases where $(document).ready() is called after the |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
466 |
// browser event has already occurred. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
467 |
if ( document.readyState === "complete" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
468 |
// Handle it asynchronously to allow scripts the opportunity to delay ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
469 |
return setTimeout( jQuery.ready, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
470 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
471 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
472 |
// Mozilla, Opera and webkit nightlies currently support this event |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
473 |
if ( document.addEventListener ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
474 |
// Use the handy event callback |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
475 |
document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
476 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
477 |
// A fallback to window.onload, that will always work |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
478 |
window.addEventListener( "load", jQuery.ready, false ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
479 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
480 |
// If IE event model is used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
481 |
} else if ( document.attachEvent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
482 |
// ensure firing before onload, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
483 |
// maybe late but safe also for iframes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
484 |
document.attachEvent("onreadystatechange", DOMContentLoaded); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
485 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
486 |
// A fallback to window.onload, that will always work |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
487 |
window.attachEvent( "onload", jQuery.ready ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
488 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
489 |
// If IE and not a frame |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
490 |
// continually check to see if the document is ready |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
491 |
var toplevel = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
492 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
493 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
494 |
toplevel = window.frameElement == null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
495 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
496 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
497 |
if ( document.documentElement.doScroll && toplevel ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
498 |
doScrollCheck(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
499 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
500 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
501 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
502 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
503 |
// See test/unit/core.js for details concerning isFunction. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
504 |
// Since version 1.3, DOM methods and functions like alert |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
505 |
// aren't supported. They return false on IE (#2968). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
506 |
isFunction: function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
507 |
return jQuery.type(obj) === "function"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
508 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
509 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
510 |
isArray: Array.isArray || function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
511 |
return jQuery.type(obj) === "array"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
512 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
513 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
514 |
// A crude way of determining if an object is a window |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
515 |
isWindow: function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
516 |
return obj && typeof obj === "object" && "setInterval" in obj; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
517 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
518 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
519 |
isNaN: function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
520 |
return obj == null || !rdigit.test( obj ) || isNaN( obj ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
521 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
522 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
523 |
type: function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
524 |
return obj == null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
525 |
String( obj ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
526 |
class2type[ toString.call(obj) ] || "object"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
527 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
528 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
529 |
isPlainObject: function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
530 |
// Must be an Object. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
531 |
// Because of IE, we also have to check the presence of the constructor property. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
532 |
// Make sure that DOM nodes and window objects don't pass through, as well |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
533 |
if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
534 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
535 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
536 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
537 |
// Not own constructor property must be Object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
538 |
if ( obj.constructor && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
539 |
!hasOwn.call(obj, "constructor") && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
540 |
!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
541 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
542 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
543 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
544 |
// Own properties are enumerated firstly, so to speed up, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
545 |
// if last one is own, then all properties are own. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
546 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
547 |
var key; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
548 |
for ( key in obj ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
549 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
550 |
return key === undefined || hasOwn.call( obj, key ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
551 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
552 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
553 |
isEmptyObject: function( obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
554 |
for ( var name in obj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
555 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
556 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
557 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
558 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
559 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
560 |
error: function( msg ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
561 |
throw msg; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
562 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
563 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
564 |
parseJSON: function( data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
565 |
if ( typeof data !== "string" || !data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
566 |
return null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
567 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
568 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
569 |
// Make sure leading/trailing whitespace is removed (IE can't handle it) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
570 |
data = jQuery.trim( data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
571 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
572 |
// Make sure the incoming data is actual JSON |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
573 |
// Logic borrowed from http://json.org/json2.js |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
574 |
if ( rvalidchars.test(data.replace(rvalidescape, "@") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
575 |
.replace(rvalidtokens, "]") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
576 |
.replace(rvalidbraces, "")) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
577 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
578 |
// Try to use the native JSON parser first |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
579 |
return window.JSON && window.JSON.parse ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
580 |
window.JSON.parse( data ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
581 |
(new Function("return " + data))(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
582 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
583 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
584 |
jQuery.error( "Invalid JSON: " + data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
585 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
586 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
587 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
588 |
noop: function() {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
589 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
590 |
// Evalulates a script in a global context |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
591 |
globalEval: function( data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
592 |
if ( data && rnotwhite.test(data) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
593 |
// Inspired by code by Andrea Giammarchi |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
594 |
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
595 |
var head = document.getElementsByTagName("head")[0] || document.documentElement, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
596 |
script = document.createElement("script"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
597 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
598 |
script.type = "text/javascript"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
599 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
600 |
if ( jQuery.support.scriptEval ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
601 |
script.appendChild( document.createTextNode( data ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
602 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
603 |
script.text = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
604 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
605 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
606 |
// Use insertBefore instead of appendChild to circumvent an IE6 bug. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
607 |
// This arises when a base node is used (#2709). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
608 |
head.insertBefore( script, head.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
609 |
head.removeChild( script ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
610 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
611 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
612 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
613 |
nodeName: function( elem, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
614 |
return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
615 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
616 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
617 |
// args is for internal usage only |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
618 |
each: function( object, callback, args ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
619 |
var name, i = 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
620 |
length = object.length, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
621 |
isObj = length === undefined || jQuery.isFunction(object); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
622 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
623 |
if ( args ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
624 |
if ( isObj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
625 |
for ( name in object ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
626 |
if ( callback.apply( object[ name ], args ) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
627 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
628 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
629 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
630 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
631 |
for ( ; i < length; ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
632 |
if ( callback.apply( object[ i++ ], args ) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
633 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
634 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
635 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
636 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
637 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
638 |
// A special, fast, case for the most common use of each |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
639 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
640 |
if ( isObj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
641 |
for ( name in object ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
642 |
if ( callback.call( object[ name ], name, object[ name ] ) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
643 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
644 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
645 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
646 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
647 |
for ( var value = object[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
648 |
i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
649 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
650 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
651 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
652 |
return object; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
653 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
654 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
655 |
// Use native String.trim function wherever possible |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
656 |
trim: trim ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
657 |
function( text ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
658 |
return text == null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
659 |
"" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
660 |
trim.call( text ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
661 |
} : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
662 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
663 |
// Otherwise use our own trimming functionality |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
664 |
function( text ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
665 |
return text == null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
666 |
"" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
667 |
text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
668 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
669 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
670 |
// results is for internal usage only |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
671 |
makeArray: function( array, results ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
672 |
var ret = results || []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
673 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
674 |
if ( array != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
675 |
// The window, strings (and functions) also have 'length' |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
676 |
// The extra typeof function check is to prevent crashes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
677 |
// in Safari 2 (See: #3039) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
678 |
// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
679 |
var type = jQuery.type(array); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
680 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
681 |
if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
682 |
push.call( ret, array ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
683 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
684 |
jQuery.merge( ret, array ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
685 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
686 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
687 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
688 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
689 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
690 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
691 |
inArray: function( elem, array ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
692 |
if ( array.indexOf ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
693 |
return array.indexOf( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
694 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
695 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
696 |
for ( var i = 0, length = array.length; i < length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
697 |
if ( array[ i ] === elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
698 |
return i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
699 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
700 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
701 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
702 |
return -1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
703 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
704 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
705 |
merge: function( first, second ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
706 |
var i = first.length, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
707 |
j = 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
708 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
709 |
if ( typeof second.length === "number" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
710 |
for ( var l = second.length; j < l; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
711 |
first[ i++ ] = second[ j ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
712 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
713 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
714 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
715 |
while ( second[j] !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
716 |
first[ i++ ] = second[ j++ ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
717 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
718 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
719 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
720 |
first.length = i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
721 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
722 |
return first; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
723 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
724 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
725 |
grep: function( elems, callback, inv ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
726 |
var ret = [], retVal; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
727 |
inv = !!inv; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
728 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
729 |
// Go through the array, only saving the items |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
730 |
// that pass the validator function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
731 |
for ( var i = 0, length = elems.length; i < length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
732 |
retVal = !!callback( elems[ i ], i ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
733 |
if ( inv !== retVal ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
734 |
ret.push( elems[ i ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
735 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
736 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
737 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
738 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
739 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
740 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
741 |
// arg is for internal usage only |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
742 |
map: function( elems, callback, arg ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
743 |
var ret = [], value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
744 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
745 |
// Go through the array, translating each of the items to their |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
746 |
// new value (or values). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
747 |
for ( var i = 0, length = elems.length; i < length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
748 |
value = callback( elems[ i ], i, arg ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
749 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
750 |
if ( value != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
751 |
ret[ ret.length ] = value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
752 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
753 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
754 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
755 |
return ret.concat.apply( [], ret ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
756 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
757 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
758 |
// A global GUID counter for objects |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
759 |
guid: 1, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
760 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
761 |
proxy: function( fn, proxy, thisObject ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
762 |
if ( arguments.length === 2 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
763 |
if ( typeof proxy === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
764 |
thisObject = fn; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
765 |
fn = thisObject[ proxy ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
766 |
proxy = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
767 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
768 |
} else if ( proxy && !jQuery.isFunction( proxy ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
769 |
thisObject = proxy; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
770 |
proxy = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
771 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
772 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
773 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
774 |
if ( !proxy && fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
775 |
proxy = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
776 |
return fn.apply( thisObject || this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
777 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
778 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
779 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
780 |
// Set the guid of unique handler to the same of original handler, so it can be removed |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
781 |
if ( fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
782 |
proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
783 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
784 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
785 |
// So proxy can be declared as an argument |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
786 |
return proxy; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
787 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
788 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
789 |
// Mutifunctional method to get and set values to a collection |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
790 |
// The value/s can be optionally by executed if its a function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
791 |
access: function( elems, key, value, exec, fn, pass ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
792 |
var length = elems.length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
793 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
794 |
// Setting many attributes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
795 |
if ( typeof key === "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
796 |
for ( var k in key ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
797 |
jQuery.access( elems, k, key[k], exec, fn, value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
798 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
799 |
return elems; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
800 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
801 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
802 |
// Setting one attribute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
803 |
if ( value !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
804 |
// Optionally, function values get executed if exec is true |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
805 |
exec = !pass && exec && jQuery.isFunction(value); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
806 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
807 |
for ( var i = 0; i < length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
808 |
fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
809 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
810 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
811 |
return elems; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
812 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
813 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
814 |
// Getting an attribute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
815 |
return length ? fn( elems[0], key ) : undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
816 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
817 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
818 |
now: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
819 |
return (new Date()).getTime(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
820 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
821 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
822 |
// Use of jQuery.browser is frowned upon. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
823 |
// More details: http://docs.jquery.com/Utilities/jQuery.browser |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
824 |
uaMatch: function( ua ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
825 |
ua = ua.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
826 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
827 |
var match = rwebkit.exec( ua ) || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
828 |
ropera.exec( ua ) || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
829 |
rmsie.exec( ua ) || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
830 |
ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
831 |
[]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
832 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
833 |
return { browser: match[1] || "", version: match[2] || "0" }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
834 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
835 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
836 |
browser: {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
837 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
838 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
839 |
// Populate the class2type map |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
840 |
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
841 |
class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
842 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
843 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
844 |
browserMatch = jQuery.uaMatch( userAgent ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
845 |
if ( browserMatch.browser ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
846 |
jQuery.browser[ browserMatch.browser ] = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
847 |
jQuery.browser.version = browserMatch.version; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
848 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
849 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
850 |
// Deprecated, use jQuery.browser.webkit instead |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
851 |
if ( jQuery.browser.webkit ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
852 |
jQuery.browser.safari = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
853 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
854 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
855 |
if ( indexOf ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
856 |
jQuery.inArray = function( elem, array ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
857 |
return indexOf.call( array, elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
858 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
859 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
860 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
861 |
// Verify that \s matches non-breaking spaces |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
862 |
// (IE fails on this test) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
863 |
if ( !rwhite.test( "\xA0" ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
864 |
trimLeft = /^[\s\xA0]+/; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
865 |
trimRight = /[\s\xA0]+$/; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
866 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
867 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
868 |
// All jQuery objects should point back to these |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
869 |
rootjQuery = jQuery(document); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
870 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
871 |
// Cleanup functions for the document ready method |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
872 |
if ( document.addEventListener ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
873 |
DOMContentLoaded = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
874 |
document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
875 |
jQuery.ready(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
876 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
877 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
878 |
} else if ( document.attachEvent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
879 |
DOMContentLoaded = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
880 |
// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
881 |
if ( document.readyState === "complete" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
882 |
document.detachEvent( "onreadystatechange", DOMContentLoaded ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
883 |
jQuery.ready(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
884 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
885 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
886 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
887 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
888 |
// The DOM ready check for Internet Explorer |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
889 |
function doScrollCheck() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
890 |
if ( jQuery.isReady ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
891 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
892 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
893 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
894 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
895 |
// If IE is used, use the trick by Diego Perini |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
896 |
// http://javascript.nwbox.com/IEContentLoaded/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
897 |
document.documentElement.doScroll("left"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
898 |
} catch(e) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
899 |
setTimeout( doScrollCheck, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
900 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
901 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
902 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
903 |
// and execute any waiting functions |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
904 |
jQuery.ready(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
905 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
906 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
907 |
// Expose jQuery to the global object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
908 |
return (window.jQuery = window.$ = jQuery); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
909 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
910 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
911 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
912 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
913 |
(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
914 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
915 |
jQuery.support = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
916 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
917 |
var root = document.documentElement, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
918 |
script = document.createElement("script"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
919 |
div = document.createElement("div"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
920 |
id = "script" + jQuery.now(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
921 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
922 |
div.style.display = "none"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
923 |
div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
924 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
925 |
var all = div.getElementsByTagName("*"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
926 |
a = div.getElementsByTagName("a")[0], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
927 |
select = document.createElement("select"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
928 |
opt = select.appendChild( document.createElement("option") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
929 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
930 |
// Can't get basic test support |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
931 |
if ( !all || !all.length || !a ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
932 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
933 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
934 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
935 |
jQuery.support = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
936 |
// IE strips leading whitespace when .innerHTML is used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
937 |
leadingWhitespace: div.firstChild.nodeType === 3, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
938 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
939 |
// Make sure that tbody elements aren't automatically inserted |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
940 |
// IE will insert them into empty tables |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
941 |
tbody: !div.getElementsByTagName("tbody").length, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
942 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
943 |
// Make sure that link elements get serialized correctly by innerHTML |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
944 |
// This requires a wrapper element in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
945 |
htmlSerialize: !!div.getElementsByTagName("link").length, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
946 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
947 |
// Get the style information from getAttribute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
948 |
// (IE uses .cssText insted) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
949 |
style: /red/.test( a.getAttribute("style") ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
950 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
951 |
// Make sure that URLs aren't manipulated |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
952 |
// (IE normalizes it by default) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
953 |
hrefNormalized: a.getAttribute("href") === "/a", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
954 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
955 |
// Make sure that element opacity exists |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
956 |
// (IE uses filter instead) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
957 |
// Use a regex to work around a WebKit issue. See #5145 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
958 |
opacity: /^0.55$/.test( a.style.opacity ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
959 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
960 |
// Verify style float existence |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
961 |
// (IE uses styleFloat instead of cssFloat) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
962 |
cssFloat: !!a.style.cssFloat, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
963 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
964 |
// Make sure that if no value is specified for a checkbox |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
965 |
// that it defaults to "on". |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
966 |
// (WebKit defaults to "" instead) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
967 |
checkOn: div.getElementsByTagName("input")[0].value === "on", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
968 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
969 |
// Make sure that a selected-by-default option has a working selected property. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
970 |
// (WebKit defaults to false instead of true, IE too, if it's in an optgroup) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
971 |
optSelected: opt.selected, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
972 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
973 |
// Will be defined later |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
974 |
deleteExpando: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
975 |
optDisabled: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
976 |
checkClone: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
977 |
scriptEval: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
978 |
noCloneEvent: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
979 |
boxModel: null, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
980 |
inlineBlockNeedsLayout: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
981 |
shrinkWrapBlocks: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
982 |
reliableHiddenOffsets: true |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
983 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
984 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
985 |
// Make sure that the options inside disabled selects aren't marked as disabled |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
986 |
// (WebKit marks them as diabled) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
987 |
select.disabled = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
988 |
jQuery.support.optDisabled = !opt.disabled; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
989 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
990 |
script.type = "text/javascript"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
991 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
992 |
script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
993 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
994 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
995 |
root.insertBefore( script, root.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
996 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
997 |
// Make sure that the execution of code works by injecting a script |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
998 |
// tag with appendChild/createTextNode |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
999 |
// (IE doesn't support this, fails, and uses .text instead) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1000 |
if ( window[ id ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1001 |
jQuery.support.scriptEval = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1002 |
delete window[ id ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1003 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1004 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1005 |
// Test to see if it's possible to delete an expando from an element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1006 |
// Fails in Internet Explorer |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1007 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1008 |
delete script.test; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1009 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1010 |
} catch(e) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1011 |
jQuery.support.deleteExpando = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1012 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1013 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1014 |
root.removeChild( script ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1015 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1016 |
if ( div.attachEvent && div.fireEvent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1017 |
div.attachEvent("onclick", function click() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1018 |
// Cloning a node shouldn't copy over any |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1019 |
// bound event handlers (IE does this) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1020 |
jQuery.support.noCloneEvent = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1021 |
div.detachEvent("onclick", click); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1022 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1023 |
div.cloneNode(true).fireEvent("onclick"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1024 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1025 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1026 |
div = document.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1027 |
div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1028 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1029 |
var fragment = document.createDocumentFragment(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1030 |
fragment.appendChild( div.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1031 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1032 |
// WebKit doesn't clone checked state correctly in fragments |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1033 |
jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1034 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1035 |
// Figure out if the W3C box model works as expected |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1036 |
// document.body must exist before we can do this |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1037 |
jQuery(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1038 |
var div = document.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1039 |
div.style.width = div.style.paddingLeft = "1px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1040 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1041 |
document.body.appendChild( div ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1042 |
jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1043 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1044 |
if ( "zoom" in div.style ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1045 |
// Check if natively block-level elements act like inline-block |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1046 |
// elements when setting their display to 'inline' and giving |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1047 |
// them layout |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1048 |
// (IE < 8 does this) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1049 |
div.style.display = "inline"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1050 |
div.style.zoom = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1051 |
jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1052 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1053 |
// Check if elements with layout shrink-wrap their children |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1054 |
// (IE 6 does this) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1055 |
div.style.display = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1056 |
div.innerHTML = "<div style='width:4px;'></div>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1057 |
jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1058 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1059 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1060 |
div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1061 |
var tds = div.getElementsByTagName("td"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1062 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1063 |
// Check if table cells still have offsetWidth/Height when they are set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1064 |
// to display:none and there are still other visible table cells in a |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1065 |
// table row; if so, offsetWidth/Height are not reliable for use when |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1066 |
// determining if an element has been hidden directly using |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1067 |
// display:none (it is still safe to use offsets if a parent element is |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1068 |
// hidden; don safety goggles and see bug #4512 for more information). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1069 |
// (only IE 8 fails this test) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1070 |
jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1071 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1072 |
tds[0].style.display = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1073 |
tds[1].style.display = "none"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1074 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1075 |
// Check if empty table cells still have offsetWidth/Height |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1076 |
// (IE < 8 fail this test) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1077 |
jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1078 |
div.innerHTML = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1079 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1080 |
document.body.removeChild( div ).style.display = "none"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1081 |
div = tds = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1082 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1083 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1084 |
// Technique from Juriy Zaytsev |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1085 |
// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1086 |
var eventSupported = function( eventName ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1087 |
var el = document.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1088 |
eventName = "on" + eventName; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1089 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1090 |
var isSupported = (eventName in el); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1091 |
if ( !isSupported ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1092 |
el.setAttribute(eventName, "return;"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1093 |
isSupported = typeof el[eventName] === "function"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1094 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1095 |
el = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1096 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1097 |
return isSupported; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1098 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1099 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1100 |
jQuery.support.submitBubbles = eventSupported("submit"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1101 |
jQuery.support.changeBubbles = eventSupported("change"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1102 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1103 |
// release memory in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1104 |
root = script = div = all = a = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1105 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1106 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1107 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1108 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1109 |
var windowData = {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1110 |
rbrace = /^(?:\{.*\}|\[.*\])$/; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1111 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1112 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1113 |
cache: {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1114 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1115 |
// Please use with caution |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1116 |
uuid: 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1117 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1118 |
// Unique for each copy of jQuery on the page |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1119 |
expando: "jQuery" + jQuery.now(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1120 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1121 |
// The following elements throw uncatchable exceptions if you |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1122 |
// attempt to add expando properties to them. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1123 |
noData: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1124 |
"embed": true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1125 |
// Ban all objects except for Flash (which handle expandos) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1126 |
"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1127 |
"applet": true |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1128 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1129 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1130 |
data: function( elem, name, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1131 |
if ( !jQuery.acceptData( elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1132 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1133 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1134 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1135 |
elem = elem == window ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1136 |
windowData : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1137 |
elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1138 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1139 |
var isNode = elem.nodeType, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1140 |
id = isNode ? elem[ jQuery.expando ] : null, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1141 |
cache = jQuery.cache, thisCache; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1142 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1143 |
if ( isNode && !id && typeof name === "string" && data === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1144 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1145 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1146 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1147 |
// Get the data from the object directly |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1148 |
if ( !isNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1149 |
cache = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1150 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1151 |
// Compute a unique ID for the element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1152 |
} else if ( !id ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1153 |
elem[ jQuery.expando ] = id = ++jQuery.uuid; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1154 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1155 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1156 |
// Avoid generating a new cache unless none exists and we |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1157 |
// want to manipulate it. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1158 |
if ( typeof name === "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1159 |
if ( isNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1160 |
cache[ id ] = jQuery.extend(cache[ id ], name); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1161 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1162 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1163 |
jQuery.extend( cache, name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1164 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1165 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1166 |
} else if ( isNode && !cache[ id ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1167 |
cache[ id ] = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1168 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1169 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1170 |
thisCache = isNode ? cache[ id ] : cache; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1171 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1172 |
// Prevent overriding the named cache with undefined values |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1173 |
if ( data !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1174 |
thisCache[ name ] = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1175 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1176 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1177 |
return typeof name === "string" ? thisCache[ name ] : thisCache; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1178 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1179 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1180 |
removeData: function( elem, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1181 |
if ( !jQuery.acceptData( elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1182 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1183 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1184 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1185 |
elem = elem == window ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1186 |
windowData : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1187 |
elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1188 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1189 |
var isNode = elem.nodeType, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1190 |
id = isNode ? elem[ jQuery.expando ] : elem, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1191 |
cache = jQuery.cache, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1192 |
thisCache = isNode ? cache[ id ] : id; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1193 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1194 |
// If we want to remove a specific section of the element's data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1195 |
if ( name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1196 |
if ( thisCache ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1197 |
// Remove the section of cache data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1198 |
delete thisCache[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1199 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1200 |
// If we've removed all the data, remove the element's cache |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1201 |
if ( isNode && jQuery.isEmptyObject(thisCache) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1202 |
jQuery.removeData( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1203 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1204 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1205 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1206 |
// Otherwise, we want to remove all of the element's data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1207 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1208 |
if ( isNode && jQuery.support.deleteExpando ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1209 |
delete elem[ jQuery.expando ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1210 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1211 |
} else if ( elem.removeAttribute ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1212 |
elem.removeAttribute( jQuery.expando ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1213 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1214 |
// Completely remove the data cache |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1215 |
} else if ( isNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1216 |
delete cache[ id ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1217 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1218 |
// Remove all fields from the object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1219 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1220 |
for ( var n in elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1221 |
delete elem[ n ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1222 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1223 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1224 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1225 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1226 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1227 |
// A method for determining if a DOM node can handle the data expando |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1228 |
acceptData: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1229 |
if ( elem.nodeName ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1230 |
var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1231 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1232 |
if ( match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1233 |
return !(match === true || elem.getAttribute("classid") !== match); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1234 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1235 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1236 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1237 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1238 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1239 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1240 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1241 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1242 |
data: function( key, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1243 |
var data = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1244 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1245 |
if ( typeof key === "undefined" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1246 |
if ( this.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1247 |
var attr = this[0].attributes, name; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1248 |
data = jQuery.data( this[0] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1249 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1250 |
for ( var i = 0, l = attr.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1251 |
name = attr[i].name; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1252 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1253 |
if ( name.indexOf( "data-" ) === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1254 |
name = name.substr( 5 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1255 |
dataAttr( this[0], name, data[ name ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1256 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1257 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1258 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1259 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1260 |
return data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1261 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1262 |
} else if ( typeof key === "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1263 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1264 |
jQuery.data( this, key ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1265 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1266 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1267 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1268 |
var parts = key.split("."); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1269 |
parts[1] = parts[1] ? "." + parts[1] : ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1270 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1271 |
if ( value === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1272 |
data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1273 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1274 |
// Try to fetch any internally stored data first |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1275 |
if ( data === undefined && this.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1276 |
data = jQuery.data( this[0], key ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1277 |
data = dataAttr( this[0], key, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1278 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1279 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1280 |
return data === undefined && parts[1] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1281 |
this.data( parts[0] ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1282 |
data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1283 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1284 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1285 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1286 |
var $this = jQuery( this ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1287 |
args = [ parts[0], value ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1288 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1289 |
$this.triggerHandler( "setData" + parts[1] + "!", args ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1290 |
jQuery.data( this, key, value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1291 |
$this.triggerHandler( "changeData" + parts[1] + "!", args ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1292 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1293 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1294 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1295 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1296 |
removeData: function( key ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1297 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1298 |
jQuery.removeData( this, key ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1299 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1300 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1301 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1302 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1303 |
function dataAttr( elem, key, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1304 |
// If nothing was found internally, try to fetch any |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1305 |
// data from the HTML5 data-* attribute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1306 |
if ( data === undefined && elem.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1307 |
data = elem.getAttribute( "data-" + key ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1308 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1309 |
if ( typeof data === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1310 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1311 |
data = data === "true" ? true : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1312 |
data === "false" ? false : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1313 |
data === "null" ? null : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1314 |
!jQuery.isNaN( data ) ? parseFloat( data ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1315 |
rbrace.test( data ) ? jQuery.parseJSON( data ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1316 |
data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1317 |
} catch( e ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1318 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1319 |
// Make sure we set the data so it isn't changed later |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1320 |
jQuery.data( elem, key, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1321 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1322 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1323 |
data = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1324 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1325 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1326 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1327 |
return data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1328 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1329 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1330 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1331 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1332 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1333 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1334 |
queue: function( elem, type, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1335 |
if ( !elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1336 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1337 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1338 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1339 |
type = (type || "fx") + "queue"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1340 |
var q = jQuery.data( elem, type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1341 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1342 |
// Speed up dequeue by getting out quickly if this is just a lookup |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1343 |
if ( !data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1344 |
return q || []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1345 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1346 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1347 |
if ( !q || jQuery.isArray(data) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1348 |
q = jQuery.data( elem, type, jQuery.makeArray(data) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1349 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1350 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1351 |
q.push( data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1352 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1353 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1354 |
return q; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1355 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1356 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1357 |
dequeue: function( elem, type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1358 |
type = type || "fx"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1359 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1360 |
var queue = jQuery.queue( elem, type ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1361 |
fn = queue.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1362 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1363 |
// If the fx queue is dequeued, always remove the progress sentinel |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1364 |
if ( fn === "inprogress" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1365 |
fn = queue.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1366 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1367 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1368 |
if ( fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1369 |
// Add a progress sentinel to prevent the fx queue from being |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1370 |
// automatically dequeued |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1371 |
if ( type === "fx" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1372 |
queue.unshift("inprogress"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1373 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1374 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1375 |
fn.call(elem, function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1376 |
jQuery.dequeue(elem, type); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1377 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1378 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1379 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1380 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1381 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1382 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1383 |
queue: function( type, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1384 |
if ( typeof type !== "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1385 |
data = type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1386 |
type = "fx"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1387 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1388 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1389 |
if ( data === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1390 |
return jQuery.queue( this[0], type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1391 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1392 |
return this.each(function( i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1393 |
var queue = jQuery.queue( this, type, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1394 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1395 |
if ( type === "fx" && queue[0] !== "inprogress" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1396 |
jQuery.dequeue( this, type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1397 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1398 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1399 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1400 |
dequeue: function( type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1401 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1402 |
jQuery.dequeue( this, type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1403 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1404 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1405 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1406 |
// Based off of the plugin by Clint Helfers, with permission. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1407 |
// http://blindsignals.com/index.php/2009/07/jquery-delay/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1408 |
delay: function( time, type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1409 |
time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1410 |
type = type || "fx"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1411 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1412 |
return this.queue( type, function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1413 |
var elem = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1414 |
setTimeout(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1415 |
jQuery.dequeue( elem, type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1416 |
}, time ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1417 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1418 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1419 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1420 |
clearQueue: function( type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1421 |
return this.queue( type || "fx", [] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1422 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1423 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1424 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1425 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1426 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1427 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1428 |
var rclass = /[\n\t]/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1429 |
rspaces = /\s+/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1430 |
rreturn = /\r/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1431 |
rspecialurl = /^(?:href|src|style)$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1432 |
rtype = /^(?:button|input)$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1433 |
rfocusable = /^(?:button|input|object|select|textarea)$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1434 |
rclickable = /^a(?:rea)?$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1435 |
rradiocheck = /^(?:radio|checkbox)$/i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1436 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1437 |
jQuery.props = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1438 |
"for": "htmlFor", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1439 |
"class": "className", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1440 |
readonly: "readOnly", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1441 |
maxlength: "maxLength", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1442 |
cellspacing: "cellSpacing", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1443 |
rowspan: "rowSpan", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1444 |
colspan: "colSpan", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1445 |
tabindex: "tabIndex", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1446 |
usemap: "useMap", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1447 |
frameborder: "frameBorder" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1448 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1449 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1450 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1451 |
attr: function( name, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1452 |
return jQuery.access( this, name, value, true, jQuery.attr ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1453 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1454 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1455 |
removeAttr: function( name, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1456 |
return this.each(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1457 |
jQuery.attr( this, name, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1458 |
if ( this.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1459 |
this.removeAttribute( name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1460 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1461 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1462 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1463 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1464 |
addClass: function( value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1465 |
if ( jQuery.isFunction(value) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1466 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1467 |
var self = jQuery(this); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1468 |
self.addClass( value.call(this, i, self.attr("class")) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1469 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1470 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1471 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1472 |
if ( value && typeof value === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1473 |
var classNames = (value || "").split( rspaces ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1474 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1475 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1476 |
var elem = this[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1477 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1478 |
if ( elem.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1479 |
if ( !elem.className ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1480 |
elem.className = value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1481 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1482 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1483 |
var className = " " + elem.className + " ", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1484 |
setClass = elem.className; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1485 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1486 |
for ( var c = 0, cl = classNames.length; c < cl; c++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1487 |
if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1488 |
setClass += " " + classNames[c]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1489 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1490 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1491 |
elem.className = jQuery.trim( setClass ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1492 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1493 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1494 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1495 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1496 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1497 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1498 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1499 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1500 |
removeClass: function( value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1501 |
if ( jQuery.isFunction(value) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1502 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1503 |
var self = jQuery(this); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1504 |
self.removeClass( value.call(this, i, self.attr("class")) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1505 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1506 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1507 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1508 |
if ( (value && typeof value === "string") || value === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1509 |
var classNames = (value || "").split( rspaces ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1510 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1511 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1512 |
var elem = this[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1513 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1514 |
if ( elem.nodeType === 1 && elem.className ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1515 |
if ( value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1516 |
var className = (" " + elem.className + " ").replace(rclass, " "); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1517 |
for ( var c = 0, cl = classNames.length; c < cl; c++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1518 |
className = className.replace(" " + classNames[c] + " ", " "); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1519 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1520 |
elem.className = jQuery.trim( className ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1521 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1522 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1523 |
elem.className = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1524 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1525 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1526 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1527 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1528 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1529 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1530 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1531 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1532 |
toggleClass: function( value, stateVal ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1533 |
var type = typeof value, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1534 |
isBool = typeof stateVal === "boolean"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1535 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1536 |
if ( jQuery.isFunction( value ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1537 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1538 |
var self = jQuery(this); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1539 |
self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1540 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1541 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1542 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1543 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1544 |
if ( type === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1545 |
// toggle individual class names |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1546 |
var className, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1547 |
i = 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1548 |
self = jQuery( this ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1549 |
state = stateVal, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1550 |
classNames = value.split( rspaces ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1551 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1552 |
while ( (className = classNames[ i++ ]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1553 |
// check each className given, space seperated list |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1554 |
state = isBool ? state : !self.hasClass( className ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1555 |
self[ state ? "addClass" : "removeClass" ]( className ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1556 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1557 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1558 |
} else if ( type === "undefined" || type === "boolean" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1559 |
if ( this.className ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1560 |
// store className if set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1561 |
jQuery.data( this, "__className__", this.className ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1562 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1563 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1564 |
// toggle whole className |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1565 |
this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1566 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1567 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1568 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1569 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1570 |
hasClass: function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1571 |
var className = " " + selector + " "; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1572 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1573 |
if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1574 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1575 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1576 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1577 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1578 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1579 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1580 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1581 |
val: function( value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1582 |
if ( !arguments.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1583 |
var elem = this[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1584 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1585 |
if ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1586 |
if ( jQuery.nodeName( elem, "option" ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1587 |
// attributes.value is undefined in Blackberry 4.7 but |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1588 |
// uses .value. See #6932 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1589 |
var val = elem.attributes.value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1590 |
return !val || val.specified ? elem.value : elem.text; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1591 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1592 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1593 |
// We need to handle select boxes special |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1594 |
if ( jQuery.nodeName( elem, "select" ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1595 |
var index = elem.selectedIndex, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1596 |
values = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1597 |
options = elem.options, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1598 |
one = elem.type === "select-one"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1599 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1600 |
// Nothing was selected |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1601 |
if ( index < 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1602 |
return null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1603 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1604 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1605 |
// Loop through all the selected options |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1606 |
for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1607 |
var option = options[ i ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1608 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1609 |
// Don't return options that are disabled or in a disabled optgroup |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1610 |
if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1611 |
(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1612 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1613 |
// Get the specific value for the option |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1614 |
value = jQuery(option).val(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1615 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1616 |
// We don't need an array for one selects |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1617 |
if ( one ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1618 |
return value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1619 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1620 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1621 |
// Multi-Selects return an array |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1622 |
values.push( value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1623 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1624 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1625 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1626 |
return values; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1627 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1628 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1629 |
// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1630 |
if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1631 |
return elem.getAttribute("value") === null ? "on" : elem.value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1632 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1633 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1634 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1635 |
// Everything else, we just grab the value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1636 |
return (elem.value || "").replace(rreturn, ""); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1637 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1638 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1639 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1640 |
return undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1641 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1642 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1643 |
var isFunction = jQuery.isFunction(value); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1644 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1645 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1646 |
var self = jQuery(this), val = value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1647 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1648 |
if ( this.nodeType !== 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1649 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1650 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1651 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1652 |
if ( isFunction ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1653 |
val = value.call(this, i, self.val()); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1654 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1655 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1656 |
// Treat null/undefined as ""; convert numbers to string |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1657 |
if ( val == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1658 |
val = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1659 |
} else if ( typeof val === "number" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1660 |
val += ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1661 |
} else if ( jQuery.isArray(val) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1662 |
val = jQuery.map(val, function (value) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1663 |
return value == null ? "" : value + ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1664 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1665 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1666 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1667 |
if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1668 |
this.checked = jQuery.inArray( self.val(), val ) >= 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1669 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1670 |
} else if ( jQuery.nodeName( this, "select" ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1671 |
var values = jQuery.makeArray(val); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1672 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1673 |
jQuery( "option", this ).each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1674 |
this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1675 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1676 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1677 |
if ( !values.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1678 |
this.selectedIndex = -1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1679 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1680 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1681 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1682 |
this.value = val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1683 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1684 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1685 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1686 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1687 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1688 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1689 |
attrFn: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1690 |
val: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1691 |
css: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1692 |
html: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1693 |
text: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1694 |
data: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1695 |
width: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1696 |
height: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1697 |
offset: true |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1698 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1699 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1700 |
attr: function( elem, name, value, pass ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1701 |
// don't set attributes on text and comment nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1702 |
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1703 |
return undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1704 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1705 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1706 |
if ( pass && name in jQuery.attrFn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1707 |
return jQuery(elem)[name](value); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1708 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1709 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1710 |
var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1711 |
// Whether we are setting (or getting) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1712 |
set = value !== undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1713 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1714 |
// Try to normalize/fix the name |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1715 |
name = notxml && jQuery.props[ name ] || name; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1716 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1717 |
// These attributes require special treatment |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1718 |
var special = rspecialurl.test( name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1719 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1720 |
// Safari mis-reports the default selected property of an option |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1721 |
// Accessing the parent's selectedIndex property fixes it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1722 |
if ( name === "selected" && !jQuery.support.optSelected ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1723 |
var parent = elem.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1724 |
if ( parent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1725 |
parent.selectedIndex; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1726 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1727 |
// Make sure that it also works with optgroups, see #5701 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1728 |
if ( parent.parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1729 |
parent.parentNode.selectedIndex; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1730 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1731 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1732 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1733 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1734 |
// If applicable, access the attribute via the DOM 0 way |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1735 |
// 'in' checks fail in Blackberry 4.7 #6931 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1736 |
if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1737 |
if ( set ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1738 |
// We can't allow the type property to be changed (since it causes problems in IE) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1739 |
if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1740 |
jQuery.error( "type property can't be changed" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1741 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1742 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1743 |
if ( value === null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1744 |
if ( elem.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1745 |
elem.removeAttribute( name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1746 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1747 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1748 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1749 |
elem[ name ] = value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1750 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1751 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1752 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1753 |
// browsers index elements by id/name on forms, give priority to attributes. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1754 |
if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1755 |
return elem.getAttributeNode( name ).nodeValue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1756 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1757 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1758 |
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1759 |
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1760 |
if ( name === "tabIndex" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1761 |
var attributeNode = elem.getAttributeNode( "tabIndex" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1762 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1763 |
return attributeNode && attributeNode.specified ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1764 |
attributeNode.value : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1765 |
rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1766 |
0 : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1767 |
undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1768 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1769 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1770 |
return elem[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1771 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1772 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1773 |
if ( !jQuery.support.style && notxml && name === "style" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1774 |
if ( set ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1775 |
elem.style.cssText = "" + value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1776 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1777 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1778 |
return elem.style.cssText; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1779 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1780 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1781 |
if ( set ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1782 |
// convert the value to a string (all browsers do this but IE) see #1070 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1783 |
elem.setAttribute( name, "" + value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1784 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1785 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1786 |
// Ensure that missing attributes return undefined |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1787 |
// Blackberry 4.7 returns "" from getAttribute #6938 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1788 |
if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1789 |
return undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1790 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1791 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1792 |
var attr = !jQuery.support.hrefNormalized && notxml && special ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1793 |
// Some attributes require a special call on IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1794 |
elem.getAttribute( name, 2 ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1795 |
elem.getAttribute( name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1796 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1797 |
// Non-existent attributes return null, we normalize to undefined |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1798 |
return attr === null ? undefined : attr; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1799 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1800 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1801 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1802 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1803 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1804 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1805 |
var rnamespaces = /\.(.*)$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1806 |
rformElems = /^(?:textarea|input|select)$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1807 |
rperiod = /\./g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1808 |
rspace = / /g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1809 |
rescape = /[^\w\s.|`]/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1810 |
fcleanup = function( nm ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1811 |
return nm.replace(rescape, "\\$&"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1812 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1813 |
focusCounts = { focusin: 0, focusout: 0 }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1814 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1815 |
/* |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1816 |
* A number of helper functions used for managing events. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1817 |
* Many of the ideas behind this code originated from |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1818 |
* Dean Edwards' addEvent library. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1819 |
*/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1820 |
jQuery.event = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1821 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1822 |
// Bind an event to an element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1823 |
// Original by Dean Edwards |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1824 |
add: function( elem, types, handler, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1825 |
if ( elem.nodeType === 3 || elem.nodeType === 8 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1826 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1827 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1828 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1829 |
// For whatever reason, IE has trouble passing the window object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1830 |
// around, causing it to be cloned in the process |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1831 |
if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1832 |
elem = window; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1833 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1834 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1835 |
if ( handler === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1836 |
handler = returnFalse; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1837 |
} else if ( !handler ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1838 |
// Fixes bug #7229. Fix recommended by jdalton |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1839 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1840 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1841 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1842 |
var handleObjIn, handleObj; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1843 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1844 |
if ( handler.handler ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1845 |
handleObjIn = handler; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1846 |
handler = handleObjIn.handler; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1847 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1848 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1849 |
// Make sure that the function being executed has a unique ID |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1850 |
if ( !handler.guid ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1851 |
handler.guid = jQuery.guid++; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1852 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1853 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1854 |
// Init the element's event structure |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1855 |
var elemData = jQuery.data( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1856 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1857 |
// If no elemData is found then we must be trying to bind to one of the |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1858 |
// banned noData elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1859 |
if ( !elemData ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1860 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1861 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1862 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1863 |
// Use a key less likely to result in collisions for plain JS objects. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1864 |
// Fixes bug #7150. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1865 |
var eventKey = elem.nodeType ? "events" : "__events__", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1866 |
events = elemData[ eventKey ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1867 |
eventHandle = elemData.handle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1868 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1869 |
if ( typeof events === "function" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1870 |
// On plain objects events is a fn that holds the the data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1871 |
// which prevents this data from being JSON serialized |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1872 |
// the function does not need to be called, it just contains the data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1873 |
eventHandle = events.handle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1874 |
events = events.events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1875 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1876 |
} else if ( !events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1877 |
if ( !elem.nodeType ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1878 |
// On plain objects, create a fn that acts as the holder |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1879 |
// of the values to avoid JSON serialization of event data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1880 |
elemData[ eventKey ] = elemData = function(){}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1881 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1882 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1883 |
elemData.events = events = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1884 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1885 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1886 |
if ( !eventHandle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1887 |
elemData.handle = eventHandle = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1888 |
// Handle the second event of a trigger and when |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1889 |
// an event is called after a page has unloaded |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1890 |
return typeof jQuery !== "undefined" && !jQuery.event.triggered ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1891 |
jQuery.event.handle.apply( eventHandle.elem, arguments ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1892 |
undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1893 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1894 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1895 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1896 |
// Add elem as a property of the handle function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1897 |
// This is to prevent a memory leak with non-native events in IE. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1898 |
eventHandle.elem = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1899 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1900 |
// Handle multiple events separated by a space |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1901 |
// jQuery(...).bind("mouseover mouseout", fn); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1902 |
types = types.split(" "); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1903 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1904 |
var type, i = 0, namespaces; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1905 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1906 |
while ( (type = types[ i++ ]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1907 |
handleObj = handleObjIn ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1908 |
jQuery.extend({}, handleObjIn) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1909 |
{ handler: handler, data: data }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1910 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1911 |
// Namespaced event handlers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1912 |
if ( type.indexOf(".") > -1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1913 |
namespaces = type.split("."); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1914 |
type = namespaces.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1915 |
handleObj.namespace = namespaces.slice(0).sort().join("."); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1916 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1917 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1918 |
namespaces = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1919 |
handleObj.namespace = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1920 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1921 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1922 |
handleObj.type = type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1923 |
if ( !handleObj.guid ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1924 |
handleObj.guid = handler.guid; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1925 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1926 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1927 |
// Get the current list of functions bound to this event |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1928 |
var handlers = events[ type ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1929 |
special = jQuery.event.special[ type ] || {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1930 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1931 |
// Init the event handler queue |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1932 |
if ( !handlers ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1933 |
handlers = events[ type ] = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1934 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1935 |
// Check for a special event handler |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1936 |
// Only use addEventListener/attachEvent if the special |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1937 |
// events handler returns false |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1938 |
if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1939 |
// Bind the global event handler to the element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1940 |
if ( elem.addEventListener ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1941 |
elem.addEventListener( type, eventHandle, false ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1942 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1943 |
} else if ( elem.attachEvent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1944 |
elem.attachEvent( "on" + type, eventHandle ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1945 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1946 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1947 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1948 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1949 |
if ( special.add ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1950 |
special.add.call( elem, handleObj ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1951 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1952 |
if ( !handleObj.handler.guid ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1953 |
handleObj.handler.guid = handler.guid; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1954 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1955 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1956 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1957 |
// Add the function to the element's handler list |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1958 |
handlers.push( handleObj ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1959 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1960 |
// Keep track of which events have been used, for global triggering |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1961 |
jQuery.event.global[ type ] = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1962 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1963 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1964 |
// Nullify elem to prevent memory leaks in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1965 |
elem = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1966 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1967 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1968 |
global: {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1969 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1970 |
// Detach an event or set of events from an element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1971 |
remove: function( elem, types, handler, pos ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1972 |
// don't do events on text and comment nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1973 |
if ( elem.nodeType === 3 || elem.nodeType === 8 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1974 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1975 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1976 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1977 |
if ( handler === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1978 |
handler = returnFalse; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1979 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1980 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1981 |
var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1982 |
eventKey = elem.nodeType ? "events" : "__events__", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1983 |
elemData = jQuery.data( elem ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1984 |
events = elemData && elemData[ eventKey ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1985 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1986 |
if ( !elemData || !events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1987 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1988 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1989 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1990 |
if ( typeof events === "function" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1991 |
elemData = events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1992 |
events = events.events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1993 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1994 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1995 |
// types is actually an event object here |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1996 |
if ( types && types.type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1997 |
handler = types.handler; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1998 |
types = types.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1999 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2000 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2001 |
// Unbind all events for the element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2002 |
if ( !types || typeof types === "string" && types.charAt(0) === "." ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2003 |
types = types || ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2004 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2005 |
for ( type in events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2006 |
jQuery.event.remove( elem, type + types ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2007 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2008 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2009 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2010 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2011 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2012 |
// Handle multiple events separated by a space |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2013 |
// jQuery(...).unbind("mouseover mouseout", fn); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2014 |
types = types.split(" "); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2015 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2016 |
while ( (type = types[ i++ ]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2017 |
origType = type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2018 |
handleObj = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2019 |
all = type.indexOf(".") < 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2020 |
namespaces = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2021 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2022 |
if ( !all ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2023 |
// Namespaced event handlers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2024 |
namespaces = type.split("."); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2025 |
type = namespaces.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2026 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2027 |
namespace = new RegExp("(^|\\.)" + |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2028 |
jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2029 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2030 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2031 |
eventType = events[ type ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2032 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2033 |
if ( !eventType ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2034 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2035 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2036 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2037 |
if ( !handler ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2038 |
for ( j = 0; j < eventType.length; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2039 |
handleObj = eventType[ j ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2040 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2041 |
if ( all || namespace.test( handleObj.namespace ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2042 |
jQuery.event.remove( elem, origType, handleObj.handler, j ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2043 |
eventType.splice( j--, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2044 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2045 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2046 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2047 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2048 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2049 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2050 |
special = jQuery.event.special[ type ] || {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2051 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2052 |
for ( j = pos || 0; j < eventType.length; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2053 |
handleObj = eventType[ j ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2054 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2055 |
if ( handler.guid === handleObj.guid ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2056 |
// remove the given handler for the given type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2057 |
if ( all || namespace.test( handleObj.namespace ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2058 |
if ( pos == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2059 |
eventType.splice( j--, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2060 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2061 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2062 |
if ( special.remove ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2063 |
special.remove.call( elem, handleObj ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2064 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2065 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2066 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2067 |
if ( pos != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2068 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2069 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2070 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2071 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2072 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2073 |
// remove generic event handler if no more handlers exist |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2074 |
if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2075 |
if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2076 |
jQuery.removeEvent( elem, type, elemData.handle ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2077 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2078 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2079 |
ret = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2080 |
delete events[ type ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2081 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2082 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2083 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2084 |
// Remove the expando if it's no longer used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2085 |
if ( jQuery.isEmptyObject( events ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2086 |
var handle = elemData.handle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2087 |
if ( handle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2088 |
handle.elem = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2089 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2090 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2091 |
delete elemData.events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2092 |
delete elemData.handle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2093 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2094 |
if ( typeof elemData === "function" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2095 |
jQuery.removeData( elem, eventKey ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2096 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2097 |
} else if ( jQuery.isEmptyObject( elemData ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2098 |
jQuery.removeData( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2099 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2100 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2101 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2102 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2103 |
// bubbling is internal |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2104 |
trigger: function( event, data, elem /*, bubbling */ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2105 |
// Event object or event type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2106 |
var type = event.type || event, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2107 |
bubbling = arguments[3]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2108 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2109 |
if ( !bubbling ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2110 |
event = typeof event === "object" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2111 |
// jQuery.Event object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2112 |
event[ jQuery.expando ] ? event : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2113 |
// Object literal |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2114 |
jQuery.extend( jQuery.Event(type), event ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2115 |
// Just the event type (string) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2116 |
jQuery.Event(type); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2117 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2118 |
if ( type.indexOf("!") >= 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2119 |
event.type = type = type.slice(0, -1); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2120 |
event.exclusive = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2121 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2122 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2123 |
// Handle a global trigger |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2124 |
if ( !elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2125 |
// Don't bubble custom events when global (to avoid too much overhead) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2126 |
event.stopPropagation(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2127 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2128 |
// Only trigger if we've ever bound an event for it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2129 |
if ( jQuery.event.global[ type ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2130 |
jQuery.each( jQuery.cache, function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2131 |
if ( this.events && this.events[type] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2132 |
jQuery.event.trigger( event, data, this.handle.elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2133 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2134 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2135 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2136 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2137 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2138 |
// Handle triggering a single element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2139 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2140 |
// don't do events on text and comment nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2141 |
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2142 |
return undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2143 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2144 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2145 |
// Clean up in case it is reused |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2146 |
event.result = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2147 |
event.target = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2148 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2149 |
// Clone the incoming data, if any |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2150 |
data = jQuery.makeArray( data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2151 |
data.unshift( event ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2152 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2153 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2154 |
event.currentTarget = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2155 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2156 |
// Trigger the event, it is assumed that "handle" is a function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2157 |
var handle = elem.nodeType ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2158 |
jQuery.data( elem, "handle" ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2159 |
(jQuery.data( elem, "__events__" ) || {}).handle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2160 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2161 |
if ( handle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2162 |
handle.apply( elem, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2163 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2164 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2165 |
var parent = elem.parentNode || elem.ownerDocument; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2166 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2167 |
// Trigger an inline bound script |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2168 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2169 |
if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2170 |
if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2171 |
event.result = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2172 |
event.preventDefault(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2173 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2174 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2175 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2176 |
// prevent IE from throwing an error for some elements with some event types, see #3533 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2177 |
} catch (inlineError) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2178 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2179 |
if ( !event.isPropagationStopped() && parent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2180 |
jQuery.event.trigger( event, data, parent, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2181 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2182 |
} else if ( !event.isDefaultPrevented() ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2183 |
var old, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2184 |
target = event.target, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2185 |
targetType = type.replace( rnamespaces, "" ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2186 |
isClick = jQuery.nodeName( target, "a" ) && targetType === "click", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2187 |
special = jQuery.event.special[ targetType ] || {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2188 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2189 |
if ( (!special._default || special._default.call( elem, event ) === false) && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2190 |
!isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2191 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2192 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2193 |
if ( target[ targetType ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2194 |
// Make sure that we don't accidentally re-trigger the onFOO events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2195 |
old = target[ "on" + targetType ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2196 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2197 |
if ( old ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2198 |
target[ "on" + targetType ] = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2199 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2200 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2201 |
jQuery.event.triggered = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2202 |
target[ targetType ](); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2203 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2204 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2205 |
// prevent IE from throwing an error for some elements with some event types, see #3533 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2206 |
} catch (triggerError) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2207 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2208 |
if ( old ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2209 |
target[ "on" + targetType ] = old; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2210 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2211 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2212 |
jQuery.event.triggered = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2213 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2214 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2215 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2216 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2217 |
handle: function( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2218 |
var all, handlers, namespaces, namespace_re, events, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2219 |
namespace_sort = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2220 |
args = jQuery.makeArray( arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2221 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2222 |
event = args[0] = jQuery.event.fix( event || window.event ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2223 |
event.currentTarget = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2224 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2225 |
// Namespaced event handlers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2226 |
all = event.type.indexOf(".") < 0 && !event.exclusive; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2227 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2228 |
if ( !all ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2229 |
namespaces = event.type.split("."); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2230 |
event.type = namespaces.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2231 |
namespace_sort = namespaces.slice(0).sort(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2232 |
namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2233 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2234 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2235 |
event.namespace = event.namespace || namespace_sort.join("."); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2236 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2237 |
events = jQuery.data(this, this.nodeType ? "events" : "__events__"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2238 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2239 |
if ( typeof events === "function" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2240 |
events = events.events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2241 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2242 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2243 |
handlers = (events || {})[ event.type ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2244 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2245 |
if ( events && handlers ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2246 |
// Clone the handlers to prevent manipulation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2247 |
handlers = handlers.slice(0); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2248 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2249 |
for ( var j = 0, l = handlers.length; j < l; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2250 |
var handleObj = handlers[ j ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2251 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2252 |
// Filter the functions by class |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2253 |
if ( all || namespace_re.test( handleObj.namespace ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2254 |
// Pass in a reference to the handler function itself |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2255 |
// So that we can later remove it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2256 |
event.handler = handleObj.handler; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2257 |
event.data = handleObj.data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2258 |
event.handleObj = handleObj; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2259 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2260 |
var ret = handleObj.handler.apply( this, args ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2261 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2262 |
if ( ret !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2263 |
event.result = ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2264 |
if ( ret === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2265 |
event.preventDefault(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2266 |
event.stopPropagation(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2267 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2268 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2269 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2270 |
if ( event.isImmediatePropagationStopped() ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2271 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2272 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2273 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2274 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2275 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2276 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2277 |
return event.result; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2278 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2279 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2280 |
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2281 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2282 |
fix: function( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2283 |
if ( event[ jQuery.expando ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2284 |
return event; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2285 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2286 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2287 |
// store a copy of the original event object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2288 |
// and "clone" to set read-only properties |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2289 |
var originalEvent = event; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2290 |
event = jQuery.Event( originalEvent ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2291 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2292 |
for ( var i = this.props.length, prop; i; ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2293 |
prop = this.props[ --i ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2294 |
event[ prop ] = originalEvent[ prop ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2295 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2296 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2297 |
// Fix target property, if necessary |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2298 |
if ( !event.target ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2299 |
// Fixes #1925 where srcElement might not be defined either |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2300 |
event.target = event.srcElement || document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2301 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2302 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2303 |
// check if target is a textnode (safari) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2304 |
if ( event.target.nodeType === 3 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2305 |
event.target = event.target.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2306 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2307 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2308 |
// Add relatedTarget, if necessary |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2309 |
if ( !event.relatedTarget && event.fromElement ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2310 |
event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2311 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2312 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2313 |
// Calculate pageX/Y if missing and clientX/Y available |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2314 |
if ( event.pageX == null && event.clientX != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2315 |
var doc = document.documentElement, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2316 |
body = document.body; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2317 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2318 |
event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2319 |
event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2320 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2321 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2322 |
// Add which for key events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2323 |
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2324 |
event.which = event.charCode != null ? event.charCode : event.keyCode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2325 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2326 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2327 |
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2328 |
if ( !event.metaKey && event.ctrlKey ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2329 |
event.metaKey = event.ctrlKey; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2330 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2331 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2332 |
// Add which for click: 1 === left; 2 === middle; 3 === right |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2333 |
// Note: button is not normalized, so don't use it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2334 |
if ( !event.which && event.button !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2335 |
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2336 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2337 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2338 |
return event; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2339 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2340 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2341 |
// Deprecated, use jQuery.guid instead |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2342 |
guid: 1E8, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2343 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2344 |
// Deprecated, use jQuery.proxy instead |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2345 |
proxy: jQuery.proxy, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2346 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2347 |
special: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2348 |
ready: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2349 |
// Make sure the ready event is setup |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2350 |
setup: jQuery.bindReady, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2351 |
teardown: jQuery.noop |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2352 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2353 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2354 |
live: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2355 |
add: function( handleObj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2356 |
jQuery.event.add( this, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2357 |
liveConvert( handleObj.origType, handleObj.selector ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2358 |
jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2359 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2360 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2361 |
remove: function( handleObj ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2362 |
jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2363 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2364 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2365 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2366 |
beforeunload: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2367 |
setup: function( data, namespaces, eventHandle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2368 |
// We only want to do this special case on windows |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2369 |
if ( jQuery.isWindow( this ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2370 |
this.onbeforeunload = eventHandle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2371 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2372 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2373 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2374 |
teardown: function( namespaces, eventHandle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2375 |
if ( this.onbeforeunload === eventHandle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2376 |
this.onbeforeunload = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2377 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2378 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2379 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2380 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2381 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2382 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2383 |
jQuery.removeEvent = document.removeEventListener ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2384 |
function( elem, type, handle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2385 |
if ( elem.removeEventListener ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2386 |
elem.removeEventListener( type, handle, false ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2387 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2388 |
} : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2389 |
function( elem, type, handle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2390 |
if ( elem.detachEvent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2391 |
elem.detachEvent( "on" + type, handle ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2392 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2393 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2394 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2395 |
jQuery.Event = function( src ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2396 |
// Allow instantiation without the 'new' keyword |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2397 |
if ( !this.preventDefault ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2398 |
return new jQuery.Event( src ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2399 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2400 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2401 |
// Event object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2402 |
if ( src && src.type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2403 |
this.originalEvent = src; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2404 |
this.type = src.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2405 |
// Event type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2406 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2407 |
this.type = src; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2408 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2409 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2410 |
// timeStamp is buggy for some events on Firefox(#3843) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2411 |
// So we won't rely on the native value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2412 |
this.timeStamp = jQuery.now(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2413 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2414 |
// Mark it as fixed |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2415 |
this[ jQuery.expando ] = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2416 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2417 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2418 |
function returnFalse() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2419 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2420 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2421 |
function returnTrue() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2422 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2423 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2424 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2425 |
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2426 |
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2427 |
jQuery.Event.prototype = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2428 |
preventDefault: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2429 |
this.isDefaultPrevented = returnTrue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2430 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2431 |
var e = this.originalEvent; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2432 |
if ( !e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2433 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2434 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2435 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2436 |
// if preventDefault exists run it on the original event |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2437 |
if ( e.preventDefault ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2438 |
e.preventDefault(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2439 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2440 |
// otherwise set the returnValue property of the original event to false (IE) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2441 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2442 |
e.returnValue = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2443 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2444 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2445 |
stopPropagation: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2446 |
this.isPropagationStopped = returnTrue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2447 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2448 |
var e = this.originalEvent; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2449 |
if ( !e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2450 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2451 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2452 |
// if stopPropagation exists run it on the original event |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2453 |
if ( e.stopPropagation ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2454 |
e.stopPropagation(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2455 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2456 |
// otherwise set the cancelBubble property of the original event to true (IE) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2457 |
e.cancelBubble = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2458 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2459 |
stopImmediatePropagation: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2460 |
this.isImmediatePropagationStopped = returnTrue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2461 |
this.stopPropagation(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2462 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2463 |
isDefaultPrevented: returnFalse, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2464 |
isPropagationStopped: returnFalse, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2465 |
isImmediatePropagationStopped: returnFalse |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2466 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2467 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2468 |
// Checks if an event happened on an element within another element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2469 |
// Used in jQuery.event.special.mouseenter and mouseleave handlers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2470 |
var withinElement = function( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2471 |
// Check if mouse(over|out) are still within the same parent element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2472 |
var parent = event.relatedTarget; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2473 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2474 |
// Firefox sometimes assigns relatedTarget a XUL element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2475 |
// which we cannot access the parentNode property of |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2476 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2477 |
// Traverse up the tree |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2478 |
while ( parent && parent !== this ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2479 |
parent = parent.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2480 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2481 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2482 |
if ( parent !== this ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2483 |
// set the correct event type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2484 |
event.type = event.data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2485 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2486 |
// handle event if we actually just moused on to a non sub-element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2487 |
jQuery.event.handle.apply( this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2488 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2489 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2490 |
// assuming we've left the element since we most likely mousedover a xul element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2491 |
} catch(e) { } |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2492 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2493 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2494 |
// In case of event delegation, we only need to rename the event.type, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2495 |
// liveHandler will take care of the rest. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2496 |
delegate = function( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2497 |
event.type = event.data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2498 |
jQuery.event.handle.apply( this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2499 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2500 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2501 |
// Create mouseenter and mouseleave events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2502 |
jQuery.each({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2503 |
mouseenter: "mouseover", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2504 |
mouseleave: "mouseout" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2505 |
}, function( orig, fix ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2506 |
jQuery.event.special[ orig ] = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2507 |
setup: function( data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2508 |
jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2509 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2510 |
teardown: function( data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2511 |
jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2512 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2513 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2514 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2515 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2516 |
// submit delegation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2517 |
if ( !jQuery.support.submitBubbles ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2518 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2519 |
jQuery.event.special.submit = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2520 |
setup: function( data, namespaces ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2521 |
if ( this.nodeName.toLowerCase() !== "form" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2522 |
jQuery.event.add(this, "click.specialSubmit", function( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2523 |
var elem = e.target, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2524 |
type = elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2525 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2526 |
if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2527 |
e.liveFired = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2528 |
return trigger( "submit", this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2529 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2530 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2531 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2532 |
jQuery.event.add(this, "keypress.specialSubmit", function( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2533 |
var elem = e.target, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2534 |
type = elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2535 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2536 |
if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2537 |
e.liveFired = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2538 |
return trigger( "submit", this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2539 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2540 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2541 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2542 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2543 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2544 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2545 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2546 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2547 |
teardown: function( namespaces ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2548 |
jQuery.event.remove( this, ".specialSubmit" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2549 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2550 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2551 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2552 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2553 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2554 |
// change delegation, happens here so we have bind. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2555 |
if ( !jQuery.support.changeBubbles ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2556 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2557 |
var changeFilters, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2558 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2559 |
getVal = function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2560 |
var type = elem.type, val = elem.value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2561 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2562 |
if ( type === "radio" || type === "checkbox" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2563 |
val = elem.checked; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2564 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2565 |
} else if ( type === "select-multiple" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2566 |
val = elem.selectedIndex > -1 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2567 |
jQuery.map( elem.options, function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2568 |
return elem.selected; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2569 |
}).join("-") : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2570 |
""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2571 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2572 |
} else if ( elem.nodeName.toLowerCase() === "select" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2573 |
val = elem.selectedIndex; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2574 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2575 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2576 |
return val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2577 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2578 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2579 |
testChange = function testChange( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2580 |
var elem = e.target, data, val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2581 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2582 |
if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2583 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2584 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2585 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2586 |
data = jQuery.data( elem, "_change_data" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2587 |
val = getVal(elem); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2588 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2589 |
// the current data will be also retrieved by beforeactivate |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2590 |
if ( e.type !== "focusout" || elem.type !== "radio" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2591 |
jQuery.data( elem, "_change_data", val ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2592 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2593 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2594 |
if ( data === undefined || val === data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2595 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2596 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2597 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2598 |
if ( data != null || val ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2599 |
e.type = "change"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2600 |
e.liveFired = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2601 |
return jQuery.event.trigger( e, arguments[1], elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2602 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2603 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2604 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2605 |
jQuery.event.special.change = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2606 |
filters: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2607 |
focusout: testChange, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2608 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2609 |
beforedeactivate: testChange, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2610 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2611 |
click: function( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2612 |
var elem = e.target, type = elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2613 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2614 |
if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2615 |
return testChange.call( this, e ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2616 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2617 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2618 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2619 |
// Change has to be called before submit |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2620 |
// Keydown will be called before keypress, which is used in submit-event delegation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2621 |
keydown: function( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2622 |
var elem = e.target, type = elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2623 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2624 |
if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2625 |
(e.keyCode === 32 && (type === "checkbox" || type === "radio")) || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2626 |
type === "select-multiple" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2627 |
return testChange.call( this, e ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2628 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2629 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2630 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2631 |
// Beforeactivate happens also before the previous element is blurred |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2632 |
// with this event you can't trigger a change event, but you can store |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2633 |
// information |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2634 |
beforeactivate: function( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2635 |
var elem = e.target; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2636 |
jQuery.data( elem, "_change_data", getVal(elem) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2637 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2638 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2639 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2640 |
setup: function( data, namespaces ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2641 |
if ( this.type === "file" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2642 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2643 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2644 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2645 |
for ( var type in changeFilters ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2646 |
jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2647 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2648 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2649 |
return rformElems.test( this.nodeName ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2650 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2651 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2652 |
teardown: function( namespaces ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2653 |
jQuery.event.remove( this, ".specialChange" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2654 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2655 |
return rformElems.test( this.nodeName ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2656 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2657 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2658 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2659 |
changeFilters = jQuery.event.special.change.filters; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2660 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2661 |
// Handle when the input is .focus()'d |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2662 |
changeFilters.focus = changeFilters.beforeactivate; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2663 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2664 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2665 |
function trigger( type, elem, args ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2666 |
args[0].type = type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2667 |
return jQuery.event.handle.apply( elem, args ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2668 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2669 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2670 |
// Create "bubbling" focus and blur events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2671 |
if ( document.addEventListener ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2672 |
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2673 |
jQuery.event.special[ fix ] = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2674 |
setup: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2675 |
if ( focusCounts[fix]++ === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2676 |
document.addEventListener( orig, handler, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2677 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2678 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2679 |
teardown: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2680 |
if ( --focusCounts[fix] === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2681 |
document.removeEventListener( orig, handler, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2682 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2683 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2684 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2685 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2686 |
function handler( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2687 |
e = jQuery.event.fix( e ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2688 |
e.type = fix; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2689 |
return jQuery.event.trigger( e, null, e.target ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2690 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2691 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2692 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2693 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2694 |
jQuery.each(["bind", "one"], function( i, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2695 |
jQuery.fn[ name ] = function( type, data, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2696 |
// Handle object literals |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2697 |
if ( typeof type === "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2698 |
for ( var key in type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2699 |
this[ name ](key, data, type[key], fn); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2700 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2701 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2702 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2703 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2704 |
if ( jQuery.isFunction( data ) || data === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2705 |
fn = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2706 |
data = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2707 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2708 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2709 |
var handler = name === "one" ? jQuery.proxy( fn, function( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2710 |
jQuery( this ).unbind( event, handler ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2711 |
return fn.apply( this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2712 |
}) : fn; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2713 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2714 |
if ( type === "unload" && name !== "one" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2715 |
this.one( type, data, fn ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2716 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2717 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2718 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2719 |
jQuery.event.add( this[i], type, handler, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2720 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2721 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2722 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2723 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2724 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2725 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2726 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2727 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2728 |
unbind: function( type, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2729 |
// Handle object literals |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2730 |
if ( typeof type === "object" && !type.preventDefault ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2731 |
for ( var key in type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2732 |
this.unbind(key, type[key]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2733 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2734 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2735 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2736 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2737 |
jQuery.event.remove( this[i], type, fn ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2738 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2739 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2740 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2741 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2742 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2743 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2744 |
delegate: function( selector, types, data, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2745 |
return this.live( types, data, fn, selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2746 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2747 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2748 |
undelegate: function( selector, types, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2749 |
if ( arguments.length === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2750 |
return this.unbind( "live" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2751 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2752 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2753 |
return this.die( types, null, fn, selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2754 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2755 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2756 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2757 |
trigger: function( type, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2758 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2759 |
jQuery.event.trigger( type, data, this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2760 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2761 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2762 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2763 |
triggerHandler: function( type, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2764 |
if ( this[0] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2765 |
var event = jQuery.Event( type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2766 |
event.preventDefault(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2767 |
event.stopPropagation(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2768 |
jQuery.event.trigger( event, data, this[0] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2769 |
return event.result; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2770 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2771 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2772 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2773 |
toggle: function( fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2774 |
// Save reference to arguments for access in closure |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2775 |
var args = arguments, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2776 |
i = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2777 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2778 |
// link all the functions, so any of them can unbind this click handler |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2779 |
while ( i < args.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2780 |
jQuery.proxy( fn, args[ i++ ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2781 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2782 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2783 |
return this.click( jQuery.proxy( fn, function( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2784 |
// Figure out which function to execute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2785 |
var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2786 |
jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2787 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2788 |
// Make sure that clicks stop |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2789 |
event.preventDefault(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2790 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2791 |
// and execute the function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2792 |
return args[ lastToggle ].apply( this, arguments ) || false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2793 |
})); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2794 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2795 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2796 |
hover: function( fnOver, fnOut ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2797 |
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2798 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2799 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2800 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2801 |
var liveMap = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2802 |
focus: "focusin", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2803 |
blur: "focusout", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2804 |
mouseenter: "mouseover", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2805 |
mouseleave: "mouseout" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2806 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2807 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2808 |
jQuery.each(["live", "die"], function( i, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2809 |
jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2810 |
var type, i = 0, match, namespaces, preType, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2811 |
selector = origSelector || this.selector, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2812 |
context = origSelector ? this : jQuery( this.context ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2813 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2814 |
if ( typeof types === "object" && !types.preventDefault ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2815 |
for ( var key in types ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2816 |
context[ name ]( key, data, types[key], selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2817 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2818 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2819 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2820 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2821 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2822 |
if ( jQuery.isFunction( data ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2823 |
fn = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2824 |
data = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2825 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2826 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2827 |
types = (types || "").split(" "); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2828 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2829 |
while ( (type = types[ i++ ]) != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2830 |
match = rnamespaces.exec( type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2831 |
namespaces = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2832 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2833 |
if ( match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2834 |
namespaces = match[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2835 |
type = type.replace( rnamespaces, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2836 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2837 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2838 |
if ( type === "hover" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2839 |
types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2840 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2841 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2842 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2843 |
preType = type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2844 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2845 |
if ( type === "focus" || type === "blur" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2846 |
types.push( liveMap[ type ] + namespaces ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2847 |
type = type + namespaces; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2848 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2849 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2850 |
type = (liveMap[ type ] || type) + namespaces; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2851 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2852 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2853 |
if ( name === "live" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2854 |
// bind live handler |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2855 |
for ( var j = 0, l = context.length; j < l; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2856 |
jQuery.event.add( context[j], "live." + liveConvert( type, selector ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2857 |
{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2858 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2859 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2860 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2861 |
// unbind live handler |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2862 |
context.unbind( "live." + liveConvert( type, selector ), fn ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2863 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2864 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2865 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2866 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2867 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2868 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2869 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2870 |
function liveHandler( event ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2871 |
var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2872 |
elems = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2873 |
selectors = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2874 |
events = jQuery.data( this, this.nodeType ? "events" : "__events__" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2875 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2876 |
if ( typeof events === "function" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2877 |
events = events.events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2878 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2879 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2880 |
// Make sure we avoid non-left-click bubbling in Firefox (#3861) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2881 |
if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2882 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2883 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2884 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2885 |
if ( event.namespace ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2886 |
namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2887 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2888 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2889 |
event.liveFired = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2890 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2891 |
var live = events.live.slice(0); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2892 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2893 |
for ( j = 0; j < live.length; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2894 |
handleObj = live[j]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2895 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2896 |
if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2897 |
selectors.push( handleObj.selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2898 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2899 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2900 |
live.splice( j--, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2901 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2902 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2903 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2904 |
match = jQuery( event.target ).closest( selectors, event.currentTarget ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2905 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2906 |
for ( i = 0, l = match.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2907 |
close = match[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2908 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2909 |
for ( j = 0; j < live.length; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2910 |
handleObj = live[j]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2911 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2912 |
if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2913 |
elem = close.elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2914 |
related = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2915 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2916 |
// Those two events require additional checking |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2917 |
if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2918 |
event.type = handleObj.preType; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2919 |
related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2920 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2921 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2922 |
if ( !related || related !== elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2923 |
elems.push({ elem: elem, handleObj: handleObj, level: close.level }); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2924 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2925 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2926 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2927 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2928 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2929 |
for ( i = 0, l = elems.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2930 |
match = elems[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2931 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2932 |
if ( maxLevel && match.level > maxLevel ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2933 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2934 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2935 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2936 |
event.currentTarget = match.elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2937 |
event.data = match.handleObj.data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2938 |
event.handleObj = match.handleObj; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2939 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2940 |
ret = match.handleObj.origHandler.apply( match.elem, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2941 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2942 |
if ( ret === false || event.isPropagationStopped() ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2943 |
maxLevel = match.level; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2944 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2945 |
if ( ret === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2946 |
stop = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2947 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2948 |
if ( event.isImmediatePropagationStopped() ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2949 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2950 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2951 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2952 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2953 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2954 |
return stop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2955 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2956 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2957 |
function liveConvert( type, selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2958 |
return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2959 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2960 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2961 |
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2962 |
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2963 |
"change select submit keydown keypress keyup error").split(" "), function( i, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2964 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2965 |
// Handle event binding |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2966 |
jQuery.fn[ name ] = function( data, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2967 |
if ( fn == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2968 |
fn = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2969 |
data = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2970 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2971 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2972 |
return arguments.length > 0 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2973 |
this.bind( name, data, fn ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2974 |
this.trigger( name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2975 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2976 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2977 |
if ( jQuery.attrFn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2978 |
jQuery.attrFn[ name ] = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2979 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2980 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2981 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2982 |
// Prevent memory leaks in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2983 |
// Window isn't included so as not to unbind existing unload events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2984 |
// More info: |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2985 |
// - http://isaacschlueter.com/2006/10/msie-memory-leaks/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2986 |
if ( window.attachEvent && !window.addEventListener ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2987 |
jQuery(window).bind("unload", function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2988 |
for ( var id in jQuery.cache ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2989 |
if ( jQuery.cache[ id ].handle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2990 |
// Try/Catch is to handle iframes being unloaded, see #4280 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2991 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2992 |
jQuery.event.remove( jQuery.cache[ id ].handle.elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2993 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2994 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2995 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2996 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2997 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2998 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2999 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3000 |
/*! |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3001 |
* Sizzle CSS Selector Engine - v1.0 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3002 |
* Copyright 2009, The Dojo Foundation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3003 |
* Released under the MIT, BSD, and GPL Licenses. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3004 |
* More information: http://sizzlejs.com/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3005 |
*/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3006 |
(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3007 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3008 |
var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3009 |
done = 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3010 |
toString = Object.prototype.toString, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3011 |
hasDuplicate = false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3012 |
baseHasDuplicate = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3013 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3014 |
// Here we check if the JavaScript engine is using some sort of |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3015 |
// optimization where it does not always call our comparision |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3016 |
// function. If that is the case, discard the hasDuplicate value. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3017 |
// Thus far that includes Google Chrome. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3018 |
[0, 0].sort(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3019 |
baseHasDuplicate = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3020 |
return 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3021 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3022 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3023 |
var Sizzle = function( selector, context, results, seed ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3024 |
results = results || []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3025 |
context = context || document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3026 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3027 |
var origContext = context; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3028 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3029 |
if ( context.nodeType !== 1 && context.nodeType !== 9 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3030 |
return []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3031 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3032 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3033 |
if ( !selector || typeof selector !== "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3034 |
return results; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3035 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3036 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3037 |
var m, set, checkSet, extra, ret, cur, pop, i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3038 |
prune = true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3039 |
contextXML = Sizzle.isXML( context ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3040 |
parts = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3041 |
soFar = selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3042 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3043 |
// Reset the position of the chunker regexp (start from head) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3044 |
do { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3045 |
chunker.exec( "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3046 |
m = chunker.exec( soFar ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3047 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3048 |
if ( m ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3049 |
soFar = m[3]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3050 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3051 |
parts.push( m[1] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3052 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3053 |
if ( m[2] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3054 |
extra = m[3]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3055 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3056 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3057 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3058 |
} while ( m ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3059 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3060 |
if ( parts.length > 1 && origPOS.exec( selector ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3061 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3062 |
if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3063 |
set = posProcess( parts[0] + parts[1], context ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3064 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3065 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3066 |
set = Expr.relative[ parts[0] ] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3067 |
[ context ] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3068 |
Sizzle( parts.shift(), context ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3069 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3070 |
while ( parts.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3071 |
selector = parts.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3072 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3073 |
if ( Expr.relative[ selector ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3074 |
selector += parts.shift(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3075 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3076 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3077 |
set = posProcess( selector, set ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3078 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3079 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3080 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3081 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3082 |
// Take a shortcut and set the context if the root selector is an ID |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3083 |
// (but not if it'll be faster if the inner selector is an ID) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3084 |
if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3085 |
Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3086 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3087 |
ret = Sizzle.find( parts.shift(), context, contextXML ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3088 |
context = ret.expr ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3089 |
Sizzle.filter( ret.expr, ret.set )[0] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3090 |
ret.set[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3091 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3092 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3093 |
if ( context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3094 |
ret = seed ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3095 |
{ expr: parts.pop(), set: makeArray(seed) } : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3096 |
Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3097 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3098 |
set = ret.expr ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3099 |
Sizzle.filter( ret.expr, ret.set ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3100 |
ret.set; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3101 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3102 |
if ( parts.length > 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3103 |
checkSet = makeArray( set ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3104 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3105 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3106 |
prune = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3107 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3108 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3109 |
while ( parts.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3110 |
cur = parts.pop(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3111 |
pop = cur; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3112 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3113 |
if ( !Expr.relative[ cur ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3114 |
cur = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3115 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3116 |
pop = parts.pop(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3117 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3118 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3119 |
if ( pop == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3120 |
pop = context; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3121 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3122 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3123 |
Expr.relative[ cur ]( checkSet, pop, contextXML ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3124 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3125 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3126 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3127 |
checkSet = parts = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3128 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3129 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3130 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3131 |
if ( !checkSet ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3132 |
checkSet = set; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3133 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3134 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3135 |
if ( !checkSet ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3136 |
Sizzle.error( cur || selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3137 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3138 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3139 |
if ( toString.call(checkSet) === "[object Array]" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3140 |
if ( !prune ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3141 |
results.push.apply( results, checkSet ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3142 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3143 |
} else if ( context && context.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3144 |
for ( i = 0; checkSet[i] != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3145 |
if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3146 |
results.push( set[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3147 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3148 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3149 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3150 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3151 |
for ( i = 0; checkSet[i] != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3152 |
if ( checkSet[i] && checkSet[i].nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3153 |
results.push( set[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3154 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3155 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3156 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3157 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3158 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3159 |
makeArray( checkSet, results ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3160 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3161 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3162 |
if ( extra ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3163 |
Sizzle( extra, origContext, results, seed ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3164 |
Sizzle.uniqueSort( results ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3165 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3166 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3167 |
return results; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3168 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3169 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3170 |
Sizzle.uniqueSort = function( results ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3171 |
if ( sortOrder ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3172 |
hasDuplicate = baseHasDuplicate; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3173 |
results.sort( sortOrder ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3174 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3175 |
if ( hasDuplicate ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3176 |
for ( var i = 1; i < results.length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3177 |
if ( results[i] === results[ i - 1 ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3178 |
results.splice( i--, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3179 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3180 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3181 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3182 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3183 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3184 |
return results; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3185 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3186 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3187 |
Sizzle.matches = function( expr, set ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3188 |
return Sizzle( expr, null, null, set ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3189 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3190 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3191 |
Sizzle.matchesSelector = function( node, expr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3192 |
return Sizzle( expr, null, null, [node] ).length > 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3193 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3194 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3195 |
Sizzle.find = function( expr, context, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3196 |
var set; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3197 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3198 |
if ( !expr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3199 |
return []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3200 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3201 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3202 |
for ( var i = 0, l = Expr.order.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3203 |
var match, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3204 |
type = Expr.order[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3205 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3206 |
if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3207 |
var left = match[1]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3208 |
match.splice( 1, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3209 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3210 |
if ( left.substr( left.length - 1 ) !== "\\" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3211 |
match[1] = (match[1] || "").replace(/\\/g, ""); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3212 |
set = Expr.find[ type ]( match, context, isXML ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3213 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3214 |
if ( set != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3215 |
expr = expr.replace( Expr.match[ type ], "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3216 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3217 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3218 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3219 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3220 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3221 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3222 |
if ( !set ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3223 |
set = context.getElementsByTagName( "*" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3224 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3225 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3226 |
return { set: set, expr: expr }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3227 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3228 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3229 |
Sizzle.filter = function( expr, set, inplace, not ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3230 |
var match, anyFound, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3231 |
old = expr, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3232 |
result = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3233 |
curLoop = set, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3234 |
isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3235 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3236 |
while ( expr && set.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3237 |
for ( var type in Expr.filter ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3238 |
if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3239 |
var found, item, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3240 |
filter = Expr.filter[ type ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3241 |
left = match[1]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3242 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3243 |
anyFound = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3244 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3245 |
match.splice(1,1); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3246 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3247 |
if ( left.substr( left.length - 1 ) === "\\" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3248 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3249 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3250 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3251 |
if ( curLoop === result ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3252 |
result = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3253 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3254 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3255 |
if ( Expr.preFilter[ type ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3256 |
match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3257 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3258 |
if ( !match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3259 |
anyFound = found = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3260 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3261 |
} else if ( match === true ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3262 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3263 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3264 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3265 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3266 |
if ( match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3267 |
for ( var i = 0; (item = curLoop[i]) != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3268 |
if ( item ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3269 |
found = filter( item, match, i, curLoop ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3270 |
var pass = not ^ !!found; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3271 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3272 |
if ( inplace && found != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3273 |
if ( pass ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3274 |
anyFound = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3275 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3276 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3277 |
curLoop[i] = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3278 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3279 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3280 |
} else if ( pass ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3281 |
result.push( item ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3282 |
anyFound = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3283 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3284 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3285 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3286 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3287 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3288 |
if ( found !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3289 |
if ( !inplace ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3290 |
curLoop = result; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3291 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3292 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3293 |
expr = expr.replace( Expr.match[ type ], "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3294 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3295 |
if ( !anyFound ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3296 |
return []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3297 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3298 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3299 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3300 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3301 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3302 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3303 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3304 |
// Improper expression |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3305 |
if ( expr === old ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3306 |
if ( anyFound == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3307 |
Sizzle.error( expr ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3308 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3309 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3310 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3311 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3312 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3313 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3314 |
old = expr; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3315 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3316 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3317 |
return curLoop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3318 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3319 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3320 |
Sizzle.error = function( msg ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3321 |
throw "Syntax error, unrecognized expression: " + msg; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3322 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3323 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3324 |
var Expr = Sizzle.selectors = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3325 |
order: [ "ID", "NAME", "TAG" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3326 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3327 |
match: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3328 |
ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3329 |
CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3330 |
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3331 |
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3332 |
TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3333 |
CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3334 |
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3335 |
PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3336 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3337 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3338 |
leftMatch: {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3339 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3340 |
attrMap: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3341 |
"class": "className", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3342 |
"for": "htmlFor" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3343 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3344 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3345 |
attrHandle: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3346 |
href: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3347 |
return elem.getAttribute( "href" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3348 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3349 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3350 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3351 |
relative: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3352 |
"+": function(checkSet, part){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3353 |
var isPartStr = typeof part === "string", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3354 |
isTag = isPartStr && !/\W/.test( part ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3355 |
isPartStrNotTag = isPartStr && !isTag; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3356 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3357 |
if ( isTag ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3358 |
part = part.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3359 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3360 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3361 |
for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3362 |
if ( (elem = checkSet[i]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3363 |
while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3364 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3365 |
checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3366 |
elem || false : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3367 |
elem === part; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3368 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3369 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3370 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3371 |
if ( isPartStrNotTag ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3372 |
Sizzle.filter( part, checkSet, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3373 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3374 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3375 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3376 |
">": function( checkSet, part ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3377 |
var elem, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3378 |
isPartStr = typeof part === "string", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3379 |
i = 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3380 |
l = checkSet.length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3381 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3382 |
if ( isPartStr && !/\W/.test( part ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3383 |
part = part.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3384 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3385 |
for ( ; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3386 |
elem = checkSet[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3387 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3388 |
if ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3389 |
var parent = elem.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3390 |
checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3391 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3392 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3393 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3394 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3395 |
for ( ; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3396 |
elem = checkSet[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3397 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3398 |
if ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3399 |
checkSet[i] = isPartStr ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3400 |
elem.parentNode : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3401 |
elem.parentNode === part; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3402 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3403 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3404 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3405 |
if ( isPartStr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3406 |
Sizzle.filter( part, checkSet, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3407 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3408 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3409 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3410 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3411 |
"": function(checkSet, part, isXML){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3412 |
var nodeCheck, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3413 |
doneName = done++, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3414 |
checkFn = dirCheck; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3415 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3416 |
if ( typeof part === "string" && !/\W/.test(part) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3417 |
part = part.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3418 |
nodeCheck = part; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3419 |
checkFn = dirNodeCheck; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3420 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3421 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3422 |
checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3423 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3424 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3425 |
"~": function( checkSet, part, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3426 |
var nodeCheck, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3427 |
doneName = done++, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3428 |
checkFn = dirCheck; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3429 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3430 |
if ( typeof part === "string" && !/\W/.test( part ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3431 |
part = part.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3432 |
nodeCheck = part; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3433 |
checkFn = dirNodeCheck; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3434 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3435 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3436 |
checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3437 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3438 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3439 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3440 |
find: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3441 |
ID: function( match, context, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3442 |
if ( typeof context.getElementById !== "undefined" && !isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3443 |
var m = context.getElementById(match[1]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3444 |
// Check parentNode to catch when Blackberry 4.6 returns |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3445 |
// nodes that are no longer in the document #6963 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3446 |
return m && m.parentNode ? [m] : []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3447 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3448 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3449 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3450 |
NAME: function( match, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3451 |
if ( typeof context.getElementsByName !== "undefined" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3452 |
var ret = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3453 |
results = context.getElementsByName( match[1] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3454 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3455 |
for ( var i = 0, l = results.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3456 |
if ( results[i].getAttribute("name") === match[1] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3457 |
ret.push( results[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3458 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3459 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3460 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3461 |
return ret.length === 0 ? null : ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3462 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3463 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3464 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3465 |
TAG: function( match, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3466 |
return context.getElementsByTagName( match[1] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3467 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3468 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3469 |
preFilter: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3470 |
CLASS: function( match, curLoop, inplace, result, not, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3471 |
match = " " + match[1].replace(/\\/g, "") + " "; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3472 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3473 |
if ( isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3474 |
return match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3475 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3476 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3477 |
for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3478 |
if ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3479 |
if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3480 |
if ( !inplace ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3481 |
result.push( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3482 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3483 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3484 |
} else if ( inplace ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3485 |
curLoop[i] = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3486 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3487 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3488 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3489 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3490 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3491 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3492 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3493 |
ID: function( match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3494 |
return match[1].replace(/\\/g, ""); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3495 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3496 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3497 |
TAG: function( match, curLoop ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3498 |
return match[1].toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3499 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3500 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3501 |
CHILD: function( match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3502 |
if ( match[1] === "nth" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3503 |
// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3504 |
var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3505 |
match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3506 |
!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3507 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3508 |
// calculate the numbers (first)n+(last) including if they are negative |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3509 |
match[2] = (test[1] + (test[2] || 1)) - 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3510 |
match[3] = test[3] - 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3511 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3512 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3513 |
// TODO: Move to normal caching system |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3514 |
match[0] = done++; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3515 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3516 |
return match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3517 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3518 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3519 |
ATTR: function( match, curLoop, inplace, result, not, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3520 |
var name = match[1].replace(/\\/g, ""); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3521 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3522 |
if ( !isXML && Expr.attrMap[name] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3523 |
match[1] = Expr.attrMap[name]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3524 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3525 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3526 |
if ( match[2] === "~=" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3527 |
match[4] = " " + match[4] + " "; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3528 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3529 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3530 |
return match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3531 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3532 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3533 |
PSEUDO: function( match, curLoop, inplace, result, not ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3534 |
if ( match[1] === "not" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3535 |
// If we're dealing with a complex expression, or a simple one |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3536 |
if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3537 |
match[3] = Sizzle(match[3], null, null, curLoop); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3538 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3539 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3540 |
var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3541 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3542 |
if ( !inplace ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3543 |
result.push.apply( result, ret ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3544 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3545 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3546 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3547 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3548 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3549 |
} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3550 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3551 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3552 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3553 |
return match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3554 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3555 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3556 |
POS: function( match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3557 |
match.unshift( true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3558 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3559 |
return match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3560 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3561 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3562 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3563 |
filters: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3564 |
enabled: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3565 |
return elem.disabled === false && elem.type !== "hidden"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3566 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3567 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3568 |
disabled: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3569 |
return elem.disabled === true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3570 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3571 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3572 |
checked: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3573 |
return elem.checked === true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3574 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3575 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3576 |
selected: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3577 |
// Accessing this property makes selected-by-default |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3578 |
// options in Safari work properly |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3579 |
elem.parentNode.selectedIndex; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3580 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3581 |
return elem.selected === true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3582 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3583 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3584 |
parent: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3585 |
return !!elem.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3586 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3587 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3588 |
empty: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3589 |
return !elem.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3590 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3591 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3592 |
has: function( elem, i, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3593 |
return !!Sizzle( match[3], elem ).length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3594 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3595 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3596 |
header: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3597 |
return (/h\d/i).test( elem.nodeName ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3598 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3599 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3600 |
text: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3601 |
return "text" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3602 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3603 |
radio: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3604 |
return "radio" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3605 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3606 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3607 |
checkbox: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3608 |
return "checkbox" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3609 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3610 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3611 |
file: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3612 |
return "file" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3613 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3614 |
password: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3615 |
return "password" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3616 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3617 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3618 |
submit: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3619 |
return "submit" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3620 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3621 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3622 |
image: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3623 |
return "image" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3624 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3625 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3626 |
reset: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3627 |
return "reset" === elem.type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3628 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3629 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3630 |
button: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3631 |
return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3632 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3633 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3634 |
input: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3635 |
return (/input|select|textarea|button/i).test( elem.nodeName ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3636 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3637 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3638 |
setFilters: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3639 |
first: function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3640 |
return i === 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3641 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3642 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3643 |
last: function( elem, i, match, array ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3644 |
return i === array.length - 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3645 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3646 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3647 |
even: function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3648 |
return i % 2 === 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3649 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3650 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3651 |
odd: function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3652 |
return i % 2 === 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3653 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3654 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3655 |
lt: function( elem, i, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3656 |
return i < match[3] - 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3657 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3658 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3659 |
gt: function( elem, i, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3660 |
return i > match[3] - 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3661 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3662 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3663 |
nth: function( elem, i, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3664 |
return match[3] - 0 === i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3665 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3666 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3667 |
eq: function( elem, i, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3668 |
return match[3] - 0 === i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3669 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3670 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3671 |
filter: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3672 |
PSEUDO: function( elem, match, i, array ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3673 |
var name = match[1], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3674 |
filter = Expr.filters[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3675 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3676 |
if ( filter ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3677 |
return filter( elem, i, match, array ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3678 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3679 |
} else if ( name === "contains" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3680 |
return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3681 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3682 |
} else if ( name === "not" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3683 |
var not = match[3]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3684 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3685 |
for ( var j = 0, l = not.length; j < l; j++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3686 |
if ( not[j] === elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3687 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3688 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3689 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3690 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3691 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3692 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3693 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3694 |
Sizzle.error( "Syntax error, unrecognized expression: " + name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3695 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3696 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3697 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3698 |
CHILD: function( elem, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3699 |
var type = match[1], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3700 |
node = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3701 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3702 |
switch ( type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3703 |
case "only": |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3704 |
case "first": |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3705 |
while ( (node = node.previousSibling) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3706 |
if ( node.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3707 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3708 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3709 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3710 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3711 |
if ( type === "first" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3712 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3713 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3714 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3715 |
node = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3716 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3717 |
case "last": |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3718 |
while ( (node = node.nextSibling) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3719 |
if ( node.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3720 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3721 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3722 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3723 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3724 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3725 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3726 |
case "nth": |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3727 |
var first = match[2], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3728 |
last = match[3]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3729 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3730 |
if ( first === 1 && last === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3731 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3732 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3733 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3734 |
var doneName = match[0], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3735 |
parent = elem.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3736 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3737 |
if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3738 |
var count = 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3739 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3740 |
for ( node = parent.firstChild; node; node = node.nextSibling ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3741 |
if ( node.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3742 |
node.nodeIndex = ++count; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3743 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3744 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3745 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3746 |
parent.sizcache = doneName; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3747 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3748 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3749 |
var diff = elem.nodeIndex - last; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3750 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3751 |
if ( first === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3752 |
return diff === 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3753 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3754 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3755 |
return ( diff % first === 0 && diff / first >= 0 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3756 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3757 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3758 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3759 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3760 |
ID: function( elem, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3761 |
return elem.nodeType === 1 && elem.getAttribute("id") === match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3762 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3763 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3764 |
TAG: function( elem, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3765 |
return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3766 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3767 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3768 |
CLASS: function( elem, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3769 |
return (" " + (elem.className || elem.getAttribute("class")) + " ") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3770 |
.indexOf( match ) > -1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3771 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3772 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3773 |
ATTR: function( elem, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3774 |
var name = match[1], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3775 |
result = Expr.attrHandle[ name ] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3776 |
Expr.attrHandle[ name ]( elem ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3777 |
elem[ name ] != null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3778 |
elem[ name ] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3779 |
elem.getAttribute( name ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3780 |
value = result + "", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3781 |
type = match[2], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3782 |
check = match[4]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3783 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3784 |
return result == null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3785 |
type === "!=" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3786 |
type === "=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3787 |
value === check : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3788 |
type === "*=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3789 |
value.indexOf(check) >= 0 : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3790 |
type === "~=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3791 |
(" " + value + " ").indexOf(check) >= 0 : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3792 |
!check ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3793 |
value && result !== false : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3794 |
type === "!=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3795 |
value !== check : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3796 |
type === "^=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3797 |
value.indexOf(check) === 0 : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3798 |
type === "$=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3799 |
value.substr(value.length - check.length) === check : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3800 |
type === "|=" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3801 |
value === check || value.substr(0, check.length + 1) === check + "-" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3802 |
false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3803 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3804 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3805 |
POS: function( elem, match, i, array ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3806 |
var name = match[2], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3807 |
filter = Expr.setFilters[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3808 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3809 |
if ( filter ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3810 |
return filter( elem, i, match, array ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3811 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3812 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3813 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3814 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3815 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3816 |
var origPOS = Expr.match.POS, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3817 |
fescape = function(all, num){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3818 |
return "\\" + (num - 0 + 1); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3819 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3820 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3821 |
for ( var type in Expr.match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3822 |
Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3823 |
Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3824 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3825 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3826 |
var makeArray = function( array, results ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3827 |
array = Array.prototype.slice.call( array, 0 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3828 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3829 |
if ( results ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3830 |
results.push.apply( results, array ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3831 |
return results; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3832 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3833 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3834 |
return array; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3835 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3836 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3837 |
// Perform a simple check to determine if the browser is capable of |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3838 |
// converting a NodeList to an array using builtin methods. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3839 |
// Also verifies that the returned array holds DOM nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3840 |
// (which is not the case in the Blackberry browser) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3841 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3842 |
Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3843 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3844 |
// Provide a fallback method if it does not work |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3845 |
} catch( e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3846 |
makeArray = function( array, results ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3847 |
var i = 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3848 |
ret = results || []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3849 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3850 |
if ( toString.call(array) === "[object Array]" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3851 |
Array.prototype.push.apply( ret, array ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3852 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3853 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3854 |
if ( typeof array.length === "number" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3855 |
for ( var l = array.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3856 |
ret.push( array[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3857 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3858 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3859 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3860 |
for ( ; array[i]; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3861 |
ret.push( array[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3862 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3863 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3864 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3865 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3866 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3867 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3868 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3869 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3870 |
var sortOrder, siblingCheck; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3871 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3872 |
if ( document.documentElement.compareDocumentPosition ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3873 |
sortOrder = function( a, b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3874 |
if ( a === b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3875 |
hasDuplicate = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3876 |
return 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3877 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3878 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3879 |
if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3880 |
return a.compareDocumentPosition ? -1 : 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3881 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3882 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3883 |
return a.compareDocumentPosition(b) & 4 ? -1 : 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3884 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3885 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3886 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3887 |
sortOrder = function( a, b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3888 |
var al, bl, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3889 |
ap = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3890 |
bp = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3891 |
aup = a.parentNode, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3892 |
bup = b.parentNode, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3893 |
cur = aup; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3894 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3895 |
// The nodes are identical, we can exit early |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3896 |
if ( a === b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3897 |
hasDuplicate = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3898 |
return 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3899 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3900 |
// If the nodes are siblings (or identical) we can do a quick check |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3901 |
} else if ( aup === bup ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3902 |
return siblingCheck( a, b ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3903 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3904 |
// If no parents were found then the nodes are disconnected |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3905 |
} else if ( !aup ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3906 |
return -1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3907 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3908 |
} else if ( !bup ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3909 |
return 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3910 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3911 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3912 |
// Otherwise they're somewhere else in the tree so we need |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3913 |
// to build up a full list of the parentNodes for comparison |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3914 |
while ( cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3915 |
ap.unshift( cur ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3916 |
cur = cur.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3917 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3918 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3919 |
cur = bup; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3920 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3921 |
while ( cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3922 |
bp.unshift( cur ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3923 |
cur = cur.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3924 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3925 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3926 |
al = ap.length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3927 |
bl = bp.length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3928 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3929 |
// Start walking down the tree looking for a discrepancy |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3930 |
for ( var i = 0; i < al && i < bl; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3931 |
if ( ap[i] !== bp[i] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3932 |
return siblingCheck( ap[i], bp[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3933 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3934 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3935 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3936 |
// We ended someplace up the tree so do a sibling check |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3937 |
return i === al ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3938 |
siblingCheck( a, bp[i], -1 ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3939 |
siblingCheck( ap[i], b, 1 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3940 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3941 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3942 |
siblingCheck = function( a, b, ret ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3943 |
if ( a === b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3944 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3945 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3946 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3947 |
var cur = a.nextSibling; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3948 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3949 |
while ( cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3950 |
if ( cur === b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3951 |
return -1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3952 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3953 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3954 |
cur = cur.nextSibling; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3955 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3956 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3957 |
return 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3958 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3959 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3960 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3961 |
// Utility function for retreiving the text value of an array of DOM nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3962 |
Sizzle.getText = function( elems ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3963 |
var ret = "", elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3964 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3965 |
for ( var i = 0; elems[i]; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3966 |
elem = elems[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3967 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3968 |
// Get the text from text nodes and CDATA nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3969 |
if ( elem.nodeType === 3 || elem.nodeType === 4 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3970 |
ret += elem.nodeValue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3971 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3972 |
// Traverse everything else, except comment nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3973 |
} else if ( elem.nodeType !== 8 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3974 |
ret += Sizzle.getText( elem.childNodes ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3975 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3976 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3977 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3978 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3979 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3980 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3981 |
// Check to see if the browser returns elements by name when |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3982 |
// querying by getElementById (and provide a workaround) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3983 |
(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3984 |
// We're going to inject a fake input element with a specified name |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3985 |
var form = document.createElement("div"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3986 |
id = "script" + (new Date()).getTime(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3987 |
root = document.documentElement; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3988 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3989 |
form.innerHTML = "<a name='" + id + "'/>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3990 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3991 |
// Inject it into the root element, check its status, and remove it quickly |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3992 |
root.insertBefore( form, root.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3993 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3994 |
// The workaround has to do additional checks after a getElementById |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3995 |
// Which slows things down for other browsers (hence the branching) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3996 |
if ( document.getElementById( id ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3997 |
Expr.find.ID = function( match, context, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3998 |
if ( typeof context.getElementById !== "undefined" && !isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3999 |
var m = context.getElementById(match[1]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4000 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4001 |
return m ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4002 |
m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4003 |
[m] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4004 |
undefined : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4005 |
[]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4006 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4007 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4008 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4009 |
Expr.filter.ID = function( elem, match ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4010 |
var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4011 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4012 |
return elem.nodeType === 1 && node && node.nodeValue === match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4013 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4014 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4015 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4016 |
root.removeChild( form ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4017 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4018 |
// release memory in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4019 |
root = form = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4020 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4021 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4022 |
(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4023 |
// Check to see if the browser returns only elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4024 |
// when doing getElementsByTagName("*") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4025 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4026 |
// Create a fake element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4027 |
var div = document.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4028 |
div.appendChild( document.createComment("") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4029 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4030 |
// Make sure no comments are found |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4031 |
if ( div.getElementsByTagName("*").length > 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4032 |
Expr.find.TAG = function( match, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4033 |
var results = context.getElementsByTagName( match[1] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4034 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4035 |
// Filter out possible comments |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4036 |
if ( match[1] === "*" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4037 |
var tmp = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4038 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4039 |
for ( var i = 0; results[i]; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4040 |
if ( results[i].nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4041 |
tmp.push( results[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4042 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4043 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4044 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4045 |
results = tmp; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4046 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4047 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4048 |
return results; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4049 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4050 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4051 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4052 |
// Check to see if an attribute returns normalized href attributes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4053 |
div.innerHTML = "<a href='#'></a>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4054 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4055 |
if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4056 |
div.firstChild.getAttribute("href") !== "#" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4057 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4058 |
Expr.attrHandle.href = function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4059 |
return elem.getAttribute( "href", 2 ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4060 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4061 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4062 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4063 |
// release memory in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4064 |
div = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4065 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4066 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4067 |
if ( document.querySelectorAll ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4068 |
(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4069 |
var oldSizzle = Sizzle, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4070 |
div = document.createElement("div"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4071 |
id = "__sizzle__"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4072 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4073 |
div.innerHTML = "<p class='TEST'></p>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4074 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4075 |
// Safari can't handle uppercase or unicode characters when |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4076 |
// in quirks mode. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4077 |
if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4078 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4079 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4080 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4081 |
Sizzle = function( query, context, extra, seed ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4082 |
context = context || document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4083 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4084 |
// Make sure that attribute selectors are quoted |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4085 |
query = query.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4086 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4087 |
// Only use querySelectorAll on non-XML documents |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4088 |
// (ID selectors don't work in non-HTML documents) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4089 |
if ( !seed && !Sizzle.isXML(context) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4090 |
if ( context.nodeType === 9 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4091 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4092 |
return makeArray( context.querySelectorAll(query), extra ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4093 |
} catch(qsaError) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4094 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4095 |
// qSA works strangely on Element-rooted queries |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4096 |
// We can work around this by specifying an extra ID on the root |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4097 |
// and working up from there (Thanks to Andrew Dupont for the technique) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4098 |
// IE 8 doesn't work on object elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4099 |
} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4100 |
var old = context.getAttribute( "id" ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4101 |
nid = old || id; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4102 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4103 |
if ( !old ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4104 |
context.setAttribute( "id", nid ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4105 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4106 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4107 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4108 |
return makeArray( context.querySelectorAll( "#" + nid + " " + query ), extra ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4109 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4110 |
} catch(pseudoError) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4111 |
} finally { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4112 |
if ( !old ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4113 |
context.removeAttribute( "id" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4114 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4115 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4116 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4117 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4118 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4119 |
return oldSizzle(query, context, extra, seed); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4120 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4121 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4122 |
for ( var prop in oldSizzle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4123 |
Sizzle[ prop ] = oldSizzle[ prop ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4124 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4125 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4126 |
// release memory in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4127 |
div = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4128 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4129 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4130 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4131 |
(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4132 |
var html = document.documentElement, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4133 |
matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4134 |
pseudoWorks = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4135 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4136 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4137 |
// This should fail with an exception |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4138 |
// Gecko does not error, returns false instead |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4139 |
matches.call( document.documentElement, "[test!='']:sizzle" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4140 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4141 |
} catch( pseudoError ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4142 |
pseudoWorks = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4143 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4144 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4145 |
if ( matches ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4146 |
Sizzle.matchesSelector = function( node, expr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4147 |
// Make sure that attribute selectors are quoted |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4148 |
expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4149 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4150 |
if ( !Sizzle.isXML( node ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4151 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4152 |
if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4153 |
return matches.call( node, expr ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4154 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4155 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4156 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4157 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4158 |
return Sizzle(expr, null, null, [node]).length > 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4159 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4160 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4161 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4162 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4163 |
(function(){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4164 |
var div = document.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4165 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4166 |
div.innerHTML = "<div class='test e'></div><div class='test'></div>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4167 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4168 |
// Opera can't find a second classname (in 9.6) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4169 |
// Also, make sure that getElementsByClassName actually exists |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4170 |
if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4171 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4172 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4173 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4174 |
// Safari caches class attributes, doesn't catch changes (in 3.2) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4175 |
div.lastChild.className = "e"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4176 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4177 |
if ( div.getElementsByClassName("e").length === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4178 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4179 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4180 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4181 |
Expr.order.splice(1, 0, "CLASS"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4182 |
Expr.find.CLASS = function( match, context, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4183 |
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4184 |
return context.getElementsByClassName(match[1]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4185 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4186 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4187 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4188 |
// release memory in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4189 |
div = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4190 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4191 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4192 |
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4193 |
for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4194 |
var elem = checkSet[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4195 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4196 |
if ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4197 |
var match = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4198 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4199 |
elem = elem[dir]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4200 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4201 |
while ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4202 |
if ( elem.sizcache === doneName ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4203 |
match = checkSet[elem.sizset]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4204 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4205 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4206 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4207 |
if ( elem.nodeType === 1 && !isXML ){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4208 |
elem.sizcache = doneName; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4209 |
elem.sizset = i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4210 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4211 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4212 |
if ( elem.nodeName.toLowerCase() === cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4213 |
match = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4214 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4215 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4216 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4217 |
elem = elem[dir]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4218 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4219 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4220 |
checkSet[i] = match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4221 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4222 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4223 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4224 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4225 |
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4226 |
for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4227 |
var elem = checkSet[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4228 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4229 |
if ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4230 |
var match = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4231 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4232 |
elem = elem[dir]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4233 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4234 |
while ( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4235 |
if ( elem.sizcache === doneName ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4236 |
match = checkSet[elem.sizset]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4237 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4238 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4239 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4240 |
if ( elem.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4241 |
if ( !isXML ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4242 |
elem.sizcache = doneName; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4243 |
elem.sizset = i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4244 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4245 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4246 |
if ( typeof cur !== "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4247 |
if ( elem === cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4248 |
match = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4249 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4250 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4251 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4252 |
} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4253 |
match = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4254 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4255 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4256 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4257 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4258 |
elem = elem[dir]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4259 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4260 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4261 |
checkSet[i] = match; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4262 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4263 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4264 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4265 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4266 |
if ( document.documentElement.contains ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4267 |
Sizzle.contains = function( a, b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4268 |
return a !== b && (a.contains ? a.contains(b) : true); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4269 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4270 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4271 |
} else if ( document.documentElement.compareDocumentPosition ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4272 |
Sizzle.contains = function( a, b ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4273 |
return !!(a.compareDocumentPosition(b) & 16); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4274 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4275 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4276 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4277 |
Sizzle.contains = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4278 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4279 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4280 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4281 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4282 |
Sizzle.isXML = function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4283 |
// documentElement is verified for cases where it doesn't yet exist |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4284 |
// (such as loading iframes in IE - #4833) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4285 |
var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4286 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4287 |
return documentElement ? documentElement.nodeName !== "HTML" : false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4288 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4289 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4290 |
var posProcess = function( selector, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4291 |
var match, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4292 |
tmpSet = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4293 |
later = "", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4294 |
root = context.nodeType ? [context] : context; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4295 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4296 |
// Position selectors must be done after the filter |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4297 |
// And so must :not(positional) so we move all PSEUDOs to the end |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4298 |
while ( (match = Expr.match.PSEUDO.exec( selector )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4299 |
later += match[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4300 |
selector = selector.replace( Expr.match.PSEUDO, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4301 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4302 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4303 |
selector = Expr.relative[selector] ? selector + "*" : selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4304 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4305 |
for ( var i = 0, l = root.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4306 |
Sizzle( selector, root[i], tmpSet ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4307 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4308 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4309 |
return Sizzle.filter( later, tmpSet ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4310 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4311 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4312 |
// EXPOSE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4313 |
jQuery.find = Sizzle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4314 |
jQuery.expr = Sizzle.selectors; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4315 |
jQuery.expr[":"] = jQuery.expr.filters; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4316 |
jQuery.unique = Sizzle.uniqueSort; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4317 |
jQuery.text = Sizzle.getText; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4318 |
jQuery.isXMLDoc = Sizzle.isXML; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4319 |
jQuery.contains = Sizzle.contains; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4320 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4321 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4322 |
})(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4323 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4324 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4325 |
var runtil = /Until$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4326 |
rparentsprev = /^(?:parents|prevUntil|prevAll)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4327 |
// Note: This RegExp should be improved, or likely pulled from Sizzle |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4328 |
rmultiselector = /,/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4329 |
isSimple = /^.[^:#\[\.,]*$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4330 |
slice = Array.prototype.slice, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4331 |
POS = jQuery.expr.match.POS; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4332 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4333 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4334 |
find: function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4335 |
var ret = this.pushStack( "", "find", selector ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4336 |
length = 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4337 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4338 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4339 |
length = ret.length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4340 |
jQuery.find( selector, this[i], ret ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4341 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4342 |
if ( i > 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4343 |
// Make sure that the results are unique |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4344 |
for ( var n = length; n < ret.length; n++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4345 |
for ( var r = 0; r < length; r++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4346 |
if ( ret[r] === ret[n] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4347 |
ret.splice(n--, 1); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4348 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4349 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4350 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4351 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4352 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4353 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4354 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4355 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4356 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4357 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4358 |
has: function( target ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4359 |
var targets = jQuery( target ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4360 |
return this.filter(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4361 |
for ( var i = 0, l = targets.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4362 |
if ( jQuery.contains( this, targets[i] ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4363 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4364 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4365 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4366 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4367 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4368 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4369 |
not: function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4370 |
return this.pushStack( winnow(this, selector, false), "not", selector); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4371 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4372 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4373 |
filter: function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4374 |
return this.pushStack( winnow(this, selector, true), "filter", selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4375 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4376 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4377 |
is: function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4378 |
return !!selector && jQuery.filter( selector, this ).length > 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4379 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4380 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4381 |
closest: function( selectors, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4382 |
var ret = [], i, l, cur = this[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4383 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4384 |
if ( jQuery.isArray( selectors ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4385 |
var match, selector, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4386 |
matches = {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4387 |
level = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4388 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4389 |
if ( cur && selectors.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4390 |
for ( i = 0, l = selectors.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4391 |
selector = selectors[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4392 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4393 |
if ( !matches[selector] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4394 |
matches[selector] = jQuery.expr.match.POS.test( selector ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4395 |
jQuery( selector, context || this.context ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4396 |
selector; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4397 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4398 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4399 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4400 |
while ( cur && cur.ownerDocument && cur !== context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4401 |
for ( selector in matches ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4402 |
match = matches[selector]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4403 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4404 |
if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4405 |
ret.push({ selector: selector, elem: cur, level: level }); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4406 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4407 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4408 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4409 |
cur = cur.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4410 |
level++; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4411 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4412 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4413 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4414 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4415 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4416 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4417 |
var pos = POS.test( selectors ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4418 |
jQuery( selectors, context || this.context ) : null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4419 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4420 |
for ( i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4421 |
cur = this[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4422 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4423 |
while ( cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4424 |
if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4425 |
ret.push( cur ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4426 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4427 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4428 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4429 |
cur = cur.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4430 |
if ( !cur || !cur.ownerDocument || cur === context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4431 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4432 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4433 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4434 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4435 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4436 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4437 |
ret = ret.length > 1 ? jQuery.unique(ret) : ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4438 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4439 |
return this.pushStack( ret, "closest", selectors ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4440 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4441 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4442 |
// Determine the position of an element within |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4443 |
// the matched set of elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4444 |
index: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4445 |
if ( !elem || typeof elem === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4446 |
return jQuery.inArray( this[0], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4447 |
// If it receives a string, the selector is used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4448 |
// If it receives nothing, the siblings are used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4449 |
elem ? jQuery( elem ) : this.parent().children() ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4450 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4451 |
// Locate the position of the desired element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4452 |
return jQuery.inArray( |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4453 |
// If it receives a jQuery object, the first element is used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4454 |
elem.jquery ? elem[0] : elem, this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4455 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4456 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4457 |
add: function( selector, context ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4458 |
var set = typeof selector === "string" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4459 |
jQuery( selector, context || this.context ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4460 |
jQuery.makeArray( selector ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4461 |
all = jQuery.merge( this.get(), set ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4462 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4463 |
return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4464 |
all : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4465 |
jQuery.unique( all ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4466 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4467 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4468 |
andSelf: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4469 |
return this.add( this.prevObject ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4470 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4471 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4472 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4473 |
// A painfully simple check to see if an element is disconnected |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4474 |
// from a document (should be improved, where feasible). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4475 |
function isDisconnected( node ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4476 |
return !node || !node.parentNode || node.parentNode.nodeType === 11; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4477 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4478 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4479 |
jQuery.each({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4480 |
parent: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4481 |
var parent = elem.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4482 |
return parent && parent.nodeType !== 11 ? parent : null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4483 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4484 |
parents: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4485 |
return jQuery.dir( elem, "parentNode" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4486 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4487 |
parentsUntil: function( elem, i, until ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4488 |
return jQuery.dir( elem, "parentNode", until ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4489 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4490 |
next: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4491 |
return jQuery.nth( elem, 2, "nextSibling" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4492 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4493 |
prev: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4494 |
return jQuery.nth( elem, 2, "previousSibling" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4495 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4496 |
nextAll: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4497 |
return jQuery.dir( elem, "nextSibling" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4498 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4499 |
prevAll: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4500 |
return jQuery.dir( elem, "previousSibling" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4501 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4502 |
nextUntil: function( elem, i, until ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4503 |
return jQuery.dir( elem, "nextSibling", until ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4504 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4505 |
prevUntil: function( elem, i, until ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4506 |
return jQuery.dir( elem, "previousSibling", until ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4507 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4508 |
siblings: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4509 |
return jQuery.sibling( elem.parentNode.firstChild, elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4510 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4511 |
children: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4512 |
return jQuery.sibling( elem.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4513 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4514 |
contents: function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4515 |
return jQuery.nodeName( elem, "iframe" ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4516 |
elem.contentDocument || elem.contentWindow.document : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4517 |
jQuery.makeArray( elem.childNodes ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4518 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4519 |
}, function( name, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4520 |
jQuery.fn[ name ] = function( until, selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4521 |
var ret = jQuery.map( this, fn, until ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4522 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4523 |
if ( !runtil.test( name ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4524 |
selector = until; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4525 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4526 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4527 |
if ( selector && typeof selector === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4528 |
ret = jQuery.filter( selector, ret ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4529 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4530 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4531 |
ret = this.length > 1 ? jQuery.unique( ret ) : ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4532 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4533 |
if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4534 |
ret = ret.reverse(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4535 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4536 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4537 |
return this.pushStack( ret, name, slice.call(arguments).join(",") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4538 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4539 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4540 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4541 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4542 |
filter: function( expr, elems, not ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4543 |
if ( not ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4544 |
expr = ":not(" + expr + ")"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4545 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4546 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4547 |
return elems.length === 1 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4548 |
jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4549 |
jQuery.find.matches(expr, elems); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4550 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4551 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4552 |
dir: function( elem, dir, until ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4553 |
var matched = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4554 |
cur = elem[ dir ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4555 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4556 |
while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4557 |
if ( cur.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4558 |
matched.push( cur ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4559 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4560 |
cur = cur[dir]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4561 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4562 |
return matched; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4563 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4564 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4565 |
nth: function( cur, result, dir, elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4566 |
result = result || 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4567 |
var num = 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4568 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4569 |
for ( ; cur; cur = cur[dir] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4570 |
if ( cur.nodeType === 1 && ++num === result ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4571 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4572 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4573 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4574 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4575 |
return cur; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4576 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4577 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4578 |
sibling: function( n, elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4579 |
var r = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4580 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4581 |
for ( ; n; n = n.nextSibling ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4582 |
if ( n.nodeType === 1 && n !== elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4583 |
r.push( n ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4584 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4585 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4586 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4587 |
return r; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4588 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4589 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4590 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4591 |
// Implement the identical functionality for filter and not |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4592 |
function winnow( elements, qualifier, keep ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4593 |
if ( jQuery.isFunction( qualifier ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4594 |
return jQuery.grep(elements, function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4595 |
var retVal = !!qualifier.call( elem, i, elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4596 |
return retVal === keep; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4597 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4598 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4599 |
} else if ( qualifier.nodeType ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4600 |
return jQuery.grep(elements, function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4601 |
return (elem === qualifier) === keep; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4602 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4603 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4604 |
} else if ( typeof qualifier === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4605 |
var filtered = jQuery.grep(elements, function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4606 |
return elem.nodeType === 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4607 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4608 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4609 |
if ( isSimple.test( qualifier ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4610 |
return jQuery.filter(qualifier, filtered, !keep); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4611 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4612 |
qualifier = jQuery.filter( qualifier, filtered ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4613 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4614 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4615 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4616 |
return jQuery.grep(elements, function( elem, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4617 |
return (jQuery.inArray( elem, qualifier ) >= 0) === keep; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4618 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4619 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4620 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4621 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4622 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4623 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4624 |
var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4625 |
rleadingWhitespace = /^\s+/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4626 |
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4627 |
rtagName = /<([\w:]+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4628 |
rtbody = /<tbody/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4629 |
rhtml = /<|&#?\w+;/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4630 |
rnocache = /<(?:script|object|embed|option|style)/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4631 |
// checked="checked" or checked (html5) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4632 |
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4633 |
raction = /\=([^="'>\s]+\/)>/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4634 |
wrapMap = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4635 |
option: [ 1, "<select multiple='multiple'>", "</select>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4636 |
legend: [ 1, "<fieldset>", "</fieldset>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4637 |
thead: [ 1, "<table>", "</table>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4638 |
tr: [ 2, "<table><tbody>", "</tbody></table>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4639 |
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4640 |
col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4641 |
area: [ 1, "<map>", "</map>" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4642 |
_default: [ 0, "", "" ] |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4643 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4644 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4645 |
wrapMap.optgroup = wrapMap.option; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4646 |
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4647 |
wrapMap.th = wrapMap.td; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4648 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4649 |
// IE can't serialize <link> and <script> tags normally |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4650 |
if ( !jQuery.support.htmlSerialize ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4651 |
wrapMap._default = [ 1, "div<div>", "</div>" ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4652 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4653 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4654 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4655 |
text: function( text ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4656 |
if ( jQuery.isFunction(text) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4657 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4658 |
var self = jQuery( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4659 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4660 |
self.text( text.call(this, i, self.text()) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4661 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4662 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4663 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4664 |
if ( typeof text !== "object" && text !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4665 |
return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4666 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4667 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4668 |
return jQuery.text( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4669 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4670 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4671 |
wrapAll: function( html ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4672 |
if ( jQuery.isFunction( html ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4673 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4674 |
jQuery(this).wrapAll( html.call(this, i) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4675 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4676 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4677 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4678 |
if ( this[0] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4679 |
// The elements to wrap the target around |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4680 |
var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4681 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4682 |
if ( this[0].parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4683 |
wrap.insertBefore( this[0] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4684 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4685 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4686 |
wrap.map(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4687 |
var elem = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4688 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4689 |
while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4690 |
elem = elem.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4691 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4692 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4693 |
return elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4694 |
}).append(this); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4695 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4696 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4697 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4698 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4699 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4700 |
wrapInner: function( html ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4701 |
if ( jQuery.isFunction( html ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4702 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4703 |
jQuery(this).wrapInner( html.call(this, i) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4704 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4705 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4706 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4707 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4708 |
var self = jQuery( this ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4709 |
contents = self.contents(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4710 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4711 |
if ( contents.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4712 |
contents.wrapAll( html ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4713 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4714 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4715 |
self.append( html ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4716 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4717 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4718 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4719 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4720 |
wrap: function( html ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4721 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4722 |
jQuery( this ).wrapAll( html ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4723 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4724 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4725 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4726 |
unwrap: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4727 |
return this.parent().each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4728 |
if ( !jQuery.nodeName( this, "body" ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4729 |
jQuery( this ).replaceWith( this.childNodes ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4730 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4731 |
}).end(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4732 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4733 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4734 |
append: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4735 |
return this.domManip(arguments, true, function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4736 |
if ( this.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4737 |
this.appendChild( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4738 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4739 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4740 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4741 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4742 |
prepend: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4743 |
return this.domManip(arguments, true, function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4744 |
if ( this.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4745 |
this.insertBefore( elem, this.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4746 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4747 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4748 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4749 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4750 |
before: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4751 |
if ( this[0] && this[0].parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4752 |
return this.domManip(arguments, false, function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4753 |
this.parentNode.insertBefore( elem, this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4754 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4755 |
} else if ( arguments.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4756 |
var set = jQuery(arguments[0]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4757 |
set.push.apply( set, this.toArray() ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4758 |
return this.pushStack( set, "before", arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4759 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4760 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4761 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4762 |
after: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4763 |
if ( this[0] && this[0].parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4764 |
return this.domManip(arguments, false, function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4765 |
this.parentNode.insertBefore( elem, this.nextSibling ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4766 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4767 |
} else if ( arguments.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4768 |
var set = this.pushStack( this, "after", arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4769 |
set.push.apply( set, jQuery(arguments[0]).toArray() ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4770 |
return set; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4771 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4772 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4773 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4774 |
// keepData is for internal use only--do not document |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4775 |
remove: function( selector, keepData ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4776 |
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4777 |
if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4778 |
if ( !keepData && elem.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4779 |
jQuery.cleanData( elem.getElementsByTagName("*") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4780 |
jQuery.cleanData( [ elem ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4781 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4782 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4783 |
if ( elem.parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4784 |
elem.parentNode.removeChild( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4785 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4786 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4787 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4788 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4789 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4790 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4791 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4792 |
empty: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4793 |
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4794 |
// Remove element nodes and prevent memory leaks |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4795 |
if ( elem.nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4796 |
jQuery.cleanData( elem.getElementsByTagName("*") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4797 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4798 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4799 |
// Remove any remaining nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4800 |
while ( elem.firstChild ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4801 |
elem.removeChild( elem.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4802 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4803 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4804 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4805 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4806 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4807 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4808 |
clone: function( events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4809 |
// Do the clone |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4810 |
var ret = this.map(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4811 |
if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4812 |
// IE copies events bound via attachEvent when |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4813 |
// using cloneNode. Calling detachEvent on the |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4814 |
// clone will also remove the events from the orignal |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4815 |
// In order to get around this, we use innerHTML. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4816 |
// Unfortunately, this means some modifications to |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4817 |
// attributes in IE that are actually only stored |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4818 |
// as properties will not be copied (such as the |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4819 |
// the name attribute on an input). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4820 |
var html = this.outerHTML, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4821 |
ownerDocument = this.ownerDocument; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4822 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4823 |
if ( !html ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4824 |
var div = ownerDocument.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4825 |
div.appendChild( this.cloneNode(true) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4826 |
html = div.innerHTML; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4827 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4828 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4829 |
return jQuery.clean([html.replace(rinlinejQuery, "") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4830 |
// Handle the case in IE 8 where action=/test/> self-closes a tag |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4831 |
.replace(raction, '="$1">') |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4832 |
.replace(rleadingWhitespace, "")], ownerDocument)[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4833 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4834 |
return this.cloneNode(true); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4835 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4836 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4837 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4838 |
// Copy the events from the original to the clone |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4839 |
if ( events === true ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4840 |
cloneCopyEvent( this, ret ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4841 |
cloneCopyEvent( this.find("*"), ret.find("*") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4842 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4843 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4844 |
// Return the cloned set |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4845 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4846 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4847 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4848 |
html: function( value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4849 |
if ( value === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4850 |
return this[0] && this[0].nodeType === 1 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4851 |
this[0].innerHTML.replace(rinlinejQuery, "") : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4852 |
null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4853 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4854 |
// See if we can take a shortcut and just use innerHTML |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4855 |
} else if ( typeof value === "string" && !rnocache.test( value ) && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4856 |
(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4857 |
!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4858 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4859 |
value = value.replace(rxhtmlTag, "<$1></$2>"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4860 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4861 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4862 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4863 |
// Remove element nodes and prevent memory leaks |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4864 |
if ( this[i].nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4865 |
jQuery.cleanData( this[i].getElementsByTagName("*") ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4866 |
this[i].innerHTML = value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4867 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4868 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4869 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4870 |
// If using innerHTML throws an exception, use the fallback method |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4871 |
} catch(e) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4872 |
this.empty().append( value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4873 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4874 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4875 |
} else if ( jQuery.isFunction( value ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4876 |
this.each(function(i){ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4877 |
var self = jQuery( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4878 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4879 |
self.html( value.call(this, i, self.html()) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4880 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4881 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4882 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4883 |
this.empty().append( value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4884 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4885 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4886 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4887 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4888 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4889 |
replaceWith: function( value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4890 |
if ( this[0] && this[0].parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4891 |
// Make sure that the elements are removed from the DOM before they are inserted |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4892 |
// this can help fix replacing a parent with child elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4893 |
if ( jQuery.isFunction( value ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4894 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4895 |
var self = jQuery(this), old = self.html(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4896 |
self.replaceWith( value.call( this, i, old ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4897 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4898 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4899 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4900 |
if ( typeof value !== "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4901 |
value = jQuery( value ).detach(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4902 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4903 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4904 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4905 |
var next = this.nextSibling, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4906 |
parent = this.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4907 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4908 |
jQuery( this ).remove(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4909 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4910 |
if ( next ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4911 |
jQuery(next).before( value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4912 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4913 |
jQuery(parent).append( value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4914 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4915 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4916 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4917 |
return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4918 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4919 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4920 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4921 |
detach: function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4922 |
return this.remove( selector, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4923 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4924 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4925 |
domManip: function( args, table, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4926 |
var results, first, fragment, parent, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4927 |
value = args[0], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4928 |
scripts = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4929 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4930 |
// We can't cloneNode fragments that contain checked, in WebKit |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4931 |
if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4932 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4933 |
jQuery(this).domManip( args, table, callback, true ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4934 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4935 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4936 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4937 |
if ( jQuery.isFunction(value) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4938 |
return this.each(function(i) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4939 |
var self = jQuery(this); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4940 |
args[0] = value.call(this, i, table ? self.html() : undefined); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4941 |
self.domManip( args, table, callback ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4942 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4943 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4944 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4945 |
if ( this[0] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4946 |
parent = value && value.parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4947 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4948 |
// If we're in a fragment, just use that instead of building a new one |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4949 |
if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4950 |
results = { fragment: parent }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4951 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4952 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4953 |
results = jQuery.buildFragment( args, this, scripts ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4954 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4955 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4956 |
fragment = results.fragment; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4957 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4958 |
if ( fragment.childNodes.length === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4959 |
first = fragment = fragment.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4960 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4961 |
first = fragment.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4962 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4963 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4964 |
if ( first ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4965 |
table = table && jQuery.nodeName( first, "tr" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4966 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4967 |
for ( var i = 0, l = this.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4968 |
callback.call( |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4969 |
table ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4970 |
root(this[i], first) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4971 |
this[i], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4972 |
i > 0 || results.cacheable || this.length > 1 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4973 |
fragment.cloneNode(true) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4974 |
fragment |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4975 |
); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4976 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4977 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4978 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4979 |
if ( scripts.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4980 |
jQuery.each( scripts, evalScript ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4981 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4982 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4983 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4984 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4985 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4986 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4987 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4988 |
function root( elem, cur ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4989 |
return jQuery.nodeName(elem, "table") ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4990 |
(elem.getElementsByTagName("tbody")[0] || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4991 |
elem.appendChild(elem.ownerDocument.createElement("tbody"))) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4992 |
elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4993 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4994 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4995 |
function cloneCopyEvent(orig, ret) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4996 |
var i = 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4997 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4998 |
ret.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4999 |
if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5000 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5001 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5002 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5003 |
var oldData = jQuery.data( orig[i++] ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5004 |
curData = jQuery.data( this, oldData ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5005 |
events = oldData && oldData.events; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5006 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5007 |
if ( events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5008 |
delete curData.handle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5009 |
curData.events = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5010 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5011 |
for ( var type in events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5012 |
for ( var handler in events[ type ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5013 |
jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5014 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5015 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5016 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5017 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5018 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5019 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5020 |
jQuery.buildFragment = function( args, nodes, scripts ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5021 |
var fragment, cacheable, cacheresults, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5022 |
doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5023 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5024 |
// Only cache "small" (1/2 KB) strings that are associated with the main document |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5025 |
// Cloning options loses the selected state, so don't cache them |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5026 |
// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5027 |
// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5028 |
if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5029 |
!rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5030 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5031 |
cacheable = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5032 |
cacheresults = jQuery.fragments[ args[0] ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5033 |
if ( cacheresults ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5034 |
if ( cacheresults !== 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5035 |
fragment = cacheresults; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5036 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5037 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5038 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5039 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5040 |
if ( !fragment ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5041 |
fragment = doc.createDocumentFragment(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5042 |
jQuery.clean( args, doc, fragment, scripts ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5043 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5044 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5045 |
if ( cacheable ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5046 |
jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5047 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5048 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5049 |
return { fragment: fragment, cacheable: cacheable }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5050 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5051 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5052 |
jQuery.fragments = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5053 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5054 |
jQuery.each({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5055 |
appendTo: "append", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5056 |
prependTo: "prepend", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5057 |
insertBefore: "before", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5058 |
insertAfter: "after", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5059 |
replaceAll: "replaceWith" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5060 |
}, function( name, original ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5061 |
jQuery.fn[ name ] = function( selector ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5062 |
var ret = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5063 |
insert = jQuery( selector ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5064 |
parent = this.length === 1 && this[0].parentNode; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5065 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5066 |
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5067 |
insert[ original ]( this[0] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5068 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5069 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5070 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5071 |
for ( var i = 0, l = insert.length; i < l; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5072 |
var elems = (i > 0 ? this.clone(true) : this).get(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5073 |
jQuery( insert[i] )[ original ]( elems ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5074 |
ret = ret.concat( elems ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5075 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5076 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5077 |
return this.pushStack( ret, name, insert.selector ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5078 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5079 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5080 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5081 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5082 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5083 |
clean: function( elems, context, fragment, scripts ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5084 |
context = context || document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5085 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5086 |
// !context.createElement fails in IE with an error but returns typeof 'object' |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5087 |
if ( typeof context.createElement === "undefined" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5088 |
context = context.ownerDocument || context[0] && context[0].ownerDocument || document; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5089 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5090 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5091 |
var ret = []; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5092 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5093 |
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5094 |
if ( typeof elem === "number" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5095 |
elem += ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5096 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5097 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5098 |
if ( !elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5099 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5100 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5101 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5102 |
// Convert html string into DOM nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5103 |
if ( typeof elem === "string" && !rhtml.test( elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5104 |
elem = context.createTextNode( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5105 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5106 |
} else if ( typeof elem === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5107 |
// Fix "XHTML"-style tags in all browsers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5108 |
elem = elem.replace(rxhtmlTag, "<$1></$2>"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5109 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5110 |
// Trim whitespace, otherwise indexOf won't work as expected |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5111 |
var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5112 |
wrap = wrapMap[ tag ] || wrapMap._default, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5113 |
depth = wrap[0], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5114 |
div = context.createElement("div"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5115 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5116 |
// Go to html and back, then peel off extra wrappers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5117 |
div.innerHTML = wrap[1] + elem + wrap[2]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5118 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5119 |
// Move to the right depth |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5120 |
while ( depth-- ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5121 |
div = div.lastChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5122 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5123 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5124 |
// Remove IE's autoinserted <tbody> from table fragments |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5125 |
if ( !jQuery.support.tbody ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5126 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5127 |
// String was a <table>, *may* have spurious <tbody> |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5128 |
var hasBody = rtbody.test(elem), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5129 |
tbody = tag === "table" && !hasBody ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5130 |
div.firstChild && div.firstChild.childNodes : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5131 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5132 |
// String was a bare <thead> or <tfoot> |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5133 |
wrap[1] === "<table>" && !hasBody ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5134 |
div.childNodes : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5135 |
[]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5136 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5137 |
for ( var j = tbody.length - 1; j >= 0 ; --j ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5138 |
if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5139 |
tbody[ j ].parentNode.removeChild( tbody[ j ] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5140 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5141 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5142 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5143 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5144 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5145 |
// IE completely kills leading whitespace when innerHTML is used |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5146 |
if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5147 |
div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5148 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5149 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5150 |
elem = div.childNodes; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5151 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5152 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5153 |
if ( elem.nodeType ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5154 |
ret.push( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5155 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5156 |
ret = jQuery.merge( ret, elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5157 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5158 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5159 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5160 |
if ( fragment ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5161 |
for ( i = 0; ret[i]; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5162 |
if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5163 |
scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5164 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5165 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5166 |
if ( ret[i].nodeType === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5167 |
ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5168 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5169 |
fragment.appendChild( ret[i] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5170 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5171 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5172 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5173 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5174 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5175 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5176 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5177 |
cleanData: function( elems ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5178 |
var data, id, cache = jQuery.cache, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5179 |
special = jQuery.event.special, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5180 |
deleteExpando = jQuery.support.deleteExpando; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5181 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5182 |
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5183 |
if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5184 |
continue; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5185 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5186 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5187 |
id = elem[ jQuery.expando ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5188 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5189 |
if ( id ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5190 |
data = cache[ id ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5191 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5192 |
if ( data && data.events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5193 |
for ( var type in data.events ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5194 |
if ( special[ type ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5195 |
jQuery.event.remove( elem, type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5196 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5197 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5198 |
jQuery.removeEvent( elem, type, data.handle ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5199 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5200 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5201 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5202 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5203 |
if ( deleteExpando ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5204 |
delete elem[ jQuery.expando ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5205 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5206 |
} else if ( elem.removeAttribute ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5207 |
elem.removeAttribute( jQuery.expando ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5208 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5209 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5210 |
delete cache[ id ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5211 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5212 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5213 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5214 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5215 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5216 |
function evalScript( i, elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5217 |
if ( elem.src ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5218 |
jQuery.ajax({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5219 |
url: elem.src, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5220 |
async: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5221 |
dataType: "script" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5222 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5223 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5224 |
jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5225 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5226 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5227 |
if ( elem.parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5228 |
elem.parentNode.removeChild( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5229 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5230 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5231 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5232 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5233 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5234 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5235 |
var ralpha = /alpha\([^)]*\)/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5236 |
ropacity = /opacity=([^)]*)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5237 |
rdashAlpha = /-([a-z])/ig, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5238 |
rupper = /([A-Z])/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5239 |
rnumpx = /^-?\d+(?:px)?$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5240 |
rnum = /^-?\d/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5241 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5242 |
cssShow = { position: "absolute", visibility: "hidden", display: "block" }, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5243 |
cssWidth = [ "Left", "Right" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5244 |
cssHeight = [ "Top", "Bottom" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5245 |
curCSS, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5246 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5247 |
getComputedStyle, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5248 |
currentStyle, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5249 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5250 |
fcamelCase = function( all, letter ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5251 |
return letter.toUpperCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5252 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5253 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5254 |
jQuery.fn.css = function( name, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5255 |
// Setting 'undefined' is a no-op |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5256 |
if ( arguments.length === 2 && value === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5257 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5258 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5259 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5260 |
return jQuery.access( this, name, value, true, function( elem, name, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5261 |
return value !== undefined ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5262 |
jQuery.style( elem, name, value ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5263 |
jQuery.css( elem, name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5264 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5265 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5266 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5267 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5268 |
// Add in style property hooks for overriding the default |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5269 |
// behavior of getting and setting a style property |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5270 |
cssHooks: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5271 |
opacity: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5272 |
get: function( elem, computed ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5273 |
if ( computed ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5274 |
// We should always get a number back from opacity |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5275 |
var ret = curCSS( elem, "opacity", "opacity" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5276 |
return ret === "" ? "1" : ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5277 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5278 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5279 |
return elem.style.opacity; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5280 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5281 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5282 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5283 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5284 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5285 |
// Exclude the following css properties to add px |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5286 |
cssNumber: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5287 |
"zIndex": true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5288 |
"fontWeight": true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5289 |
"opacity": true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5290 |
"zoom": true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5291 |
"lineHeight": true |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5292 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5293 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5294 |
// Add in properties whose names you wish to fix before |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5295 |
// setting or getting the value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5296 |
cssProps: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5297 |
// normalize float css property |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5298 |
"float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5299 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5300 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5301 |
// Get and set the style property on a DOM Node |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5302 |
style: function( elem, name, value, extra ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5303 |
// Don't set styles on text and comment nodes |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5304 |
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5305 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5306 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5307 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5308 |
// Make sure that we're working with the right name |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5309 |
var ret, origName = jQuery.camelCase( name ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5310 |
style = elem.style, hooks = jQuery.cssHooks[ origName ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5311 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5312 |
name = jQuery.cssProps[ origName ] || origName; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5313 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5314 |
// Check if we're setting a value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5315 |
if ( value !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5316 |
// Make sure that NaN and null values aren't set. See: #7116 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5317 |
if ( typeof value === "number" && isNaN( value ) || value == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5318 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5319 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5320 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5321 |
// If a number was passed in, add 'px' to the (except for certain CSS properties) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5322 |
if ( typeof value === "number" && !jQuery.cssNumber[ origName ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5323 |
value += "px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5324 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5325 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5326 |
// If a hook was provided, use that value, otherwise just set the specified value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5327 |
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5328 |
// Wrapped to prevent IE from throwing errors when 'invalid' values are provided |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5329 |
// Fixes bug #5509 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5330 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5331 |
style[ name ] = value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5332 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5333 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5334 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5335 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5336 |
// If a hook was provided get the non-computed value from there |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5337 |
if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5338 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5339 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5340 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5341 |
// Otherwise just get the value from the style object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5342 |
return style[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5343 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5344 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5345 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5346 |
css: function( elem, name, extra ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5347 |
// Make sure that we're working with the right name |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5348 |
var ret, origName = jQuery.camelCase( name ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5349 |
hooks = jQuery.cssHooks[ origName ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5350 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5351 |
name = jQuery.cssProps[ origName ] || origName; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5352 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5353 |
// If a hook was provided get the computed value from there |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5354 |
if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5355 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5356 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5357 |
// Otherwise, if a way to get the computed value exists, use that |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5358 |
} else if ( curCSS ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5359 |
return curCSS( elem, name, origName ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5360 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5361 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5362 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5363 |
// A method for quickly swapping in/out CSS properties to get correct calculations |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5364 |
swap: function( elem, options, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5365 |
var old = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5366 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5367 |
// Remember the old values, and insert the new ones |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5368 |
for ( var name in options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5369 |
old[ name ] = elem.style[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5370 |
elem.style[ name ] = options[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5371 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5372 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5373 |
callback.call( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5374 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5375 |
// Revert the old values |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5376 |
for ( name in options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5377 |
elem.style[ name ] = old[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5378 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5379 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5380 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5381 |
camelCase: function( string ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5382 |
return string.replace( rdashAlpha, fcamelCase ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5383 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5384 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5385 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5386 |
// DEPRECATED, Use jQuery.css() instead |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5387 |
jQuery.curCSS = jQuery.css; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5388 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5389 |
jQuery.each(["height", "width"], function( i, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5390 |
jQuery.cssHooks[ name ] = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5391 |
get: function( elem, computed, extra ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5392 |
var val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5393 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5394 |
if ( computed ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5395 |
if ( elem.offsetWidth !== 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5396 |
val = getWH( elem, name, extra ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5397 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5398 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5399 |
jQuery.swap( elem, cssShow, function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5400 |
val = getWH( elem, name, extra ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5401 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5402 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5403 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5404 |
if ( val <= 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5405 |
val = curCSS( elem, name, name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5406 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5407 |
if ( val === "0px" && currentStyle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5408 |
val = currentStyle( elem, name, name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5409 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5410 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5411 |
if ( val != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5412 |
// Should return "auto" instead of 0, use 0 for |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5413 |
// temporary backwards-compat |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5414 |
return val === "" || val === "auto" ? "0px" : val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5415 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5416 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5417 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5418 |
if ( val < 0 || val == null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5419 |
val = elem.style[ name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5420 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5421 |
// Should return "auto" instead of 0, use 0 for |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5422 |
// temporary backwards-compat |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5423 |
return val === "" || val === "auto" ? "0px" : val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5424 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5425 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5426 |
return typeof val === "string" ? val : val + "px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5427 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5428 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5429 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5430 |
set: function( elem, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5431 |
if ( rnumpx.test( value ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5432 |
// ignore negative width and height values #1599 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5433 |
value = parseFloat(value); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5434 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5435 |
if ( value >= 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5436 |
return value + "px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5437 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5438 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5439 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5440 |
return value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5441 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5442 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5443 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5444 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5445 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5446 |
if ( !jQuery.support.opacity ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5447 |
jQuery.cssHooks.opacity = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5448 |
get: function( elem, computed ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5449 |
// IE uses filters for opacity |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5450 |
return ropacity.test((computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "") ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5451 |
(parseFloat(RegExp.$1) / 100) + "" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5452 |
computed ? "1" : ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5453 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5454 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5455 |
set: function( elem, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5456 |
var style = elem.style; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5457 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5458 |
// IE has trouble with opacity if it does not have layout |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5459 |
// Force it by setting the zoom level |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5460 |
style.zoom = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5461 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5462 |
// Set the alpha filter to set the opacity |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5463 |
var opacity = jQuery.isNaN(value) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5464 |
"" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5465 |
"alpha(opacity=" + value * 100 + ")", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5466 |
filter = style.filter || ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5467 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5468 |
style.filter = ralpha.test(filter) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5469 |
filter.replace(ralpha, opacity) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5470 |
style.filter + ' ' + opacity; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5471 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5472 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5473 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5474 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5475 |
if ( document.defaultView && document.defaultView.getComputedStyle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5476 |
getComputedStyle = function( elem, newName, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5477 |
var ret, defaultView, computedStyle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5478 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5479 |
name = name.replace( rupper, "-$1" ).toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5480 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5481 |
if ( !(defaultView = elem.ownerDocument.defaultView) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5482 |
return undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5483 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5484 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5485 |
if ( (computedStyle = defaultView.getComputedStyle( elem, null )) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5486 |
ret = computedStyle.getPropertyValue( name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5487 |
if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5488 |
ret = jQuery.style( elem, name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5489 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5490 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5491 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5492 |
return ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5493 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5494 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5495 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5496 |
if ( document.documentElement.currentStyle ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5497 |
currentStyle = function( elem, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5498 |
var left, rsLeft, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5499 |
ret = elem.currentStyle && elem.currentStyle[ name ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5500 |
style = elem.style; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5501 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5502 |
// From the awesome hack by Dean Edwards |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5503 |
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5504 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5505 |
// If we're not dealing with a regular pixel number |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5506 |
// but a number that has a weird ending, we need to convert it to pixels |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5507 |
if ( !rnumpx.test( ret ) && rnum.test( ret ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5508 |
// Remember the original values |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5509 |
left = style.left; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5510 |
rsLeft = elem.runtimeStyle.left; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5511 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5512 |
// Put in the new values to get a computed value out |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5513 |
elem.runtimeStyle.left = elem.currentStyle.left; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5514 |
style.left = name === "fontSize" ? "1em" : (ret || 0); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5515 |
ret = style.pixelLeft + "px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5516 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5517 |
// Revert the changed values |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5518 |
style.left = left; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5519 |
elem.runtimeStyle.left = rsLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5520 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5521 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5522 |
return ret === "" ? "auto" : ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5523 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5524 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5525 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5526 |
curCSS = getComputedStyle || currentStyle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5527 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5528 |
function getWH( elem, name, extra ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5529 |
var which = name === "width" ? cssWidth : cssHeight, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5530 |
val = name === "width" ? elem.offsetWidth : elem.offsetHeight; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5531 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5532 |
if ( extra === "border" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5533 |
return val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5534 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5535 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5536 |
jQuery.each( which, function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5537 |
if ( !extra ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5538 |
val -= parseFloat(jQuery.css( elem, "padding" + this )) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5539 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5540 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5541 |
if ( extra === "margin" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5542 |
val += parseFloat(jQuery.css( elem, "margin" + this )) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5543 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5544 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5545 |
val -= parseFloat(jQuery.css( elem, "border" + this + "Width" )) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5546 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5547 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5548 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5549 |
return val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5550 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5551 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5552 |
if ( jQuery.expr && jQuery.expr.filters ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5553 |
jQuery.expr.filters.hidden = function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5554 |
var width = elem.offsetWidth, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5555 |
height = elem.offsetHeight; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5556 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5557 |
return (width === 0 && height === 0) || (!jQuery.support.reliableHiddenOffsets && (elem.style.display || jQuery.css( elem, "display" )) === "none"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5558 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5559 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5560 |
jQuery.expr.filters.visible = function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5561 |
return !jQuery.expr.filters.hidden( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5562 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5563 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5564 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5565 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5566 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5567 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5568 |
var jsc = jQuery.now(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5569 |
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5570 |
rselectTextarea = /^(?:select|textarea)/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5571 |
rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5572 |
rnoContent = /^(?:GET|HEAD)$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5573 |
rbracket = /\[\]$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5574 |
jsre = /\=\?(&|$)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5575 |
rquery = /\?/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5576 |
rts = /([?&])_=[^&]*/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5577 |
rurl = /^(\w+:)?\/\/([^\/?#]+)/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5578 |
r20 = /%20/g, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5579 |
rhash = /#.*$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5580 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5581 |
// Keep a copy of the old load method |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5582 |
_load = jQuery.fn.load; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5583 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5584 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5585 |
load: function( url, params, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5586 |
if ( typeof url !== "string" && _load ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5587 |
return _load.apply( this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5588 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5589 |
// Don't do a request if no elements are being requested |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5590 |
} else if ( !this.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5591 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5592 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5593 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5594 |
var off = url.indexOf(" "); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5595 |
if ( off >= 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5596 |
var selector = url.slice(off, url.length); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5597 |
url = url.slice(0, off); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5598 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5599 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5600 |
// Default to a GET request |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5601 |
var type = "GET"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5602 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5603 |
// If the second parameter was provided |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5604 |
if ( params ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5605 |
// If it's a function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5606 |
if ( jQuery.isFunction( params ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5607 |
// We assume that it's the callback |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5608 |
callback = params; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5609 |
params = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5610 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5611 |
// Otherwise, build a param string |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5612 |
} else if ( typeof params === "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5613 |
params = jQuery.param( params, jQuery.ajaxSettings.traditional ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5614 |
type = "POST"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5615 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5616 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5617 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5618 |
var self = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5619 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5620 |
// Request the remote document |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5621 |
jQuery.ajax({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5622 |
url: url, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5623 |
type: type, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5624 |
dataType: "html", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5625 |
data: params, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5626 |
complete: function( res, status ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5627 |
// If successful, inject the HTML into all the matched elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5628 |
if ( status === "success" || status === "notmodified" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5629 |
// See if a selector was specified |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5630 |
self.html( selector ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5631 |
// Create a dummy div to hold the results |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5632 |
jQuery("<div>") |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5633 |
// inject the contents of the document in, removing the scripts |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5634 |
// to avoid any 'Permission Denied' errors in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5635 |
.append(res.responseText.replace(rscript, "")) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5636 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5637 |
// Locate the specified elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5638 |
.find(selector) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5639 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5640 |
// If not, just inject the full result |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5641 |
res.responseText ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5642 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5643 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5644 |
if ( callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5645 |
self.each( callback, [res.responseText, status, res] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5646 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5647 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5648 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5649 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5650 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5651 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5652 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5653 |
serialize: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5654 |
return jQuery.param(this.serializeArray()); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5655 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5656 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5657 |
serializeArray: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5658 |
return this.map(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5659 |
return this.elements ? jQuery.makeArray(this.elements) : this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5660 |
}) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5661 |
.filter(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5662 |
return this.name && !this.disabled && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5663 |
(this.checked || rselectTextarea.test(this.nodeName) || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5664 |
rinput.test(this.type)); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5665 |
}) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5666 |
.map(function( i, elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5667 |
var val = jQuery(this).val(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5668 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5669 |
return val == null ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5670 |
null : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5671 |
jQuery.isArray(val) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5672 |
jQuery.map( val, function( val, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5673 |
return { name: elem.name, value: val }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5674 |
}) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5675 |
{ name: elem.name, value: val }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5676 |
}).get(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5677 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5678 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5679 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5680 |
// Attach a bunch of functions for handling common AJAX events |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5681 |
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5682 |
jQuery.fn[o] = function( f ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5683 |
return this.bind(o, f); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5684 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5685 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5686 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5687 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5688 |
get: function( url, data, callback, type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5689 |
// shift arguments if data argument was omited |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5690 |
if ( jQuery.isFunction( data ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5691 |
type = type || callback; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5692 |
callback = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5693 |
data = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5694 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5695 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5696 |
return jQuery.ajax({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5697 |
type: "GET", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5698 |
url: url, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5699 |
data: data, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5700 |
success: callback, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5701 |
dataType: type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5702 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5703 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5704 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5705 |
getScript: function( url, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5706 |
return jQuery.get(url, null, callback, "script"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5707 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5708 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5709 |
getJSON: function( url, data, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5710 |
return jQuery.get(url, data, callback, "json"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5711 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5712 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5713 |
post: function( url, data, callback, type ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5714 |
// shift arguments if data argument was omited |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5715 |
if ( jQuery.isFunction( data ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5716 |
type = type || callback; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5717 |
callback = data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5718 |
data = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5719 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5720 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5721 |
return jQuery.ajax({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5722 |
type: "POST", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5723 |
url: url, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5724 |
data: data, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5725 |
success: callback, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5726 |
dataType: type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5727 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5728 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5729 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5730 |
ajaxSetup: function( settings ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5731 |
jQuery.extend( jQuery.ajaxSettings, settings ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5732 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5733 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5734 |
ajaxSettings: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5735 |
url: location.href, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5736 |
global: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5737 |
type: "GET", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5738 |
contentType: "application/x-www-form-urlencoded", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5739 |
processData: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5740 |
async: true, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5741 |
/* |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5742 |
timeout: 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5743 |
data: null, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5744 |
username: null, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5745 |
password: null, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5746 |
traditional: false, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5747 |
*/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5748 |
// This function can be overriden by calling jQuery.ajaxSetup |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5749 |
xhr: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5750 |
return new window.XMLHttpRequest(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5751 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5752 |
accepts: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5753 |
xml: "application/xml, text/xml", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5754 |
html: "text/html", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5755 |
script: "text/javascript, application/javascript", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5756 |
json: "application/json, text/javascript", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5757 |
text: "text/plain", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5758 |
_default: "*/*" |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5759 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5760 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5761 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5762 |
ajax: function( origSettings ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5763 |
var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5764 |
jsonp, status, data, type = s.type.toUpperCase(), noContent = rnoContent.test(type); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5765 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5766 |
s.url = s.url.replace( rhash, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5767 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5768 |
// Use original (not extended) context object if it was provided |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5769 |
s.context = origSettings && origSettings.context != null ? origSettings.context : s; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5770 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5771 |
// convert data if not already a string |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5772 |
if ( s.data && s.processData && typeof s.data !== "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5773 |
s.data = jQuery.param( s.data, s.traditional ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5774 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5775 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5776 |
// Handle JSONP Parameter Callbacks |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5777 |
if ( s.dataType === "jsonp" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5778 |
if ( type === "GET" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5779 |
if ( !jsre.test( s.url ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5780 |
s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5781 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5782 |
} else if ( !s.data || !jsre.test(s.data) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5783 |
s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5784 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5785 |
s.dataType = "json"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5786 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5787 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5788 |
// Build temporary JSONP function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5789 |
if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5790 |
jsonp = s.jsonpCallback || ("jsonp" + jsc++); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5791 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5792 |
// Replace the =? sequence both in the query string and the data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5793 |
if ( s.data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5794 |
s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5795 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5796 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5797 |
s.url = s.url.replace(jsre, "=" + jsonp + "$1"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5798 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5799 |
// We need to make sure |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5800 |
// that a JSONP style response is executed properly |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5801 |
s.dataType = "script"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5802 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5803 |
// Handle JSONP-style loading |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5804 |
var customJsonp = window[ jsonp ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5805 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5806 |
window[ jsonp ] = function( tmp ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5807 |
if ( jQuery.isFunction( customJsonp ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5808 |
customJsonp( tmp ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5809 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5810 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5811 |
// Garbage collect |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5812 |
window[ jsonp ] = undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5813 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5814 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5815 |
delete window[ jsonp ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5816 |
} catch( jsonpError ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5817 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5818 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5819 |
data = tmp; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5820 |
jQuery.handleSuccess( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5821 |
jQuery.handleComplete( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5822 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5823 |
if ( head ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5824 |
head.removeChild( script ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5825 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5826 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5827 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5828 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5829 |
if ( s.dataType === "script" && s.cache === null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5830 |
s.cache = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5831 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5832 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5833 |
if ( s.cache === false && noContent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5834 |
var ts = jQuery.now(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5835 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5836 |
// try replacing _= if it is there |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5837 |
var ret = s.url.replace(rts, "$1_=" + ts); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5838 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5839 |
// if nothing was replaced, add timestamp to the end |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5840 |
s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : ""); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5841 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5842 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5843 |
// If data is available, append data to url for GET/HEAD requests |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5844 |
if ( s.data && noContent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5845 |
s.url += (rquery.test(s.url) ? "&" : "?") + s.data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5846 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5847 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5848 |
// Watch for a new set of requests |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5849 |
if ( s.global && jQuery.active++ === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5850 |
jQuery.event.trigger( "ajaxStart" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5851 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5852 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5853 |
// Matches an absolute URL, and saves the domain |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5854 |
var parts = rurl.exec( s.url ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5855 |
remote = parts && (parts[1] && parts[1].toLowerCase() !== location.protocol || parts[2].toLowerCase() !== location.host); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5856 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5857 |
// If we're requesting a remote document |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5858 |
// and trying to load JSON or Script with a GET |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5859 |
if ( s.dataType === "script" && type === "GET" && remote ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5860 |
var head = document.getElementsByTagName("head")[0] || document.documentElement; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5861 |
var script = document.createElement("script"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5862 |
if ( s.scriptCharset ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5863 |
script.charset = s.scriptCharset; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5864 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5865 |
script.src = s.url; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5866 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5867 |
// Handle Script loading |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5868 |
if ( !jsonp ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5869 |
var done = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5870 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5871 |
// Attach handlers for all browsers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5872 |
script.onload = script.onreadystatechange = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5873 |
if ( !done && (!this.readyState || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5874 |
this.readyState === "loaded" || this.readyState === "complete") ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5875 |
done = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5876 |
jQuery.handleSuccess( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5877 |
jQuery.handleComplete( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5878 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5879 |
// Handle memory leak in IE |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5880 |
script.onload = script.onreadystatechange = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5881 |
if ( head && script.parentNode ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5882 |
head.removeChild( script ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5883 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5884 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5885 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5886 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5887 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5888 |
// Use insertBefore instead of appendChild to circumvent an IE6 bug. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5889 |
// This arises when a base node is used (#2709 and #4378). |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5890 |
head.insertBefore( script, head.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5891 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5892 |
// We handle everything using the script element injection |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5893 |
return undefined; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5894 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5895 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5896 |
var requestDone = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5897 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5898 |
// Create the request object |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5899 |
var xhr = s.xhr(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5900 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5901 |
if ( !xhr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5902 |
return; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5903 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5904 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5905 |
// Open the socket |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5906 |
// Passing null username, generates a login popup on Opera (#2865) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5907 |
if ( s.username ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5908 |
xhr.open(type, s.url, s.async, s.username, s.password); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5909 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5910 |
xhr.open(type, s.url, s.async); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5911 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5912 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5913 |
// Need an extra try/catch for cross domain requests in Firefox 3 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5914 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5915 |
// Set content-type if data specified and content-body is valid for this type |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5916 |
if ( (s.data != null && !noContent) || (origSettings && origSettings.contentType) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5917 |
xhr.setRequestHeader("Content-Type", s.contentType); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5918 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5919 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5920 |
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5921 |
if ( s.ifModified ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5922 |
if ( jQuery.lastModified[s.url] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5923 |
xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5924 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5925 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5926 |
if ( jQuery.etag[s.url] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5927 |
xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5928 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5929 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5930 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5931 |
// Set header so the called script knows that it's an XMLHttpRequest |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5932 |
// Only send the header if it's not a remote XHR |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5933 |
if ( !remote ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5934 |
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5935 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5936 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5937 |
// Set the Accepts header for the server, depending on the dataType |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5938 |
xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5939 |
s.accepts[ s.dataType ] + ", */*; q=0.01" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5940 |
s.accepts._default ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5941 |
} catch( headerError ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5942 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5943 |
// Allow custom headers/mimetypes and early abort |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5944 |
if ( s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5945 |
// Handle the global AJAX counter |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5946 |
if ( s.global && jQuery.active-- === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5947 |
jQuery.event.trigger( "ajaxStop" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5948 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5949 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5950 |
// close opended socket |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5951 |
xhr.abort(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5952 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5953 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5954 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5955 |
if ( s.global ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5956 |
jQuery.triggerGlobal( s, "ajaxSend", [xhr, s] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5957 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5958 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5959 |
// Wait for a response to come back |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5960 |
var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5961 |
// The request was aborted |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5962 |
if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5963 |
// Opera doesn't call onreadystatechange before this point |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5964 |
// so we simulate the call |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5965 |
if ( !requestDone ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5966 |
jQuery.handleComplete( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5967 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5968 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5969 |
requestDone = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5970 |
if ( xhr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5971 |
xhr.onreadystatechange = jQuery.noop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5972 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5973 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5974 |
// The transfer is complete and the data is available, or the request timed out |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5975 |
} else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5976 |
requestDone = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5977 |
xhr.onreadystatechange = jQuery.noop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5978 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5979 |
status = isTimeout === "timeout" ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5980 |
"timeout" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5981 |
!jQuery.httpSuccess( xhr ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5982 |
"error" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5983 |
s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5984 |
"notmodified" : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5985 |
"success"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5986 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5987 |
var errMsg; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5988 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5989 |
if ( status === "success" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5990 |
// Watch for, and catch, XML document parse errors |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5991 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5992 |
// process the data (runs the xml through httpData regardless of callback) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5993 |
data = jQuery.httpData( xhr, s.dataType, s ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5994 |
} catch( parserError ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5995 |
status = "parsererror"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5996 |
errMsg = parserError; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5997 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5998 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5999 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6000 |
// Make sure that the request was successful or notmodified |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6001 |
if ( status === "success" || status === "notmodified" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6002 |
// JSONP handles its own success callback |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6003 |
if ( !jsonp ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6004 |
jQuery.handleSuccess( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6005 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6006 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6007 |
jQuery.handleError( s, xhr, status, errMsg ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6008 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6009 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6010 |
// Fire the complete handlers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6011 |
if ( !jsonp ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6012 |
jQuery.handleComplete( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6013 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6014 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6015 |
if ( isTimeout === "timeout" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6016 |
xhr.abort(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6017 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6018 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6019 |
// Stop memory leaks |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6020 |
if ( s.async ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6021 |
xhr = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6022 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6023 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6024 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6025 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6026 |
// Override the abort handler, if we can (IE 6 doesn't allow it, but that's OK) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6027 |
// Opera doesn't fire onreadystatechange at all on abort |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6028 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6029 |
var oldAbort = xhr.abort; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6030 |
xhr.abort = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6031 |
if ( xhr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6032 |
// oldAbort has no call property in IE7 so |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6033 |
// just do it this way, which works in all |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6034 |
// browsers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6035 |
Function.prototype.call.call( oldAbort, xhr ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6036 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6037 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6038 |
onreadystatechange( "abort" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6039 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6040 |
} catch( abortError ) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6041 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6042 |
// Timeout checker |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6043 |
if ( s.async && s.timeout > 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6044 |
setTimeout(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6045 |
// Check to see if the request is still happening |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6046 |
if ( xhr && !requestDone ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6047 |
onreadystatechange( "timeout" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6048 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6049 |
}, s.timeout); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6050 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6051 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6052 |
// Send the data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6053 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6054 |
xhr.send( noContent || s.data == null ? null : s.data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6055 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6056 |
} catch( sendError ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6057 |
jQuery.handleError( s, xhr, null, sendError ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6058 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6059 |
// Fire the complete handlers |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6060 |
jQuery.handleComplete( s, xhr, status, data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6061 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6062 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6063 |
// firefox 1.5 doesn't fire statechange for sync requests |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6064 |
if ( !s.async ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6065 |
onreadystatechange(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6066 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6067 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6068 |
// return XMLHttpRequest to allow aborting the request etc. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6069 |
return xhr; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6070 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6071 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6072 |
// Serialize an array of form elements or a set of |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6073 |
// key/values into a query string |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6074 |
param: function( a, traditional ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6075 |
var s = [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6076 |
add = function( key, value ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6077 |
// If value is a function, invoke it and return its value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6078 |
value = jQuery.isFunction(value) ? value() : value; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6079 |
s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6080 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6081 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6082 |
// Set traditional to true for jQuery <= 1.3.2 behavior. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6083 |
if ( traditional === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6084 |
traditional = jQuery.ajaxSettings.traditional; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6085 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6086 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6087 |
// If an array was passed in, assume that it is an array of form elements. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6088 |
if ( jQuery.isArray(a) || a.jquery ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6089 |
// Serialize the form elements |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6090 |
jQuery.each( a, function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6091 |
add( this.name, this.value ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6092 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6093 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6094 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6095 |
// If traditional, encode the "old" way (the way 1.3.2 or older |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6096 |
// did it), otherwise encode params recursively. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6097 |
for ( var prefix in a ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6098 |
buildParams( prefix, a[prefix], traditional, add ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6099 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6100 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6101 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6102 |
// Return the resulting serialization |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6103 |
return s.join("&").replace(r20, "+"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6104 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6105 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6106 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6107 |
function buildParams( prefix, obj, traditional, add ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6108 |
if ( jQuery.isArray(obj) && obj.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6109 |
// Serialize array item. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6110 |
jQuery.each( obj, function( i, v ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6111 |
if ( traditional || rbracket.test( prefix ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6112 |
// Treat each array item as a scalar. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6113 |
add( prefix, v ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6114 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6115 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6116 |
// If array item is non-scalar (array or object), encode its |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6117 |
// numeric index to resolve deserialization ambiguity issues. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6118 |
// Note that rack (as of 1.0.0) can't currently deserialize |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6119 |
// nested arrays properly, and attempting to do so may cause |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6120 |
// a server error. Possible fixes are to modify rack's |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6121 |
// deserialization algorithm or to provide an option or flag |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6122 |
// to force array serialization to be shallow. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6123 |
buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6124 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6125 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6126 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6127 |
} else if ( !traditional && obj != null && typeof obj === "object" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6128 |
if ( jQuery.isEmptyObject( obj ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6129 |
add( prefix, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6130 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6131 |
// Serialize object item. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6132 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6133 |
jQuery.each( obj, function( k, v ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6134 |
buildParams( prefix + "[" + k + "]", v, traditional, add ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6135 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6136 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6137 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6138 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6139 |
// Serialize scalar item. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6140 |
add( prefix, obj ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6141 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6142 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6143 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6144 |
// This is still on the jQuery object... for now |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6145 |
// Want to move this to jQuery.ajax some day |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6146 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6147 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6148 |
// Counter for holding the number of active queries |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6149 |
active: 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6150 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6151 |
// Last-Modified header cache for next request |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6152 |
lastModified: {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6153 |
etag: {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6154 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6155 |
handleError: function( s, xhr, status, e ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6156 |
// If a local callback was specified, fire it |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6157 |
if ( s.error ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6158 |
s.error.call( s.context, xhr, status, e ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6159 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6160 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6161 |
// Fire the global callback |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6162 |
if ( s.global ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6163 |
jQuery.triggerGlobal( s, "ajaxError", [xhr, s, e] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6164 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6165 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6166 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6167 |
handleSuccess: function( s, xhr, status, data ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6168 |
// If a local callback was specified, fire it and pass it the data |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6169 |
if ( s.success ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6170 |
s.success.call( s.context, data, status, xhr ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6171 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6172 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6173 |
// Fire the global callback |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6174 |
if ( s.global ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6175 |
jQuery.triggerGlobal( s, "ajaxSuccess", [xhr, s] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6176 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6177 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6178 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6179 |
handleComplete: function( s, xhr, status ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6180 |
// Process result |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6181 |
if ( s.complete ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6182 |
s.complete.call( s.context, xhr, status ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6183 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6184 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6185 |
// The request was completed |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6186 |
if ( s.global ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6187 |
jQuery.triggerGlobal( s, "ajaxComplete", [xhr, s] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6188 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6189 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6190 |
// Handle the global AJAX counter |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6191 |
if ( s.global && jQuery.active-- === 1 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6192 |
jQuery.event.trigger( "ajaxStop" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6193 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6194 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6195 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6196 |
triggerGlobal: function( s, type, args ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6197 |
(s.context && s.context.url == null ? jQuery(s.context) : jQuery.event).trigger(type, args); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6198 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6199 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6200 |
// Determines if an XMLHttpRequest was successful or not |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6201 |
httpSuccess: function( xhr ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6202 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6203 |
// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6204 |
return !xhr.status && location.protocol === "file:" || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6205 |
xhr.status >= 200 && xhr.status < 300 || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6206 |
xhr.status === 304 || xhr.status === 1223; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6207 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6208 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6209 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6210 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6211 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6212 |
// Determines if an XMLHttpRequest returns NotModified |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6213 |
httpNotModified: function( xhr, url ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6214 |
var lastModified = xhr.getResponseHeader("Last-Modified"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6215 |
etag = xhr.getResponseHeader("Etag"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6216 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6217 |
if ( lastModified ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6218 |
jQuery.lastModified[url] = lastModified; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6219 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6220 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6221 |
if ( etag ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6222 |
jQuery.etag[url] = etag; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6223 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6224 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6225 |
return xhr.status === 304; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6226 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6227 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6228 |
httpData: function( xhr, type, s ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6229 |
var ct = xhr.getResponseHeader("content-type") || "", |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6230 |
xml = type === "xml" || !type && ct.indexOf("xml") >= 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6231 |
data = xml ? xhr.responseXML : xhr.responseText; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6232 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6233 |
if ( xml && data.documentElement.nodeName === "parsererror" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6234 |
jQuery.error( "parsererror" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6235 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6236 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6237 |
// Allow a pre-filtering function to sanitize the response |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6238 |
// s is checked to keep backwards compatibility |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6239 |
if ( s && s.dataFilter ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6240 |
data = s.dataFilter( data, type ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6241 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6242 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6243 |
// The filter can actually parse the response |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6244 |
if ( typeof data === "string" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6245 |
// Get the JavaScript object, if JSON is used. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6246 |
if ( type === "json" || !type && ct.indexOf("json") >= 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6247 |
data = jQuery.parseJSON( data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6248 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6249 |
// If the type is "script", eval it in global context |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6250 |
} else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6251 |
jQuery.globalEval( data ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6252 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6253 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6254 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6255 |
return data; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6256 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6257 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6258 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6259 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6260 |
/* |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6261 |
* Create the request object; Microsoft failed to properly |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6262 |
* implement the XMLHttpRequest in IE7 (can't request local files), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6263 |
* so we use the ActiveXObject when it is available |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6264 |
* Additionally XMLHttpRequest can be disabled in IE7/IE8 so |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6265 |
* we need a fallback. |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6266 |
*/ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6267 |
if ( window.ActiveXObject ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6268 |
jQuery.ajaxSettings.xhr = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6269 |
if ( window.location.protocol !== "file:" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6270 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6271 |
return new window.XMLHttpRequest(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6272 |
} catch(xhrError) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6273 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6274 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6275 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6276 |
return new window.ActiveXObject("Microsoft.XMLHTTP"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6277 |
} catch(activeError) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6278 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6279 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6280 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6281 |
// Does this browser support XHR requests? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6282 |
jQuery.support.ajax = !!jQuery.ajaxSettings.xhr(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6283 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6284 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6285 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6286 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6287 |
var elemdisplay = {}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6288 |
rfxtypes = /^(?:toggle|show|hide)$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6289 |
rfxnum = /^([+\-]=)?([\d+.\-]+)(.*)$/, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6290 |
timerId, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6291 |
fxAttrs = [ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6292 |
// height animations |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6293 |
[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6294 |
// width animations |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6295 |
[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6296 |
// opacity animations |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6297 |
[ "opacity" ] |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6298 |
]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6299 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6300 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6301 |
show: function( speed, easing, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6302 |
var elem, display; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6303 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6304 |
if ( speed || speed === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6305 |
return this.animate( genFx("show", 3), speed, easing, callback); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6306 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6307 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6308 |
for ( var i = 0, j = this.length; i < j; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6309 |
elem = this[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6310 |
display = elem.style.display; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6311 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6312 |
// Reset the inline display of this element to learn if it is |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6313 |
// being hidden by cascaded rules or not |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6314 |
if ( !jQuery.data(elem, "olddisplay") && display === "none" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6315 |
display = elem.style.display = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6316 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6317 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6318 |
// Set elements which have been overridden with display: none |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6319 |
// in a stylesheet to whatever the default browser style is |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6320 |
// for such an element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6321 |
if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6322 |
jQuery.data(elem, "olddisplay", defaultDisplay(elem.nodeName)); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6323 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6324 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6325 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6326 |
// Set the display of most of the elements in a second loop |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6327 |
// to avoid the constant reflow |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6328 |
for ( i = 0; i < j; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6329 |
elem = this[i]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6330 |
display = elem.style.display; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6331 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6332 |
if ( display === "" || display === "none" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6333 |
elem.style.display = jQuery.data(elem, "olddisplay") || ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6334 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6335 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6336 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6337 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6338 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6339 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6340 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6341 |
hide: function( speed, easing, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6342 |
if ( speed || speed === 0 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6343 |
return this.animate( genFx("hide", 3), speed, easing, callback); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6344 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6345 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6346 |
for ( var i = 0, j = this.length; i < j; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6347 |
var display = jQuery.css( this[i], "display" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6348 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6349 |
if ( display !== "none" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6350 |
jQuery.data( this[i], "olddisplay", display ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6351 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6352 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6353 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6354 |
// Set the display of the elements in a second loop |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6355 |
// to avoid the constant reflow |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6356 |
for ( i = 0; i < j; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6357 |
this[i].style.display = "none"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6358 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6359 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6360 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6361 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6362 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6363 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6364 |
// Save the old toggle function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6365 |
_toggle: jQuery.fn.toggle, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6366 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6367 |
toggle: function( fn, fn2, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6368 |
var bool = typeof fn === "boolean"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6369 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6370 |
if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6371 |
this._toggle.apply( this, arguments ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6372 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6373 |
} else if ( fn == null || bool ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6374 |
this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6375 |
var state = bool ? fn : jQuery(this).is(":hidden"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6376 |
jQuery(this)[ state ? "show" : "hide" ](); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6377 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6378 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6379 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6380 |
this.animate(genFx("toggle", 3), fn, fn2, callback); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6381 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6382 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6383 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6384 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6385 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6386 |
fadeTo: function( speed, to, easing, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6387 |
return this.filter(":hidden").css("opacity", 0).show().end() |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6388 |
.animate({opacity: to}, speed, easing, callback); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6389 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6390 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6391 |
animate: function( prop, speed, easing, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6392 |
var optall = jQuery.speed(speed, easing, callback); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6393 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6394 |
if ( jQuery.isEmptyObject( prop ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6395 |
return this.each( optall.complete ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6396 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6397 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6398 |
return this[ optall.queue === false ? "each" : "queue" ](function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6399 |
// XXX 'this' does not always have a nodeName when running the |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6400 |
// test suite |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6401 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6402 |
var opt = jQuery.extend({}, optall), p, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6403 |
isElement = this.nodeType === 1, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6404 |
hidden = isElement && jQuery(this).is(":hidden"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6405 |
self = this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6406 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6407 |
for ( p in prop ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6408 |
var name = jQuery.camelCase( p ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6409 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6410 |
if ( p !== name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6411 |
prop[ name ] = prop[ p ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6412 |
delete prop[ p ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6413 |
p = name; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6414 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6415 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6416 |
if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6417 |
return opt.complete.call(this); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6418 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6419 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6420 |
if ( isElement && ( p === "height" || p === "width" ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6421 |
// Make sure that nothing sneaks out |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6422 |
// Record all 3 overflow attributes because IE does not |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6423 |
// change the overflow attribute when overflowX and |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6424 |
// overflowY are set to the same value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6425 |
opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6426 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6427 |
// Set display property to inline-block for height/width |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6428 |
// animations on inline elements that are having width/height |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6429 |
// animated |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6430 |
if ( jQuery.css( this, "display" ) === "inline" && |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6431 |
jQuery.css( this, "float" ) === "none" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6432 |
if ( !jQuery.support.inlineBlockNeedsLayout ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6433 |
this.style.display = "inline-block"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6434 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6435 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6436 |
var display = defaultDisplay(this.nodeName); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6437 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6438 |
// inline-level elements accept inline-block; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6439 |
// block-level elements need to be inline with layout |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6440 |
if ( display === "inline" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6441 |
this.style.display = "inline-block"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6442 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6443 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6444 |
this.style.display = "inline"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6445 |
this.style.zoom = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6446 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6447 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6448 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6449 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6450 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6451 |
if ( jQuery.isArray( prop[p] ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6452 |
// Create (if needed) and add to specialEasing |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6453 |
(opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6454 |
prop[p] = prop[p][0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6455 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6456 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6457 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6458 |
if ( opt.overflow != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6459 |
this.style.overflow = "hidden"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6460 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6461 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6462 |
opt.curAnim = jQuery.extend({}, prop); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6463 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6464 |
jQuery.each( prop, function( name, val ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6465 |
var e = new jQuery.fx( self, opt, name ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6466 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6467 |
if ( rfxtypes.test(val) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6468 |
e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6469 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6470 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6471 |
var parts = rfxnum.exec(val), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6472 |
start = e.cur() || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6473 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6474 |
if ( parts ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6475 |
var end = parseFloat( parts[2] ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6476 |
unit = parts[3] || "px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6477 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6478 |
// We need to compute starting value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6479 |
if ( unit !== "px" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6480 |
jQuery.style( self, name, (end || 1) + unit); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6481 |
start = ((end || 1) / e.cur()) * start; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6482 |
jQuery.style( self, name, start + unit); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6483 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6484 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6485 |
// If a +=/-= token was provided, we're doing a relative animation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6486 |
if ( parts[1] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6487 |
end = ((parts[1] === "-=" ? -1 : 1) * end) + start; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6488 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6489 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6490 |
e.custom( start, end, unit ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6491 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6492 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6493 |
e.custom( start, val, "" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6494 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6495 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6496 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6497 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6498 |
// For JS strict compliance |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6499 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6500 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6501 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6502 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6503 |
stop: function( clearQueue, gotoEnd ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6504 |
var timers = jQuery.timers; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6505 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6506 |
if ( clearQueue ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6507 |
this.queue([]); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6508 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6509 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6510 |
this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6511 |
// go in reverse order so anything added to the queue during the loop is ignored |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6512 |
for ( var i = timers.length - 1; i >= 0; i-- ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6513 |
if ( timers[i].elem === this ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6514 |
if (gotoEnd) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6515 |
// force the next step to be the last |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6516 |
timers[i](true); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6517 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6518 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6519 |
timers.splice(i, 1); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6520 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6521 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6522 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6523 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6524 |
// start the next in the queue if the last step wasn't forced |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6525 |
if ( !gotoEnd ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6526 |
this.dequeue(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6527 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6528 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6529 |
return this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6530 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6531 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6532 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6533 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6534 |
function genFx( type, num ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6535 |
var obj = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6536 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6537 |
jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6538 |
obj[ this ] = type; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6539 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6540 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6541 |
return obj; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6542 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6543 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6544 |
// Generate shortcuts for custom animations |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6545 |
jQuery.each({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6546 |
slideDown: genFx("show", 1), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6547 |
slideUp: genFx("hide", 1), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6548 |
slideToggle: genFx("toggle", 1), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6549 |
fadeIn: { opacity: "show" }, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6550 |
fadeOut: { opacity: "hide" }, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6551 |
fadeToggle: { opacity: "toggle" } |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6552 |
}, function( name, props ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6553 |
jQuery.fn[ name ] = function( speed, easing, callback ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6554 |
return this.animate( props, speed, easing, callback ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6555 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6556 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6557 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6558 |
jQuery.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6559 |
speed: function( speed, easing, fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6560 |
var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6561 |
complete: fn || !fn && easing || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6562 |
jQuery.isFunction( speed ) && speed, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6563 |
duration: speed, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6564 |
easing: fn && easing || easing && !jQuery.isFunction(easing) && easing |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6565 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6566 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6567 |
opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6568 |
opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6569 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6570 |
// Queueing |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6571 |
opt.old = opt.complete; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6572 |
opt.complete = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6573 |
if ( opt.queue !== false ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6574 |
jQuery(this).dequeue(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6575 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6576 |
if ( jQuery.isFunction( opt.old ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6577 |
opt.old.call( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6578 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6579 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6580 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6581 |
return opt; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6582 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6583 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6584 |
easing: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6585 |
linear: function( p, n, firstNum, diff ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6586 |
return firstNum + diff * p; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6587 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6588 |
swing: function( p, n, firstNum, diff ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6589 |
return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6590 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6591 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6592 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6593 |
timers: [], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6594 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6595 |
fx: function( elem, options, prop ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6596 |
this.options = options; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6597 |
this.elem = elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6598 |
this.prop = prop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6599 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6600 |
if ( !options.orig ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6601 |
options.orig = {}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6602 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6603 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6604 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6605 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6606 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6607 |
jQuery.fx.prototype = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6608 |
// Simple function for setting a style value |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6609 |
update: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6610 |
if ( this.options.step ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6611 |
this.options.step.call( this.elem, this.now, this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6612 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6613 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6614 |
(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6615 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6616 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6617 |
// Get the current size |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6618 |
cur: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6619 |
if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6620 |
return this.elem[ this.prop ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6621 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6622 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6623 |
var r = parseFloat( jQuery.css( this.elem, this.prop ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6624 |
return r && r > -10000 ? r : 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6625 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6626 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6627 |
// Start an animation from one number to another |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6628 |
custom: function( from, to, unit ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6629 |
var self = this, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6630 |
fx = jQuery.fx; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6631 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6632 |
this.startTime = jQuery.now(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6633 |
this.start = from; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6634 |
this.end = to; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6635 |
this.unit = unit || this.unit || "px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6636 |
this.now = this.start; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6637 |
this.pos = this.state = 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6638 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6639 |
function t( gotoEnd ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6640 |
return self.step(gotoEnd); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6641 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6642 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6643 |
t.elem = this.elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6644 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6645 |
if ( t() && jQuery.timers.push(t) && !timerId ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6646 |
timerId = setInterval(fx.tick, fx.interval); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6647 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6648 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6649 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6650 |
// Simple 'show' function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6651 |
show: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6652 |
// Remember where we started, so that we can go back to it later |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6653 |
this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6654 |
this.options.show = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6655 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6656 |
// Begin the animation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6657 |
// Make sure that we start at a small width/height to avoid any |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6658 |
// flash of content |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6659 |
this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6660 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6661 |
// Start by showing the element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6662 |
jQuery( this.elem ).show(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6663 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6664 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6665 |
// Simple 'hide' function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6666 |
hide: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6667 |
// Remember where we started, so that we can go back to it later |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6668 |
this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6669 |
this.options.hide = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6670 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6671 |
// Begin the animation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6672 |
this.custom(this.cur(), 0); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6673 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6674 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6675 |
// Each step of an animation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6676 |
step: function( gotoEnd ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6677 |
var t = jQuery.now(), done = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6678 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6679 |
if ( gotoEnd || t >= this.options.duration + this.startTime ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6680 |
this.now = this.end; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6681 |
this.pos = this.state = 1; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6682 |
this.update(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6683 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6684 |
this.options.curAnim[ this.prop ] = true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6685 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6686 |
for ( var i in this.options.curAnim ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6687 |
if ( this.options.curAnim[i] !== true ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6688 |
done = false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6689 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6690 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6691 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6692 |
if ( done ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6693 |
// Reset the overflow |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6694 |
if ( this.options.overflow != null && !jQuery.support.shrinkWrapBlocks ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6695 |
var elem = this.elem, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6696 |
options = this.options; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6697 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6698 |
jQuery.each( [ "", "X", "Y" ], function (index, value) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6699 |
elem.style[ "overflow" + value ] = options.overflow[index]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6700 |
} ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6701 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6702 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6703 |
// Hide the element if the "hide" operation was done |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6704 |
if ( this.options.hide ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6705 |
jQuery(this.elem).hide(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6706 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6707 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6708 |
// Reset the properties, if the item has been hidden or shown |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6709 |
if ( this.options.hide || this.options.show ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6710 |
for ( var p in this.options.curAnim ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6711 |
jQuery.style( this.elem, p, this.options.orig[p] ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6712 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6713 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6714 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6715 |
// Execute the complete function |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6716 |
this.options.complete.call( this.elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6717 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6718 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6719 |
return false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6720 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6721 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6722 |
var n = t - this.startTime; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6723 |
this.state = n / this.options.duration; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6724 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6725 |
// Perform the easing function, defaults to swing |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6726 |
var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6727 |
var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6728 |
this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6729 |
this.now = this.start + ((this.end - this.start) * this.pos); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6730 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6731 |
// Perform the next step of the animation |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6732 |
this.update(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6733 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6734 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6735 |
return true; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6736 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6737 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6738 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6739 |
jQuery.extend( jQuery.fx, { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6740 |
tick: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6741 |
var timers = jQuery.timers; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6742 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6743 |
for ( var i = 0; i < timers.length; i++ ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6744 |
if ( !timers[i]() ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6745 |
timers.splice(i--, 1); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6746 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6747 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6748 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6749 |
if ( !timers.length ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6750 |
jQuery.fx.stop(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6751 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6752 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6753 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6754 |
interval: 13, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6755 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6756 |
stop: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6757 |
clearInterval( timerId ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6758 |
timerId = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6759 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6760 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6761 |
speeds: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6762 |
slow: 600, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6763 |
fast: 200, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6764 |
// Default speed |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6765 |
_default: 400 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6766 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6767 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6768 |
step: { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6769 |
opacity: function( fx ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6770 |
jQuery.style( fx.elem, "opacity", fx.now ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6771 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6772 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6773 |
_default: function( fx ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6774 |
if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6775 |
fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6776 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6777 |
fx.elem[ fx.prop ] = fx.now; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6778 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6779 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6780 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6781 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6782 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6783 |
if ( jQuery.expr && jQuery.expr.filters ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6784 |
jQuery.expr.filters.animated = function( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6785 |
return jQuery.grep(jQuery.timers, function( fn ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6786 |
return elem === fn.elem; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6787 |
}).length; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6788 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6789 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6790 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6791 |
function defaultDisplay( nodeName ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6792 |
if ( !elemdisplay[ nodeName ] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6793 |
var elem = jQuery("<" + nodeName + ">").appendTo("body"), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6794 |
display = elem.css("display"); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6795 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6796 |
elem.remove(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6797 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6798 |
if ( display === "none" || display === "" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6799 |
display = "block"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6800 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6801 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6802 |
elemdisplay[ nodeName ] = display; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6803 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6804 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6805 |
return elemdisplay[ nodeName ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6806 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6807 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6808 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6809 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6810 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6811 |
var rtable = /^t(?:able|d|h)$/i, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6812 |
rroot = /^(?:body|html)$/i; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6813 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6814 |
if ( "getBoundingClientRect" in document.documentElement ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6815 |
jQuery.fn.offset = function( options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6816 |
var elem = this[0], box; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6817 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6818 |
if ( options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6819 |
return this.each(function( i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6820 |
jQuery.offset.setOffset( this, options, i ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6821 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6822 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6823 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6824 |
if ( !elem || !elem.ownerDocument ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6825 |
return null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6826 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6827 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6828 |
if ( elem === elem.ownerDocument.body ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6829 |
return jQuery.offset.bodyOffset( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6830 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6831 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6832 |
try { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6833 |
box = elem.getBoundingClientRect(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6834 |
} catch(e) {} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6835 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6836 |
var doc = elem.ownerDocument, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6837 |
docElem = doc.documentElement; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6838 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6839 |
// Make sure we're not dealing with a disconnected DOM node |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6840 |
if ( !box || !jQuery.contains( docElem, elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6841 |
return box || { top: 0, left: 0 }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6842 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6843 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6844 |
var body = doc.body, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6845 |
win = getWindow(doc), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6846 |
clientTop = docElem.clientTop || body.clientTop || 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6847 |
clientLeft = docElem.clientLeft || body.clientLeft || 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6848 |
scrollTop = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6849 |
scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6850 |
top = box.top + scrollTop - clientTop, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6851 |
left = box.left + scrollLeft - clientLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6852 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6853 |
return { top: top, left: left }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6854 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6855 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6856 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6857 |
jQuery.fn.offset = function( options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6858 |
var elem = this[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6859 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6860 |
if ( options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6861 |
return this.each(function( i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6862 |
jQuery.offset.setOffset( this, options, i ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6863 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6864 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6865 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6866 |
if ( !elem || !elem.ownerDocument ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6867 |
return null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6868 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6869 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6870 |
if ( elem === elem.ownerDocument.body ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6871 |
return jQuery.offset.bodyOffset( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6872 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6873 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6874 |
jQuery.offset.initialize(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6875 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6876 |
var computedStyle, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6877 |
offsetParent = elem.offsetParent, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6878 |
prevOffsetParent = elem, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6879 |
doc = elem.ownerDocument, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6880 |
docElem = doc.documentElement, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6881 |
body = doc.body, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6882 |
defaultView = doc.defaultView, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6883 |
prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6884 |
top = elem.offsetTop, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6885 |
left = elem.offsetLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6886 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6887 |
while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6888 |
if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6889 |
break; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6890 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6891 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6892 |
computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6893 |
top -= elem.scrollTop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6894 |
left -= elem.scrollLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6895 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6896 |
if ( elem === offsetParent ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6897 |
top += elem.offsetTop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6898 |
left += elem.offsetLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6899 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6900 |
if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6901 |
top += parseFloat( computedStyle.borderTopWidth ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6902 |
left += parseFloat( computedStyle.borderLeftWidth ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6903 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6904 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6905 |
prevOffsetParent = offsetParent; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6906 |
offsetParent = elem.offsetParent; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6907 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6908 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6909 |
if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6910 |
top += parseFloat( computedStyle.borderTopWidth ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6911 |
left += parseFloat( computedStyle.borderLeftWidth ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6912 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6913 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6914 |
prevComputedStyle = computedStyle; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6915 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6916 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6917 |
if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6918 |
top += body.offsetTop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6919 |
left += body.offsetLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6920 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6921 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6922 |
if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6923 |
top += Math.max( docElem.scrollTop, body.scrollTop ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6924 |
left += Math.max( docElem.scrollLeft, body.scrollLeft ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6925 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6926 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6927 |
return { top: top, left: left }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6928 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6929 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6930 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6931 |
jQuery.offset = { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6932 |
initialize: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6933 |
var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.css(body, "marginTop") ) || 0, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6934 |
html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6935 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6936 |
jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6937 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6938 |
container.innerHTML = html; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6939 |
body.insertBefore( container, body.firstChild ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6940 |
innerDiv = container.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6941 |
checkDiv = innerDiv.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6942 |
td = innerDiv.nextSibling.firstChild.firstChild; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6943 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6944 |
this.doesNotAddBorder = (checkDiv.offsetTop !== 5); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6945 |
this.doesAddBorderForTableAndCells = (td.offsetTop === 5); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6946 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6947 |
checkDiv.style.position = "fixed"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6948 |
checkDiv.style.top = "20px"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6949 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6950 |
// safari subtracts parent border width here which is 5px |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6951 |
this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6952 |
checkDiv.style.position = checkDiv.style.top = ""; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6953 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6954 |
innerDiv.style.overflow = "hidden"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6955 |
innerDiv.style.position = "relative"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6956 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6957 |
this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6958 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6959 |
this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6960 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6961 |
body.removeChild( container ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6962 |
body = container = innerDiv = checkDiv = table = td = null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6963 |
jQuery.offset.initialize = jQuery.noop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6964 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6965 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6966 |
bodyOffset: function( body ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6967 |
var top = body.offsetTop, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6968 |
left = body.offsetLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6969 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6970 |
jQuery.offset.initialize(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6971 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6972 |
if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6973 |
top += parseFloat( jQuery.css(body, "marginTop") ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6974 |
left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6975 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6976 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6977 |
return { top: top, left: left }; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6978 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6979 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6980 |
setOffset: function( elem, options, i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6981 |
var position = jQuery.css( elem, "position" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6982 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6983 |
// set position first, in-case top/left are set even on static elem |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6984 |
if ( position === "static" ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6985 |
elem.style.position = "relative"; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6986 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6987 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6988 |
var curElem = jQuery( elem ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6989 |
curOffset = curElem.offset(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6990 |
curCSSTop = jQuery.css( elem, "top" ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6991 |
curCSSLeft = jQuery.css( elem, "left" ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6992 |
calculatePosition = (position === "absolute" && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6993 |
props = {}, curPosition = {}, curTop, curLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6994 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6995 |
// need to be able to calculate position if either top or left is auto and position is absolute |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6996 |
if ( calculatePosition ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6997 |
curPosition = curElem.position(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6998 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6999 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7000 |
curTop = calculatePosition ? curPosition.top : parseInt( curCSSTop, 10 ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7001 |
curLeft = calculatePosition ? curPosition.left : parseInt( curCSSLeft, 10 ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7002 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7003 |
if ( jQuery.isFunction( options ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7004 |
options = options.call( elem, i, curOffset ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7005 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7006 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7007 |
if (options.top != null) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7008 |
props.top = (options.top - curOffset.top) + curTop; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7009 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7010 |
if (options.left != null) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7011 |
props.left = (options.left - curOffset.left) + curLeft; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7012 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7013 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7014 |
if ( "using" in options ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7015 |
options.using.call( elem, props ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7016 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7017 |
curElem.css( props ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7018 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7019 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7020 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7021 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7022 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7023 |
jQuery.fn.extend({ |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7024 |
position: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7025 |
if ( !this[0] ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7026 |
return null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7027 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7028 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7029 |
var elem = this[0], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7030 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7031 |
// Get *real* offsetParent |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7032 |
offsetParent = this.offsetParent(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7033 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7034 |
// Get correct offsets |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7035 |
offset = this.offset(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7036 |
parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7037 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7038 |
// Subtract element margins |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7039 |
// note: when an element has margin: auto the offsetLeft and marginLeft |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7040 |
// are the same in Safari causing offset.left to incorrectly be 0 |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7041 |
offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7042 |
offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7043 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7044 |
// Add offsetParent borders |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7045 |
parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7046 |
parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7047 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7048 |
// Subtract the two offsets |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7049 |
return { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7050 |
top: offset.top - parentOffset.top, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7051 |
left: offset.left - parentOffset.left |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7052 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7053 |
}, |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7054 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7055 |
offsetParent: function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7056 |
return this.map(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7057 |
var offsetParent = this.offsetParent || document.body; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7058 |
while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7059 |
offsetParent = offsetParent.offsetParent; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7060 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7061 |
return offsetParent; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7062 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7063 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7064 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7065 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7066 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7067 |
// Create scrollLeft and scrollTop methods |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7068 |
jQuery.each( ["Left", "Top"], function( i, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7069 |
var method = "scroll" + name; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7070 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7071 |
jQuery.fn[ method ] = function(val) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7072 |
var elem = this[0], win; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7073 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7074 |
if ( !elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7075 |
return null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7076 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7077 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7078 |
if ( val !== undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7079 |
// Set the scroll offset |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7080 |
return this.each(function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7081 |
win = getWindow( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7082 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7083 |
if ( win ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7084 |
win.scrollTo( |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7085 |
!i ? val : jQuery(win).scrollLeft(), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7086 |
i ? val : jQuery(win).scrollTop() |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7087 |
); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7088 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7089 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7090 |
this[ method ] = val; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7091 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7092 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7093 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7094 |
win = getWindow( elem ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7095 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7096 |
// Return the scroll offset |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7097 |
return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7098 |
jQuery.support.boxModel && win.document.documentElement[ method ] || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7099 |
win.document.body[ method ] : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7100 |
elem[ method ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7101 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7102 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7103 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7104 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7105 |
function getWindow( elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7106 |
return jQuery.isWindow( elem ) ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7107 |
elem : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7108 |
elem.nodeType === 9 ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7109 |
elem.defaultView || elem.parentWindow : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7110 |
false; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7111 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7112 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7113 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7114 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7115 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7116 |
// Create innerHeight, innerWidth, outerHeight and outerWidth methods |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7117 |
jQuery.each([ "Height", "Width" ], function( i, name ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7118 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7119 |
var type = name.toLowerCase(); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7120 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7121 |
// innerHeight and innerWidth |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7122 |
jQuery.fn["inner" + name] = function() { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7123 |
return this[0] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7124 |
parseFloat( jQuery.css( this[0], type, "padding" ) ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7125 |
null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7126 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7127 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7128 |
// outerHeight and outerWidth |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7129 |
jQuery.fn["outer" + name] = function( margin ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7130 |
return this[0] ? |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7131 |
parseFloat( jQuery.css( this[0], type, margin ? "margin" : "border" ) ) : |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7132 |
null; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7133 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7134 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7135 |
jQuery.fn[ type ] = function( size ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7136 |
// Get window width or height |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7137 |
var elem = this[0]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7138 |
if ( !elem ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7139 |
return size == null ? null : this; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7140 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7141 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7142 |
if ( jQuery.isFunction( size ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7143 |
return this.each(function( i ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7144 |
var self = jQuery( this ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7145 |
self[ type ]( size.call( this, i, self[ type ]() ) ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7146 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7147 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7148 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7149 |
if ( jQuery.isWindow( elem ) ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7150 |
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7151 |
return elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] || |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7152 |
elem.document.body[ "client" + name ]; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7153 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7154 |
// Get document width or height |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7155 |
} else if ( elem.nodeType === 9 ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7156 |
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7157 |
return Math.max( |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7158 |
elem.documentElement["client" + name], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7159 |
elem.body["scroll" + name], elem.documentElement["scroll" + name], |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7160 |
elem.body["offset" + name], elem.documentElement["offset" + name] |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7161 |
); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7162 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7163 |
// Get or set width or height on the element |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7164 |
} else if ( size === undefined ) { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7165 |
var orig = jQuery.css( elem, type ), |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7166 |
ret = parseFloat( orig ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7167 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7168 |
return jQuery.isNaN( ret ) ? orig : ret; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7169 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7170 |
// Set the width or height on the element (default to pixels if value is unitless) |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7171 |
} else { |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7172 |
return this.css( type, typeof size === "string" ? size : size + "px" ); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7173 |
} |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7174 |
}; |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7175 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7176 |
}); |
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7177 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7178 |
|
c68ca09b08b9
Add external javascript libraries under ext/
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7179 |
})(window); |