Mercurial > scratch
annotate jquery.js @ 24:dace90a7f5e3
Added a 'jsexposed' decorator and, for security purposes, required that __jsexposed__ be True on all callables passed into JS-land as well.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Mon, 07 Sep 2009 16:53:41 -0700 |
parents | 05f467a83cb9 |
children |
rev | line source |
---|---|
8
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1 /*! |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2 * jQuery JavaScript Library v1.3.1 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3 * http://jquery.com/ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4 * |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
5 * Copyright (c) 2009 John Resig |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
6 * Dual licensed under the MIT and GPL licenses. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
7 * http://docs.jquery.com/License |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
8 * |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
9 * Date: 2009-01-21 20:42:16 -0500 (Wed, 21 Jan 2009) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
10 * Revision: 6158 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
11 */ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
12 (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
13 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
14 var |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
15 // Will speed up references to window, and allows munging its name. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
16 window = this, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
17 // Will speed up references to undefined, and allows munging its name. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
18 undefined, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
19 // Map over jQuery in case of overwrite |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
20 _jQuery = window.jQuery, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
21 // Map over the $ in case of overwrite |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
22 _$ = window.$, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
23 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
24 jQuery = window.jQuery = window.$ = function( selector, context ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
25 // The jQuery object is actually just the init constructor 'enhanced' |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
26 return new jQuery.fn.init( selector, context ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
27 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
28 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
29 // A simple way to check for HTML strings or ID strings |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
30 // (both of which we optimize for) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
31 quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
32 // Is it a simple selector |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
33 isSimple = /^.[^:#\[\.,]*$/; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
34 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
35 jQuery.fn = jQuery.prototype = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
36 init: function( selector, context ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
37 // Make sure that a selection was provided |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
38 selector = selector || document; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
39 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
40 // Handle $(DOMElement) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
41 if ( selector.nodeType ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
42 this[0] = selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
43 this.length = 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
44 this.context = selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
45 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
46 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
47 // Handle HTML strings |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
48 if ( typeof selector === "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
49 // Are we dealing with HTML string or an ID? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
50 var match = quickExpr.exec( selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
51 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
52 // Verify a match, and that no context was specified for #id |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
53 if ( match && (match[1] || !context) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
54 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
55 // HANDLE: $(html) -> $(array) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
56 if ( match[1] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
57 selector = jQuery.clean( [ match[1] ], context ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
58 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
59 // HANDLE: $("#id") |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
60 else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
61 var elem = document.getElementById( match[3] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
62 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
63 // Handle the case where IE and Opera return items |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
64 // by name instead of ID |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
65 if ( elem && elem.id != match[3] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
66 return jQuery().find( selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
67 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
68 // Otherwise, we inject the element directly into the jQuery object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
69 var ret = jQuery( elem || [] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
70 ret.context = document; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
71 ret.selector = selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
72 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
73 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
74 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
75 // HANDLE: $(expr, [context]) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
76 // (which is just equivalent to: $(content).find(expr) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
77 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
78 return jQuery( context ).find( selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
79 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
80 // HANDLE: $(function) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
81 // Shortcut for document ready |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
82 } else if ( jQuery.isFunction( selector ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
83 return jQuery( document ).ready( selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
84 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
85 // Make sure that old selector state is passed along |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
86 if ( selector.selector && selector.context ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
87 this.selector = selector.selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
88 this.context = selector.context; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
89 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
90 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
91 return this.setArray(jQuery.makeArray(selector)); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
92 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
93 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
94 // Start with an empty selector |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
95 selector: "", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
96 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
97 // The current version of jQuery being used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
98 jquery: "1.3.1", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
99 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
100 // The number of elements contained in the matched element set |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
101 size: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
102 return this.length; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
103 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
104 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
105 // Get the Nth element in the matched element set OR |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
106 // Get the whole matched element set as a clean array |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
107 get: function( num ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
108 return num === undefined ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
109 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
110 // Return a 'clean' array |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
111 jQuery.makeArray( this ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
112 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
113 // Return just the object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
114 this[ num ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
115 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
116 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
117 // Take an array of elements and push it onto the stack |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
118 // (returning the new matched element set) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
119 pushStack: function( elems, name, selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
120 // Build a new jQuery matched element set |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
121 var ret = jQuery( elems ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
122 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
123 // Add the old object onto the stack (as a reference) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
124 ret.prevObject = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
125 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
126 ret.context = this.context; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
127 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
128 if ( name === "find" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
129 ret.selector = this.selector + (this.selector ? " " : "") + selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
130 else if ( name ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
131 ret.selector = this.selector + "." + name + "(" + selector + ")"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
132 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
133 // Return the newly-formed element set |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
134 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
135 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
136 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
137 // Force the current matched set of elements to become |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
138 // the specified array of elements (destroying the stack in the process) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
139 // You should use pushStack() in order to do this, but maintain the stack |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
140 setArray: function( elems ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
141 // Resetting the length to 0, then using the native Array push |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
142 // is a super-fast way to populate an object with array-like properties |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
143 this.length = 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
144 Array.prototype.push.apply( this, elems ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
145 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
146 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
147 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
148 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
149 // Execute a callback for every element in the matched set. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
150 // (You can seed the arguments with an array of args, but this is |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
151 // only used internally.) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
152 each: function( callback, args ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
153 return jQuery.each( this, callback, args ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
154 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
155 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
156 // Determine the position of an element within |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
157 // the matched set of elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
158 index: function( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
159 // Locate the position of the desired element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
160 return jQuery.inArray( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
161 // If it receives a jQuery object, the first element is used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
162 elem && elem.jquery ? elem[0] : elem |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
163 , this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
164 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
165 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
166 attr: function( name, value, type ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
167 var options = name; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
168 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
169 // Look for the case where we're accessing a style value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
170 if ( typeof name === "string" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
171 if ( value === undefined ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
172 return this[0] && jQuery[ type || "attr" ]( this[0], name ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
173 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
174 else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
175 options = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
176 options[ name ] = value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
177 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
178 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
179 // Check to see if we're setting style values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
180 return this.each(function(i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
181 // Set all the styles |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
182 for ( name in options ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
183 jQuery.attr( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
184 type ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
185 this.style : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
186 this, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
187 name, jQuery.prop( this, options[ name ], type, i, name ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
188 ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
189 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
190 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
191 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
192 css: function( key, value ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
193 // ignore negative width and height values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
194 if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
195 value = undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
196 return this.attr( key, value, "curCSS" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
197 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
198 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
199 text: function( text ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
200 if ( typeof text !== "object" && text != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
201 return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
202 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
203 var ret = ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
204 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
205 jQuery.each( text || this, function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
206 jQuery.each( this.childNodes, function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
207 if ( this.nodeType != 8 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
208 ret += this.nodeType != 1 ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
209 this.nodeValue : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
210 jQuery.fn.text( [ this ] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
211 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
212 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
213 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
214 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
215 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
216 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
217 wrapAll: function( html ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
218 if ( this[0] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
219 // The elements to wrap the target around |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
220 var wrap = jQuery( html, this[0].ownerDocument ).clone(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
221 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
222 if ( this[0].parentNode ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
223 wrap.insertBefore( this[0] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
224 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
225 wrap.map(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
226 var elem = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
227 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
228 while ( elem.firstChild ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
229 elem = elem.firstChild; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
230 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
231 return elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
232 }).append(this); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
233 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
234 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
235 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
236 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
237 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
238 wrapInner: function( html ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
239 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
240 jQuery( this ).contents().wrapAll( html ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
241 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
242 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
243 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
244 wrap: function( html ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
245 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
246 jQuery( this ).wrapAll( html ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
247 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
248 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
249 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
250 append: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
251 return this.domManip(arguments, true, function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
252 if (this.nodeType == 1) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
253 this.appendChild( elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
254 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
255 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
256 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
257 prepend: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
258 return this.domManip(arguments, true, function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
259 if (this.nodeType == 1) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
260 this.insertBefore( elem, this.firstChild ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
261 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
262 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
263 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
264 before: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
265 return this.domManip(arguments, false, function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
266 this.parentNode.insertBefore( elem, this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
267 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
268 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
269 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
270 after: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
271 return this.domManip(arguments, false, function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
272 this.parentNode.insertBefore( elem, this.nextSibling ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
273 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
274 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
275 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
276 end: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
277 return this.prevObject || jQuery( [] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
278 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
279 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
280 // For internal use only. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
281 // Behaves like an Array's .push method, not like a jQuery method. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
282 push: [].push, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
283 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
284 find: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
285 if ( this.length === 1 && !/,/.test(selector) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
286 var ret = this.pushStack( [], "find", selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
287 ret.length = 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
288 jQuery.find( selector, this[0], ret ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
289 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
290 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
291 var elems = jQuery.map(this, function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
292 return jQuery.find( selector, elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
293 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
294 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
295 return this.pushStack( /[^+>] [^+>]/.test( selector ) ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
296 jQuery.unique( elems ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
297 elems, "find", selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
298 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
299 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
300 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
301 clone: function( events ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
302 // Do the clone |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
303 var ret = this.map(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
304 if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
305 // IE copies events bound via attachEvent when |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
306 // using cloneNode. Calling detachEvent on the |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
307 // clone will also remove the events from the orignal |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
308 // In order to get around this, we use innerHTML. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
309 // Unfortunately, this means some modifications to |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
310 // attributes in IE that are actually only stored |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
311 // as properties will not be copied (such as the |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
312 // the name attribute on an input). |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
313 var clone = this.cloneNode(true), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
314 container = document.createElement("div"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
315 container.appendChild(clone); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
316 return jQuery.clean([container.innerHTML])[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
317 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
318 return this.cloneNode(true); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
319 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
320 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
321 // Need to set the expando to null on the cloned set if it exists |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
322 // removeData doesn't work here, IE removes it from the original as well |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
323 // this is primarily for IE but the data expando shouldn't be copied over in any browser |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
324 var clone = ret.find("*").andSelf().each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
325 if ( this[ expando ] !== undefined ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
326 this[ expando ] = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
327 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
328 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
329 // Copy the events from the original to the clone |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
330 if ( events === true ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
331 this.find("*").andSelf().each(function(i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
332 if (this.nodeType == 3) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
333 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
334 var events = jQuery.data( this, "events" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
335 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
336 for ( var type in events ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
337 for ( var handler in events[ type ] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
338 jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
339 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
340 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
341 // Return the cloned set |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
342 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
343 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
344 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
345 filter: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
346 return this.pushStack( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
347 jQuery.isFunction( selector ) && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
348 jQuery.grep(this, function(elem, i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
349 return selector.call( elem, i ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
350 }) || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
351 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
352 jQuery.multiFilter( selector, jQuery.grep(this, function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
353 return elem.nodeType === 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
354 }) ), "filter", selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
355 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
356 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
357 closest: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
358 var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
359 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
360 return this.map(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
361 var cur = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
362 while ( cur && cur.ownerDocument ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
363 if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
364 return cur; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
365 cur = cur.parentNode; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
366 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
367 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
368 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
369 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
370 not: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
371 if ( typeof selector === "string" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
372 // test special case where just one selector is passed in |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
373 if ( isSimple.test( selector ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
374 return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
375 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
376 selector = jQuery.multiFilter( selector, this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
377 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
378 var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
379 return this.filter(function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
380 return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
381 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
382 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
383 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
384 add: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
385 return this.pushStack( jQuery.unique( jQuery.merge( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
386 this.get(), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
387 typeof selector === "string" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
388 jQuery( selector ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
389 jQuery.makeArray( selector ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
390 ))); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
391 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
392 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
393 is: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
394 return !!selector && jQuery.multiFilter( selector, this ).length > 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
395 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
396 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
397 hasClass: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
398 return !!selector && this.is( "." + selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
399 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
400 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
401 val: function( value ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
402 if ( value === undefined ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
403 var elem = this[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
404 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
405 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
406 if( jQuery.nodeName( elem, 'option' ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
407 return (elem.attributes.value || {}).specified ? elem.value : elem.text; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
408 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
409 // We need to handle select boxes special |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
410 if ( jQuery.nodeName( elem, "select" ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
411 var index = elem.selectedIndex, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
412 values = [], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
413 options = elem.options, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
414 one = elem.type == "select-one"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
415 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
416 // Nothing was selected |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
417 if ( index < 0 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
418 return null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
419 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
420 // Loop through all the selected options |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
421 for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
422 var option = options[ i ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
423 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
424 if ( option.selected ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
425 // Get the specifc value for the option |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
426 value = jQuery(option).val(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
427 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
428 // We don't need an array for one selects |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
429 if ( one ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
430 return value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
431 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
432 // Multi-Selects return an array |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
433 values.push( value ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
434 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
435 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
436 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
437 return values; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
438 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
439 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
440 // Everything else, we just grab the value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
441 return (elem.value || "").replace(/\r/g, ""); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
442 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
443 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
444 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
445 return undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
446 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
447 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
448 if ( typeof value === "number" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
449 value += ''; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
450 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
451 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
452 if ( this.nodeType != 1 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
453 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
454 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
455 if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
456 this.checked = (jQuery.inArray(this.value, value) >= 0 || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
457 jQuery.inArray(this.name, value) >= 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
458 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
459 else if ( jQuery.nodeName( this, "select" ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
460 var values = jQuery.makeArray(value); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
461 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
462 jQuery( "option", this ).each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
463 this.selected = (jQuery.inArray( this.value, values ) >= 0 || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
464 jQuery.inArray( this.text, values ) >= 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
465 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
466 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
467 if ( !values.length ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
468 this.selectedIndex = -1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
469 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
470 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
471 this.value = value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
472 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
473 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
474 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
475 html: function( value ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
476 return value === undefined ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
477 (this[0] ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
478 this[0].innerHTML : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
479 null) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
480 this.empty().append( value ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
481 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
482 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
483 replaceWith: function( value ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
484 return this.after( value ).remove(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
485 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
486 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
487 eq: function( i ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
488 return this.slice( i, +i + 1 ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
489 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
490 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
491 slice: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
492 return this.pushStack( Array.prototype.slice.apply( this, arguments ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
493 "slice", Array.prototype.slice.call(arguments).join(",") ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
494 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
495 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
496 map: function( callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
497 return this.pushStack( jQuery.map(this, function(elem, i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
498 return callback.call( elem, i, elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
499 })); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
500 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
501 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
502 andSelf: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
503 return this.add( this.prevObject ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
504 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
505 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
506 domManip: function( args, table, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
507 if ( this[0] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
508 var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
509 scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
510 first = fragment.firstChild, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
511 extra = this.length > 1 ? fragment.cloneNode(true) : fragment; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
512 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
513 if ( first ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
514 for ( var i = 0, l = this.length; i < l; i++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
515 callback.call( root(this[i], first), i > 0 ? extra.cloneNode(true) : fragment ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
516 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
517 if ( scripts ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
518 jQuery.each( scripts, evalScript ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
519 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
520 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
521 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
522 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
523 function root( elem, cur ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
524 return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
525 (elem.getElementsByTagName("tbody")[0] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
526 elem.appendChild(elem.ownerDocument.createElement("tbody"))) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
527 elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
528 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
529 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
530 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
531 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
532 // Give the init function the jQuery prototype for later instantiation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
533 jQuery.fn.init.prototype = jQuery.fn; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
534 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
535 function evalScript( i, elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
536 if ( elem.src ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
537 jQuery.ajax({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
538 url: elem.src, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
539 async: false, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
540 dataType: "script" |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
541 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
542 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
543 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
544 jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
545 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
546 if ( elem.parentNode ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
547 elem.parentNode.removeChild( elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
548 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
549 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
550 function now(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
551 return +new Date; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
552 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
553 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
554 jQuery.extend = jQuery.fn.extend = function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
555 // copy reference to target object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
556 var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
557 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
558 // Handle a deep copy situation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
559 if ( typeof target === "boolean" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
560 deep = target; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
561 target = arguments[1] || {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
562 // skip the boolean and the target |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
563 i = 2; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
564 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
565 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
566 // Handle case when target is a string or something (possible in deep copy) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
567 if ( typeof target !== "object" && !jQuery.isFunction(target) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
568 target = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
569 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
570 // extend jQuery itself if only one argument is passed |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
571 if ( length == i ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
572 target = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
573 --i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
574 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
575 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
576 for ( ; i < length; i++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
577 // Only deal with non-null/undefined values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
578 if ( (options = arguments[ i ]) != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
579 // Extend the base object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
580 for ( var name in options ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
581 var src = target[ name ], copy = options[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
582 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
583 // Prevent never-ending loop |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
584 if ( target === copy ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
585 continue; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
586 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
587 // Recurse if we're merging object values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
588 if ( deep && copy && typeof copy === "object" && !copy.nodeType ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
589 target[ name ] = jQuery.extend( deep, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
590 // Never move original objects, clone them |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
591 src || ( copy.length != null ? [ ] : { } ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
592 , copy ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
593 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
594 // Don't bring in undefined values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
595 else if ( copy !== undefined ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
596 target[ name ] = copy; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
597 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
598 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
599 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
600 // Return the modified object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
601 return target; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
602 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
603 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
604 // exclude the following css properties to add px |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
605 var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
606 // cache defaultView |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
607 defaultView = document.defaultView || {}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
608 toString = Object.prototype.toString; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
609 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
610 jQuery.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
611 noConflict: function( deep ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
612 window.$ = _$; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
613 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
614 if ( deep ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
615 window.jQuery = _jQuery; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
616 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
617 return jQuery; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
618 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
619 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
620 // See test/unit/core.js for details concerning isFunction. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
621 // Since version 1.3, DOM methods and functions like alert |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
622 // aren't supported. They return false on IE (#2968). |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
623 isFunction: function( obj ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
624 return toString.call(obj) === "[object Function]"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
625 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
626 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
627 isArray: function( obj ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
628 return toString.call(obj) === "[object Array]"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
629 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
630 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
631 // check if an element is in a (or is an) XML document |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
632 isXMLDoc: function( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
633 return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
634 !!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
635 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
636 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
637 // Evalulates a script in a global context |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
638 globalEval: function( data ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
639 data = jQuery.trim( data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
640 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
641 if ( data ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
642 // Inspired by code by Andrea Giammarchi |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
643 // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
644 var head = document.getElementsByTagName("head")[0] || document.documentElement, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
645 script = document.createElement("script"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
646 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
647 script.type = "text/javascript"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
648 if ( jQuery.support.scriptEval ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
649 script.appendChild( document.createTextNode( data ) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
650 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
651 script.text = data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
652 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
653 // Use insertBefore instead of appendChild to circumvent an IE6 bug. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
654 // This arises when a base node is used (#2709). |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
655 head.insertBefore( script, head.firstChild ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
656 head.removeChild( script ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
657 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
658 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
659 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
660 nodeName: function( elem, name ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
661 return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
662 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
663 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
664 // args is for internal usage only |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
665 each: function( object, callback, args ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
666 var name, i = 0, length = object.length; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
667 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
668 if ( args ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
669 if ( length === undefined ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
670 for ( name in object ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
671 if ( callback.apply( object[ name ], args ) === false ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
672 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
673 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
674 for ( ; i < length; ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
675 if ( callback.apply( object[ i++ ], args ) === false ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
676 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
677 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
678 // A special, fast, case for the most common use of each |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
679 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
680 if ( length === undefined ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
681 for ( name in object ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
682 if ( callback.call( object[ name ], name, object[ name ] ) === false ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
683 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
684 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
685 for ( var value = object[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
686 i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
687 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
688 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
689 return object; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
690 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
691 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
692 prop: function( elem, value, type, i, name ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
693 // Handle executable functions |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
694 if ( jQuery.isFunction( value ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
695 value = value.call( elem, i ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
696 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
697 // Handle passing in a number to a CSS property |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
698 return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
699 value + "px" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
700 value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
701 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
702 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
703 className: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
704 // internal only, use addClass("class") |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
705 add: function( elem, classNames ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
706 jQuery.each((classNames || "").split(/\s+/), function(i, className){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
707 if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
708 elem.className += (elem.className ? " " : "") + className; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
709 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
710 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
711 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
712 // internal only, use removeClass("class") |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
713 remove: function( elem, classNames ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
714 if (elem.nodeType == 1) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
715 elem.className = classNames !== undefined ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
716 jQuery.grep(elem.className.split(/\s+/), function(className){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
717 return !jQuery.className.has( classNames, className ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
718 }).join(" ") : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
719 ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
720 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
721 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
722 // internal only, use hasClass("class") |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
723 has: function( elem, className ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
724 return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
725 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
726 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
727 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
728 // A method for quickly swapping in/out CSS properties to get correct calculations |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
729 swap: function( elem, options, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
730 var old = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
731 // Remember the old values, and insert the new ones |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
732 for ( var name in options ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
733 old[ name ] = elem.style[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
734 elem.style[ name ] = options[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
735 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
736 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
737 callback.call( elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
738 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
739 // Revert the old values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
740 for ( var name in options ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
741 elem.style[ name ] = old[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
742 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
743 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
744 css: function( elem, name, force ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
745 if ( name == "width" || name == "height" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
746 var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
747 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
748 function getWH() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
749 val = name == "width" ? elem.offsetWidth : elem.offsetHeight; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
750 var padding = 0, border = 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
751 jQuery.each( which, function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
752 padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
753 border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
754 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
755 val -= Math.round(padding + border); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
756 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
757 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
758 if ( jQuery(elem).is(":visible") ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
759 getWH(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
760 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
761 jQuery.swap( elem, props, getWH ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
762 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
763 return Math.max(0, val); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
764 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
765 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
766 return jQuery.curCSS( elem, name, force ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
767 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
768 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
769 curCSS: function( elem, name, force ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
770 var ret, style = elem.style; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
771 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
772 // We need to handle opacity special in IE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
773 if ( name == "opacity" && !jQuery.support.opacity ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
774 ret = jQuery.attr( style, "opacity" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
775 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
776 return ret == "" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
777 "1" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
778 ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
779 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
780 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
781 // Make sure we're using the right name for getting the float value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
782 if ( name.match( /float/i ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
783 name = styleFloat; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
784 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
785 if ( !force && style && style[ name ] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
786 ret = style[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
787 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
788 else if ( defaultView.getComputedStyle ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
789 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
790 // Only "float" is needed here |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
791 if ( name.match( /float/i ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
792 name = "float"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
793 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
794 name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
795 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
796 var computedStyle = defaultView.getComputedStyle( elem, null ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
797 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
798 if ( computedStyle ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
799 ret = computedStyle.getPropertyValue( name ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
800 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
801 // We should always get a number back from opacity |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
802 if ( name == "opacity" && ret == "" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
803 ret = "1"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
804 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
805 } else if ( elem.currentStyle ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
806 var camelCase = name.replace(/\-(\w)/g, function(all, letter){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
807 return letter.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
808 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
809 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
810 ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
811 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
812 // From the awesome hack by Dean Edwards |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
813 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
814 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
815 // If we're not dealing with a regular pixel number |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
816 // but a number that has a weird ending, we need to convert it to pixels |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
817 if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
818 // Remember the original values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
819 var left = style.left, rsLeft = elem.runtimeStyle.left; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
820 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
821 // Put in the new values to get a computed value out |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
822 elem.runtimeStyle.left = elem.currentStyle.left; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
823 style.left = ret || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
824 ret = style.pixelLeft + "px"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
825 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
826 // Revert the changed values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
827 style.left = left; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
828 elem.runtimeStyle.left = rsLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
829 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
830 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
831 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
832 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
833 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
834 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
835 clean: function( elems, context, fragment ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
836 context = context || document; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
837 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
838 // !context.createElement fails in IE with an error but returns typeof 'object' |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
839 if ( typeof context.createElement === "undefined" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
840 context = context.ownerDocument || context[0] && context[0].ownerDocument || document; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
841 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
842 // If a single string is passed in and it's a single tag |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
843 // just do a createElement and skip the rest |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
844 if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
845 var match = /^<(\w+)\s*\/?>$/.exec(elems[0]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
846 if ( match ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
847 return [ context.createElement( match[1] ) ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
848 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
849 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
850 var ret = [], scripts = [], div = context.createElement("div"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
851 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
852 jQuery.each(elems, function(i, elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
853 if ( typeof elem === "number" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
854 elem += ''; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
855 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
856 if ( !elem ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
857 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
858 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
859 // Convert html string into DOM nodes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
860 if ( typeof elem === "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
861 // Fix "XHTML"-style tags in all browsers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
862 elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
863 return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
864 all : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
865 front + "></" + tag + ">"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
866 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
867 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
868 // Trim whitespace, otherwise indexOf won't work as expected |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
869 var tags = jQuery.trim( elem ).toLowerCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
870 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
871 var wrap = |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
872 // option or optgroup |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
873 !tags.indexOf("<opt") && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
874 [ 1, "<select multiple='multiple'>", "</select>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
875 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
876 !tags.indexOf("<leg") && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
877 [ 1, "<fieldset>", "</fieldset>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
878 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
879 tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
880 [ 1, "<table>", "</table>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
881 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
882 !tags.indexOf("<tr") && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
883 [ 2, "<table><tbody>", "</tbody></table>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
884 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
885 // <thead> matched above |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
886 (!tags.indexOf("<td") || !tags.indexOf("<th")) && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
887 [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
888 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
889 !tags.indexOf("<col") && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
890 [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
891 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
892 // IE can't serialize <link> and <script> tags normally |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
893 !jQuery.support.htmlSerialize && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
894 [ 1, "div<div>", "</div>" ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
895 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
896 [ 0, "", "" ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
897 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
898 // Go to html and back, then peel off extra wrappers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
899 div.innerHTML = wrap[1] + elem + wrap[2]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
900 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
901 // Move to the right depth |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
902 while ( wrap[0]-- ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
903 div = div.lastChild; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
904 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
905 // Remove IE's autoinserted <tbody> from table fragments |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
906 if ( !jQuery.support.tbody ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
907 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
908 // String was a <table>, *may* have spurious <tbody> |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
909 var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
910 div.firstChild && div.firstChild.childNodes : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
911 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
912 // String was a bare <thead> or <tfoot> |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
913 wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
914 div.childNodes : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
915 []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
916 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
917 for ( var j = tbody.length - 1; j >= 0 ; --j ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
918 if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
919 tbody[ j ].parentNode.removeChild( tbody[ j ] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
920 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
921 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
922 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
923 // IE completely kills leading whitespace when innerHTML is used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
924 if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
925 div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
926 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
927 elem = jQuery.makeArray( div.childNodes ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
928 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
929 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
930 if ( elem.nodeType ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
931 ret.push( elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
932 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
933 ret = jQuery.merge( ret, elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
934 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
935 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
936 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
937 if ( fragment ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
938 for ( var i = 0; ret[i]; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
939 if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
940 scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
941 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
942 if ( ret[i].nodeType === 1 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
943 ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
944 fragment.appendChild( ret[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
945 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
946 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
947 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
948 return scripts; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
949 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
950 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
951 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
952 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
953 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
954 attr: function( elem, name, value ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
955 // don't set attributes on text and comment nodes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
956 if (!elem || elem.nodeType == 3 || elem.nodeType == 8) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
957 return undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
958 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
959 var notxml = !jQuery.isXMLDoc( elem ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
960 // Whether we are setting (or getting) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
961 set = value !== undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
962 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
963 // Try to normalize/fix the name |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
964 name = notxml && jQuery.props[ name ] || name; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
965 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
966 // Only do all the following if this is a node (faster for style) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
967 // IE elem.getAttribute passes even for style |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
968 if ( elem.tagName ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
969 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
970 // These attributes require special treatment |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
971 var special = /href|src|style/.test( name ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
972 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
973 // Safari mis-reports the default selected property of a hidden option |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
974 // Accessing the parent's selectedIndex property fixes it |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
975 if ( name == "selected" && elem.parentNode ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
976 elem.parentNode.selectedIndex; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
977 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
978 // If applicable, access the attribute via the DOM 0 way |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
979 if ( name in elem && notxml && !special ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
980 if ( set ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
981 // We can't allow the type property to be changed (since it causes problems in IE) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
982 if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
983 throw "type property can't be changed"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
984 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
985 elem[ name ] = value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
986 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
987 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
988 // browsers index elements by id/name on forms, give priority to attributes. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
989 if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
990 return elem.getAttributeNode( name ).nodeValue; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
991 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
992 // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
993 // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
994 if ( name == "tabIndex" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
995 var attributeNode = elem.getAttributeNode( "tabIndex" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
996 return attributeNode && attributeNode.specified |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
997 ? attributeNode.value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
998 : elem.nodeName.match(/(button|input|object|select|textarea)/i) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
999 ? 0 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1000 : elem.nodeName.match(/^(a|area)$/i) && elem.href |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1001 ? 0 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1002 : undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1003 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1004 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1005 return elem[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1006 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1007 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1008 if ( !jQuery.support.style && notxml && name == "style" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1009 return jQuery.attr( elem.style, "cssText", value ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1010 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1011 if ( set ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1012 // convert the value to a string (all browsers do this but IE) see #1070 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1013 elem.setAttribute( name, "" + value ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1014 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1015 var attr = !jQuery.support.hrefNormalized && notxml && special |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1016 // Some attributes require a special call on IE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1017 ? elem.getAttribute( name, 2 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1018 : elem.getAttribute( name ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1019 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1020 // Non-existent attributes return null, we normalize to undefined |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1021 return attr === null ? undefined : attr; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1022 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1023 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1024 // elem is actually elem.style ... set the style |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1025 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1026 // IE uses filters for opacity |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1027 if ( !jQuery.support.opacity && name == "opacity" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1028 if ( set ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1029 // IE has trouble with opacity if it does not have layout |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1030 // Force it by setting the zoom level |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1031 elem.zoom = 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1032 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1033 // Set the alpha filter to set the opacity |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1034 elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1035 (parseInt( value ) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1036 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1037 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1038 return elem.filter && elem.filter.indexOf("opacity=") >= 0 ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1039 (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '': |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1040 ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1041 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1042 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1043 name = name.replace(/-([a-z])/ig, function(all, letter){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1044 return letter.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1045 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1046 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1047 if ( set ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1048 elem[ name ] = value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1049 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1050 return elem[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1051 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1052 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1053 trim: function( text ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1054 return (text || "").replace( /^\s+|\s+$/g, "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1055 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1056 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1057 makeArray: function( array ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1058 var ret = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1059 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1060 if( array != null ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1061 var i = array.length; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1062 // The window, strings (and functions) also have 'length' |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1063 if( i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1064 ret[0] = array; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1065 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1066 while( i ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1067 ret[--i] = array[i]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1068 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1069 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1070 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1071 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1072 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1073 inArray: function( elem, array ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1074 for ( var i = 0, length = array.length; i < length; i++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1075 // Use === because on IE, window == document |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1076 if ( array[ i ] === elem ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1077 return i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1078 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1079 return -1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1080 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1081 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1082 merge: function( first, second ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1083 // We have to loop this way because IE & Opera overwrite the length |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1084 // expando of getElementsByTagName |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1085 var i = 0, elem, pos = first.length; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1086 // Also, we need to make sure that the correct elements are being returned |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1087 // (IE returns comment nodes in a '*' query) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1088 if ( !jQuery.support.getAll ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1089 while ( (elem = second[ i++ ]) != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1090 if ( elem.nodeType != 8 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1091 first[ pos++ ] = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1092 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1093 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1094 while ( (elem = second[ i++ ]) != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1095 first[ pos++ ] = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1096 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1097 return first; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1098 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1099 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1100 unique: function( array ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1101 var ret = [], done = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1102 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1103 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1104 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1105 for ( var i = 0, length = array.length; i < length; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1106 var id = jQuery.data( array[ i ] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1107 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1108 if ( !done[ id ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1109 done[ id ] = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1110 ret.push( array[ i ] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1111 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1112 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1113 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1114 } catch( e ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1115 ret = array; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1116 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1117 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1118 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1119 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1120 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1121 grep: function( elems, callback, inv ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1122 var ret = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1123 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1124 // Go through the array, only saving the items |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1125 // that pass the validator function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1126 for ( var i = 0, length = elems.length; i < length; i++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1127 if ( !inv != !callback( elems[ i ], i ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1128 ret.push( elems[ i ] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1129 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1130 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1131 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1132 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1133 map: function( elems, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1134 var ret = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1135 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1136 // Go through the array, translating each of the items to their |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1137 // new value (or values). |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1138 for ( var i = 0, length = elems.length; i < length; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1139 var value = callback( elems[ i ], i ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1140 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1141 if ( value != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1142 ret[ ret.length ] = value; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1143 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1144 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1145 return ret.concat.apply( [], ret ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1146 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1147 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1148 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1149 // Use of jQuery.browser is deprecated. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1150 // It's included for backwards compatibility and plugins, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1151 // although they should work to migrate away. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1152 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1153 var userAgent = navigator.userAgent.toLowerCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1154 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1155 // Figure out what browser is being used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1156 jQuery.browser = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1157 version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1158 safari: /webkit/.test( userAgent ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1159 opera: /opera/.test( userAgent ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1160 msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1161 mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1162 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1163 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1164 jQuery.each({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1165 parent: function(elem){return elem.parentNode;}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1166 parents: function(elem){return jQuery.dir(elem,"parentNode");}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1167 next: function(elem){return jQuery.nth(elem,2,"nextSibling");}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1168 prev: function(elem){return jQuery.nth(elem,2,"previousSibling");}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1169 nextAll: function(elem){return jQuery.dir(elem,"nextSibling");}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1170 prevAll: function(elem){return jQuery.dir(elem,"previousSibling");}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1171 siblings: function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1172 children: function(elem){return jQuery.sibling(elem.firstChild);}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1173 contents: function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1174 }, function(name, fn){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1175 jQuery.fn[ name ] = function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1176 var ret = jQuery.map( this, fn ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1177 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1178 if ( selector && typeof selector == "string" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1179 ret = jQuery.multiFilter( selector, ret ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1180 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1181 return this.pushStack( jQuery.unique( ret ), name, selector ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1182 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1183 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1184 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1185 jQuery.each({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1186 appendTo: "append", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1187 prependTo: "prepend", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1188 insertBefore: "before", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1189 insertAfter: "after", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1190 replaceAll: "replaceWith" |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1191 }, function(name, original){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1192 jQuery.fn[ name ] = function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1193 var args = arguments; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1194 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1195 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1196 for ( var i = 0, length = args.length; i < length; i++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1197 jQuery( args[ i ] )[ original ]( this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1198 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1199 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1200 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1201 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1202 jQuery.each({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1203 removeAttr: function( name ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1204 jQuery.attr( this, name, "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1205 if (this.nodeType == 1) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1206 this.removeAttribute( name ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1207 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1208 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1209 addClass: function( classNames ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1210 jQuery.className.add( this, classNames ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1211 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1212 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1213 removeClass: function( classNames ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1214 jQuery.className.remove( this, classNames ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1215 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1216 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1217 toggleClass: function( classNames, state ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1218 if( typeof state !== "boolean" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1219 state = !jQuery.className.has( this, classNames ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1220 jQuery.className[ state ? "add" : "remove" ]( this, classNames ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1221 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1222 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1223 remove: function( selector ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1224 if ( !selector || jQuery.filter( selector, [ this ] ).length ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1225 // Prevent memory leaks |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1226 jQuery( "*", this ).add([this]).each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1227 jQuery.event.remove(this); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1228 jQuery.removeData(this); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1229 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1230 if (this.parentNode) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1231 this.parentNode.removeChild( this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1232 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1233 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1234 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1235 empty: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1236 // Remove element nodes and prevent memory leaks |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1237 jQuery( ">*", this ).remove(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1238 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1239 // Remove any remaining nodes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1240 while ( this.firstChild ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1241 this.removeChild( this.firstChild ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1242 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1243 }, function(name, fn){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1244 jQuery.fn[ name ] = function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1245 return this.each( fn, arguments ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1246 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1247 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1248 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1249 // Helper function used by the dimensions and offset modules |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1250 function num(elem, prop) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1251 return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1252 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1253 var expando = "jQuery" + now(), uuid = 0, windowData = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1254 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1255 jQuery.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1256 cache: {}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1257 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1258 data: function( elem, name, data ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1259 elem = elem == window ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1260 windowData : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1261 elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1262 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1263 var id = elem[ expando ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1264 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1265 // Compute a unique ID for the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1266 if ( !id ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1267 id = elem[ expando ] = ++uuid; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1268 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1269 // Only generate the data cache if we're |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1270 // trying to access or manipulate it |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1271 if ( name && !jQuery.cache[ id ] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1272 jQuery.cache[ id ] = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1273 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1274 // Prevent overriding the named cache with undefined values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1275 if ( data !== undefined ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1276 jQuery.cache[ id ][ name ] = data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1277 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1278 // Return the named cache data, or the ID for the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1279 return name ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1280 jQuery.cache[ id ][ name ] : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1281 id; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1282 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1283 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1284 removeData: function( elem, name ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1285 elem = elem == window ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1286 windowData : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1287 elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1288 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1289 var id = elem[ expando ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1290 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1291 // If we want to remove a specific section of the element's data |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1292 if ( name ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1293 if ( jQuery.cache[ id ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1294 // Remove the section of cache data |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1295 delete jQuery.cache[ id ][ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1296 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1297 // If we've removed all the data, remove the element's cache |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1298 name = ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1299 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1300 for ( name in jQuery.cache[ id ] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1301 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1302 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1303 if ( !name ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1304 jQuery.removeData( elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1305 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1306 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1307 // Otherwise, we want to remove all of the element's data |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1308 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1309 // Clean up the element expando |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1310 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1311 delete elem[ expando ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1312 } catch(e){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1313 // IE has trouble directly removing the expando |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1314 // but it's ok with using removeAttribute |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1315 if ( elem.removeAttribute ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1316 elem.removeAttribute( expando ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1317 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1318 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1319 // Completely remove the data cache |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1320 delete jQuery.cache[ id ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1321 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1322 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1323 queue: function( elem, type, data ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1324 if ( elem ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1325 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1326 type = (type || "fx") + "queue"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1327 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1328 var q = jQuery.data( elem, type ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1329 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1330 if ( !q || jQuery.isArray(data) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1331 q = jQuery.data( elem, type, jQuery.makeArray(data) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1332 else if( data ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1333 q.push( data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1334 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1335 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1336 return q; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1337 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1338 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1339 dequeue: function( elem, type ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1340 var queue = jQuery.queue( elem, type ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1341 fn = queue.shift(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1342 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1343 if( !type || type === "fx" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1344 fn = queue[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1345 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1346 if( fn !== undefined ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1347 fn.call(elem); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1348 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1349 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1350 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1351 jQuery.fn.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1352 data: function( key, value ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1353 var parts = key.split("."); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1354 parts[1] = parts[1] ? "." + parts[1] : ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1355 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1356 if ( value === undefined ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1357 var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1358 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1359 if ( data === undefined && this.length ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1360 data = jQuery.data( this[0], key ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1361 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1362 return data === undefined && parts[1] ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1363 this.data( parts[0] ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1364 data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1365 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1366 return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1367 jQuery.data( this, key, value ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1368 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1369 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1370 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1371 removeData: function( key ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1372 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1373 jQuery.removeData( this, key ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1374 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1375 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1376 queue: function(type, data){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1377 if ( typeof type !== "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1378 data = type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1379 type = "fx"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1380 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1381 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1382 if ( data === undefined ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1383 return jQuery.queue( this[0], type ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1384 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1385 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1386 var queue = jQuery.queue( this, type, data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1387 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1388 if( type == "fx" && queue.length == 1 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1389 queue[0].call(this); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1390 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1391 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1392 dequeue: function(type){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1393 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1394 jQuery.dequeue( this, type ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1395 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1396 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1397 });/*! |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1398 * Sizzle CSS Selector Engine - v0.9.3 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1399 * Copyright 2009, The Dojo Foundation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1400 * Released under the MIT, BSD, and GPL Licenses. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1401 * More information: http://sizzlejs.com/ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1402 */ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1403 (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1404 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1405 var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1406 done = 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1407 toString = Object.prototype.toString; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1408 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1409 var Sizzle = function(selector, context, results, seed) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1410 results = results || []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1411 context = context || document; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1412 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1413 if ( context.nodeType !== 1 && context.nodeType !== 9 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1414 return []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1415 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1416 if ( !selector || typeof selector !== "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1417 return results; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1418 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1419 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1420 var parts = [], m, set, checkSet, check, mode, extra, prune = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1421 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1422 // Reset the position of the chunker regexp (start from head) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1423 chunker.lastIndex = 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1424 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1425 while ( (m = chunker.exec(selector)) !== null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1426 parts.push( m[1] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1427 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1428 if ( m[2] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1429 extra = RegExp.rightContext; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1430 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1431 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1432 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1433 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1434 if ( parts.length > 1 && origPOS.exec( selector ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1435 if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1436 set = posProcess( parts[0] + parts[1], context ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1437 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1438 set = Expr.relative[ parts[0] ] ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1439 [ context ] : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1440 Sizzle( parts.shift(), context ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1441 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1442 while ( parts.length ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1443 selector = parts.shift(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1444 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1445 if ( Expr.relative[ selector ] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1446 selector += parts.shift(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1447 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1448 set = posProcess( selector, set ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1449 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1450 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1451 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1452 var ret = seed ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1453 { expr: parts.pop(), set: makeArray(seed) } : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1454 Sizzle.find( parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1455 set = Sizzle.filter( ret.expr, ret.set ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1456 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1457 if ( parts.length > 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1458 checkSet = makeArray(set); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1459 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1460 prune = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1461 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1462 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1463 while ( parts.length ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1464 var cur = parts.pop(), pop = cur; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1465 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1466 if ( !Expr.relative[ cur ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1467 cur = ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1468 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1469 pop = parts.pop(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1470 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1471 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1472 if ( pop == null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1473 pop = context; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1474 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1475 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1476 Expr.relative[ cur ]( checkSet, pop, isXML(context) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1477 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1478 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1479 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1480 if ( !checkSet ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1481 checkSet = set; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1482 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1483 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1484 if ( !checkSet ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1485 throw "Syntax error, unrecognized expression: " + (cur || selector); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1486 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1487 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1488 if ( toString.call(checkSet) === "[object Array]" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1489 if ( !prune ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1490 results.push.apply( results, checkSet ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1491 } else if ( context.nodeType === 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1492 for ( var i = 0; checkSet[i] != null; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1493 if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1494 results.push( set[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1495 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1496 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1497 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1498 for ( var i = 0; checkSet[i] != null; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1499 if ( checkSet[i] && checkSet[i].nodeType === 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1500 results.push( set[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1501 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1502 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1503 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1504 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1505 makeArray( checkSet, results ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1506 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1507 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1508 if ( extra ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1509 Sizzle( extra, context, results, seed ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1510 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1511 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1512 return results; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1513 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1514 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1515 Sizzle.matches = function(expr, set){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1516 return Sizzle(expr, null, null, set); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1517 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1518 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1519 Sizzle.find = function(expr, context, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1520 var set, match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1521 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1522 if ( !expr ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1523 return []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1524 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1525 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1526 for ( var i = 0, l = Expr.order.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1527 var type = Expr.order[i], match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1528 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1529 if ( (match = Expr.match[ type ].exec( expr )) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1530 var left = RegExp.leftContext; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1531 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1532 if ( left.substr( left.length - 1 ) !== "\\" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1533 match[1] = (match[1] || "").replace(/\\/g, ""); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1534 set = Expr.find[ type ]( match, context, isXML ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1535 if ( set != null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1536 expr = expr.replace( Expr.match[ type ], "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1537 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1538 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1539 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1540 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1541 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1542 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1543 if ( !set ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1544 set = context.getElementsByTagName("*"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1545 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1546 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1547 return {set: set, expr: expr}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1548 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1549 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1550 Sizzle.filter = function(expr, set, inplace, not){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1551 var old = expr, result = [], curLoop = set, match, anyFound; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1552 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1553 while ( expr && set.length ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1554 for ( var type in Expr.filter ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1555 if ( (match = Expr.match[ type ].exec( expr )) != null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1556 var filter = Expr.filter[ type ], found, item; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1557 anyFound = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1558 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1559 if ( curLoop == result ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1560 result = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1561 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1562 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1563 if ( Expr.preFilter[ type ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1564 match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1565 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1566 if ( !match ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1567 anyFound = found = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1568 } else if ( match === true ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1569 continue; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1570 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1571 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1572 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1573 if ( match ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1574 for ( var i = 0; (item = curLoop[i]) != null; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1575 if ( item ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1576 found = filter( item, match, i, curLoop ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1577 var pass = not ^ !!found; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1578 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1579 if ( inplace && found != null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1580 if ( pass ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1581 anyFound = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1582 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1583 curLoop[i] = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1584 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1585 } else if ( pass ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1586 result.push( item ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1587 anyFound = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1588 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1589 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1590 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1591 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1592 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1593 if ( found !== undefined ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1594 if ( !inplace ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1595 curLoop = result; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1596 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1597 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1598 expr = expr.replace( Expr.match[ type ], "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1599 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1600 if ( !anyFound ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1601 return []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1602 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1603 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1604 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1605 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1606 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1607 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1608 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1609 expr = expr.replace(/\s*,\s*/, ""); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1610 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1611 // Improper expression |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1612 if ( expr == old ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1613 if ( anyFound == null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1614 throw "Syntax error, unrecognized expression: " + expr; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1615 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1616 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1617 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1618 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1619 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1620 old = expr; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1621 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1622 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1623 return curLoop; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1624 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1625 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1626 var Expr = Sizzle.selectors = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1627 order: [ "ID", "NAME", "TAG" ], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1628 match: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1629 ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1630 CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1631 NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1632 ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1633 TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1634 CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1635 POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1636 PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1637 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1638 attrMap: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1639 "class": "className", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1640 "for": "htmlFor" |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1641 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1642 attrHandle: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1643 href: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1644 return elem.getAttribute("href"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1645 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1646 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1647 relative: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1648 "+": function(checkSet, part){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1649 for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1650 var elem = checkSet[i]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1651 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1652 var cur = elem.previousSibling; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1653 while ( cur && cur.nodeType !== 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1654 cur = cur.previousSibling; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1655 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1656 checkSet[i] = typeof part === "string" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1657 cur || false : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1658 cur === part; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1659 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1660 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1661 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1662 if ( typeof part === "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1663 Sizzle.filter( part, checkSet, true ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1664 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1665 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1666 ">": function(checkSet, part, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1667 if ( typeof part === "string" && !/\W/.test(part) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1668 part = isXML ? part : part.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1669 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1670 for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1671 var elem = checkSet[i]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1672 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1673 var parent = elem.parentNode; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1674 checkSet[i] = parent.nodeName === part ? parent : false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1675 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1676 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1677 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1678 for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1679 var elem = checkSet[i]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1680 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1681 checkSet[i] = typeof part === "string" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1682 elem.parentNode : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1683 elem.parentNode === part; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1684 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1685 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1686 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1687 if ( typeof part === "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1688 Sizzle.filter( part, checkSet, true ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1689 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1690 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1691 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1692 "": function(checkSet, part, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1693 var doneName = "done" + (done++), checkFn = dirCheck; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1694 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1695 if ( !part.match(/\W/) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1696 var nodeCheck = part = isXML ? part : part.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1697 checkFn = dirNodeCheck; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1698 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1699 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1700 checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1701 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1702 "~": function(checkSet, part, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1703 var doneName = "done" + (done++), checkFn = dirCheck; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1704 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1705 if ( typeof part === "string" && !part.match(/\W/) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1706 var nodeCheck = part = isXML ? part : part.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1707 checkFn = dirNodeCheck; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1708 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1709 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1710 checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1711 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1712 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1713 find: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1714 ID: function(match, context, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1715 if ( typeof context.getElementById !== "undefined" && !isXML ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1716 var m = context.getElementById(match[1]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1717 return m ? [m] : []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1718 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1719 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1720 NAME: function(match, context, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1721 if ( typeof context.getElementsByName !== "undefined" && !isXML ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1722 return context.getElementsByName(match[1]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1723 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1724 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1725 TAG: function(match, context){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1726 return context.getElementsByTagName(match[1]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1727 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1728 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1729 preFilter: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1730 CLASS: function(match, curLoop, inplace, result, not){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1731 match = " " + match[1].replace(/\\/g, "") + " "; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1732 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1733 var elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1734 for ( var i = 0; (elem = curLoop[i]) != null; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1735 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1736 if ( not ^ (" " + elem.className + " ").indexOf(match) >= 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1737 if ( !inplace ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1738 result.push( elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1739 } else if ( inplace ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1740 curLoop[i] = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1741 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1742 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1743 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1744 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1745 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1746 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1747 ID: function(match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1748 return match[1].replace(/\\/g, ""); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1749 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1750 TAG: function(match, curLoop){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1751 for ( var i = 0; curLoop[i] === false; i++ ){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1752 return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1753 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1754 CHILD: function(match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1755 if ( match[1] == "nth" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1756 // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1757 var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1758 match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1759 !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1760 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1761 // calculate the numbers (first)n+(last) including if they are negative |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1762 match[2] = (test[1] + (test[2] || 1)) - 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1763 match[3] = test[3] - 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1764 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1765 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1766 // TODO: Move to normal caching system |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1767 match[0] = "done" + (done++); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1768 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1769 return match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1770 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1771 ATTR: function(match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1772 var name = match[1].replace(/\\/g, ""); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1773 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1774 if ( Expr.attrMap[name] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1775 match[1] = Expr.attrMap[name]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1776 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1777 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1778 if ( match[2] === "~=" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1779 match[4] = " " + match[4] + " "; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1780 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1781 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1782 return match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1783 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1784 PSEUDO: function(match, curLoop, inplace, result, not){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1785 if ( match[1] === "not" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1786 // If we're dealing with a complex expression, or a simple one |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1787 if ( match[3].match(chunker).length > 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1788 match[3] = Sizzle(match[3], null, null, curLoop); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1789 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1790 var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1791 if ( !inplace ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1792 result.push.apply( result, ret ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1793 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1794 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1795 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1796 } else if ( Expr.match.POS.test( match[0] ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1797 return true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1798 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1799 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1800 return match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1801 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1802 POS: function(match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1803 match.unshift( true ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1804 return match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1805 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1806 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1807 filters: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1808 enabled: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1809 return elem.disabled === false && elem.type !== "hidden"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1810 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1811 disabled: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1812 return elem.disabled === true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1813 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1814 checked: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1815 return elem.checked === true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1816 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1817 selected: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1818 // Accessing this property makes selected-by-default |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1819 // options in Safari work properly |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1820 elem.parentNode.selectedIndex; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1821 return elem.selected === true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1822 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1823 parent: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1824 return !!elem.firstChild; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1825 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1826 empty: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1827 return !elem.firstChild; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1828 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1829 has: function(elem, i, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1830 return !!Sizzle( match[3], elem ).length; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1831 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1832 header: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1833 return /h\d/i.test( elem.nodeName ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1834 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1835 text: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1836 return "text" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1837 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1838 radio: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1839 return "radio" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1840 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1841 checkbox: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1842 return "checkbox" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1843 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1844 file: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1845 return "file" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1846 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1847 password: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1848 return "password" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1849 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1850 submit: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1851 return "submit" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1852 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1853 image: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1854 return "image" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1855 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1856 reset: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1857 return "reset" === elem.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1858 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1859 button: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1860 return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1861 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1862 input: function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1863 return /input|select|textarea|button/i.test(elem.nodeName); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1864 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1865 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1866 setFilters: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1867 first: function(elem, i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1868 return i === 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1869 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1870 last: function(elem, i, match, array){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1871 return i === array.length - 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1872 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1873 even: function(elem, i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1874 return i % 2 === 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1875 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1876 odd: function(elem, i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1877 return i % 2 === 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1878 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1879 lt: function(elem, i, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1880 return i < match[3] - 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1881 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1882 gt: function(elem, i, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1883 return i > match[3] - 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1884 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1885 nth: function(elem, i, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1886 return match[3] - 0 == i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1887 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1888 eq: function(elem, i, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1889 return match[3] - 0 == i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1890 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1891 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1892 filter: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1893 CHILD: function(elem, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1894 var type = match[1], parent = elem.parentNode; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1895 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1896 var doneName = match[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1897 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1898 if ( parent && (!parent[ doneName ] || !elem.nodeIndex) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1899 var count = 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1900 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1901 for ( var node = parent.firstChild; node; node = node.nextSibling ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1902 if ( node.nodeType == 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1903 node.nodeIndex = count++; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1904 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1905 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1906 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1907 parent[ doneName ] = count - 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1908 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1909 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1910 if ( type == "first" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1911 return elem.nodeIndex == 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1912 } else if ( type == "last" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1913 return elem.nodeIndex == parent[ doneName ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1914 } else if ( type == "only" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1915 return parent[ doneName ] == 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1916 } else if ( type == "nth" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1917 var add = false, first = match[2], last = match[3]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1918 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1919 if ( first == 1 && last == 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1920 return true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1921 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1922 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1923 if ( first == 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1924 if ( elem.nodeIndex == last ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1925 add = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1926 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1927 } else if ( (elem.nodeIndex - last) % first == 0 && (elem.nodeIndex - last) / first >= 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1928 add = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1929 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1930 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1931 return add; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1932 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1933 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1934 PSEUDO: function(elem, match, i, array){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1935 var name = match[1], filter = Expr.filters[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1936 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1937 if ( filter ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1938 return filter( elem, i, match, array ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1939 } else if ( name === "contains" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1940 return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1941 } else if ( name === "not" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1942 var not = match[3]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1943 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1944 for ( var i = 0, l = not.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1945 if ( not[i] === elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1946 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1947 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1948 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1949 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1950 return true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1951 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1952 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1953 ID: function(elem, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1954 return elem.nodeType === 1 && elem.getAttribute("id") === match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1955 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1956 TAG: function(elem, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1957 return (match === "*" && elem.nodeType === 1) || elem.nodeName === match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1958 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1959 CLASS: function(elem, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1960 return match.test( elem.className ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1961 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1962 ATTR: function(elem, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1963 var result = Expr.attrHandle[ match[1] ] ? Expr.attrHandle[ match[1] ]( elem ) : elem[ match[1] ] || elem.getAttribute( match[1] ), value = result + "", type = match[2], check = match[4]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1964 return result == null ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1965 type === "!=" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1966 type === "=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1967 value === check : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1968 type === "*=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1969 value.indexOf(check) >= 0 : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1970 type === "~=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1971 (" " + value + " ").indexOf(check) >= 0 : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1972 !match[4] ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1973 result : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1974 type === "!=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1975 value != check : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1976 type === "^=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1977 value.indexOf(check) === 0 : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1978 type === "$=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1979 value.substr(value.length - check.length) === check : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1980 type === "|=" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1981 value === check || value.substr(0, check.length + 1) === check + "-" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1982 false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1983 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1984 POS: function(elem, match, i, array){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1985 var name = match[2], filter = Expr.setFilters[ name ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1986 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1987 if ( filter ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1988 return filter( elem, i, match, array ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1989 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1990 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1991 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1992 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1993 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1994 var origPOS = Expr.match.POS; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1995 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1996 for ( var type in Expr.match ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1997 Expr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1998 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1999 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2000 var makeArray = function(array, results) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2001 array = Array.prototype.slice.call( array ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2002 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2003 if ( results ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2004 results.push.apply( results, array ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2005 return results; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2006 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2007 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2008 return array; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2009 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2010 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2011 // Perform a simple check to determine if the browser is capable of |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2012 // converting a NodeList to an array using builtin methods. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2013 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2014 Array.prototype.slice.call( document.documentElement.childNodes ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2015 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2016 // Provide a fallback method if it does not work |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2017 } catch(e){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2018 makeArray = function(array, results) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2019 var ret = results || []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2020 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2021 if ( toString.call(array) === "[object Array]" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2022 Array.prototype.push.apply( ret, array ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2023 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2024 if ( typeof array.length === "number" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2025 for ( var i = 0, l = array.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2026 ret.push( array[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2027 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2028 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2029 for ( var i = 0; array[i]; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2030 ret.push( array[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2031 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2032 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2033 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2034 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2035 return ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2036 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2037 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2038 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2039 // Check to see if the browser returns elements by name when |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2040 // querying by getElementById (and provide a workaround) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2041 (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2042 // We're going to inject a fake input element with a specified name |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2043 var form = document.createElement("form"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2044 id = "script" + (new Date).getTime(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2045 form.innerHTML = "<input name='" + id + "'/>"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2046 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2047 // Inject it into the root element, check its status, and remove it quickly |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2048 var root = document.documentElement; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2049 root.insertBefore( form, root.firstChild ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2050 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2051 // The workaround has to do additional checks after a getElementById |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2052 // Which slows things down for other browsers (hence the branching) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2053 if ( !!document.getElementById( id ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2054 Expr.find.ID = function(match, context, isXML){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2055 if ( typeof context.getElementById !== "undefined" && !isXML ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2056 var m = context.getElementById(match[1]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2057 return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2058 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2059 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2060 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2061 Expr.filter.ID = function(elem, match){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2062 var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2063 return elem.nodeType === 1 && node && node.nodeValue === match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2064 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2065 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2066 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2067 root.removeChild( form ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2068 })(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2069 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2070 (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2071 // Check to see if the browser returns only elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2072 // when doing getElementsByTagName("*") |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2073 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2074 // Create a fake element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2075 var div = document.createElement("div"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2076 div.appendChild( document.createComment("") ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2077 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2078 // Make sure no comments are found |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2079 if ( div.getElementsByTagName("*").length > 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2080 Expr.find.TAG = function(match, context){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2081 var results = context.getElementsByTagName(match[1]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2082 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2083 // Filter out possible comments |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2084 if ( match[1] === "*" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2085 var tmp = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2086 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2087 for ( var i = 0; results[i]; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2088 if ( results[i].nodeType === 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2089 tmp.push( results[i] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2090 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2091 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2092 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2093 results = tmp; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2094 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2095 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2096 return results; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2097 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2098 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2099 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2100 // Check to see if an attribute returns normalized href attributes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2101 div.innerHTML = "<a href='#'></a>"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2102 if ( div.firstChild && div.firstChild.getAttribute("href") !== "#" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2103 Expr.attrHandle.href = function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2104 return elem.getAttribute("href", 2); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2105 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2106 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2107 })(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2108 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2109 if ( document.querySelectorAll ) (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2110 var oldSizzle = Sizzle, div = document.createElement("div"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2111 div.innerHTML = "<p class='TEST'></p>"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2112 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2113 // Safari can't handle uppercase or unicode characters when |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2114 // in quirks mode. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2115 if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2116 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2117 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2118 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2119 Sizzle = function(query, context, extra, seed){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2120 context = context || document; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2121 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2122 // Only use querySelectorAll on non-XML documents |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2123 // (ID selectors don't work in non-HTML documents) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2124 if ( !seed && context.nodeType === 9 && !isXML(context) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2125 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2126 return makeArray( context.querySelectorAll(query), extra ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2127 } catch(e){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2128 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2129 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2130 return oldSizzle(query, context, extra, seed); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2131 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2132 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2133 Sizzle.find = oldSizzle.find; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2134 Sizzle.filter = oldSizzle.filter; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2135 Sizzle.selectors = oldSizzle.selectors; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2136 Sizzle.matches = oldSizzle.matches; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2137 })(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2138 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2139 if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2140 Expr.order.splice(1, 0, "CLASS"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2141 Expr.find.CLASS = function(match, context) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2142 return context.getElementsByClassName(match[1]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2143 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2144 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2145 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2146 function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2147 for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2148 var elem = checkSet[i]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2149 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2150 elem = elem[dir]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2151 var match = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2152 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2153 while ( elem && elem.nodeType ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2154 var done = elem[doneName]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2155 if ( done ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2156 match = checkSet[ done ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2157 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2158 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2159 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2160 if ( elem.nodeType === 1 && !isXML ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2161 elem[doneName] = i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2162 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2163 if ( elem.nodeName === cur ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2164 match = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2165 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2166 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2167 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2168 elem = elem[dir]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2169 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2170 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2171 checkSet[i] = match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2172 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2173 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2174 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2175 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2176 function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2177 for ( var i = 0, l = checkSet.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2178 var elem = checkSet[i]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2179 if ( elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2180 elem = elem[dir]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2181 var match = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2182 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2183 while ( elem && elem.nodeType ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2184 if ( elem[doneName] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2185 match = checkSet[ elem[doneName] ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2186 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2187 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2188 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2189 if ( elem.nodeType === 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2190 if ( !isXML ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2191 elem[doneName] = i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2192 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2193 if ( typeof cur !== "string" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2194 if ( elem === cur ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2195 match = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2196 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2197 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2198 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2199 } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2200 match = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2201 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2202 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2203 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2204 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2205 elem = elem[dir]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2206 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2207 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2208 checkSet[i] = match; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2209 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2210 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2211 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2212 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2213 var contains = document.compareDocumentPosition ? function(a, b){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2214 return a.compareDocumentPosition(b) & 16; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2215 } : function(a, b){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2216 return a !== b && (a.contains ? a.contains(b) : true); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2217 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2218 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2219 var isXML = function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2220 return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2221 !!elem.ownerDocument && isXML( elem.ownerDocument ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2222 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2223 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2224 var posProcess = function(selector, context){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2225 var tmpSet = [], later = "", match, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2226 root = context.nodeType ? [context] : context; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2227 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2228 // Position selectors must be done after the filter |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2229 // And so must :not(positional) so we move all PSEUDOs to the end |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2230 while ( (match = Expr.match.PSEUDO.exec( selector )) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2231 later += match[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2232 selector = selector.replace( Expr.match.PSEUDO, "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2233 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2234 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2235 selector = Expr.relative[selector] ? selector + "*" : selector; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2236 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2237 for ( var i = 0, l = root.length; i < l; i++ ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2238 Sizzle( selector, root[i], tmpSet ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2239 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2240 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2241 return Sizzle.filter( later, tmpSet ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2242 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2243 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2244 // EXPOSE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2245 jQuery.find = Sizzle; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2246 jQuery.filter = Sizzle.filter; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2247 jQuery.expr = Sizzle.selectors; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2248 jQuery.expr[":"] = jQuery.expr.filters; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2249 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2250 Sizzle.selectors.filters.hidden = function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2251 return "hidden" === elem.type || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2252 jQuery.css(elem, "display") === "none" || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2253 jQuery.css(elem, "visibility") === "hidden"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2254 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2255 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2256 Sizzle.selectors.filters.visible = function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2257 return "hidden" !== elem.type && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2258 jQuery.css(elem, "display") !== "none" && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2259 jQuery.css(elem, "visibility") !== "hidden"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2260 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2261 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2262 Sizzle.selectors.filters.animated = function(elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2263 return jQuery.grep(jQuery.timers, function(fn){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2264 return elem === fn.elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2265 }).length; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2266 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2267 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2268 jQuery.multiFilter = function( expr, elems, not ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2269 if ( not ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2270 expr = ":not(" + expr + ")"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2271 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2272 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2273 return Sizzle.matches(expr, elems); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2274 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2275 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2276 jQuery.dir = function( elem, dir ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2277 var matched = [], cur = elem[dir]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2278 while ( cur && cur != document ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2279 if ( cur.nodeType == 1 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2280 matched.push( cur ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2281 cur = cur[dir]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2282 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2283 return matched; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2284 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2285 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2286 jQuery.nth = function(cur, result, dir, elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2287 result = result || 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2288 var num = 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2289 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2290 for ( ; cur; cur = cur[dir] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2291 if ( cur.nodeType == 1 && ++num == result ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2292 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2293 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2294 return cur; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2295 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2296 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2297 jQuery.sibling = function(n, elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2298 var r = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2299 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2300 for ( ; n; n = n.nextSibling ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2301 if ( n.nodeType == 1 && n != elem ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2302 r.push( n ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2303 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2304 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2305 return r; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2306 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2307 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2308 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2309 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2310 window.Sizzle = Sizzle; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2311 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2312 })(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2313 /* |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2314 * A number of helper functions used for managing events. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2315 * Many of the ideas behind this code originated from |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2316 * Dean Edwards' addEvent library. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2317 */ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2318 jQuery.event = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2319 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2320 // Bind an event to an element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2321 // Original by Dean Edwards |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2322 add: function(elem, types, handler, data) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2323 if ( elem.nodeType == 3 || elem.nodeType == 8 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2324 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2325 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2326 // For whatever reason, IE has trouble passing the window object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2327 // around, causing it to be cloned in the process |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2328 if ( elem.setInterval && elem != window ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2329 elem = window; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2330 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2331 // Make sure that the function being executed has a unique ID |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2332 if ( !handler.guid ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2333 handler.guid = this.guid++; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2334 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2335 // if data is passed, bind to handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2336 if ( data !== undefined ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2337 // Create temporary function pointer to original handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2338 var fn = handler; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2339 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2340 // Create unique handler function, wrapped around original handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2341 handler = this.proxy( fn ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2342 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2343 // Store data in unique handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2344 handler.data = data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2345 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2346 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2347 // Init the element's event structure |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2348 var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2349 handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2350 // Handle the second event of a trigger and when |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2351 // an event is called after a page has unloaded |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2352 return typeof jQuery !== "undefined" && !jQuery.event.triggered ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2353 jQuery.event.handle.apply(arguments.callee.elem, arguments) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2354 undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2355 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2356 // Add elem as a property of the handle function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2357 // This is to prevent a memory leak with non-native |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2358 // event in IE. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2359 handle.elem = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2360 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2361 // Handle multiple events separated by a space |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2362 // jQuery(...).bind("mouseover mouseout", fn); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2363 jQuery.each(types.split(/\s+/), function(index, type) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2364 // Namespaced event handlers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2365 var namespaces = type.split("."); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2366 type = namespaces.shift(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2367 handler.type = namespaces.slice().sort().join("."); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2368 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2369 // Get the current list of functions bound to this event |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2370 var handlers = events[type]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2371 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2372 if ( jQuery.event.specialAll[type] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2373 jQuery.event.specialAll[type].setup.call(elem, data, namespaces); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2374 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2375 // Init the event handler queue |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2376 if (!handlers) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2377 handlers = events[type] = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2378 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2379 // Check for a special event handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2380 // Only use addEventListener/attachEvent if the special |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2381 // events handler returns false |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2382 if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === false ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2383 // Bind the global event handler to the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2384 if (elem.addEventListener) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2385 elem.addEventListener(type, handle, false); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2386 else if (elem.attachEvent) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2387 elem.attachEvent("on" + type, handle); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2388 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2389 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2390 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2391 // Add the function to the element's handler list |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2392 handlers[handler.guid] = handler; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2393 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2394 // Keep track of which events have been used, for global triggering |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2395 jQuery.event.global[type] = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2396 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2397 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2398 // Nullify elem to prevent memory leaks in IE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2399 elem = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2400 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2401 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2402 guid: 1, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2403 global: {}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2404 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2405 // Detach an event or set of events from an element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2406 remove: function(elem, types, handler) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2407 // don't do events on text and comment nodes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2408 if ( elem.nodeType == 3 || elem.nodeType == 8 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2409 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2410 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2411 var events = jQuery.data(elem, "events"), ret, index; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2412 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2413 if ( events ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2414 // Unbind all events for the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2415 if ( types === undefined || (typeof types === "string" && types.charAt(0) == ".") ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2416 for ( var type in events ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2417 this.remove( elem, type + (types || "") ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2418 else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2419 // types is actually an event object here |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2420 if ( types.type ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2421 handler = types.handler; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2422 types = types.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2423 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2424 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2425 // Handle multiple events seperated by a space |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2426 // jQuery(...).unbind("mouseover mouseout", fn); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2427 jQuery.each(types.split(/\s+/), function(index, type){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2428 // Namespaced event handlers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2429 var namespaces = type.split("."); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2430 type = namespaces.shift(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2431 var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2432 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2433 if ( events[type] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2434 // remove the given handler for the given type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2435 if ( handler ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2436 delete events[type][handler.guid]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2437 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2438 // remove all handlers for the given type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2439 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2440 for ( var handle in events[type] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2441 // Handle the removal of namespaced events |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2442 if ( namespace.test(events[type][handle].type) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2443 delete events[type][handle]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2444 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2445 if ( jQuery.event.specialAll[type] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2446 jQuery.event.specialAll[type].teardown.call(elem, namespaces); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2447 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2448 // remove generic event handler if no more handlers exist |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2449 for ( ret in events[type] ) break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2450 if ( !ret ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2451 if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === false ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2452 if (elem.removeEventListener) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2453 elem.removeEventListener(type, jQuery.data(elem, "handle"), false); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2454 else if (elem.detachEvent) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2455 elem.detachEvent("on" + type, jQuery.data(elem, "handle")); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2456 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2457 ret = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2458 delete events[type]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2459 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2460 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2461 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2462 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2463 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2464 // Remove the expando if it's no longer used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2465 for ( ret in events ) break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2466 if ( !ret ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2467 var handle = jQuery.data( elem, "handle" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2468 if ( handle ) handle.elem = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2469 jQuery.removeData( elem, "events" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2470 jQuery.removeData( elem, "handle" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2471 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2472 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2473 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2474 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2475 // bubbling is internal |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2476 trigger: function( event, data, elem, bubbling ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2477 // Event object or event type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2478 var type = event.type || event; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2479 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2480 if( !bubbling ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2481 event = typeof event === "object" ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2482 // jQuery.Event object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2483 event[expando] ? event : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2484 // Object literal |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2485 jQuery.extend( jQuery.Event(type), event ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2486 // Just the event type (string) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2487 jQuery.Event(type); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2488 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2489 if ( type.indexOf("!") >= 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2490 event.type = type = type.slice(0, -1); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2491 event.exclusive = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2492 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2493 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2494 // Handle a global trigger |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2495 if ( !elem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2496 // Don't bubble custom events when global (to avoid too much overhead) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2497 event.stopPropagation(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2498 // Only trigger if we've ever bound an event for it |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2499 if ( this.global[type] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2500 jQuery.each( jQuery.cache, function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2501 if ( this.events && this.events[type] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2502 jQuery.event.trigger( event, data, this.handle.elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2503 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2504 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2505 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2506 // Handle triggering a single element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2507 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2508 // don't do events on text and comment nodes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2509 if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2510 return undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2511 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2512 // Clean up in case it is reused |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2513 event.result = undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2514 event.target = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2515 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2516 // Clone the incoming data, if any |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2517 data = jQuery.makeArray(data); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2518 data.unshift( event ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2519 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2520 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2521 event.currentTarget = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2522 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2523 // Trigger the event, it is assumed that "handle" is a function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2524 var handle = jQuery.data(elem, "handle"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2525 if ( handle ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2526 handle.apply( elem, data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2527 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2528 // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2529 if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2530 event.result = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2531 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2532 // Trigger the native events (except for clicks on links) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2533 if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2534 this.triggered = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2535 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2536 elem[ type ](); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2537 // prevent IE from throwing an error for some hidden elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2538 } catch (e) {} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2539 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2540 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2541 this.triggered = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2542 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2543 if ( !event.isPropagationStopped() ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2544 var parent = elem.parentNode || elem.ownerDocument; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2545 if ( parent ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2546 jQuery.event.trigger(event, data, parent, true); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2547 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2548 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2549 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2550 handle: function(event) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2551 // returned undefined or false |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2552 var all, handlers; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2553 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2554 event = arguments[0] = jQuery.event.fix( event || window.event ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2555 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2556 // Namespaced event handlers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2557 var namespaces = event.type.split("."); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2558 event.type = namespaces.shift(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2559 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2560 // Cache this now, all = true means, any handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2561 all = !namespaces.length && !event.exclusive; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2562 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2563 var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2564 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2565 handlers = ( jQuery.data(this, "events") || {} )[event.type]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2566 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2567 for ( var j in handlers ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2568 var handler = handlers[j]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2569 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2570 // Filter the functions by class |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2571 if ( all || namespace.test(handler.type) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2572 // Pass in a reference to the handler function itself |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2573 // So that we can later remove it |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2574 event.handler = handler; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2575 event.data = handler.data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2576 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2577 var ret = handler.apply(this, arguments); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2578 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2579 if( ret !== undefined ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2580 event.result = ret; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2581 if ( ret === false ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2582 event.preventDefault(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2583 event.stopPropagation(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2584 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2585 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2586 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2587 if( event.isImmediatePropagationStopped() ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2588 break; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2589 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2590 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2591 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2592 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2593 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2594 props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2595 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2596 fix: function(event) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2597 if ( event[expando] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2598 return event; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2599 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2600 // store a copy of the original event object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2601 // and "clone" to set read-only properties |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2602 var originalEvent = event; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2603 event = jQuery.Event( originalEvent ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2604 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2605 for ( var i = this.props.length, prop; i; ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2606 prop = this.props[ --i ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2607 event[ prop ] = originalEvent[ prop ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2608 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2609 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2610 // Fix target property, if necessary |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2611 if ( !event.target ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2612 event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2613 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2614 // check if target is a textnode (safari) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2615 if ( event.target.nodeType == 3 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2616 event.target = event.target.parentNode; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2617 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2618 // Add relatedTarget, if necessary |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2619 if ( !event.relatedTarget && event.fromElement ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2620 event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2621 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2622 // Calculate pageX/Y if missing and clientX/Y available |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2623 if ( event.pageX == null && event.clientX != null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2624 var doc = document.documentElement, body = document.body; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2625 event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2626 event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2627 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2628 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2629 // Add which for key events |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2630 if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2631 event.which = event.charCode || event.keyCode; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2632 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2633 // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2634 if ( !event.metaKey && event.ctrlKey ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2635 event.metaKey = event.ctrlKey; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2636 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2637 // Add which for click: 1 == left; 2 == middle; 3 == right |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2638 // Note: button is not normalized, so don't use it |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2639 if ( !event.which && event.button ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2640 event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2641 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2642 return event; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2643 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2644 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2645 proxy: function( fn, proxy ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2646 proxy = proxy || function(){ return fn.apply(this, arguments); }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2647 // Set the guid of unique handler to the same of original handler, so it can be removed |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2648 proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2649 // So proxy can be declared as an argument |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2650 return proxy; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2651 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2652 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2653 special: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2654 ready: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2655 // Make sure the ready event is setup |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2656 setup: bindReady, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2657 teardown: function() {} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2658 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2659 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2660 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2661 specialAll: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2662 live: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2663 setup: function( selector, namespaces ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2664 jQuery.event.add( this, namespaces[0], liveHandler ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2665 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2666 teardown: function( namespaces ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2667 if ( namespaces.length ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2668 var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2669 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2670 jQuery.each( (jQuery.data(this, "events").live || {}), function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2671 if ( name.test(this.type) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2672 remove++; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2673 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2674 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2675 if ( remove < 1 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2676 jQuery.event.remove( this, namespaces[0], liveHandler ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2677 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2678 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2679 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2680 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2681 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2682 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2683 jQuery.Event = function( src ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2684 // Allow instantiation without the 'new' keyword |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2685 if( !this.preventDefault ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2686 return new jQuery.Event(src); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2687 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2688 // Event object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2689 if( src && src.type ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2690 this.originalEvent = src; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2691 this.type = src.type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2692 // Event type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2693 }else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2694 this.type = src; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2695 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2696 // timeStamp is buggy for some events on Firefox(#3843) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2697 // So we won't rely on the native value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2698 this.timeStamp = now(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2699 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2700 // Mark it as fixed |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2701 this[expando] = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2702 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2703 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2704 function returnFalse(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2705 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2706 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2707 function returnTrue(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2708 return true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2709 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2710 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2711 // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2712 // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2713 jQuery.Event.prototype = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2714 preventDefault: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2715 this.isDefaultPrevented = returnTrue; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2716 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2717 var e = this.originalEvent; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2718 if( !e ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2719 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2720 // if preventDefault exists run it on the original event |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2721 if (e.preventDefault) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2722 e.preventDefault(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2723 // otherwise set the returnValue property of the original event to false (IE) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2724 e.returnValue = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2725 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2726 stopPropagation: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2727 this.isPropagationStopped = returnTrue; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2728 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2729 var e = this.originalEvent; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2730 if( !e ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2731 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2732 // if stopPropagation exists run it on the original event |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2733 if (e.stopPropagation) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2734 e.stopPropagation(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2735 // otherwise set the cancelBubble property of the original event to true (IE) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2736 e.cancelBubble = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2737 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2738 stopImmediatePropagation:function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2739 this.isImmediatePropagationStopped = returnTrue; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2740 this.stopPropagation(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2741 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2742 isDefaultPrevented: returnFalse, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2743 isPropagationStopped: returnFalse, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2744 isImmediatePropagationStopped: returnFalse |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2745 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2746 // Checks if an event happened on an element within another element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2747 // Used in jQuery.event.special.mouseenter and mouseleave handlers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2748 var withinElement = function(event) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2749 // Check if mouse(over|out) are still within the same parent element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2750 var parent = event.relatedTarget; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2751 // Traverse up the tree |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2752 while ( parent && parent != this ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2753 try { parent = parent.parentNode; } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2754 catch(e) { parent = this; } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2755 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2756 if( parent != this ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2757 // set the correct event type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2758 event.type = event.data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2759 // handle event if we actually just moused on to a non sub-element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2760 jQuery.event.handle.apply( this, arguments ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2761 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2762 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2763 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2764 jQuery.each({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2765 mouseover: 'mouseenter', |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2766 mouseout: 'mouseleave' |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2767 }, function( orig, fix ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2768 jQuery.event.special[ fix ] = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2769 setup: function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2770 jQuery.event.add( this, orig, withinElement, fix ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2771 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2772 teardown: function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2773 jQuery.event.remove( this, orig, withinElement ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2774 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2775 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2776 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2777 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2778 jQuery.fn.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2779 bind: function( type, data, fn ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2780 return type == "unload" ? this.one(type, data, fn) : this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2781 jQuery.event.add( this, type, fn || data, fn && data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2782 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2783 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2784 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2785 one: function( type, data, fn ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2786 var one = jQuery.event.proxy( fn || data, function(event) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2787 jQuery(this).unbind(event, one); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2788 return (fn || data).apply( this, arguments ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2789 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2790 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2791 jQuery.event.add( this, type, one, fn && data); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2792 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2793 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2794 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2795 unbind: function( type, fn ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2796 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2797 jQuery.event.remove( this, type, fn ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2798 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2799 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2800 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2801 trigger: function( type, data ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2802 return this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2803 jQuery.event.trigger( type, data, this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2804 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2805 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2806 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2807 triggerHandler: function( type, data ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2808 if( this[0] ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2809 var event = jQuery.Event(type); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2810 event.preventDefault(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2811 event.stopPropagation(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2812 jQuery.event.trigger( event, data, this[0] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2813 return event.result; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2814 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2815 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2816 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2817 toggle: function( fn ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2818 // Save reference to arguments for access in closure |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2819 var args = arguments, i = 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2820 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2821 // link all the functions, so any of them can unbind this click handler |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2822 while( i < args.length ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2823 jQuery.event.proxy( fn, args[i++] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2824 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2825 return this.click( jQuery.event.proxy( fn, function(event) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2826 // Figure out which function to execute |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2827 this.lastToggle = ( this.lastToggle || 0 ) % i; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2828 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2829 // Make sure that clicks stop |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2830 event.preventDefault(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2831 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2832 // and execute the function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2833 return args[ this.lastToggle++ ].apply( this, arguments ) || false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2834 })); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2835 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2836 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2837 hover: function(fnOver, fnOut) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2838 return this.mouseenter(fnOver).mouseleave(fnOut); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2839 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2840 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2841 ready: function(fn) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2842 // Attach the listeners |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2843 bindReady(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2844 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2845 // If the DOM is already ready |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2846 if ( jQuery.isReady ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2847 // Execute the function immediately |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2848 fn.call( document, jQuery ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2849 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2850 // Otherwise, remember the function for later |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2851 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2852 // Add the function to the wait list |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2853 jQuery.readyList.push( fn ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2854 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2855 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2856 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2857 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2858 live: function( type, fn ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2859 var proxy = jQuery.event.proxy( fn ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2860 proxy.guid += this.selector + type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2861 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2862 jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2863 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2864 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2865 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2866 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2867 die: function( type, fn ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2868 jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2869 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2870 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2871 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2872 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2873 function liveHandler( event ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2874 var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2875 stop = true, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2876 elems = []; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2877 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2878 jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2879 if ( check.test(fn.type) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2880 var elem = jQuery(event.target).closest(fn.data)[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2881 if ( elem ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2882 elems.push({ elem: elem, fn: fn }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2883 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2884 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2885 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2886 jQuery.each(elems, function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2887 if ( this.fn.call(this.elem, event, this.fn.data) === false ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2888 stop = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2889 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2890 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2891 return stop; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2892 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2893 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2894 function liveConvert(type, selector){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2895 return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join("."); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2896 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2897 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2898 jQuery.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2899 isReady: false, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2900 readyList: [], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2901 // Handle when the DOM is ready |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2902 ready: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2903 // Make sure that the DOM is not already loaded |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2904 if ( !jQuery.isReady ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2905 // Remember that the DOM is ready |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2906 jQuery.isReady = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2907 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2908 // If there are functions bound, to execute |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2909 if ( jQuery.readyList ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2910 // Execute all of them |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2911 jQuery.each( jQuery.readyList, function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2912 this.call( document, jQuery ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2913 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2914 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2915 // Reset the list of functions |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2916 jQuery.readyList = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2917 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2918 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2919 // Trigger any bound ready events |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2920 jQuery(document).triggerHandler("ready"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2921 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2922 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2923 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2924 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2925 var readyBound = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2926 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2927 function bindReady(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2928 if ( readyBound ) return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2929 readyBound = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2930 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2931 // Mozilla, Opera and webkit nightlies currently support this event |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2932 if ( document.addEventListener ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2933 // Use the handy event callback |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2934 document.addEventListener( "DOMContentLoaded", function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2935 document.removeEventListener( "DOMContentLoaded", arguments.callee, false ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2936 jQuery.ready(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2937 }, false ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2938 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2939 // If IE event model is used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2940 } else if ( document.attachEvent ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2941 // ensure firing before onload, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2942 // maybe late but safe also for iframes |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2943 document.attachEvent("onreadystatechange", function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2944 if ( document.readyState === "complete" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2945 document.detachEvent( "onreadystatechange", arguments.callee ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2946 jQuery.ready(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2947 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2948 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2949 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2950 // If IE and not an iframe |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2951 // continually check to see if the document is ready |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2952 if ( document.documentElement.doScroll && typeof window.frameElement === "undefined" ) (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2953 if ( jQuery.isReady ) return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2954 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2955 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2956 // If IE is used, use the trick by Diego Perini |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2957 // http://javascript.nwbox.com/IEContentLoaded/ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2958 document.documentElement.doScroll("left"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2959 } catch( error ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2960 setTimeout( arguments.callee, 0 ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2961 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2962 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2963 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2964 // and execute any waiting functions |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2965 jQuery.ready(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2966 })(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2967 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2968 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2969 // A fallback to window.onload, that will always work |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2970 jQuery.event.add( window, "load", jQuery.ready ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2971 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2972 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2973 jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2974 "mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2975 "change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2976 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2977 // Handle event binding |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2978 jQuery.fn[name] = function(fn){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2979 return fn ? this.bind(name, fn) : this.trigger(name); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2980 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2981 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2982 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2983 // Prevent memory leaks in IE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2984 // And prevent errors on refresh with events like mouseover in other browsers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2985 // Window isn't included so as not to unbind existing unload events |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2986 jQuery( window ).bind( 'unload', function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2987 for ( var id in jQuery.cache ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2988 // Skip the window |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2989 if ( id != 1 && jQuery.cache[ id ].handle ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2990 jQuery.event.remove( jQuery.cache[ id ].handle.elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2991 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2992 (function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2993 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2994 jQuery.support = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2995 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2996 var root = document.documentElement, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2997 script = document.createElement("script"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2998 div = document.createElement("div"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2999 id = "script" + (new Date).getTime(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3000 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3001 div.style.display = "none"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3002 div.innerHTML = ' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>'; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3003 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3004 var all = div.getElementsByTagName("*"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3005 a = div.getElementsByTagName("a")[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3006 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3007 // Can't get basic test support |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3008 if ( !all || !all.length || !a ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3009 return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3010 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3011 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3012 jQuery.support = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3013 // IE strips leading whitespace when .innerHTML is used |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3014 leadingWhitespace: div.firstChild.nodeType == 3, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3015 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3016 // Make sure that tbody elements aren't automatically inserted |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3017 // IE will insert them into empty tables |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3018 tbody: !div.getElementsByTagName("tbody").length, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3019 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3020 // Make sure that you can get all elements in an <object> element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3021 // IE 7 always returns no results |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3022 objectAll: !!div.getElementsByTagName("object")[0] |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3023 .getElementsByTagName("*").length, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3024 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3025 // Make sure that link elements get serialized correctly by innerHTML |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3026 // This requires a wrapper element in IE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3027 htmlSerialize: !!div.getElementsByTagName("link").length, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3028 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3029 // Get the style information from getAttribute |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3030 // (IE uses .cssText insted) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3031 style: /red/.test( a.getAttribute("style") ), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3032 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3033 // Make sure that URLs aren't manipulated |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3034 // (IE normalizes it by default) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3035 hrefNormalized: a.getAttribute("href") === "/a", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3036 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3037 // Make sure that element opacity exists |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3038 // (IE uses filter instead) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3039 opacity: a.style.opacity === "0.5", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3040 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3041 // Verify style float existence |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3042 // (IE uses styleFloat instead of cssFloat) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3043 cssFloat: !!a.style.cssFloat, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3044 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3045 // Will be defined later |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3046 scriptEval: false, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3047 noCloneEvent: true, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3048 boxModel: null |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3049 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3050 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3051 script.type = "text/javascript"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3052 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3053 script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3054 } catch(e){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3055 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3056 root.insertBefore( script, root.firstChild ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3057 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3058 // Make sure that the execution of code works by injecting a script |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3059 // tag with appendChild/createTextNode |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3060 // (IE doesn't support this, fails, and uses .text instead) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3061 if ( window[ id ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3062 jQuery.support.scriptEval = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3063 delete window[ id ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3064 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3065 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3066 root.removeChild( script ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3067 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3068 if ( div.attachEvent && div.fireEvent ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3069 div.attachEvent("onclick", function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3070 // Cloning a node shouldn't copy over any |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3071 // bound event handlers (IE does this) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3072 jQuery.support.noCloneEvent = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3073 div.detachEvent("onclick", arguments.callee); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3074 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3075 div.cloneNode(true).fireEvent("onclick"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3076 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3077 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3078 // Figure out if the W3C box model works as expected |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3079 // document.body must exist before we can do this |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3080 jQuery(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3081 var div = document.createElement("div"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3082 div.style.width = "1px"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3083 div.style.paddingLeft = "1px"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3084 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3085 document.body.appendChild( div ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3086 jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3087 document.body.removeChild( div ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3088 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3089 })(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3090 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3091 var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3092 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3093 jQuery.props = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3094 "for": "htmlFor", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3095 "class": "className", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3096 "float": styleFloat, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3097 cssFloat: styleFloat, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3098 styleFloat: styleFloat, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3099 readonly: "readOnly", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3100 maxlength: "maxLength", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3101 cellspacing: "cellSpacing", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3102 rowspan: "rowSpan", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3103 tabindex: "tabIndex" |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3104 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3105 jQuery.fn.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3106 // Keep a copy of the old load |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3107 _load: jQuery.fn.load, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3108 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3109 load: function( url, params, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3110 if ( typeof url !== "string" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3111 return this._load( url ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3112 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3113 var off = url.indexOf(" "); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3114 if ( off >= 0 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3115 var selector = url.slice(off, url.length); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3116 url = url.slice(0, off); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3117 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3118 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3119 // Default to a GET request |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3120 var type = "GET"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3121 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3122 // If the second parameter was provided |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3123 if ( params ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3124 // If it's a function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3125 if ( jQuery.isFunction( params ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3126 // We assume that it's the callback |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3127 callback = params; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3128 params = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3129 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3130 // Otherwise, build a param string |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3131 } else if( typeof params === "object" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3132 params = jQuery.param( params ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3133 type = "POST"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3134 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3135 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3136 var self = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3137 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3138 // Request the remote document |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3139 jQuery.ajax({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3140 url: url, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3141 type: type, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3142 dataType: "html", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3143 data: params, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3144 complete: function(res, status){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3145 // If successful, inject the HTML into all the matched elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3146 if ( status == "success" || status == "notmodified" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3147 // See if a selector was specified |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3148 self.html( selector ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3149 // Create a dummy div to hold the results |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3150 jQuery("<div/>") |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3151 // inject the contents of the document in, removing the scripts |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3152 // to avoid any 'Permission Denied' errors in IE |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3153 .append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3154 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3155 // Locate the specified elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3156 .find(selector) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3157 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3158 // If not, just inject the full result |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3159 res.responseText ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3160 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3161 if( callback ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3162 self.each( callback, [res.responseText, status, res] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3163 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3164 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3165 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3166 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3167 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3168 serialize: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3169 return jQuery.param(this.serializeArray()); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3170 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3171 serializeArray: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3172 return this.map(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3173 return this.elements ? jQuery.makeArray(this.elements) : this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3174 }) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3175 .filter(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3176 return this.name && !this.disabled && |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3177 (this.checked || /select|textarea/i.test(this.nodeName) || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3178 /text|hidden|password/i.test(this.type)); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3179 }) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3180 .map(function(i, elem){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3181 var val = jQuery(this).val(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3182 return val == null ? null : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3183 jQuery.isArray(val) ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3184 jQuery.map( val, function(val, i){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3185 return {name: elem.name, value: val}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3186 }) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3187 {name: elem.name, value: val}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3188 }).get(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3189 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3190 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3191 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3192 // Attach a bunch of functions for handling common AJAX events |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3193 jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3194 jQuery.fn[o] = function(f){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3195 return this.bind(o, f); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3196 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3197 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3198 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3199 var jsc = now(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3200 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3201 jQuery.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3202 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3203 get: function( url, data, callback, type ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3204 // shift arguments if data argument was ommited |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3205 if ( jQuery.isFunction( data ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3206 callback = data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3207 data = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3208 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3209 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3210 return jQuery.ajax({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3211 type: "GET", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3212 url: url, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3213 data: data, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3214 success: callback, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3215 dataType: type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3216 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3217 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3218 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3219 getScript: function( url, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3220 return jQuery.get(url, null, callback, "script"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3221 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3222 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3223 getJSON: function( url, data, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3224 return jQuery.get(url, data, callback, "json"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3225 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3226 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3227 post: function( url, data, callback, type ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3228 if ( jQuery.isFunction( data ) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3229 callback = data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3230 data = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3231 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3232 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3233 return jQuery.ajax({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3234 type: "POST", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3235 url: url, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3236 data: data, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3237 success: callback, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3238 dataType: type |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3239 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3240 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3241 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3242 ajaxSetup: function( settings ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3243 jQuery.extend( jQuery.ajaxSettings, settings ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3244 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3245 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3246 ajaxSettings: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3247 url: location.href, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3248 global: true, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3249 type: "GET", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3250 contentType: "application/x-www-form-urlencoded", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3251 processData: true, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3252 async: true, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3253 /* |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3254 timeout: 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3255 data: null, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3256 username: null, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3257 password: null, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3258 */ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3259 // Create the request object; Microsoft failed to properly |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3260 // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3261 // This function can be overriden by calling jQuery.ajaxSetup |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3262 xhr:function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3263 return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3264 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3265 accepts: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3266 xml: "application/xml, text/xml", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3267 html: "text/html", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3268 script: "text/javascript, application/javascript", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3269 json: "application/json, text/javascript", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3270 text: "text/plain", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3271 _default: "*/*" |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3272 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3273 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3274 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3275 // Last-Modified header cache for next request |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3276 lastModified: {}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3277 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3278 ajax: function( s ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3279 // Extend the settings, but re-extend 's' so that it can be |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3280 // checked again later (in the test suite, specifically) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3281 s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s)); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3282 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3283 var jsonp, jsre = /=\?(&|$)/g, status, data, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3284 type = s.type.toUpperCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3285 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3286 // convert data if not already a string |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3287 if ( s.data && s.processData && typeof s.data !== "string" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3288 s.data = jQuery.param(s.data); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3289 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3290 // Handle JSONP Parameter Callbacks |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3291 if ( s.dataType == "jsonp" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3292 if ( type == "GET" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3293 if ( !s.url.match(jsre) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3294 s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3295 } else if ( !s.data || !s.data.match(jsre) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3296 s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3297 s.dataType = "json"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3298 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3299 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3300 // Build temporary JSONP function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3301 if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3302 jsonp = "jsonp" + jsc++; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3303 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3304 // Replace the =? sequence both in the query string and the data |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3305 if ( s.data ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3306 s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3307 s.url = s.url.replace(jsre, "=" + jsonp + "$1"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3308 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3309 // We need to make sure |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3310 // that a JSONP style response is executed properly |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3311 s.dataType = "script"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3312 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3313 // Handle JSONP-style loading |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3314 window[ jsonp ] = function(tmp){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3315 data = tmp; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3316 success(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3317 complete(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3318 // Garbage collect |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3319 window[ jsonp ] = undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3320 try{ delete window[ jsonp ]; } catch(e){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3321 if ( head ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3322 head.removeChild( script ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3323 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3324 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3325 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3326 if ( s.dataType == "script" && s.cache == null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3327 s.cache = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3328 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3329 if ( s.cache === false && type == "GET" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3330 var ts = now(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3331 // try replacing _= if it is there |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3332 var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3333 // if nothing was replaced, add timestamp to the end |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3334 s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : ""); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3335 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3336 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3337 // If data is available, append data to url for get requests |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3338 if ( s.data && type == "GET" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3339 s.url += (s.url.match(/\?/) ? "&" : "?") + s.data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3340 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3341 // IE likes to send both get and post data, prevent this |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3342 s.data = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3343 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3344 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3345 // Watch for a new set of requests |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3346 if ( s.global && ! jQuery.active++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3347 jQuery.event.trigger( "ajaxStart" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3348 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3349 // Matches an absolute URL, and saves the domain |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3350 var parts = /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3351 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3352 // If we're requesting a remote document |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3353 // and trying to load JSON or Script with a GET |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3354 if ( s.dataType == "script" && type == "GET" && parts |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3355 && ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3356 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3357 var head = document.getElementsByTagName("head")[0]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3358 var script = document.createElement("script"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3359 script.src = s.url; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3360 if (s.scriptCharset) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3361 script.charset = s.scriptCharset; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3362 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3363 // Handle Script loading |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3364 if ( !jsonp ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3365 var done = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3366 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3367 // Attach handlers for all browsers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3368 script.onload = script.onreadystatechange = function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3369 if ( !done && (!this.readyState || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3370 this.readyState == "loaded" || this.readyState == "complete") ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3371 done = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3372 success(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3373 complete(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3374 head.removeChild( script ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3375 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3376 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3377 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3378 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3379 head.appendChild(script); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3380 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3381 // We handle everything using the script element injection |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3382 return undefined; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3383 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3384 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3385 var requestDone = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3386 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3387 // Create the request object |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3388 var xhr = s.xhr(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3389 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3390 // Open the socket |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3391 // Passing null username, generates a login popup on Opera (#2865) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3392 if( s.username ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3393 xhr.open(type, s.url, s.async, s.username, s.password); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3394 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3395 xhr.open(type, s.url, s.async); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3396 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3397 // Need an extra try/catch for cross domain requests in Firefox 3 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3398 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3399 // Set the correct header, if data is being sent |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3400 if ( s.data ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3401 xhr.setRequestHeader("Content-Type", s.contentType); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3402 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3403 // Set the If-Modified-Since header, if ifModified mode. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3404 if ( s.ifModified ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3405 xhr.setRequestHeader("If-Modified-Since", |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3406 jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3407 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3408 // Set header so the called script knows that it's an XMLHttpRequest |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3409 xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3410 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3411 // Set the Accepts header for the server, depending on the dataType |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3412 xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3413 s.accepts[ s.dataType ] + ", */*" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3414 s.accepts._default ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3415 } catch(e){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3416 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3417 // Allow custom headers/mimetypes and early abort |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3418 if ( s.beforeSend && s.beforeSend(xhr, s) === false ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3419 // Handle the global AJAX counter |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3420 if ( s.global && ! --jQuery.active ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3421 jQuery.event.trigger( "ajaxStop" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3422 // close opended socket |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3423 xhr.abort(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3424 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3425 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3426 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3427 if ( s.global ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3428 jQuery.event.trigger("ajaxSend", [xhr, s]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3429 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3430 // Wait for a response to come back |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3431 var onreadystatechange = function(isTimeout){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3432 // The request was aborted, clear the interval and decrement jQuery.active |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3433 if (xhr.readyState == 0) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3434 if (ival) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3435 // clear poll interval |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3436 clearInterval(ival); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3437 ival = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3438 // Handle the global AJAX counter |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3439 if ( s.global && ! --jQuery.active ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3440 jQuery.event.trigger( "ajaxStop" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3441 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3442 // The transfer is complete and the data is available, or the request timed out |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3443 } else if ( !requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout") ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3444 requestDone = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3445 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3446 // clear poll interval |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3447 if (ival) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3448 clearInterval(ival); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3449 ival = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3450 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3451 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3452 status = isTimeout == "timeout" ? "timeout" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3453 !jQuery.httpSuccess( xhr ) ? "error" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3454 s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? "notmodified" : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3455 "success"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3456 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3457 if ( status == "success" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3458 // Watch for, and catch, XML document parse errors |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3459 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3460 // process the data (runs the xml through httpData regardless of callback) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3461 data = jQuery.httpData( xhr, s.dataType, s ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3462 } catch(e) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3463 status = "parsererror"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3464 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3465 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3466 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3467 // Make sure that the request was successful or notmodified |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3468 if ( status == "success" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3469 // Cache Last-Modified header, if ifModified mode. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3470 var modRes; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3471 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3472 modRes = xhr.getResponseHeader("Last-Modified"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3473 } catch(e) {} // swallow exception thrown by FF if header is not available |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3474 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3475 if ( s.ifModified && modRes ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3476 jQuery.lastModified[s.url] = modRes; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3477 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3478 // JSONP handles its own success callback |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3479 if ( !jsonp ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3480 success(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3481 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3482 jQuery.handleError(s, xhr, status); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3483 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3484 // Fire the complete handlers |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3485 complete(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3486 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3487 if ( isTimeout ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3488 xhr.abort(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3489 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3490 // Stop memory leaks |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3491 if ( s.async ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3492 xhr = null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3493 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3494 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3495 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3496 if ( s.async ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3497 // don't attach the handler to the request, just poll it instead |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3498 var ival = setInterval(onreadystatechange, 13); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3499 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3500 // Timeout checker |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3501 if ( s.timeout > 0 ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3502 setTimeout(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3503 // Check to see if the request is still happening |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3504 if ( xhr && !requestDone ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3505 onreadystatechange( "timeout" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3506 }, s.timeout); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3507 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3508 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3509 // Send the data |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3510 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3511 xhr.send(s.data); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3512 } catch(e) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3513 jQuery.handleError(s, xhr, null, e); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3514 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3515 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3516 // firefox 1.5 doesn't fire statechange for sync requests |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3517 if ( !s.async ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3518 onreadystatechange(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3519 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3520 function success(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3521 // If a local callback was specified, fire it and pass it the data |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3522 if ( s.success ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3523 s.success( data, status ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3524 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3525 // Fire the global callback |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3526 if ( s.global ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3527 jQuery.event.trigger( "ajaxSuccess", [xhr, s] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3528 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3529 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3530 function complete(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3531 // Process result |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3532 if ( s.complete ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3533 s.complete(xhr, status); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3534 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3535 // The request was completed |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3536 if ( s.global ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3537 jQuery.event.trigger( "ajaxComplete", [xhr, s] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3538 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3539 // Handle the global AJAX counter |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3540 if ( s.global && ! --jQuery.active ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3541 jQuery.event.trigger( "ajaxStop" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3542 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3543 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3544 // return XMLHttpRequest to allow aborting the request etc. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3545 return xhr; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3546 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3547 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3548 handleError: function( s, xhr, status, e ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3549 // If a local callback was specified, fire it |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3550 if ( s.error ) s.error( xhr, status, e ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3551 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3552 // Fire the global callback |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3553 if ( s.global ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3554 jQuery.event.trigger( "ajaxError", [xhr, s, e] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3555 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3556 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3557 // Counter for holding the number of active queries |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3558 active: 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3559 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3560 // Determines if an XMLHttpRequest was successful or not |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3561 httpSuccess: function( xhr ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3562 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3563 // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3564 return !xhr.status && location.protocol == "file:" || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3565 ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3566 } catch(e){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3567 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3568 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3569 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3570 // Determines if an XMLHttpRequest returns NotModified |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3571 httpNotModified: function( xhr, url ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3572 try { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3573 var xhrRes = xhr.getResponseHeader("Last-Modified"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3574 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3575 // Firefox always returns 200. check Last-Modified date |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3576 return xhr.status == 304 || xhrRes == jQuery.lastModified[url]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3577 } catch(e){} |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3578 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3579 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3580 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3581 httpData: function( xhr, type, s ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3582 var ct = xhr.getResponseHeader("content-type"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3583 xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3584 data = xml ? xhr.responseXML : xhr.responseText; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3585 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3586 if ( xml && data.documentElement.tagName == "parsererror" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3587 throw "parsererror"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3588 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3589 // Allow a pre-filtering function to sanitize the response |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3590 // s != null is checked to keep backwards compatibility |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3591 if( s && s.dataFilter ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3592 data = s.dataFilter( data, type ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3593 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3594 // The filter can actually parse the response |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3595 if( typeof data === "string" ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3596 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3597 // If the type is "script", eval it in global context |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3598 if ( type == "script" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3599 jQuery.globalEval( data ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3600 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3601 // Get the JavaScript object, if JSON is used. |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3602 if ( type == "json" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3603 data = window["eval"]("(" + data + ")"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3604 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3605 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3606 return data; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3607 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3608 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3609 // Serialize an array of form elements or a set of |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3610 // key/values into a query string |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3611 param: function( a ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3612 var s = [ ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3613 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3614 function add( key, value ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3615 s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(value); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3616 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3617 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3618 // If an array was passed in, assume that it is an array |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3619 // of form elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3620 if ( jQuery.isArray(a) || a.jquery ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3621 // Serialize the form elements |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3622 jQuery.each( a, function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3623 add( this.name, this.value ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3624 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3625 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3626 // Otherwise, assume that it's an object of key/value pairs |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3627 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3628 // Serialize the key/values |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3629 for ( var j in a ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3630 // If the value is an array then the key names need to be repeated |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3631 if ( jQuery.isArray(a[j]) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3632 jQuery.each( a[j], function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3633 add( j, this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3634 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3635 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3636 add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3637 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3638 // Return the resulting serialization |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3639 return s.join("&").replace(/%20/g, "+"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3640 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3641 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3642 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3643 var elemdisplay = {}, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3644 timerId, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3645 fxAttrs = [ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3646 // height animations |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3647 [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3648 // width animations |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3649 [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3650 // opacity animations |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3651 [ "opacity" ] |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3652 ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3653 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3654 function genFx( type, num ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3655 var obj = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3656 jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3657 obj[ this ] = type; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3658 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3659 return obj; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3660 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3661 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3662 jQuery.fn.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3663 show: function(speed,callback){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3664 if ( speed ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3665 return this.animate( genFx("show", 3), speed, callback); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3666 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3667 for ( var i = 0, l = this.length; i < l; i++ ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3668 var old = jQuery.data(this[i], "olddisplay"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3669 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3670 this[i].style.display = old || ""; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3671 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3672 if ( jQuery.css(this[i], "display") === "none" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3673 var tagName = this[i].tagName, display; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3674 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3675 if ( elemdisplay[ tagName ] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3676 display = elemdisplay[ tagName ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3677 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3678 var elem = jQuery("<" + tagName + " />").appendTo("body"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3679 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3680 display = elem.css("display"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3681 if ( display === "none" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3682 display = "block"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3683 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3684 elem.remove(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3685 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3686 elemdisplay[ tagName ] = display; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3687 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3688 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3689 this[i].style.display = jQuery.data(this[i], "olddisplay", display); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3690 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3691 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3692 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3693 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3694 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3695 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3696 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3697 hide: function(speed,callback){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3698 if ( speed ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3699 return this.animate( genFx("hide", 3), speed, callback); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3700 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3701 for ( var i = 0, l = this.length; i < l; i++ ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3702 var old = jQuery.data(this[i], "olddisplay"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3703 if ( !old && old !== "none" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3704 jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display")); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3705 this[i].style.display = "none"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3706 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3707 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3708 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3709 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3710 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3711 // Save the old toggle function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3712 _toggle: jQuery.fn.toggle, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3713 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3714 toggle: function( fn, fn2 ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3715 var bool = typeof fn === "boolean"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3716 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3717 return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3718 this._toggle.apply( this, arguments ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3719 fn == null || bool ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3720 this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3721 var state = bool ? fn : jQuery(this).is(":hidden"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3722 jQuery(this)[ state ? "show" : "hide" ](); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3723 }) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3724 this.animate(genFx("toggle", 3), fn, fn2); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3725 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3726 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3727 fadeTo: function(speed,to,callback){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3728 return this.animate({opacity: to}, speed, callback); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3729 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3730 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3731 animate: function( prop, speed, easing, callback ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3732 var optall = jQuery.speed(speed, easing, callback); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3733 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3734 return this[ optall.queue === false ? "each" : "queue" ](function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3735 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3736 var opt = jQuery.extend({}, optall), p, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3737 hidden = this.nodeType == 1 && jQuery(this).is(":hidden"), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3738 self = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3739 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3740 for ( p in prop ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3741 if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3742 return opt.complete.call(this); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3743 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3744 if ( ( p == "height" || p == "width" ) && this.style ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3745 // Store display property |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3746 opt.display = jQuery.css(this, "display"); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3747 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3748 // Make sure that nothing sneaks out |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3749 opt.overflow = this.style.overflow; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3750 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3751 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3752 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3753 if ( opt.overflow != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3754 this.style.overflow = "hidden"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3755 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3756 opt.curAnim = jQuery.extend({}, prop); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3757 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3758 jQuery.each( prop, function(name, val){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3759 var e = new jQuery.fx( self, opt, name ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3760 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3761 if ( /toggle|show|hide/.test(val) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3762 e[ val == "toggle" ? hidden ? "show" : "hide" : val ]( prop ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3763 else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3764 var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3765 start = e.cur(true) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3766 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3767 if ( parts ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3768 var end = parseFloat(parts[2]), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3769 unit = parts[3] || "px"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3770 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3771 // We need to compute starting value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3772 if ( unit != "px" ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3773 self.style[ name ] = (end || 1) + unit; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3774 start = ((end || 1) / e.cur(true)) * start; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3775 self.style[ name ] = start + unit; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3776 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3777 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3778 // If a +=/-= token was provided, we're doing a relative animation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3779 if ( parts[1] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3780 end = ((parts[1] == "-=" ? -1 : 1) * end) + start; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3781 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3782 e.custom( start, end, unit ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3783 } else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3784 e.custom( start, val, "" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3785 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3786 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3787 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3788 // For JS strict compliance |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3789 return true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3790 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3791 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3792 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3793 stop: function(clearQueue, gotoEnd){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3794 var timers = jQuery.timers; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3795 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3796 if (clearQueue) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3797 this.queue([]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3798 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3799 this.each(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3800 // go in reverse order so anything added to the queue during the loop is ignored |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3801 for ( var i = timers.length - 1; i >= 0; i-- ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3802 if ( timers[i].elem == this ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3803 if (gotoEnd) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3804 // force the next step to be the last |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3805 timers[i](true); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3806 timers.splice(i, 1); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3807 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3808 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3809 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3810 // start the next in the queue if the last step wasn't forced |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3811 if (!gotoEnd) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3812 this.dequeue(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3813 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3814 return this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3815 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3816 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3817 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3818 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3819 // Generate shortcuts for custom animations |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3820 jQuery.each({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3821 slideDown: genFx("show", 1), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3822 slideUp: genFx("hide", 1), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3823 slideToggle: genFx("toggle", 1), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3824 fadeIn: { opacity: "show" }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3825 fadeOut: { opacity: "hide" } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3826 }, function( name, props ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3827 jQuery.fn[ name ] = function( speed, callback ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3828 return this.animate( props, speed, callback ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3829 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3830 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3831 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3832 jQuery.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3833 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3834 speed: function(speed, easing, fn) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3835 var opt = typeof speed === "object" ? speed : { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3836 complete: fn || !fn && easing || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3837 jQuery.isFunction( speed ) && speed, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3838 duration: speed, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3839 easing: fn && easing || easing && !jQuery.isFunction(easing) && easing |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3840 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3841 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3842 opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3843 jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3844 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3845 // Queueing |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3846 opt.old = opt.complete; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3847 opt.complete = function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3848 if ( opt.queue !== false ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3849 jQuery(this).dequeue(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3850 if ( jQuery.isFunction( opt.old ) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3851 opt.old.call( this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3852 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3853 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3854 return opt; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3855 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3856 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3857 easing: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3858 linear: function( p, n, firstNum, diff ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3859 return firstNum + diff * p; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3860 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3861 swing: function( p, n, firstNum, diff ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3862 return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3863 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3864 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3865 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3866 timers: [], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3867 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3868 fx: function( elem, options, prop ){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3869 this.options = options; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3870 this.elem = elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3871 this.prop = prop; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3872 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3873 if ( !options.orig ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3874 options.orig = {}; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3875 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3876 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3877 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3878 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3879 jQuery.fx.prototype = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3880 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3881 // Simple function for setting a style value |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3882 update: function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3883 if ( this.options.step ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3884 this.options.step.call( this.elem, this.now, this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3885 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3886 (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3887 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3888 // Set display property to block for height/width animations |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3889 if ( ( this.prop == "height" || this.prop == "width" ) && this.elem.style ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3890 this.elem.style.display = "block"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3891 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3892 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3893 // Get the current size |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3894 cur: function(force){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3895 if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3896 return this.elem[ this.prop ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3897 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3898 var r = parseFloat(jQuery.css(this.elem, this.prop, force)); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3899 return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3900 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3901 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3902 // Start an animation from one number to another |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3903 custom: function(from, to, unit){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3904 this.startTime = now(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3905 this.start = from; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3906 this.end = to; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3907 this.unit = unit || this.unit || "px"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3908 this.now = this.start; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3909 this.pos = this.state = 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3910 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3911 var self = this; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3912 function t(gotoEnd){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3913 return self.step(gotoEnd); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3914 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3915 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3916 t.elem = this.elem; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3917 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3918 if ( t() && jQuery.timers.push(t) == 1 ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3919 timerId = setInterval(function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3920 var timers = jQuery.timers; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3921 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3922 for ( var i = 0; i < timers.length; i++ ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3923 if ( !timers[i]() ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3924 timers.splice(i--, 1); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3925 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3926 if ( !timers.length ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3927 clearInterval( timerId ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3928 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3929 }, 13); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3930 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3931 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3932 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3933 // Simple 'show' function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3934 show: function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3935 // Remember where we started, so that we can go back to it later |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3936 this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3937 this.options.show = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3938 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3939 // Begin the animation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3940 // Make sure that we start at a small width/height to avoid any |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3941 // flash of content |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3942 this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur()); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3943 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3944 // Start by showing the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3945 jQuery(this.elem).show(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3946 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3947 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3948 // Simple 'hide' function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3949 hide: function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3950 // Remember where we started, so that we can go back to it later |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3951 this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3952 this.options.hide = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3953 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3954 // Begin the animation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3955 this.custom(this.cur(), 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3956 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3957 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3958 // Each step of an animation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3959 step: function(gotoEnd){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3960 var t = now(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3961 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3962 if ( gotoEnd || t >= this.options.duration + this.startTime ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3963 this.now = this.end; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3964 this.pos = this.state = 1; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3965 this.update(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3966 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3967 this.options.curAnim[ this.prop ] = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3968 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3969 var done = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3970 for ( var i in this.options.curAnim ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3971 if ( this.options.curAnim[i] !== true ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3972 done = false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3973 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3974 if ( done ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3975 if ( this.options.display != null ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3976 // Reset the overflow |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3977 this.elem.style.overflow = this.options.overflow; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3978 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3979 // Reset the display |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3980 this.elem.style.display = this.options.display; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3981 if ( jQuery.css(this.elem, "display") == "none" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3982 this.elem.style.display = "block"; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3983 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3984 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3985 // Hide the element if the "hide" operation was done |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3986 if ( this.options.hide ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3987 jQuery(this.elem).hide(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3988 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3989 // Reset the properties, if the item has been hidden or shown |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3990 if ( this.options.hide || this.options.show ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3991 for ( var p in this.options.curAnim ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3992 jQuery.attr(this.elem.style, p, this.options.orig[p]); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3993 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3994 // Execute the complete function |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3995 this.options.complete.call( this.elem ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3996 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3997 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3998 return false; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3999 } else { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4000 var n = t - this.startTime; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4001 this.state = n / this.options.duration; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4002 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4003 // Perform the easing function, defaults to swing |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4004 this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4005 this.now = this.start + ((this.end - this.start) * this.pos); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4006 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4007 // Perform the next step of the animation |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4008 this.update(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4009 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4010 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4011 return true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4012 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4013 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4014 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4015 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4016 jQuery.extend( jQuery.fx, { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4017 speeds:{ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4018 slow: 600, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4019 fast: 200, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4020 // Default speed |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4021 _default: 400 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4022 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4023 step: { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4024 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4025 opacity: function(fx){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4026 jQuery.attr(fx.elem.style, "opacity", fx.now); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4027 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4028 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4029 _default: function(fx){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4030 if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4031 fx.elem.style[ fx.prop ] = fx.now + fx.unit; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4032 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4033 fx.elem[ fx.prop ] = fx.now; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4034 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4035 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4036 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4037 if ( document.documentElement["getBoundingClientRect"] ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4038 jQuery.fn.offset = function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4039 if ( !this[0] ) return { top: 0, left: 0 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4040 if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4041 var box = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4042 clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4043 top = box.top + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4044 left = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4045 return { top: top, left: left }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4046 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4047 else |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4048 jQuery.fn.offset = function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4049 if ( !this[0] ) return { top: 0, left: 0 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4050 if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4051 jQuery.offset.initialized || jQuery.offset.initialize(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4052 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4053 var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4054 doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4055 body = doc.body, defaultView = doc.defaultView, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4056 prevComputedStyle = defaultView.getComputedStyle(elem, null), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4057 top = elem.offsetTop, left = elem.offsetLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4058 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4059 while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4060 computedStyle = defaultView.getComputedStyle(elem, null); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4061 top -= elem.scrollTop, left -= elem.scrollLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4062 if ( elem === offsetParent ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4063 top += elem.offsetTop, left += elem.offsetLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4064 if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)) ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4065 top += parseInt( computedStyle.borderTopWidth, 10) || 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4066 left += parseInt( computedStyle.borderLeftWidth, 10) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4067 prevOffsetParent = offsetParent, offsetParent = elem.offsetParent; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4068 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4069 if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4070 top += parseInt( computedStyle.borderTopWidth, 10) || 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4071 left += parseInt( computedStyle.borderLeftWidth, 10) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4072 prevComputedStyle = computedStyle; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4073 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4074 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4075 if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4076 top += body.offsetTop, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4077 left += body.offsetLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4078 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4079 if ( prevComputedStyle.position === "fixed" ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4080 top += Math.max(docElem.scrollTop, body.scrollTop), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4081 left += Math.max(docElem.scrollLeft, body.scrollLeft); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4082 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4083 return { top: top, left: left }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4084 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4085 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4086 jQuery.offset = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4087 initialize: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4088 if ( this.initialized ) return; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4089 var body = document.body, container = document.createElement('div'), innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4090 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>'; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4091 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4092 rules = { position: 'absolute', top: 0, left: 0, margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4093 for ( prop in rules ) container.style[prop] = rules[prop]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4094 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4095 container.innerHTML = html; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4096 body.insertBefore(container, body.firstChild); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4097 innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4098 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4099 this.doesNotAddBorder = (checkDiv.offsetTop !== 5); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4100 this.doesAddBorderForTableAndCells = (td.offsetTop === 5); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4101 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4102 innerDiv.style.overflow = 'hidden', innerDiv.style.position = 'relative'; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4103 this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4104 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4105 body.style.marginTop = '1px'; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4106 this.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4107 body.style.marginTop = bodyMarginTop; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4108 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4109 body.removeChild(container); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4110 this.initialized = true; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4111 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4112 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4113 bodyOffset: function(body) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4114 jQuery.offset.initialized || jQuery.offset.initialize(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4115 var top = body.offsetTop, left = body.offsetLeft; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4116 if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4117 top += parseInt( jQuery.curCSS(body, 'marginTop', true), 10 ) || 0, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4118 left += parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || 0; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4119 return { top: top, left: left }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4120 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4121 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4122 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4123 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4124 jQuery.fn.extend({ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4125 position: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4126 var left = 0, top = 0, results; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4127 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4128 if ( this[0] ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4129 // Get *real* offsetParent |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4130 var offsetParent = this.offsetParent(), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4131 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4132 // Get correct offsets |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4133 offset = this.offset(), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4134 parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4135 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4136 // Subtract element margins |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4137 // note: when an element has margin: auto the offsetLeft and marginLeft |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4138 // are the same in Safari causing offset.left to incorrectly be 0 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4139 offset.top -= num( this, 'marginTop' ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4140 offset.left -= num( this, 'marginLeft' ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4141 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4142 // Add offsetParent borders |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4143 parentOffset.top += num( offsetParent, 'borderTopWidth' ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4144 parentOffset.left += num( offsetParent, 'borderLeftWidth' ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4145 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4146 // Subtract the two offsets |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4147 results = { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4148 top: offset.top - parentOffset.top, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4149 left: offset.left - parentOffset.left |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4150 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4151 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4152 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4153 return results; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4154 }, |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4155 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4156 offsetParent: function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4157 var offsetParent = this[0].offsetParent || document.body; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4158 while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') ) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4159 offsetParent = offsetParent.offsetParent; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4160 return jQuery(offsetParent); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4161 } |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4162 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4163 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4164 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4165 // Create scrollLeft and scrollTop methods |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4166 jQuery.each( ['Left', 'Top'], function(i, name) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4167 var method = 'scroll' + name; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4168 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4169 jQuery.fn[ method ] = function(val) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4170 if (!this[0]) return null; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4171 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4172 return val !== undefined ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4173 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4174 // Set the scroll offset |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4175 this.each(function() { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4176 this == window || this == document ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4177 window.scrollTo( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4178 !i ? val : jQuery(window).scrollLeft(), |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4179 i ? val : jQuery(window).scrollTop() |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4180 ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4181 this[ method ] = val; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4182 }) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4183 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4184 // Return the scroll offset |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4185 this[0] == window || this[0] == document ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4186 self[ i ? 'pageYOffset' : 'pageXOffset' ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4187 jQuery.boxModel && document.documentElement[ method ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4188 document.body[ method ] : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4189 this[0][ method ]; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4190 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4191 }); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4192 // Create innerHeight, innerWidth, outerHeight and outerWidth methods |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4193 jQuery.each([ "Height", "Width" ], function(i, name){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4194 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4195 var tl = i ? "Left" : "Top", // top or left |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4196 br = i ? "Right" : "Bottom"; // bottom or right |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4197 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4198 // innerHeight and innerWidth |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4199 jQuery.fn["inner" + name] = function(){ |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4200 return this[ name.toLowerCase() ]() + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4201 num(this, "padding" + tl) + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4202 num(this, "padding" + br); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4203 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4204 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4205 // outerHeight and outerWidth |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4206 jQuery.fn["outer" + name] = function(margin) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4207 return this["inner" + name]() + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4208 num(this, "border" + tl + "Width") + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4209 num(this, "border" + br + "Width") + |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4210 (margin ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4211 num(this, "margin" + tl) + num(this, "margin" + br) : 0); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4212 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4213 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4214 var type = name.toLowerCase(); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4215 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4216 jQuery.fn[ type ] = function( size ) { |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4217 // Get window width or height |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4218 return this[0] == window ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4219 // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4220 document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] || |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4221 document.body[ "client" + name ] : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4222 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4223 // Get document width or height |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4224 this[0] == document ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4225 // Either scroll[Width/Height] or offset[Width/Height], whichever is greater |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4226 Math.max( |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4227 document.documentElement["client" + name], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4228 document.body["scroll" + name], document.documentElement["scroll" + name], |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4229 document.body["offset" + name], document.documentElement["offset" + name] |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4230 ) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4231 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4232 // Get or set width or height on the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4233 size === undefined ? |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4234 // Get width or height on the element |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4235 (this.length ? jQuery.css( this[0], type ) : null) : |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4236 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4237 // Set the width or height on the element (default to pixels if value is unitless) |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4238 this.css( type, typeof size === "string" ? size : size + "px" ); |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4239 }; |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4240 |
05f467a83cb9
Added open web magic ink page.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4241 });})(); |