diff options
Diffstat (limited to 'static/development-bundle/ui/effects.core.js')
-rw-r--r-- | static/development-bundle/ui/effects.core.js | 545 |
1 files changed, 545 insertions, 0 deletions
diff --git a/static/development-bundle/ui/effects.core.js b/static/development-bundle/ui/effects.core.js new file mode 100644 index 0000000..efd0d50 --- /dev/null +++ b/static/development-bundle/ui/effects.core.js | |||
@@ -0,0 +1,545 @@ | |||
1 | /* | ||
2 | * jQuery UI Effects 1.7.2 | ||
3 | * | ||
4 | * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) | ||
5 | * Dual licensed under the MIT (MIT-LICENSE.txt) | ||
6 | * and GPL (GPL-LICENSE.txt) licenses. | ||
7 | * | ||
8 | * http://docs.jquery.com/UI/Effects/ | ||
9 | */ | ||
10 | ;jQuery.effects || (function($) { | ||
11 | |||
12 | $.effects = { | ||
13 | version: "1.7.2", | ||
14 | |||
15 | // Saves a set of properties in a data storage | ||
16 | save: function(element, set) { | ||
17 | for(var i=0; i < set.length; i++) { | ||
18 | if(set[i] !== null) element.data("ec.storage."+set[i], element[0].style[set[i]]); | ||
19 | } | ||
20 | }, | ||
21 | |||
22 | // Restores a set of previously saved properties from a data storage | ||
23 | restore: function(element, set) { | ||
24 | for(var i=0; i < set.length; i++) { | ||
25 | if(set[i] !== null) element.css(set[i], element.data("ec.storage."+set[i])); | ||
26 | } | ||
27 | }, | ||
28 | |||
29 | setMode: function(el, mode) { | ||
30 | if (mode == 'toggle') mode = el.is(':hidden') ? 'show' : 'hide'; // Set for toggle | ||
31 | return mode; | ||
32 | }, | ||
33 | |||
34 | getBaseline: function(origin, original) { // Translates a [top,left] array into a baseline value | ||
35 | // this should be a little more flexible in the future to handle a string & hash | ||
36 | var y, x; | ||
37 | switch (origin[0]) { | ||
38 | case 'top': y = 0; break; | ||
39 | case 'middle': y = 0.5; break; | ||
40 | case 'bottom': y = 1; break; | ||
41 | default: y = origin[0] / original.height; | ||
42 | }; | ||
43 | switch (origin[1]) { | ||
44 | case 'left': x = 0; break; | ||
45 | case 'center': x = 0.5; break; | ||
46 | case 'right': x = 1; break; | ||
47 | default: x = origin[1] / original.width; | ||
48 | }; | ||
49 | return {x: x, y: y}; | ||
50 | }, | ||
51 | |||
52 | // Wraps the element around a wrapper that copies position properties | ||
53 | createWrapper: function(element) { | ||
54 | |||
55 | //if the element is already wrapped, return it | ||
56 | if (element.parent().is('.ui-effects-wrapper')) | ||
57 | return element.parent(); | ||
58 | |||
59 | //Cache width,height and float properties of the element, and create a wrapper around it | ||
60 | var props = { width: element.outerWidth(true), height: element.outerHeight(true), 'float': element.css('float') }; | ||
61 | element.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>'); | ||
62 | var wrapper = element.parent(); | ||
63 | |||
64 | //Transfer the positioning of the element to the wrapper | ||
65 | if (element.css('position') == 'static') { | ||
66 | wrapper.css({ position: 'relative' }); | ||
67 | element.css({ position: 'relative'} ); | ||
68 | } else { | ||
69 | var top = element.css('top'); if(isNaN(parseInt(top,10))) top = 'auto'; | ||
70 | var left = element.css('left'); if(isNaN(parseInt(left,10))) left = 'auto'; | ||
71 | wrapper.css({ position: element.css('position'), top: top, left: left, zIndex: element.css('z-index') }).show(); | ||
72 | element.css({position: 'relative', top: 0, left: 0 }); | ||
73 | } | ||
74 | |||
75 | wrapper.css(props); | ||
76 | return wrapper; | ||
77 | }, | ||
78 | |||
79 | removeWrapper: function(element) { | ||
80 | if (element.parent().is('.ui-effects-wrapper')) | ||
81 | return element.parent().replaceWith(element); | ||
82 | return element; | ||
83 | }, | ||
84 | |||
85 | setTransition: function(element, list, factor, value) { | ||
86 | value = value || {}; | ||
87 | $.each(list, function(i, x){ | ||
88 | unit = element.cssUnit(x); | ||
89 | if (unit[0] > 0) value[x] = unit[0] * factor + unit[1]; | ||
90 | }); | ||
91 | return value; | ||
92 | }, | ||
93 | |||
94 | //Base function to animate from one class to another in a seamless transition | ||
95 | animateClass: function(value, duration, easing, callback) { | ||
96 | |||
97 | var cb = (typeof easing == "function" ? easing : (callback ? callback : null)); | ||
98 | var ea = (typeof easing == "string" ? easing : null); | ||
99 | |||
100 | return this.each(function() { | ||
101 | |||
102 | var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || ''; | ||
103 | if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */ | ||
104 | if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; } | ||
105 | |||
106 | //Let's get a style offset | ||
107 | var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); | ||
108 | if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove); | ||
109 | var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); | ||
110 | if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove); | ||
111 | |||
112 | // The main function to form the object for animation | ||
113 | for(var n in newStyle) { | ||
114 | if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */ | ||
115 | && n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */ | ||
116 | && newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */ | ||
117 | && (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */ | ||
118 | && (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */ | ||
119 | ) offset[n] = newStyle[n]; | ||
120 | } | ||
121 | |||
122 | that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object | ||
123 | // Change style attribute back to original. For stupid IE, we need to clear the damn object. | ||
124 | if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr); | ||
125 | if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove); | ||
126 | if(cb) cb.apply(this, arguments); | ||
127 | }); | ||
128 | |||
129 | }); | ||
130 | } | ||
131 | }; | ||
132 | |||
133 | |||
134 | function _normalizeArguments(a, m) { | ||
135 | |||
136 | var o = a[1] && a[1].constructor == Object ? a[1] : {}; if(m) o.mode = m; | ||
137 | var speed = a[1] && a[1].constructor != Object ? a[1] : (o.duration ? o.duration : a[2]); //either comes from options.duration or the secon/third argument | ||
138 | speed = $.fx.off ? 0 : typeof speed === "number" ? speed : $.fx.speeds[speed] || $.fx.speeds._default; | ||
139 | var callback = o.callback || ( $.isFunction(a[1]) && a[1] ) || ( $.isFunction(a[2]) && a[2] ) || ( $.isFunction(a[3]) && a[3] ); | ||
140 | |||
141 | return [a[0], o, speed, callback]; | ||
142 | |||
143 | } | ||
144 | |||
145 | //Extend the methods of jQuery | ||
146 | $.fn.extend({ | ||
147 | |||
148 | //Save old methods | ||
149 | _show: $.fn.show, | ||
150 | _hide: $.fn.hide, | ||
151 | __toggle: $.fn.toggle, | ||
152 | _addClass: $.fn.addClass, | ||
153 | _removeClass: $.fn.removeClass, | ||
154 | _toggleClass: $.fn.toggleClass, | ||
155 | |||
156 | // New effect methods | ||
157 | effect: function(fx, options, speed, callback) { | ||
158 | return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: options || {}, duration: speed, callback: callback }) : null; | ||
159 | }, | ||
160 | |||
161 | show: function() { | ||
162 | if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0]))) | ||
163 | return this._show.apply(this, arguments); | ||
164 | else { | ||
165 | return this.effect.apply(this, _normalizeArguments(arguments, 'show')); | ||
166 | } | ||
167 | }, | ||
168 | |||
169 | hide: function() { | ||
170 | if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0]))) | ||
171 | return this._hide.apply(this, arguments); | ||
172 | else { | ||
173 | return this.effect.apply(this, _normalizeArguments(arguments, 'hide')); | ||
174 | } | ||
175 | }, | ||
176 | |||
177 | toggle: function(){ | ||
178 | if(!arguments[0] || | ||
179 | (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0])) || | ||
180 | ($.isFunction(arguments[0]) || typeof arguments[0] == 'boolean')) { | ||
181 | return this.__toggle.apply(this, arguments); | ||
182 | } else { | ||
183 | return this.effect.apply(this, _normalizeArguments(arguments, 'toggle')); | ||
184 | } | ||
185 | }, | ||
186 | |||
187 | addClass: function(classNames, speed, easing, callback) { | ||
188 | return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames); | ||
189 | }, | ||
190 | removeClass: function(classNames,speed,easing,callback) { | ||
191 | return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames); | ||
192 | }, | ||
193 | toggleClass: function(classNames,speed,easing,callback) { | ||
194 | return ( (typeof speed !== "boolean") && speed ) ? $.effects.animateClass.apply(this, [{ toggle: classNames },speed,easing,callback]) : this._toggleClass(classNames, speed); | ||
195 | }, | ||
196 | morph: function(remove,add,speed,easing,callback) { | ||
197 | return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]); | ||
198 | }, | ||
199 | switchClass: function() { | ||
200 | return this.morph.apply(this, arguments); | ||
201 | }, | ||
202 | |||
203 | // helper functions | ||
204 | cssUnit: function(key) { | ||
205 | var style = this.css(key), val = []; | ||
206 | $.each( ['em','px','%','pt'], function(i, unit){ | ||
207 | if(style.indexOf(unit) > 0) | ||
208 | val = [parseFloat(style), unit]; | ||
209 | }); | ||
210 | return val; | ||
211 | } | ||
212 | }); | ||
213 | |||
214 | /* | ||
215 | * jQuery Color Animations | ||
216 | * Copyright 2007 John Resig | ||
217 | * Released under the MIT and GPL licenses. | ||
218 | */ | ||
219 | |||
220 | // We override the animation for all of these color styles | ||
221 | $.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){ | ||
222 | $.fx.step[attr] = function(fx) { | ||
223 | if ( fx.state == 0 ) { | ||
224 | fx.start = getColor( fx.elem, attr ); | ||
225 | fx.end = getRGB( fx.end ); | ||
226 | } | ||
227 | |||
228 | fx.elem.style[attr] = "rgb(" + [ | ||
229 | Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0],10), 255), 0), | ||
230 | Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1],10), 255), 0), | ||
231 | Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2],10), 255), 0) | ||
232 | ].join(",") + ")"; | ||
233 | }; | ||
234 | }); | ||
235 | |||
236 | // Color Conversion functions from highlightFade | ||
237 | // By Blair Mitchelmore | ||
238 | // http://jquery.offput.ca/highlightFade/ | ||
239 | |||
240 | // Parse strings looking for color tuples [255,255,255] | ||
241 | function getRGB(color) { | ||
242 | var result; | ||
243 | |||
244 | // Check if we're already dealing with an array of colors | ||
245 | if ( color && color.constructor == Array && color.length == 3 ) | ||
246 | return color; | ||
247 | |||
248 | // Look for rgb(num,num,num) | ||
249 | if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) | ||
250 | return [parseInt(result[1],10), parseInt(result[2],10), parseInt(result[3],10)]; | ||
251 | |||
252 | // Look for rgb(num%,num%,num%) | ||
253 | if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) | ||
254 | return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; | ||
255 | |||
256 | // Look for #a0b1c2 | ||
257 | if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) | ||
258 | return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; | ||
259 | |||
260 | // Look for #fff | ||
261 | if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) | ||
262 | return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; | ||
263 | |||
264 | // Look for rgba(0, 0, 0, 0) == transparent in Safari 3 | ||
265 | if (result = /rgba\(0, 0, 0, 0\)/.exec(color)) | ||
266 | return colors['transparent']; | ||
267 | |||
268 | // Otherwise, we're most likely dealing with a named color | ||
269 | return colors[$.trim(color).toLowerCase()]; | ||
270 | } | ||
271 | |||
272 | function getColor(elem, attr) { | ||
273 | var color; | ||
274 | |||
275 | do { | ||
276 | color = $.curCSS(elem, attr); | ||
277 | |||
278 | // Keep going until we find an element that has color, or we hit the body | ||
279 | if ( color != '' && color != 'transparent' || $.nodeName(elem, "body") ) | ||
280 | break; | ||
281 | |||
282 | attr = "backgroundColor"; | ||
283 | } while ( elem = elem.parentNode ); | ||
284 | |||
285 | return getRGB(color); | ||
286 | }; | ||
287 | |||
288 | // Some named colors to work with | ||
289 | // From Interface by Stefan Petre | ||
290 | // http://interface.eyecon.ro/ | ||
291 | |||
292 | var colors = { | ||
293 | aqua:[0,255,255], | ||
294 | azure:[240,255,255], | ||
295 | beige:[245,245,220], | ||
296 | black:[0,0,0], | ||
297 | blue:[0,0,255], | ||
298 | brown:[165,42,42], | ||
299 | cyan:[0,255,255], | ||
300 | darkblue:[0,0,139], | ||
301 | darkcyan:[0,139,139], | ||
302 | darkgrey:[169,169,169], | ||
303 | darkgreen:[0,100,0], | ||
304 | darkkhaki:[189,183,107], | ||
305 | darkmagenta:[139,0,139], | ||
306 | darkolivegreen:[85,107,47], | ||
307 | darkorange:[255,140,0], | ||
308 | darkorchid:[153,50,204], | ||
309 | darkred:[139,0,0], | ||
310 | darksalmon:[233,150,122], | ||
311 | darkviolet:[148,0,211], | ||
312 | fuchsia:[255,0,255], | ||
313 | gold:[255,215,0], | ||
314 | green:[0,128,0], | ||
315 | indigo:[75,0,130], | ||
316 | khaki:[240,230,140], | ||
317 | lightblue:[173,216,230], | ||
318 | lightcyan:[224,255,255], | ||
319 | lightgreen:[144,238,144], | ||
320 | lightgrey:[211,211,211], | ||
321 | lightpink:[255,182,193], | ||
322 | lightyellow:[255,255,224], | ||
323 | lime:[0,255,0], | ||
324 | magenta:[255,0,255], | ||
325 | maroon:[128,0,0], | ||
326 | navy:[0,0,128], | ||
327 | olive:[128,128,0], | ||
328 | orange:[255,165,0], | ||
329 | pink:[255,192,203], | ||
330 | purple:[128,0,128], | ||
331 | violet:[128,0,128], | ||
332 | red:[255,0,0], | ||
333 | silver:[192,192,192], | ||
334 | white:[255,255,255], | ||
335 | yellow:[255,255,0], | ||
336 | transparent: [255,255,255] | ||
337 | }; | ||
338 | |||
339 | /* | ||
340 | * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ | ||
341 | * | ||
342 | * Uses the built in easing capabilities added In jQuery 1.1 | ||
343 | * to offer multiple easing options | ||
344 | * | ||
345 | * TERMS OF USE - jQuery Easing | ||
346 | * | ||
347 | * Open source under the BSD License. | ||
348 | * | ||
349 | * Copyright 2008 George McGinley Smith | ||
350 | * All rights reserved. | ||
351 | * | ||
352 | * Redistribution and use in source and binary forms, with or without modification, | ||
353 | * are permitted provided that the following conditions are met: | ||
354 | * | ||
355 | * Redistributions of source code must retain the above copyright notice, this list of | ||
356 | * conditions and the following disclaimer. | ||
357 | * Redistributions in binary form must reproduce the above copyright notice, this list | ||
358 | * of conditions and the following disclaimer in the documentation and/or other materials | ||
359 | * provided with the distribution. | ||
360 | * | ||
361 | * Neither the name of the author nor the names of contributors may be used to endorse | ||
362 | * or promote products derived from this software without specific prior written permission. | ||
363 | * | ||
364 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | ||
365 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
366 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
367 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
368 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | ||
369 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | ||
370 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
371 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
372 | * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
373 | * | ||
374 | */ | ||
375 | |||
376 | // t: current time, b: begInnIng value, c: change In value, d: duration | ||
377 | $.easing.jswing = $.easing.swing; | ||
378 | |||
379 | $.extend($.easing, | ||
380 | { | ||
381 | def: 'easeOutQuad', | ||
382 | swing: function (x, t, b, c, d) { | ||
383 | //alert($.easing.default); | ||
384 | return $.easing[$.easing.def](x, t, b, c, d); | ||
385 | }, | ||
386 | easeInQuad: function (x, t, b, c, d) { | ||
387 | return c*(t/=d)*t + b; | ||
388 | }, | ||
389 | easeOutQuad: function (x, t, b, c, d) { | ||
390 | return -c *(t/=d)*(t-2) + b; | ||
391 | }, | ||
392 | easeInOutQuad: function (x, t, b, c, d) { | ||
393 | if ((t/=d/2) < 1) return c/2*t*t + b; | ||
394 | return -c/2 * ((--t)*(t-2) - 1) + b; | ||
395 | }, | ||
396 | easeInCubic: function (x, t, b, c, d) { | ||
397 | return c*(t/=d)*t*t + b; | ||
398 | }, | ||
399 | easeOutCubic: function (x, t, b, c, d) { | ||
400 | return c*((t=t/d-1)*t*t + 1) + b; | ||
401 | }, | ||
402 | easeInOutCubic: function (x, t, b, c, d) { | ||
403 | if ((t/=d/2) < 1) return c/2*t*t*t + b; | ||
404 | return c/2*((t-=2)*t*t + 2) + b; | ||
405 | }, | ||
406 | easeInQuart: function (x, t, b, c, d) { | ||
407 | return c*(t/=d)*t*t*t + b; | ||
408 | }, | ||
409 | easeOutQuart: function (x, t, b, c, d) { | ||
410 | return -c * ((t=t/d-1)*t*t*t - 1) + b; | ||
411 | }, | ||
412 | easeInOutQuart: function (x, t, b, c, d) { | ||
413 | if ((t/=d/2) < 1) return c/2*t*t*t*t + b; | ||
414 | return -c/2 * ((t-=2)*t*t*t - 2) + b; | ||
415 | }, | ||
416 | easeInQuint: function (x, t, b, c, d) { | ||
417 | return c*(t/=d)*t*t*t*t + b; | ||
418 | }, | ||
419 | easeOutQuint: function (x, t, b, c, d) { | ||
420 | return c*((t=t/d-1)*t*t*t*t + 1) + b; | ||
421 | }, | ||
422 | easeInOutQuint: function (x, t, b, c, d) { | ||
423 | if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; | ||
424 | return c/2*((t-=2)*t*t*t*t + 2) + b; | ||
425 | }, | ||
426 | easeInSine: function (x, t, b, c, d) { | ||
427 | return -c * Math.cos(t/d * (Math.PI/2)) + c + b; | ||
428 | }, | ||
429 | easeOutSine: function (x, t, b, c, d) { | ||
430 | return c * Math.sin(t/d * (Math.PI/2)) + b; | ||
431 | }, | ||
432 | easeInOutSine: function (x, t, b, c, d) { | ||
433 | return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; | ||
434 | }, | ||
435 | easeInExpo: function (x, t, b, c, d) { | ||
436 | return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; | ||
437 | }, | ||
438 | easeOutExpo: function (x, t, b, c, d) { | ||
439 | return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; | ||
440 | }, | ||
441 | easeInOutExpo: function (x, t, b, c, d) { | ||
442 | if (t==0) return b; | ||
443 | if (t==d) return b+c; | ||
444 | if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; | ||
445 | return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; | ||
446 | }, | ||
447 | easeInCirc: function (x, t, b, c, d) { | ||
448 | return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; | ||
449 | }, | ||
450 | easeOutCirc: function (x, t, b, c, d) { | ||
451 | return c * Math.sqrt(1 - (t=t/d-1)*t) + b; | ||
452 | }, | ||
453 | easeInOutCirc: function (x, t, b, c, d) { | ||
454 | if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; | ||
455 | return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; | ||
456 | }, | ||
457 | easeInElastic: function (x, t, b, c, d) { | ||
458 | var s=1.70158;var p=0;var a=c; | ||
459 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; | ||
460 | if (a < Math.abs(c)) { a=c; var s=p/4; } | ||
461 | else var s = p/(2*Math.PI) * Math.asin (c/a); | ||
462 | return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; | ||
463 | }, | ||
464 | easeOutElastic: function (x, t, b, c, d) { | ||
465 | var s=1.70158;var p=0;var a=c; | ||
466 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; | ||
467 | if (a < Math.abs(c)) { a=c; var s=p/4; } | ||
468 | else var s = p/(2*Math.PI) * Math.asin (c/a); | ||
469 | return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; | ||
470 | }, | ||
471 | easeInOutElastic: function (x, t, b, c, d) { | ||
472 | var s=1.70158;var p=0;var a=c; | ||
473 | if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); | ||
474 | if (a < Math.abs(c)) { a=c; var s=p/4; } | ||
475 | else var s = p/(2*Math.PI) * Math.asin (c/a); | ||
476 | if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; | ||
477 | return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; | ||
478 | }, | ||
479 | easeInBack: function (x, t, b, c, d, s) { | ||
480 | if (s == undefined) s = 1.70158; | ||
481 | return c*(t/=d)*t*((s+1)*t - s) + b; | ||
482 | }, | ||
483 | easeOutBack: function (x, t, b, c, d, s) { | ||
484 | if (s == undefined) s = 1.70158; | ||
485 | return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; | ||
486 | }, | ||
487 | easeInOutBack: function (x, t, b, c, d, s) { | ||
488 | if (s == undefined) s = 1.70158; | ||
489 | if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; | ||
490 | return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; | ||
491 | }, | ||
492 | easeInBounce: function (x, t, b, c, d) { | ||
493 | return c - $.easing.easeOutBounce (x, d-t, 0, c, d) + b; | ||
494 | }, | ||
495 | easeOutBounce: function (x, t, b, c, d) { | ||
496 | if ((t/=d) < (1/2.75)) { | ||
497 | return c*(7.5625*t*t) + b; | ||
498 | } else if (t < (2/2.75)) { | ||
499 | return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; | ||
500 | } else if (t < (2.5/2.75)) { | ||
501 | return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; | ||
502 | } else { | ||
503 | return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; | ||
504 | } | ||
505 | }, | ||
506 | easeInOutBounce: function (x, t, b, c, d) { | ||
507 | if (t < d/2) return $.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; | ||
508 | return $.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; | ||
509 | } | ||
510 | }); | ||
511 | |||
512 | /* | ||
513 | * | ||
514 | * TERMS OF USE - EASING EQUATIONS | ||
515 | * | ||
516 | * Open source under the BSD License. | ||
517 | * | ||
518 | * Copyright 2001 Robert Penner | ||
519 | * All rights reserved. | ||
520 | * | ||
521 | * Redistribution and use in source and binary forms, with or without modification, | ||
522 | * are permitted provided that the following conditions are met: | ||
523 | * | ||
524 | * Redistributions of source code must retain the above copyright notice, this list of | ||
525 | * conditions and the following disclaimer. | ||
526 | * Redistributions in binary form must reproduce the above copyright notice, this list | ||
527 | * of conditions and the following disclaimer in the documentation and/or other materials | ||
528 | * provided with the distribution. | ||
529 | * | ||
530 | * Neither the name of the author nor the names of contributors may be used to endorse | ||
531 | * or promote products derived from this software without specific prior written permission. | ||
532 | * | ||
533 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | ||
534 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
535 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
536 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
537 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | ||
538 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | ||
539 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
540 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
541 | * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
542 | * | ||
543 | */ | ||
544 | |||
545 | })(jQuery); | ||