dbff8c1dfc7a57d3388a2e061a0dff77a9bdfdcf.svn-base 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. /*
  2. * Ext JS Library 2.0 Copyright(c) 2006-2007, Ext JS, LLC. licensing@extjs.com
  3. *
  4. * http://extjs.com/license
  5. */
  6. YAHOO.util.Anim = function(B, A, C, D) {
  7. if (B) {
  8. this.init(B, A, C, D)
  9. }
  10. };
  11. YAHOO.util.Anim.prototype = {
  12. toString : function() {
  13. var A = this.getEl();
  14. var B = A.id || A.tagName;
  15. return ("Anim " + B)
  16. },
  17. patterns : {
  18. noNegatives : /width|height|opacity|padding/i,
  19. offsetAttribute : /^((width|height)|(top|left))$/,
  20. defaultUnit : /width|height|top$|bottom$|left$|right$/i,
  21. offsetUnit : /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i
  22. },
  23. doMethod : function(A, C, B) {
  24. return this.method(this.currentFrame, C, B - C, this.totalFrames)
  25. },
  26. setAttribute : function(A, C, B) {
  27. if (this.patterns.noNegatives.test(A)) {
  28. C = (C > 0) ? C : 0
  29. }
  30. YAHOO.util.Dom.setStyle(this.getEl(), A, C + B)
  31. },
  32. getAttribute : function(A) {
  33. var C = this.getEl();
  34. var E = YAHOO.util.Dom.getStyle(C, A);
  35. if (E !== "auto" && !this.patterns.offsetUnit.test(E)) {
  36. return parseFloat(E)
  37. }
  38. var B = this.patterns.offsetAttribute.exec(A) || [];
  39. var F = !!(B[3]);
  40. var D = !!(B[2]);
  41. if (D || (YAHOO.util.Dom.getStyle(C, "position") == "absolute" && F)) {
  42. E = C["offset" + B[0].charAt(0).toUpperCase() + B[0].substr(1)]
  43. } else {
  44. E = 0
  45. }
  46. return E
  47. },
  48. getDefaultUnit : function(A) {
  49. if (this.patterns.defaultUnit.test(A)) {
  50. return "px"
  51. }
  52. return ""
  53. },
  54. setRuntimeAttribute : function(B) {
  55. var G;
  56. var C;
  57. var D = this.attributes;
  58. this.runtimeAttributes[B] = {};
  59. var F = function(H) {
  60. return (typeof H !== "undefined")
  61. };
  62. if (!F(D[B]["to"]) && !F(D[B]["by"])) {
  63. return false
  64. }
  65. G = (F(D[B]["from"])) ? D[B]["from"] : this.getAttribute(B);
  66. if (F(D[B]["to"])) {
  67. C = D[B]["to"]
  68. } else {
  69. if (F(D[B]["by"])) {
  70. if (G.constructor == Array) {
  71. C = [];
  72. for (var E = 0, A = G.length; E < A; ++E) {
  73. C[E] = G[E] + D[B]["by"][E]
  74. }
  75. } else {
  76. C = G + D[B]["by"]
  77. }
  78. }
  79. }
  80. this.runtimeAttributes[B].start = G;
  81. this.runtimeAttributes[B].end = C;
  82. this.runtimeAttributes[B].unit = (F(D[B].unit)) ? D[B]["unit"] : this
  83. .getDefaultUnit(B)
  84. },
  85. init : function(C, H, G, A) {
  86. var B = false;
  87. var D = null;
  88. var F = 0;
  89. C = YAHOO.util.Dom.get(C);
  90. this.attributes = H || {};
  91. this.duration = G || 1;
  92. this.method = A || YAHOO.util.Easing.easeNone;
  93. this.useSeconds = true;
  94. this.currentFrame = 0;
  95. this.totalFrames = YAHOO.util.AnimMgr.fps;
  96. this.getEl = function() {
  97. return C
  98. };
  99. this.isAnimated = function() {
  100. return B
  101. };
  102. this.getStartTime = function() {
  103. return D
  104. };
  105. this.runtimeAttributes = {};
  106. this.animate = function() {
  107. if (this.isAnimated()) {
  108. return false
  109. }
  110. this.currentFrame = 0;
  111. this.totalFrames = (this.useSeconds)
  112. ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration)
  113. : this.duration;
  114. YAHOO.util.AnimMgr.registerElement(this)
  115. };
  116. this.stop = function(K) {
  117. if (K) {
  118. this.currentFrame = this.totalFrames;
  119. this._onTween.fire()
  120. }
  121. YAHOO.util.AnimMgr.stop(this)
  122. };
  123. var J = function() {
  124. this.onStart.fire();
  125. this.runtimeAttributes = {};
  126. for (var K in this.attributes) {
  127. this.setRuntimeAttribute(K)
  128. }
  129. B = true;
  130. F = 0;
  131. D = allGetServerTime()
  132. };
  133. var I = function() {
  134. var M = {
  135. duration : allGetServerTime() - this.getStartTime(),
  136. currentFrame : this.currentFrame
  137. };
  138. M.toString = function() {
  139. return ("duration: " + M.duration + ", currentFrame: " + M.currentFrame)
  140. };
  141. this.onTween.fire(M);
  142. var L = this.runtimeAttributes;
  143. for (var K in L) {
  144. this.setAttribute(K, this.doMethod(K, L[K].start, L[K].end),
  145. L[K].unit)
  146. }
  147. F += 1
  148. };
  149. var E = function() {
  150. var K = (allGetServerTime() - D) / 1000;
  151. var L = {
  152. duration : K,
  153. frames : F,
  154. fps : F / K
  155. };
  156. L.toString = function() {
  157. return ("duration: " + L.duration + ", frames: " + L.frames
  158. + ", fps: " + L.fps)
  159. };
  160. B = false;
  161. F = 0;
  162. this.onComplete.fire(L)
  163. };
  164. this._onStart = new YAHOO.util.CustomEvent("_start", this, true);
  165. this.onStart = new YAHOO.util.CustomEvent("start", this);
  166. this.onTween = new YAHOO.util.CustomEvent("tween", this);
  167. this._onTween = new YAHOO.util.CustomEvent("_tween", this, true);
  168. this.onComplete = new YAHOO.util.CustomEvent("complete", this);
  169. this._onComplete = new YAHOO.util.CustomEvent("_complete", this, true);
  170. this._onStart.subscribe(J);
  171. this._onTween.subscribe(I);
  172. this._onComplete.subscribe(E)
  173. }
  174. };
  175. YAHOO.util.AnimMgr = new function() {
  176. var C = null;
  177. var B = [];
  178. var A = 0;
  179. this.fps = 1000;
  180. this.delay = 1;
  181. this.registerElement = function(F) {
  182. B[B.length] = F;
  183. A += 1;
  184. F._onStart.fire();
  185. this.start()
  186. };
  187. this.unRegister = function(G, F) {
  188. G._onComplete.fire();
  189. F = F || E(G);
  190. if (F != -1) {
  191. B.splice(F, 1)
  192. }
  193. A -= 1;
  194. if (A <= 0) {
  195. this.stop()
  196. }
  197. };
  198. this.start = function() {
  199. if (C === null) {
  200. C = setInterval(this.run, this.delay)
  201. }
  202. };
  203. this.stop = function(H) {
  204. if (!H) {
  205. clearInterval(C);
  206. for (var G = 0, F = B.length; G < F; ++G) {
  207. if (B[0].isAnimated()) {
  208. this.unRegister(B[0], 0)
  209. }
  210. }
  211. B = [];
  212. C = null;
  213. A = 0
  214. } else {
  215. this.unRegister(H)
  216. }
  217. };
  218. this.run = function() {
  219. for (var H = 0, F = B.length; H < F; ++H) {
  220. var G = B[H];
  221. if (!G || !G.isAnimated()) {
  222. continue
  223. }
  224. if (G.currentFrame < G.totalFrames || G.totalFrames === null) {
  225. G.currentFrame += 1;
  226. if (G.useSeconds) {
  227. D(G)
  228. }
  229. G._onTween.fire()
  230. } else {
  231. YAHOO.util.AnimMgr.stop(G, H)
  232. }
  233. }
  234. };
  235. var E = function(H) {
  236. for (var G = 0, F = B.length; G < F; ++G) {
  237. if (B[G] == H) {
  238. return G
  239. }
  240. }
  241. return -1
  242. };
  243. var D = function(G) {
  244. var J = G.totalFrames;
  245. var I = G.currentFrame;
  246. var H = (G.currentFrame * G.duration * 1000 / G.totalFrames);
  247. var F = (allGetServerTime() - G.getStartTime());
  248. var K = 0;
  249. if (F < G.duration * 1000) {
  250. K = Math.round((F / H - 1) * G.currentFrame)
  251. } else {
  252. K = J - (I + 1)
  253. }
  254. if (K > 0 && isFinite(K)) {
  255. if (G.currentFrame + K >= J) {
  256. K = J - (I + 1)
  257. }
  258. G.currentFrame += K
  259. }
  260. }
  261. };
  262. YAHOO.util.Bezier = new function() {
  263. this.getPosition = function(E, D) {
  264. var F = E.length;
  265. var C = [];
  266. for (var B = 0; B < F; ++B) {
  267. C[B] = [E[B][0], E[B][1]]
  268. }
  269. for (var A = 1; A < F; ++A) {
  270. for (B = 0; B < F - A; ++B) {
  271. C[B][0] = (1 - D) * C[B][0] + D * C[parseInt(B + 1, 10)][0];
  272. C[B][1] = (1 - D) * C[B][1] + D * C[parseInt(B + 1, 10)][1]
  273. }
  274. }
  275. return [C[0][0], C[0][1]]
  276. }
  277. };
  278. (function() {
  279. YAHOO.util.ColorAnim = function(E, D, F, G) {
  280. YAHOO.util.ColorAnim.superclass.constructor.call(this, E, D, F, G)
  281. };
  282. YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim);
  283. var B = YAHOO.util;
  284. var C = B.ColorAnim.superclass;
  285. var A = B.ColorAnim.prototype;
  286. A.toString = function() {
  287. var D = this.getEl();
  288. var E = D.id || D.tagName;
  289. return ("ColorAnim " + E)
  290. };
  291. A.patterns.color = /color$/i;
  292. A.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
  293. A.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
  294. A.patterns.hex3 = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;
  295. A.patterns.transparent = /^transparent|rgba\(0, 0, 0, 0\)$/;
  296. A.parseColor = function(D) {
  297. if (D.length == 3) {
  298. return D
  299. }
  300. var E = this.patterns.hex.exec(D);
  301. if (E && E.length == 4) {
  302. return [parseInt(E[1], 16), parseInt(E[2], 16), parseInt(E[3], 16)]
  303. }
  304. E = this.patterns.rgb.exec(D);
  305. if (E && E.length == 4) {
  306. return [parseInt(E[1], 10), parseInt(E[2], 10), parseInt(E[3], 10)]
  307. }
  308. E = this.patterns.hex3.exec(D);
  309. if (E && E.length == 4) {
  310. return [parseInt(E[1] + E[1], 16), parseInt(E[2] + E[2], 16),
  311. parseInt(E[3] + E[3], 16)]
  312. }
  313. return null
  314. };
  315. A.getAttribute = function(D) {
  316. var F = this.getEl();
  317. if (this.patterns.color.test(D)) {
  318. var G = YAHOO.util.Dom.getStyle(F, D);
  319. if (this.patterns.transparent.test(G)) {
  320. var E = F.parentNode;
  321. G = B.Dom.getStyle(E, D);
  322. while (E && this.patterns.transparent.test(G)) {
  323. E = E.parentNode;
  324. G = B.Dom.getStyle(E, D);
  325. if (E.tagName.toUpperCase() == "HTML") {
  326. G = "#fff"
  327. }
  328. }
  329. }
  330. } else {
  331. G = C.getAttribute.call(this, D)
  332. }
  333. return G
  334. };
  335. A.doMethod = function(E, I, F) {
  336. var H;
  337. if (this.patterns.color.test(E)) {
  338. H = [];
  339. for (var G = 0, D = I.length; G < D; ++G) {
  340. H[G] = C.doMethod.call(this, E, I[G], F[G])
  341. }
  342. H = "rgb(" + Math.floor(H[0]) + "," + Math.floor(H[1]) + ","
  343. + Math.floor(H[2]) + ")"
  344. } else {
  345. H = C.doMethod.call(this, E, I, F)
  346. }
  347. return H
  348. };
  349. A.setRuntimeAttribute = function(E) {
  350. C.setRuntimeAttribute.call(this, E);
  351. if (this.patterns.color.test(E)) {
  352. var G = this.attributes;
  353. var I = this.parseColor(this.runtimeAttributes[E].start);
  354. var F = this.parseColor(this.runtimeAttributes[E].end);
  355. if (typeof G[E]["to"] === "undefined"
  356. && typeof G[E]["by"] !== "undefined") {
  357. F = this.parseColor(G[E].by);
  358. for (var H = 0, D = I.length; H < D; ++H) {
  359. F[H] = I[H] + F[H]
  360. }
  361. }
  362. this.runtimeAttributes[E].start = I;
  363. this.runtimeAttributes[E].end = F
  364. }
  365. }
  366. })();
  367. YAHOO.util.Easing = {
  368. easeNone : function(B, A, D, C) {
  369. return D * B / C + A
  370. },
  371. easeIn : function(B, A, D, C) {
  372. return D * (B /= C) * B + A
  373. },
  374. easeOut : function(B, A, D, C) {
  375. return -D * (B /= C) * (B - 2) + A
  376. },
  377. easeBoth : function(B, A, D, C) {
  378. if ((B /= C / 2) < 1) {
  379. return D / 2 * B * B + A
  380. }
  381. return -D / 2 * ((--B) * (B - 2) - 1) + A
  382. },
  383. easeInStrong : function(B, A, D, C) {
  384. return D * (B /= C) * B * B * B + A
  385. },
  386. easeOutStrong : function(B, A, D, C) {
  387. return -D * ((B = B / C - 1) * B * B * B - 1) + A
  388. },
  389. easeBothStrong : function(B, A, D, C) {
  390. if ((B /= C / 2) < 1) {
  391. return D / 2 * B * B * B * B + A
  392. }
  393. return -D / 2 * ((B -= 2) * B * B * B - 2) + A
  394. },
  395. elasticIn : function(C, A, G, F, B, E) {
  396. if (C == 0) {
  397. return A
  398. }
  399. if ((C /= F) == 1) {
  400. return A + G
  401. }
  402. if (!E) {
  403. E = F * 0.3
  404. }
  405. if (!B || B < Math.abs(G)) {
  406. B = G;
  407. var D = E / 4
  408. } else {
  409. var D = E / (2 * Math.PI) * Math.asin(G / B)
  410. }
  411. return -(B * Math.pow(2, 10 * (C -= 1)) * Math.sin((C * F - D)
  412. * (2 * Math.PI) / E))
  413. + A
  414. },
  415. elasticOut : function(C, A, G, F, B, E) {
  416. if (C == 0) {
  417. return A
  418. }
  419. if ((C /= F) == 1) {
  420. return A + G
  421. }
  422. if (!E) {
  423. E = F * 0.3
  424. }
  425. if (!B || B < Math.abs(G)) {
  426. B = G;
  427. var D = E / 4
  428. } else {
  429. var D = E / (2 * Math.PI) * Math.asin(G / B)
  430. }
  431. return B * Math.pow(2, -10 * C)
  432. * Math.sin((C * F - D) * (2 * Math.PI) / E) + G + A
  433. },
  434. elasticBoth : function(C, A, G, F, B, E) {
  435. if (C == 0) {
  436. return A
  437. }
  438. if ((C /= F / 2) == 2) {
  439. return A + G
  440. }
  441. if (!E) {
  442. E = F * (0.3 * 1.5)
  443. }
  444. if (!B || B < Math.abs(G)) {
  445. B = G;
  446. var D = E / 4
  447. } else {
  448. var D = E / (2 * Math.PI) * Math.asin(G / B)
  449. }
  450. if (C < 1) {
  451. return -0.5
  452. * (B * Math.pow(2, 10 * (C -= 1)) * Math.sin((C * F - D)
  453. * (2 * Math.PI) / E)) + A
  454. }
  455. return B * Math.pow(2, -10 * (C -= 1))
  456. * Math.sin((C * F - D) * (2 * Math.PI) / E) * 0.5 + G + A
  457. },
  458. backIn : function(B, A, E, D, C) {
  459. if (typeof C == "undefined") {
  460. C = 1.70158
  461. }
  462. return E * (B /= D) * B * ((C + 1) * B - C) + A
  463. },
  464. backOut : function(B, A, E, D, C) {
  465. if (typeof C == "undefined") {
  466. C = 1.70158
  467. }
  468. return E * ((B = B / D - 1) * B * ((C + 1) * B + C) + 1) + A
  469. },
  470. backBoth : function(B, A, E, D, C) {
  471. if (typeof C == "undefined") {
  472. C = 1.70158
  473. }
  474. if ((B /= D / 2) < 1) {
  475. return E / 2 * (B * B * (((C *= (1.525)) + 1) * B - C)) + A
  476. }
  477. return E / 2 * ((B -= 2) * B * (((C *= (1.525)) + 1) * B + C) + 2) + A
  478. },
  479. bounceIn : function(B, A, D, C) {
  480. return D - YAHOO.util.Easing.bounceOut(C - B, 0, D, C) + A
  481. },
  482. bounceOut : function(B, A, D, C) {
  483. if ((B /= C) < (1 / 2.75)) {
  484. return D * (7.5625 * B * B) + A
  485. } else {
  486. if (B < (2 / 2.75)) {
  487. return D * (7.5625 * (B -= (1.5 / 2.75)) * B + 0.75) + A
  488. } else {
  489. if (B < (2.5 / 2.75)) {
  490. return D * (7.5625 * (B -= (2.25 / 2.75)) * B + 0.9375) + A
  491. }
  492. }
  493. }
  494. return D * (7.5625 * (B -= (2.625 / 2.75)) * B + 0.984375) + A
  495. },
  496. bounceBoth : function(B, A, D, C) {
  497. if (B < C / 2) {
  498. return YAHOO.util.Easing.bounceIn(B * 2, 0, D, C) * 0.5 + A
  499. }
  500. return YAHOO.util.Easing.bounceOut(B * 2 - C, 0, D, C) * 0.5 + D * 0.5
  501. + A
  502. }
  503. };
  504. (function() {
  505. YAHOO.util.Motion = function(G, F, H, I) {
  506. if (G) {
  507. YAHOO.util.Motion.superclass.constructor.call(this, G, F, H, I)
  508. }
  509. };
  510. YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim);
  511. var D = YAHOO.util;
  512. var E = D.Motion.superclass;
  513. var B = D.Motion.prototype;
  514. B.toString = function() {
  515. var F = this.getEl();
  516. var G = F.id || F.tagName;
  517. return ("Motion " + G)
  518. };
  519. B.patterns.points = /^points$/i;
  520. B.setAttribute = function(F, H, G) {
  521. if (this.patterns.points.test(F)) {
  522. G = G || "px";
  523. E.setAttribute.call(this, "left", H[0], G);
  524. E.setAttribute.call(this, "top", H[1], G)
  525. } else {
  526. E.setAttribute.call(this, F, H, G)
  527. }
  528. };
  529. B.getAttribute = function(F) {
  530. if (this.patterns.points.test(F)) {
  531. var G = [E.getAttribute.call(this, "left"),
  532. E.getAttribute.call(this, "top")]
  533. } else {
  534. G = E.getAttribute.call(this, F)
  535. }
  536. return G
  537. };
  538. B.doMethod = function(F, J, G) {
  539. var I = null;
  540. if (this.patterns.points.test(F)) {
  541. var H = this.method(this.currentFrame, 0, 100, this.totalFrames)
  542. / 100;
  543. I = D.Bezier.getPosition(this.runtimeAttributes[F], H)
  544. } else {
  545. I = E.doMethod.call(this, F, J, G)
  546. }
  547. return I
  548. };
  549. B.setRuntimeAttribute = function(O) {
  550. if (this.patterns.points.test(O)) {
  551. var G = this.getEl();
  552. var I = this.attributes;
  553. var F;
  554. var K = I["points"]["control"] || [];
  555. var H;
  556. var L, N;
  557. if (K.length > 0 && !(K[0] instanceof Array)) {
  558. K = [K]
  559. } else {
  560. var J = [];
  561. for (L = 0, N = K.length; L < N; ++L) {
  562. J[L] = K[L]
  563. }
  564. K = J
  565. }
  566. if (D.Dom.getStyle(G, "position") == "static") {
  567. D.Dom.setStyle(G, "position", "relative")
  568. }
  569. if (C(I["points"]["from"])) {
  570. D.Dom.setXY(G, I["points"]["from"])
  571. } else {
  572. D.Dom.setXY(G, D.Dom.getXY(G))
  573. }
  574. F = this.getAttribute("points");
  575. if (C(I["points"]["to"])) {
  576. H = A.call(this, I["points"]["to"], F);
  577. var M = D.Dom.getXY(this.getEl());
  578. for (L = 0, N = K.length; L < N; ++L) {
  579. K[L] = A.call(this, K[L], F)
  580. }
  581. } else {
  582. if (C(I["points"]["by"])) {
  583. H = [F[0] + I["points"]["by"][0],
  584. F[1] + I["points"]["by"][1]];
  585. for (L = 0, N = K.length; L < N; ++L) {
  586. K[L] = [F[0] + K[L][0], F[1] + K[L][1]]
  587. }
  588. }
  589. }
  590. this.runtimeAttributes[O] = [F];
  591. if (K.length > 0) {
  592. this.runtimeAttributes[O] = this.runtimeAttributes[O].concat(K)
  593. }
  594. this.runtimeAttributes[O][this.runtimeAttributes[O].length] = H
  595. } else {
  596. E.setRuntimeAttribute.call(this, O)
  597. }
  598. };
  599. var A = function(F, H) {
  600. var G = D.Dom.getXY(this.getEl());
  601. F = [F[0] - G[0] + H[0], F[1] - G[1] + H[1]];
  602. return F
  603. };
  604. var C = function(F) {
  605. return (typeof F !== "undefined")
  606. }
  607. })();
  608. (function() {
  609. YAHOO.util.Scroll = function(E, D, F, G) {
  610. if (E) {
  611. YAHOO.util.Scroll.superclass.constructor.call(this, E, D, F, G)
  612. }
  613. };
  614. YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim);
  615. var B = YAHOO.util;
  616. var C = B.Scroll.superclass;
  617. var A = B.Scroll.prototype;
  618. A.toString = function() {
  619. var D = this.getEl();
  620. var E = D.id || D.tagName;
  621. return ("Scroll " + E)
  622. };
  623. A.doMethod = function(D, G, E) {
  624. var F = null;
  625. if (D == "scroll") {
  626. F = [
  627. this.method(this.currentFrame, G[0], E[0] - G[0],
  628. this.totalFrames),
  629. this.method(this.currentFrame, G[1], E[1] - G[1],
  630. this.totalFrames)]
  631. } else {
  632. F = C.doMethod.call(this, D, G, E)
  633. }
  634. return F
  635. };
  636. A.getAttribute = function(D) {
  637. var F = null;
  638. var E = this.getEl();
  639. if (D == "scroll") {
  640. F = [E.scrollLeft, E.scrollTop]
  641. } else {
  642. F = C.getAttribute.call(this, D)
  643. }
  644. return F
  645. };
  646. A.setAttribute = function(D, G, F) {
  647. var E = this.getEl();
  648. if (D == "scroll") {
  649. E.scrollLeft = G[0];
  650. E.scrollTop = G[1]
  651. } else {
  652. C.setAttribute.call(this, D, G, F)
  653. }
  654. }
  655. })();
  656. YAHOO.register("animation", YAHOO.util.Anim, {
  657. version : "2.2.0",
  658. build : "127"
  659. });