ember 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/HISTORY +79 -0
  2. data/INSTALL +31 -0
  3. data/MANUAL +25 -0
  4. data/README +54 -0
  5. data/THEORY +151 -0
  6. data/USAGE +250 -0
  7. data/bin/ember +58 -20
  8. data/doc/ann.xml +93 -0
  9. data/doc/api/Ember.html +436 -0
  10. data/doc/api/Ember/Template.html +774 -0
  11. data/doc/api/Ember/Template/Program.html +877 -0
  12. data/doc/api/Ember/Template/Program/Statement.html +181 -0
  13. data/doc/api/_index.html +139 -0
  14. data/doc/api/class_list.html +36 -0
  15. data/doc/api/css/common.css +1 -0
  16. data/doc/api/css/full_list.css +50 -0
  17. data/doc/api/css/style.css +273 -0
  18. data/doc/api/file.LICENSE.html +73 -0
  19. data/doc/api/file_list.html +38 -0
  20. data/doc/api/frames.html +13 -0
  21. data/doc/api/index.html +72 -13
  22. data/doc/api/js/app.js +111 -0
  23. data/doc/api/js/full_list.js +117 -0
  24. data/doc/api/js/{jquery-1.3.2.min.js → jquery.js} +0 -0
  25. data/doc/api/method_list.html +179 -0
  26. data/doc/api/top-level-namespace.html +87 -0
  27. data/doc/index.html +1353 -682
  28. data/inochi.opts +31 -0
  29. data/lib/ember.rb +1 -15
  30. data/lib/ember/inochi.rb +103 -0
  31. data/lib/ember/template.rb +66 -78
  32. data/test/combinatorics.rb +188 -0
  33. data/test/ember/template_test.rb +137 -0
  34. data/test/runner +25 -0
  35. data/test/test_helper.rb +5 -0
  36. metadata +61 -51
  37. data/doc/api/apple-touch-icon.png +0 -0
  38. data/doc/api/classes/Ember.html +0 -61
  39. data/doc/api/classes/Ember/Template.html +0 -413
  40. data/doc/api/classes/Ember/Template/Program.html +0 -60
  41. data/doc/api/created.rid +0 -1
  42. data/doc/api/css/main.css +0 -263
  43. data/doc/api/css/panel.css +0 -383
  44. data/doc/api/css/reset.css +0 -53
  45. data/doc/api/favicon.ico +0 -0
  46. data/doc/api/files/LICENSE.html +0 -76
  47. data/doc/api/files/lib/ember/template_rb.html +0 -66
  48. data/doc/api/files/lib/ember_rb.html +0 -63
  49. data/doc/api/i/arrows.png +0 -0
  50. data/doc/api/i/results_bg.png +0 -0
  51. data/doc/api/i/tree_bg.png +0 -0
  52. data/doc/api/js/jquery-effect.js +0 -593
  53. data/doc/api/js/main.js +0 -22
  54. data/doc/api/js/searchdoc.js +0 -628
  55. data/doc/api/panel/index.html +0 -71
  56. data/doc/api/panel/search_index.js +0 -1
  57. data/doc/api/panel/tree.js +0 -1
  58. data/doc/history.erb +0 -34
  59. data/doc/index.erb +0 -11
  60. data/doc/intro.erb +0 -53
  61. data/doc/setup.erb +0 -78
  62. data/doc/usage.erb +0 -280
  63. data/rakefile +0 -14
  64. data/test/ember.rb +0 -17
  65. data/test/ember/template.rb +0 -141
@@ -1,53 +0,0 @@
1
- /* http://meyerweb.com/eric/tools/css/reset/ */
2
- /* v1.0 | 20080212 */
3
-
4
- html, body, div, span, applet, object, iframe,
5
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
6
- a, abbr, acronym, address, big, cite, code,
7
- del, dfn, em, font, img, ins, kbd, q, s, samp,
8
- small, strike, strong, sub, sup, tt, var,
9
- b, u, i, center,
10
- dl, dt, dd, ol, ul, li,
11
- fieldset, form, label, legend,
12
- table, caption, tbody, tfoot, thead, tr, th, td {
13
- margin: 0;
14
- padding: 0;
15
- border: 0;
16
- outline: 0;
17
- font-size: 100%;
18
- vertical-align: baseline;
19
- background: transparent;
20
- }
21
- body {
22
- line-height: 1;
23
- }
24
- ol, ul {
25
- list-style: none;
26
- }
27
- blockquote, q {
28
- quotes: none;
29
- }
30
- blockquote:before, blockquote:after,
31
- q:before, q:after {
32
- content: '';
33
- content: none;
34
- }
35
-
36
- /* remember to define focus styles! */
37
- :focus {
38
- outline: 0;
39
- }
40
-
41
- /* remember to highlight inserts somehow! */
42
- ins {
43
- text-decoration: none;
44
- }
45
- del {
46
- text-decoration: line-through;
47
- }
48
-
49
- /* tables still need 'cellspacing="0"' in the markup */
50
- table {
51
- border-collapse: collapse;
52
- border-spacing: 0;
53
- }
Binary file
@@ -1,76 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <title>LICENSE</title>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
- <link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" />
9
- <link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" />
10
- <script src="../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
11
- <script src="../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
12
- <script src="../js/main.js" type="text/javascript" charset="utf-8"></script>
13
- </head>
14
-
15
- <body>
16
- <div class="banner">
17
- <h1>
18
- LICENSE
19
- </h1>
20
- <ul class="files">
21
- <li>LICENSE</li>
22
- <li>Last modified: 2009-09-06 00:39:47 -0700</li>
23
- </ul>
24
- </div>
25
-
26
- <div id="bodyContent">
27
- <div id="content">
28
-
29
- <div class="description">
30
- <p>
31
- (the ISC license)
32
- </p>
33
- <p>
34
- Copyright 2009 Suraj N. Kurapati <sunaku@gmail.com>
35
- </p>
36
- <p>
37
- Permission to use, copy, modify, and/or distribute this software for any
38
- purpose with or without fee is hereby granted, provided that the above
39
- copyright notice and this permission notice appear in all copies.
40
- </p>
41
- <p>
42
- THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221; AND THE AUTHOR DISCLAIMS ALL
43
- WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
44
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
45
- SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
46
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
47
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
48
- IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
49
- </p>
50
-
51
- </div>
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
- </div>
74
- </div>
75
- </body>
76
- </html>
@@ -1,66 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <title>template.rb</title>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
- <link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" />
9
- <link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" />
10
- <script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
11
- <script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
12
- <script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script>
13
- </head>
14
-
15
- <body>
16
- <div class="banner">
17
- <h1>
18
- template.rb
19
- </h1>
20
- <ul class="files">
21
- <li>lib/ember/template.rb</li>
22
- <li>Last modified: 2009-10-03 13:51:10 -0700</li>
23
- </ul>
24
- </div>
25
-
26
- <div id="bodyContent">
27
- <div id="content">
28
-
29
-
30
-
31
- <div class="sectiontitle">Required Files</div>
32
- <ul>
33
-
34
- <li>pathname</li>
35
-
36
- </ul>
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
- <div class="sectiontitle">Classes and Modules</div>
51
- <ul>
52
-
53
- <li><span class="type">MODULE</span> <a href="../../../classes/Ember.html">Ember</a></li>
54
-
55
- </ul>
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
- </div>
64
- </div>
65
- </body>
66
- </html>
@@ -1,63 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <title>ember.rb</title>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
- <link rel="stylesheet" href="../../css/reset.css" type="text/css" media="screen" />
9
- <link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen" />
10
- <script src="../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
11
- <script src="../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
12
- <script src="../../js/main.js" type="text/javascript" charset="utf-8"></script>
13
- </head>
14
-
15
- <body>
16
- <div class="banner">
17
- <h1>
18
- ember.rb
19
- </h1>
20
- <ul class="files">
21
- <li>lib/ember.rb</li>
22
- <li>Last modified: 2009-10-03 14:09:47 -0700</li>
23
- </ul>
24
- </div>
25
-
26
- <div id="bodyContent">
27
- <div id="content">
28
-
29
-
30
-
31
- <div class="sectiontitle">Required Files</div>
32
- <ul>
33
-
34
- <li>rubygems</li>
35
-
36
- <li>inochi</li>
37
-
38
- <li>ember/template</li>
39
-
40
- </ul>
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
- </div>
61
- </div>
62
- </body>
63
- </html>
Binary file
Binary file
Binary file
@@ -1,593 +0,0 @@
1
- /*
2
- * jQuery UI Effects 1.6rc6
3
- *
4
- * Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.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
- ;(function($) {
11
-
12
- $.effects = $.effects || {}; //Add the 'effects' scope
13
-
14
- $.extend($.effects, {
15
- version: "1.6rc6",
16
-
17
- // Saves a set of properties in a data storage
18
- save: function(element, set) {
19
- for(var i=0; i < set.length; i++) {
20
- if(set[i] !== null) element.data("ec.storage."+set[i], element[0].style[set[i]]);
21
- }
22
- },
23
-
24
- // Restores a set of previously saved properties from a data storage
25
- restore: function(element, set) {
26
- for(var i=0; i < set.length; i++) {
27
- if(set[i] !== null) element.css(set[i], element.data("ec.storage."+set[i]));
28
- }
29
- },
30
-
31
- setMode: function(el, mode) {
32
- if (mode == 'toggle') mode = el.is(':hidden') ? 'show' : 'hide'; // Set for toggle
33
- return mode;
34
- },
35
-
36
- getBaseline: function(origin, original) { // Translates a [top,left] array into a baseline value
37
- // this should be a little more flexible in the future to handle a string & hash
38
- var y, x;
39
- switch (origin[0]) {
40
- case 'top': y = 0; break;
41
- case 'middle': y = 0.5; break;
42
- case 'bottom': y = 1; break;
43
- default: y = origin[0] / original.height;
44
- };
45
- switch (origin[1]) {
46
- case 'left': x = 0; break;
47
- case 'center': x = 0.5; break;
48
- case 'right': x = 1; break;
49
- default: x = origin[1] / original.width;
50
- };
51
- return {x: x, y: y};
52
- },
53
-
54
- // Wraps the element around a wrapper that copies position properties
55
- createWrapper: function(element) {
56
-
57
- //if the element is already wrapped, return it
58
- if (element.parent().is('.ui-effects-wrapper'))
59
- return element.parent();
60
-
61
- //Cache width,height and float properties of the element, and create a wrapper around it
62
- var props = { width: element.outerWidth(true), height: element.outerHeight(true), 'float': element.css('float') };
63
- element.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');
64
- var wrapper = element.parent();
65
-
66
- //Transfer the positioning of the element to the wrapper
67
- if (element.css('position') == 'static') {
68
- wrapper.css({ position: 'relative' });
69
- element.css({ position: 'relative'} );
70
- } else {
71
- var top = element.css('top'); if(isNaN(parseInt(top,10))) top = 'auto';
72
- var left = element.css('left'); if(isNaN(parseInt(left,10))) left = 'auto';
73
- wrapper.css({ position: element.css('position'), top: top, left: left, zIndex: element.css('z-index') }).show();
74
- element.css({position: 'relative', top: 0, left: 0 });
75
- }
76
-
77
- wrapper.css(props);
78
- return wrapper;
79
- },
80
-
81
- removeWrapper: function(element) {
82
- if (element.parent().is('.ui-effects-wrapper'))
83
- return element.parent().replaceWith(element);
84
- return element;
85
- },
86
-
87
- setTransition: function(element, list, factor, value) {
88
- value = value || {};
89
- $.each(list, function(i, x){
90
- unit = element.cssUnit(x);
91
- if (unit[0] > 0) value[x] = unit[0] * factor + unit[1];
92
- });
93
- return value;
94
- },
95
-
96
- //Base function to animate from one class to another in a seamless transition
97
- animateClass: function(value, duration, easing, callback) {
98
-
99
- var cb = (typeof easing == "function" ? easing : (callback ? callback : null));
100
- var ea = (typeof easing == "string" ? easing : null);
101
-
102
- return this.each(function() {
103
-
104
- var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || '';
105
- if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */
106
- if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; }
107
-
108
- //Let's get a style offset
109
- var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle));
110
- if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove);
111
- var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle));
112
- if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove);
113
-
114
- // The main function to form the object for animation
115
- for(var n in newStyle) {
116
- if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */
117
- && n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */
118
- && newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */
119
- && (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */
120
- && (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */
121
- ) offset[n] = newStyle[n];
122
- }
123
-
124
- that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object
125
- // Change style attribute back to original. For stupid IE, we need to clear the damn object.
126
- if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr);
127
- if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove);
128
- if(cb) cb.apply(this, arguments);
129
- });
130
-
131
- });
132
- }
133
- });
134
-
135
-
136
- function _normalizeArguments(a, m) {
137
-
138
- var o = a[1] && a[1].constructor == Object ? a[1] : {}; if(m) o.mode = m;
139
- var speed = a[1] && a[1].constructor != Object ? a[1] : o.duration; //either comes from options.duration or the second argument
140
- speed = $.fx.off ? 0 : typeof speed === "number" ? speed : $.fx.speeds[speed] || $.fx.speeds._default;
141
- var callback = o.callback || ( $.isFunction(a[2]) && a[2] ) || ( $.isFunction(a[3]) && a[3] );
142
-
143
- return [a[0], o, speed, callback];
144
-
145
- }
146
-
147
- //Extend the methods of jQuery
148
- $.fn.extend({
149
-
150
- //Save old methods
151
- _show: $.fn.show,
152
- _hide: $.fn.hide,
153
- __toggle: $.fn.toggle,
154
- _addClass: $.fn.addClass,
155
- _removeClass: $.fn.removeClass,
156
- _toggleClass: $.fn.toggleClass,
157
-
158
- // New effect methods
159
- effect: function(fx, options, speed, callback) {
160
- return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: options || {}, duration: speed, callback: callback }) : null;
161
- },
162
-
163
- show: function() {
164
- if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0])))
165
- return this._show.apply(this, arguments);
166
- else {
167
- return this.effect.apply(this, _normalizeArguments(arguments, 'show'));
168
- }
169
- },
170
-
171
- hide: function() {
172
- if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0])))
173
- return this._hide.apply(this, arguments);
174
- else {
175
- return this.effect.apply(this, _normalizeArguments(arguments, 'hide'));
176
- }
177
- },
178
-
179
- toggle: function(){
180
- if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0])) || (arguments[0].constructor == Function))
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
- * TERMS OF USE - EASING EQUATIONS
514
- *
515
- * Open source under the BSD License.
516
- *
517
- * Copyright 2001 Robert Penner
518
- * All rights reserved.
519
- *
520
- * Redistribution and use in source and binary forms, with or without modification,
521
- * are permitted provided that the following conditions are met:
522
- *
523
- * Redistributions of source code must retain the above copyright notice, this list of
524
- * conditions and the following disclaimer.
525
- * Redistributions in binary form must reproduce the above copyright notice, this list
526
- * of conditions and the following disclaimer in the documentation and/or other materials
527
- * provided with the distribution.
528
- *
529
- * Neither the name of the author nor the names of contributors may be used to endorse
530
- * or promote products derived from this software without specific prior written permission.
531
- *
532
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
533
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
534
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
535
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
536
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
537
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
538
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
539
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
540
- * OF THE POSSIBILITY OF SUCH DAMAGE.
541
- *
542
- */
543
-
544
- })(jQuery);
545
-
546
- /*
547
- * jQuery UI Effects Highlight 1.6rc6
548
- *
549
- * Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about)
550
- * Dual licensed under the MIT (MIT-LICENSE.txt)
551
- * and GPL (GPL-LICENSE.txt) licenses.
552
- *
553
- * http://docs.jquery.com/UI/Effects/Highlight
554
- *
555
- * Depends:
556
- * effects.core.js
557
- */
558
- (function($) {
559
-
560
- $.effects.highlight = function(o) {
561
-
562
- return this.queue(function() {
563
-
564
- // Create element
565
- var el = $(this), props = ['backgroundImage','backgroundColor','opacity'];
566
-
567
- // Set options
568
- var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
569
- var color = o.options.color || "#ffff99"; // Default highlight color
570
- var oldColor = el.css("backgroundColor");
571
-
572
- // Adjust
573
- $.effects.save(el, props); el.show(); // Save & Show
574
- el.css({backgroundImage: 'none', backgroundColor: color}); // Shift
575
-
576
- // Animation
577
- var animation = {backgroundColor: oldColor };
578
- if (mode == "hide") animation['opacity'] = 0;
579
-
580
- // Animate
581
- el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
582
- if(mode == "hide") el.hide();
583
- $.effects.restore(el, props);
584
- if (mode == "show" && $.browser.msie) this.style.removeAttribute('filter');
585
- if(o.callback) o.callback.apply(this, arguments);
586
- el.dequeue();
587
- }});
588
-
589
- });
590
-
591
- };
592
-
593
- })(jQuery);