Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 80.50 KB | None | 0 0
  1. /*
  2. Copyright (c) 2009, Yahoo! Inc. All rights reserved.
  3. Code licensed under the BSD License:
  4. http://developer.yahoo.net/yui/license.txt
  5. version: 2.7.0
  6. */
  7. if (typeof YAHOO == "undefined" || !YAHOO) {
  8. var YAHOO = {};
  9. }
  10. YAHOO.namespace = function() {
  11. var A = arguments,
  12. E = null,
  13. C, B, D;
  14. for (C = 0; C < A.length; C = C + 1) {
  15. D = ("" + A[C]).split(".");
  16. E = YAHOO;
  17. for (B = (D[0] == "YAHOO") ? 1 : 0; B < D.length; B = B + 1) {
  18. E[D[B]] = E[D[B]] || {};
  19. E = E[D[B]];
  20. }
  21. }
  22. return E;
  23. };
  24. YAHOO.log = function(D, A, C) {
  25. var B = YAHOO.widget.Logger;
  26. if (B && B.log) {
  27. return B.log(D, A, C);
  28. } else {
  29. return false;
  30. }
  31. };
  32. YAHOO.register = function(A, E, D) {
  33. var I = YAHOO.env.modules,
  34. B, H, G, F, C;
  35. if (!I[A]) {
  36. I[A] = {
  37. versions: [],
  38. builds: []
  39. };
  40. }
  41. B = I[A];
  42. H = D.version;
  43. G = D.build;
  44. F = YAHOO.env.listeners;
  45. B.name = A;
  46. B.version = H;
  47. B.build = G;
  48. B.versions.push(H);
  49. B.builds.push(G);
  50. B.mainClass = E;
  51. for (C = 0; C < F.length; C = C + 1) {
  52. F[C](B);
  53. }
  54. if (E) {
  55. E.VERSION = H;
  56. E.BUILD = G;
  57. } else {
  58. YAHOO.log("mainClass is undefined for module " + A, "warn");
  59. }
  60. };
  61. YAHOO.env = YAHOO.env || {
  62. modules: [],
  63. listeners: []
  64. };
  65. YAHOO.env.getVersion = function(A) {
  66. return YAHOO.env.modules[A] || null;
  67. };
  68. YAHOO.env.ua = function() {
  69. var C = {
  70. ie: 0,
  71. opera: 0,
  72. gecko: 0,
  73. webkit: 0,
  74. mobile: null,
  75. air: 0,
  76. caja: 0
  77. },
  78. B = navigator.userAgent,
  79. A;
  80. if ((/KHTML/).test(B)) {
  81. C.webkit = 1;
  82. }
  83. A = B.match(/AppleWebKit\/([^\s]*)/);
  84. if (A && A[1]) {
  85. C.webkit = parseFloat(A[1]);
  86. if (/ Mobile\//.test(B)) {
  87. C.mobile = "Apple";
  88. } else {
  89. A = B.match(/NokiaN[^\/]*/);
  90. if (A) {
  91. C.mobile = A[0];
  92. }
  93. }
  94. A = B.match(/AdobeAIR\/([^\s]*)/);
  95. if (A) {
  96. C.air = A[0];
  97. }
  98. }
  99. if (!C.webkit) {
  100. A = B.match(/Opera[\s\/]([^\s]*)/);
  101. if (A && A[1]) {
  102. C.opera = parseFloat(A[1]);
  103. A = B.match(/Opera Mini[^;]*/);
  104. if (A) {
  105. C.mobile = A[0];
  106. }
  107. } else {
  108. A = B.match(/MSIE\s([^;]*)/);
  109. if (A && A[1]) {
  110. C.ie = parseFloat(A[1]);
  111. } else {
  112. A = B.match(/Gecko\/([^\s]*)/);
  113. if (A) {
  114. C.gecko = 1;
  115. A = B.match(/rv:([^\s\)]*)/);
  116. if (A && A[1]) {
  117. C.gecko = parseFloat(A[1]);
  118. }
  119. }
  120. }
  121. }
  122. }
  123. A = B.match(/Caja\/([^\s]*)/);
  124. if (A && A[1]) {
  125. C.caja = parseFloat(A[1]);
  126. }
  127. return C;
  128. }();
  129. (function() {
  130. YAHOO.namespace("util", "widget", "example");
  131. if ("undefined" !== typeof YAHOO_config) {
  132. var B = YAHOO_config.listener,
  133. A = YAHOO.env.listeners,
  134. D = true,
  135. C;
  136. if (B) {
  137. for (C = 0; C < A.length; C = C + 1) {
  138. if (A[C] == B) {
  139. D = false;
  140. break;
  141. }
  142. }
  143. if (D) {
  144. A.push(B);
  145. }
  146. }
  147. }
  148. })();
  149. YAHOO.lang = YAHOO.lang || {};
  150. (function() {
  151. var B = YAHOO.lang,
  152. F = "[object Array]",
  153. C = "[object Function]",
  154. A = Object.prototype,
  155. E = ["toString", "valueOf"],
  156. D = {
  157. isArray: function(G) {
  158. return A.toString.apply(G) === F;
  159. },
  160. isBoolean: function(G) {
  161. return typeof G === "boolean";
  162. },
  163. isFunction: function(G) {
  164. return A.toString.apply(G) === C;
  165. },
  166. isNull: function(G) {
  167. return G === null;
  168. },
  169. isNumber: function(G) {
  170. return typeof G === "number" && isFinite(G);
  171. },
  172. isObject: function(G) {
  173. return (G && (typeof G === "object" || B.isFunction(G))) || false;
  174. },
  175. isString: function(G) {
  176. return typeof G === "string";
  177. },
  178. isUndefined: function(G) {
  179. return typeof G === "undefined";
  180. },
  181. _IEEnumFix: (YAHOO.env.ua.ie) ? function(I, H) {
  182. var G, K, J;
  183. for (G = 0; G < E.length; G = G + 1) {
  184. K = E[G];
  185. J = H[K];
  186. if (B.isFunction(J) && J != A[K]) {
  187. I[K] = J;
  188. }
  189. }
  190. } : function() {},
  191. extend: function(J, K, I) {
  192. if (!K || !J) {
  193. throw new Error("extend failed, please check that " + "all dependencies are included.");
  194. }
  195. var H = function() {},
  196. G;
  197. H.prototype = K.prototype;
  198. J.prototype = new H();
  199. J.prototype.constructor = J;
  200. J.superclass = K.prototype;
  201. if (K.prototype.constructor == A.constructor) {
  202. K.prototype.constructor = K;
  203. }
  204. if (I) {
  205. for (G in I) {
  206. if (B.hasOwnProperty(I, G)) {
  207. J.prototype[G] = I[G];
  208. }
  209. }
  210. B._IEEnumFix(J.prototype, I);
  211. }
  212. },
  213. augmentObject: function(K, J) {
  214. if (!J || !K) {
  215. throw new Error("Absorb failed, verify dependencies.");
  216. }
  217. var G = arguments,
  218. I, L, H = G[2];
  219. if (H && H !== true) {
  220. for (I = 2; I < G.length; I = I + 1) {
  221. K[G[I]] = J[G[I]];
  222. }
  223. } else {
  224. for (L in J) {
  225. if (H || !(L in K)) {
  226. K[L] = J[L];
  227. }
  228. }
  229. B._IEEnumFix(K, J);
  230. }
  231. },
  232. augmentProto: function(J, I) {
  233. if (!I || !J) {
  234. throw new Error("Augment failed, verify dependencies.");
  235. }
  236. var G = [J.prototype, I.prototype],
  237. H;
  238. for (H = 2; H < arguments.length; H = H + 1) {
  239. G.push(arguments[H]);
  240. }
  241. B.augmentObject.apply(this, G);
  242. },
  243. dump: function(G, L) {
  244. var I, K, N = [],
  245. O = "{...}",
  246. H = "f(){...}",
  247. M = ", ",
  248. J = " => ";
  249. if (!B.isObject(G)) {
  250. return G + "";
  251. } else {
  252. if (G instanceof Date || ("nodeType" in G && "tagName" in G)) {
  253. return G;
  254. } else {
  255. if (B.isFunction(G)) {
  256. return H;
  257. }
  258. }
  259. }
  260. L = (B.isNumber(L)) ? L : 3;
  261. if (B.isArray(G)) {
  262. N.push("[");
  263. for (I = 0, K = G.length; I < K; I = I + 1) {
  264. if (B.isObject(G[I])) {
  265. N.push((L > 0) ? B.dump(G[I], L - 1) : O);
  266. } else {
  267. N.push(G[I]);
  268. }
  269. N.push(M);
  270. }
  271. if (N.length > 1) {
  272. N.pop();
  273. }
  274. N.push("]");
  275. } else {
  276. N.push("{");
  277. for (I in G) {
  278. if (B.hasOwnProperty(G, I)) {
  279. N.push(I + J);
  280. if (B.isObject(G[I])) {
  281. N.push((L > 0) ? B.dump(G[I], L - 1) : O);
  282. } else {
  283. N.push(G[I]);
  284. }
  285. N.push(M);
  286. }
  287. }
  288. if (N.length > 1) {
  289. N.pop();
  290. }
  291. N.push("}");
  292. }
  293. return N.join("");
  294. },
  295. substitute: function(V, H, O) {
  296. var L, K, J, R, S, U, Q = [],
  297. I, M = "dump",
  298. P = " ",
  299. G = "{",
  300. T = "}",
  301. N;
  302. for (;;) {
  303. L = V.lastIndexOf(G);
  304. if (L < 0) {
  305. break;
  306. }
  307. K = V.indexOf(T, L);
  308. if (L + 1 >= K) {
  309. break;
  310. }
  311. I = V.substring(L + 1, K);
  312. R = I;
  313. U = null;
  314. J = R.indexOf(P);
  315. if (J > -1) {
  316. U = R.substring(J + 1);
  317. R = R.substring(0, J);
  318. }
  319. S = H[R];
  320. if (O) {
  321. S = O(R, S, U);
  322. }
  323. if (B.isObject(S)) {
  324. if (B.isArray(S)) {
  325. S = B.dump(S, parseInt(U, 10));
  326. } else {
  327. U = U || "";
  328. N = U.indexOf(M);
  329. if (N > -1) {
  330. U = U.substring(4);
  331. }
  332. if (S.toString === A.toString || N > -1) {
  333. S = B.dump(S, parseInt(U, 10));
  334. } else {
  335. S = S.toString();
  336. }
  337. }
  338. } else {
  339. if (!B.isString(S) && !B.isNumber(S)) {
  340. S = "~-" + Q.length + "-~";
  341. Q[Q.length] = I;
  342. }
  343. }
  344. V = V.substring(0, L) + S + V.substring(K + 1);
  345. }
  346. for (L = Q.length - 1; L >= 0; L = L - 1) {
  347. V = V.replace(new RegExp("~-" + L + "-~"), "{" + Q[L] + "}", "g");
  348. }
  349. return V;
  350. },
  351. trim: function(G) {
  352. try {
  353. return G.replace(/^\s+|\s+$/g, "");
  354. } catch (H) {
  355. return G;
  356. }
  357. },
  358. merge: function() {
  359. var J = {},
  360. H = arguments,
  361. G = H.length,
  362. I;
  363. for (I = 0; I < G; I = I + 1) {
  364. B.augmentObject(J, H[I], true);
  365. }
  366. return J;
  367. },
  368. later: function(N, H, O, J, K) {
  369. N = N || 0;
  370. H = H || {};
  371. var I = O,
  372. M = J,
  373. L, G;
  374. if (B.isString(O)) {
  375. I = H[O];
  376. }
  377. if (!I) {
  378. throw new TypeError("method undefined");
  379. }
  380. if (!B.isArray(M)) {
  381. M = [J];
  382. }
  383. L = function() {
  384. I.apply(H, M);
  385. };
  386. G = (K) ? setInterval(L, N) : setTimeout(L, N);
  387. return {
  388. interval: K,
  389. cancel: function() {
  390. if (this.interval) {
  391. clearInterval(G);
  392. } else {
  393. clearTimeout(G);
  394. }
  395. }
  396. };
  397. },
  398. isValue: function(G) {
  399. return (B.isObject(G) || B.isString(G) || B.isNumber(G) || B.isBoolean(G));
  400. }
  401. };
  402. B.hasOwnProperty = (A.hasOwnProperty) ? function(G, H) {
  403. return G && G.hasOwnProperty(H);
  404. } : function(G, H) {
  405. return !B.isUndefined(G[H]) && G.constructor.prototype[H] !== G[H];
  406. };
  407. D.augmentObject(B, D, true);
  408. YAHOO.util.Lang = B;
  409. B.augment = B.augmentProto;
  410. YAHOO.augment = B.augmentProto;
  411. YAHOO.extend = B.extend;
  412. })();
  413. YAHOO.register("yahoo", YAHOO, {
  414. version: "2.7.0",
  415. build: "1796"
  416. });
  417. (function() {
  418. YAHOO.env._id_counter = YAHOO.env._id_counter || 0;
  419. var E = YAHOO.util,
  420. L = YAHOO.lang,
  421. m = YAHOO.env.ua,
  422. A = YAHOO.lang.trim,
  423. d = {},
  424. h = {},
  425. N = /^t(?:able|d|h)$/i,
  426. X = /color$/i,
  427. K = window.document,
  428. W = K.documentElement,
  429. e = "ownerDocument",
  430. n = "defaultView",
  431. v = "documentElement",
  432. t = "compatMode",
  433. b = "offsetLeft",
  434. P = "offsetTop",
  435. u = "offsetParent",
  436. Z = "parentNode",
  437. l = "nodeType",
  438. C = "tagName",
  439. O = "scrollLeft",
  440. i = "scrollTop",
  441. Q = "getBoundingClientRect",
  442. w = "getComputedStyle",
  443. a = "currentStyle",
  444. M = "CSS1Compat",
  445. c = "BackCompat",
  446. g = "class",
  447. F = "className",
  448. J = "",
  449. B = " ",
  450. s = "(?:^|\\s)",
  451. k = "(?= |$)",
  452. U = "g",
  453. p = "position",
  454. f = "fixed",
  455. V = "relative",
  456. j = "left",
  457. o = "top",
  458. r = "medium",
  459. q = "borderLeftWidth",
  460. R = "borderTopWidth",
  461. D = m.opera,
  462. I = m.webkit,
  463. H = m.gecko,
  464. T = m.ie;
  465. E.Dom = {
  466. CUSTOM_ATTRIBUTES: (!W.hasAttribute) ? {
  467. "for": "htmlFor",
  468. "class": F
  469. } : {
  470. "htmlFor": "for",
  471. "className": g
  472. },
  473. get: function(y) {
  474. var AA, Y, z, x, G;
  475. if (y) {
  476. if (y[l] || y.item) {
  477. return y;
  478. }
  479. if (typeof y === "string") {
  480. AA = y;
  481. y = K.getElementById(y);
  482. if (y && y.id === AA) {
  483. return y;
  484. } else {
  485. if (y && K.all) {
  486. y = null;
  487. Y = K.all[AA];
  488. for (x = 0, G = Y.length; x < G; ++x) {
  489. if (Y[x].id === AA) {
  490. return Y[x];
  491. }
  492. }
  493. }
  494. }
  495. return y;
  496. }
  497. if (y.DOM_EVENTS) {
  498. y = y.get("element");
  499. }
  500. if ("length" in y) {
  501. z = [];
  502. for (x = 0, G = y.length; x < G; ++x) {
  503. z[z.length] = E.Dom.get(y[x]);
  504. }
  505. return z;
  506. }
  507. return y;
  508. }
  509. return null;
  510. },
  511. getComputedStyle: function(G, Y) {
  512. if (window[w]) {
  513. return G[e][n][w](G, null)[Y];
  514. } else {
  515. if (G[a]) {
  516. return E.Dom.IE_ComputedStyle.get(G, Y);
  517. }
  518. }
  519. },
  520. getStyle: function(G, Y) {
  521. return E.Dom.batch(G, E.Dom._getStyle, Y);
  522. },
  523. _getStyle: function() {
  524. if (window[w]) {
  525. return function(G, y) {
  526. y = (y === "float") ? y = "cssFloat" : E.Dom._toCamel(y);
  527. var x = G.style[y],
  528. Y;
  529. if (!x) {
  530. Y = G[e][n][w](G, null);
  531. if (Y) {
  532. x = Y[y];
  533. }
  534. }
  535. return x;
  536. };
  537. } else {
  538. if (W[a]) {
  539. return function(G, y) {
  540. var x;
  541. switch (y) {
  542. case "opacity":
  543. x = 100;
  544. try {
  545. x = G.filters["DXImageTransform.Microsoft.Alpha"].opacity;
  546. } catch (z) {
  547. try {
  548. x = G.filters("alpha").opacity;
  549. } catch (Y) {}
  550. }
  551. return x / 100;
  552. case "float":
  553. y = "styleFloat";
  554. default:
  555. y = E.Dom._toCamel(y);
  556. x = G[a] ? G[a][y] : null;
  557. return (G.style[y] || x);
  558. }
  559. };
  560. }
  561. }
  562. }(),
  563. setStyle: function(G, Y, x) {
  564. E.Dom.batch(G, E.Dom._setStyle, {
  565. prop: Y,
  566. val: x
  567. });
  568. },
  569. _setStyle: function() {
  570. if (T) {
  571. return function(Y, G) {
  572. var x = E.Dom._toCamel(G.prop),
  573. y = G.val;
  574. if (Y) {
  575. switch (x) {
  576. case "opacity":
  577. if (L.isString(Y.style.filter)) {
  578. Y.style.filter = "alpha(opacity=" + y * 100 + ")";
  579. if (!Y[a] || !Y[a].hasLayout) {
  580. Y.style.zoom = 1;
  581. }
  582. }
  583. break;
  584. case "float":
  585. x = "styleFloat";
  586. default:
  587. Y.style[x] = y;
  588. }
  589. } else {}
  590. };
  591. } else {
  592. return function(Y, G) {
  593. var x = E.Dom._toCamel(G.prop),
  594. y = G.val;
  595. if (Y) {
  596. if (x == "float") {
  597. x = "cssFloat";
  598. }
  599. Y.style[x] = y;
  600. } else {}
  601. };
  602. }
  603. }(),
  604. getXY: function(G) {
  605. return E.Dom.batch(G, E.Dom._getXY);
  606. },
  607. _canPosition: function(G) {
  608. return (E.Dom._getStyle(G, "display") !== "none" && E.Dom._inDoc(G));
  609. },
  610. _getXY: function() {
  611. if (K[v][Q]) {
  612. return function(y) {
  613. var z, Y, AA, AF, AE, AD, AC, G, x, AB = Math.floor,
  614. AG = false;
  615. if (E.Dom._canPosition(y)) {
  616. AA = y[Q]();
  617. AF = y[e];
  618. z = E.Dom.getDocumentScrollLeft(AF);
  619. Y = E.Dom.getDocumentScrollTop(AF);
  620. AG = [AB(AA[j]), AB(AA[o])];
  621. if (T && m.ie < 8) {
  622. AE = 2;
  623. AD = 2;
  624. AC = AF[t];
  625. G = S(AF[v], q);
  626. x = S(AF[v], R);
  627. if (m.ie === 6) {
  628. if (AC !== c) {
  629. AE = 0;
  630. AD = 0;
  631. }
  632. }
  633. if ((AC == c)) {
  634. if (G !== r) {
  635. AE = parseInt(G, 10);
  636. }
  637. if (x !== r) {
  638. AD = parseInt(x, 10);
  639. }
  640. }
  641. AG[0] -= AE;
  642. AG[1] -= AD;
  643. }
  644. if ((Y || z)) {
  645. AG[0] += z;
  646. AG[1] += Y;
  647. }
  648. AG[0] = AB(AG[0]);
  649. AG[1] = AB(AG[1]);
  650. } else {}
  651. return AG;
  652. };
  653. } else {
  654. return function(y) {
  655. var x, Y, AA, AB, AC, z = false,
  656. G = y;
  657. if (E.Dom._canPosition(y)) {
  658. z = [y[b], y[P]];
  659. x = E.Dom.getDocumentScrollLeft(y[e]);
  660. Y = E.Dom.getDocumentScrollTop(y[e]);
  661. AC = ((H || m.webkit > 519) ? true : false);
  662. while ((G = G[u])) {
  663. z[0] += G[b];
  664. z[1] += G[P];
  665. if (AC) {
  666. z = E.Dom._calcBorders(G, z);
  667. }
  668. }
  669. if (E.Dom._getStyle(y, p) !== f) {
  670. G = y;
  671. while ((G = G[Z]) && G[C]) {
  672. AA = G[i];
  673. AB = G[O];
  674. if (H && (E.Dom._getStyle(G, "overflow") !== "visible")) {
  675. z = E.Dom._calcBorders(G, z);
  676. }
  677. if (AA || AB) {
  678. z[0] -= AB;
  679. z[1] -= AA;
  680. }
  681. }
  682. z[0] += x;
  683. z[1] += Y;
  684. } else {
  685. if (D) {
  686. z[0] -= x;
  687. z[1] -= Y;
  688. } else {
  689. if (I || H) {
  690. z[0] += x;
  691. z[1] += Y;
  692. }
  693. }
  694. }
  695. z[0] = Math.floor(z[0]);
  696. z[1] = Math.floor(z[1]);
  697. } else {}
  698. return z;
  699. };
  700. }
  701. }(),
  702. getX: function(G) {
  703. var Y = function(x) {
  704. return E.Dom.getXY(x)[0];
  705. };
  706. return E.Dom.batch(G, Y, E.Dom, true);
  707. },
  708. getY: function(G) {
  709. var Y = function(x) {
  710. return E.Dom.getXY(x)[1];
  711. };
  712. return E.Dom.batch(G, Y, E.Dom, true);
  713. },
  714. setXY: function(G, x, Y) {
  715. E.Dom.batch(G, E.Dom._setXY, {
  716. pos: x,
  717. noRetry: Y
  718. });
  719. },
  720. _setXY: function(G, z) {
  721. var AA = E.Dom._getStyle(G, p),
  722. y = E.Dom.setStyle,
  723. AD = z.pos,
  724. Y = z.noRetry,
  725. AB = [parseInt(E.Dom.getComputedStyle(G, j), 10), parseInt(E.Dom.getComputedStyle(G, o), 10)],
  726. AC, x;
  727. if (AA == "static") {
  728. AA = V;
  729. y(G, p, AA);
  730. }
  731. AC = E.Dom._getXY(G);
  732. if (!AD || AC === false) {
  733. return false;
  734. }
  735. if (isNaN(AB[0])) {
  736. AB[0] = (AA == V) ? 0 : G[b];
  737. }
  738. if (isNaN(AB[1])) {
  739. AB[1] = (AA == V) ? 0 : G[P];
  740. }
  741. if (AD[0] !== null) {
  742. y(G, j, AD[0] - AC[0] + AB[0] + "px");
  743. }
  744. if (AD[1] !== null) {
  745. y(G, o, AD[1] - AC[1] + AB[1] + "px");
  746. }
  747. if (!Y) {
  748. x = E.Dom._getXY(G);
  749. if ((AD[0] !== null && x[0] != AD[0]) || (AD[1] !== null && x[1] != AD[1])) {
  750. E.Dom._setXY(G, {
  751. pos: AD,
  752. noRetry: true
  753. });
  754. }
  755. }
  756. },
  757. setX: function(Y, G) {
  758. E.Dom.setXY(Y, [G, null]);
  759. },
  760. setY: function(G, Y) {
  761. E.Dom.setXY(G, [null, Y]);
  762. },
  763. getRegion: function(G) {
  764. var Y = function(x) {
  765. var y = false;
  766. if (E.Dom._canPosition(x)) {
  767. y = E.Region.getRegion(x);
  768. } else {}
  769. return y;
  770. };
  771. return E.Dom.batch(G, Y, E.Dom, true);
  772. },
  773. getClientWidth: function() {
  774. return E.Dom.getViewportWidth();
  775. },
  776. getClientHeight: function() {
  777. return E.Dom.getViewportHeight();
  778. },
  779. getElementsByClassName: function(AB, AF, AC, AE, x, AD) {
  780. AB = L.trim(AB);
  781. AF = AF || "*";
  782. AC = (AC) ? E.Dom.get(AC) : null || K;
  783. if (!AC) {
  784. return [];
  785. }
  786. var Y = [],
  787. G = AC.getElementsByTagName(AF),
  788. z = E.Dom.hasClass;
  789. for (var y = 0, AA = G.length; y < AA; ++y) {
  790. if (z(G[y], AB)) {
  791. Y[Y.length] = G[y];
  792. }
  793. }
  794. if (AE) {
  795. E.Dom.batch(Y, AE, x, AD);
  796. }
  797. return Y;
  798. },
  799. hasClass: function(Y, G) {
  800. return E.Dom.batch(Y, E.Dom._hasClass, G);
  801. },
  802. _hasClass: function(x, Y) {
  803. var G = false,
  804. y;
  805. if (x && Y) {
  806. y = E.Dom.getAttribute(x, F) || J;
  807. if (Y.exec) {
  808. G = Y.test(y);
  809. } else {
  810. G = Y && (B + y + B).indexOf(B + Y + B) > -1;
  811. }
  812. } else {}
  813. return G;
  814. },
  815. addClass: function(Y, G) {
  816. return E.Dom.batch(Y, E.Dom._addClass, G);
  817. },
  818. _addClass: function(x, Y) {
  819. var G = false,
  820. y;
  821. if (x && Y) {
  822. y = E.Dom.getAttribute(x, F) || J;
  823. if (!E.Dom._hasClass(x, Y)) {
  824. E.Dom.setAttribute(x, F, A(y + B + Y));
  825. G = true;
  826. }
  827. } else {}
  828. return G;
  829. },
  830. removeClass: function(Y, G) {
  831. return E.Dom.batch(Y, E.Dom._removeClass, G);
  832. },
  833. _removeClass: function(y, x) {
  834. var Y = false,
  835. AA, z, G;
  836. if (y && x) {
  837. AA = E.Dom.getAttribute(y, F) || J;
  838. E.Dom.setAttribute(y, F, AA.replace(E.Dom._getClassRegex(x), J));
  839. z = E.Dom.getAttribute(y, F);
  840. if (AA !== z) {
  841. E.Dom.setAttribute(y, F, A(z));
  842. Y = true;
  843. if (E.Dom.getAttribute(y, F) === "") {
  844. G = (y.hasAttribute && y.hasAttribute(g)) ? g : F;
  845. y.removeAttribute(G);
  846. }
  847. }
  848. } else {}
  849. return Y;
  850. },
  851. replaceClass: function(x, Y, G) {
  852. return E.Dom.batch(x, E.Dom._replaceClass, {
  853. from: Y,
  854. to: G
  855. });
  856. },
  857. _replaceClass: function(y, x) {
  858. var Y, AB, AA, G = false,
  859. z;
  860. if (y && x) {
  861. AB = x.from;
  862. AA = x.to;
  863. if (!AA) {
  864. G = false;
  865. } else {
  866. if (!AB) {
  867. G = E.Dom._addClass(y, x.to);
  868. } else {
  869. if (AB !== AA) {
  870. z = E.Dom.getAttribute(y, F) || J;
  871. Y = (B + z.replace(E.Dom._getClassRegex(AB), B + AA)).split(E.Dom._getClassRegex(AA));
  872. Y.splice(1, 0, B + AA);
  873. E.Dom.setAttribute(y, F, A(Y.join(J)));
  874. G = true;
  875. }
  876. }
  877. }
  878. } else {}
  879. return G;
  880. },
  881. generateId: function(G, x) {
  882. x = x || "yui-gen";
  883. var Y = function(y) {
  884. if (y && y.id) {
  885. return y.id;
  886. }
  887. var z = x + YAHOO.env._id_counter++;
  888. if (y) {
  889. if (y[e].getElementById(z)) {
  890. return E.Dom.generateId(y, z + x);
  891. }
  892. y.id = z;
  893. }
  894. return z;
  895. };
  896. return E.Dom.batch(G, Y, E.Dom, true) || Y.apply(E.Dom, arguments);
  897. },
  898. isAncestor: function(Y, x) {
  899. Y = E.Dom.get(Y);
  900. x = E.Dom.get(x);
  901. var G = false;
  902. if ((Y && x) && (Y[l] && x[l])) {
  903. if (Y.contains && Y !== x) {
  904. G = Y.contains(x);
  905. } else {
  906. if (Y.compareDocumentPosition) {
  907. G = !!(Y.compareDocumentPosition(x) & 16);
  908. }
  909. }
  910. } else {}
  911. return G;
  912. },
  913. inDocument: function(G, Y) {
  914. return E.Dom._inDoc(E.Dom.get(G), Y);
  915. },
  916. _inDoc: function(Y, x) {
  917. var G = false;
  918. if (Y && Y[C]) {
  919. x = x || Y[e];
  920. G = E.Dom.isAncestor(x[v], Y);
  921. } else {}
  922. return G;
  923. },
  924. getElementsBy: function(Y, AF, AB, AD, y, AC, AE) {
  925. AF = AF || "*";
  926. AB = (AB) ? E.Dom.get(AB) : null || K;
  927. if (!AB) {
  928. return [];
  929. }
  930. var x = [],
  931. G = AB.getElementsByTagName(AF);
  932. for (var z = 0, AA = G.length; z < AA; ++z) {
  933. if (Y(G[z])) {
  934. if (AE) {
  935. x = G[z];
  936. break;
  937. } else {
  938. x[x.length] = G[z];
  939. }
  940. }
  941. }
  942. if (AD) {
  943. E.Dom.batch(x, AD, y, AC);
  944. }
  945. return x;
  946. },
  947. getElementBy: function(x, G, Y) {
  948. return E.Dom.getElementsBy(x, G, Y, null, null, null, true);
  949. },
  950. batch: function(x, AB, AA, z) {
  951. var y = [],
  952. Y = (z) ? AA : window;
  953. x = (x && (x[C] || x.item)) ? x : E.Dom.get(x);
  954. if (x && AB) {
  955. if (x[C] || x.length === undefined) {
  956. return AB.call(Y, x, AA);
  957. }
  958. for (var G = 0; G < x.length; ++G) {
  959. y[y.length] = AB.call(Y, x[G], AA);
  960. }
  961. } else {
  962. return false;
  963. }
  964. return y;
  965. },
  966. getDocumentHeight: function() {
  967. var Y = (K[t] != M || I) ? K.body.scrollHeight : W.scrollHeight,
  968. G = Math.max(Y, E.Dom.getViewportHeight());
  969. return G;
  970. },
  971. getDocumentWidth: function() {
  972. var Y = (K[t] != M || I) ? K.body.scrollWidth : W.scrollWidth,
  973. G = Math.max(Y, E.Dom.getViewportWidth());
  974. return G;
  975. },
  976. getViewportHeight: function() {
  977. var G = self.innerHeight,
  978. Y = K[t];
  979. if ((Y || T) && !D) {
  980. G = (Y == M) ? W.clientHeight : K.body.clientHeight;
  981. }
  982. return G;
  983. },
  984. getViewportWidth: function() {
  985. var G = self.innerWidth,
  986. Y = K[t];
  987. if (Y || T) {
  988. G = (Y == M) ? W.clientWidth : K.body.clientWidth;
  989. }
  990. return G;
  991. },
  992. getAncestorBy: function(G, Y) {
  993. while ((G = G[Z])) {
  994. if (E.Dom._testElement(G, Y)) {
  995. return G;
  996. }
  997. }
  998. return null;
  999. },
  1000. getAncestorByClassName: function(Y, G) {
  1001. Y = E.Dom.get(Y);
  1002. if (!Y) {
  1003. return null;
  1004. }
  1005. var x = function(y) {
  1006. return E.Dom.hasClass(y, G);
  1007. };
  1008. return E.Dom.getAncestorBy(Y, x);
  1009. },
  1010. getAncestorByTagName: function(Y, G) {
  1011. Y = E.Dom.get(Y);
  1012. if (!Y) {
  1013. return null;
  1014. }
  1015. var x = function(y) {
  1016. return y[C] && y[C].toUpperCase() == G.toUpperCase();
  1017. };
  1018. return E.Dom.getAncestorBy(Y, x);
  1019. },
  1020. getPreviousSiblingBy: function(G, Y) {
  1021. while (G) {
  1022. G = G.previousSibling;
  1023. if (E.Dom._testElement(G, Y)) {
  1024. return G;
  1025. }
  1026. }
  1027. return null;
  1028. },
  1029. getPreviousSibling: function(G) {
  1030. G = E.Dom.get(G);
  1031. if (!G) {
  1032. return null;
  1033. }
  1034. return E.Dom.getPreviousSiblingBy(G);
  1035. },
  1036. getNextSiblingBy: function(G, Y) {
  1037. while (G) {
  1038. G = G.nextSibling;
  1039. if (E.Dom._testElement(G, Y)) {
  1040. return G;
  1041. }
  1042. }
  1043. return null;
  1044. },
  1045. getNextSibling: function(G) {
  1046. G = E.Dom.get(G);
  1047. if (!G) {
  1048. return null;
  1049. }
  1050. return E.Dom.getNextSiblingBy(G);
  1051. },
  1052. getFirstChildBy: function(G, x) {
  1053. var Y = (E.Dom._testElement(G.firstChild, x)) ? G.firstChild : null;
  1054. return Y || E.Dom.getNextSiblingBy(G.firstChild, x);
  1055. },
  1056. getFirstChild: function(G, Y) {
  1057. G = E.Dom.get(G);
  1058. if (!G) {
  1059. return null;
  1060. }
  1061. return E.Dom.getFirstChildBy(G);
  1062. },
  1063. getLastChildBy: function(G, x) {
  1064. if (!G) {
  1065. return null;
  1066. }
  1067. var Y = (E.Dom._testElement(G.lastChild, x)) ? G.lastChild : null;
  1068. return Y || E.Dom.getPreviousSiblingBy(G.lastChild, x);
  1069. },
  1070. getLastChild: function(G) {
  1071. G = E.Dom.get(G);
  1072. return E.Dom.getLastChildBy(G);
  1073. },
  1074. getChildrenBy: function(Y, y) {
  1075. var x = E.Dom.getFirstChildBy(Y, y),
  1076. G = x ? [x] : [];
  1077. E.Dom.getNextSiblingBy(x, function(z) {
  1078. if (!y || y(z)) {
  1079. G[G.length] = z;
  1080. }
  1081. return false;
  1082. });
  1083. return G;
  1084. },
  1085. getChildren: function(G) {
  1086. G = E.Dom.get(G);
  1087. if (!G) {}
  1088. return E.Dom.getChildrenBy(G);
  1089. },
  1090. getDocumentScrollLeft: function(G) {
  1091. G = G || K;
  1092. return Math.max(G[v].scrollLeft, G.body.scrollLeft);
  1093. },
  1094. getDocumentScrollTop: function(G) {
  1095. G = G || K;
  1096. return Math.max(G[v].scrollTop, G.body.scrollTop);
  1097. },
  1098. insertBefore: function(Y, G) {
  1099. Y = E.Dom.get(Y);
  1100. G = E.Dom.get(G);
  1101. if (!Y || !G || !G[Z]) {
  1102. return null;
  1103. }
  1104. return G[Z].insertBefore(Y, G);
  1105. },
  1106. insertAfter: function(Y, G) {
  1107. Y = E.Dom.get(Y);
  1108. G = E.Dom.get(G);
  1109. if (!Y || !G || !G[Z]) {
  1110. return null;
  1111. }
  1112. if (G.nextSibling) {
  1113. return G[Z].insertBefore(Y, G.nextSibling);
  1114. } else {
  1115. return G[Z].appendChild(Y);
  1116. }
  1117. },
  1118. getClientRegion: function() {
  1119. var x = E.Dom.getDocumentScrollTop(),
  1120. Y = E.Dom.getDocumentScrollLeft(),
  1121. y = E.Dom.getViewportWidth() + Y,
  1122. G = E.Dom.getViewportHeight() + x;
  1123. return new E.Region(x, y, G, Y);
  1124. },
  1125. setAttribute: function(Y, G, x) {
  1126. G = E.Dom.CUSTOM_ATTRIBUTES[G] || G;
  1127. Y.setAttribute(G, x);
  1128. },
  1129. getAttribute: function(Y, G) {
  1130. G = E.Dom.CUSTOM_ATTRIBUTES[G] || G;
  1131. return Y.getAttribute(G);
  1132. },
  1133. _toCamel: function(Y) {
  1134. var x = d;
  1135.  
  1136. function G(y, z) {
  1137. return z.toUpperCase();
  1138. }
  1139. return x[Y] || (x[Y] = Y.indexOf("-") === -1 ? Y : Y.replace(/-([a-z])/gi, G));
  1140. },
  1141. _getClassRegex: function(Y) {
  1142. var G;
  1143. if (Y !== undefined) {
  1144. if (Y.exec) {
  1145. G = Y;
  1146. } else {
  1147. G = h[Y];
  1148. if (!G) {
  1149. Y = Y.replace(E.Dom._patterns.CLASS_RE_TOKENS, "\\$1");
  1150. G = h[Y] = new RegExp(s + Y + k, U);
  1151. }
  1152. }
  1153. }
  1154. return G;
  1155. },
  1156. _patterns: {
  1157. ROOT_TAG: /^body|html$/i,
  1158. CLASS_RE_TOKENS: /([\.\(\)\^\$\*\+\?\|\[\]\{\}])/g
  1159. },
  1160. _testElement: function(G, Y) {
  1161. return G && G[l] == 1 && (!Y || Y(G));
  1162. },
  1163. _calcBorders: function(x, y) {
  1164. var Y = parseInt(E.Dom[w](x, R), 10) || 0,
  1165. G = parseInt(E.Dom[w](x, q), 10) || 0;
  1166. if (H) {
  1167. if (N.test(x[C])) {
  1168. Y = 0;
  1169. G = 0;
  1170. }
  1171. }
  1172. y[0] += G;
  1173. y[1] += Y;
  1174. return y;
  1175. }
  1176. };
  1177. var S = E.Dom[w];
  1178. if (m.opera) {
  1179. E.Dom[w] = function(Y, G) {
  1180. var x = S(Y, G);
  1181. if (X.test(G)) {
  1182. x = E.Dom.Color.toRGB(x);
  1183. }
  1184. return x;
  1185. };
  1186. }
  1187. if (m.webkit) {
  1188. E.Dom[w] = function(Y, G) {
  1189. var x = S(Y, G);
  1190. if (x === "rgba(0, 0, 0, 0)") {
  1191. x = "transparent";
  1192. }
  1193. return x;
  1194. };
  1195. }
  1196. })();
  1197. YAHOO.util.Region = function(C, D, A, B) {
  1198. this.top = C;
  1199. this.y = C;
  1200. this[1] = C;
  1201. this.right = D;
  1202. this.bottom = A;
  1203. this.left = B;
  1204. this.x = B;
  1205. this[0] = B;
  1206. this.width = this.right - this.left;
  1207. this.height = this.bottom - this.top;
  1208. };
  1209. YAHOO.util.Region.prototype.contains = function(A) {
  1210. return (A.left >= this.left && A.right <= this.right && A.top >= this.top && A.bottom <= this.bottom);
  1211. };
  1212. YAHOO.util.Region.prototype.getArea = function() {
  1213. return ((this.bottom - this.top) * (this.right - this.left));
  1214. };
  1215. YAHOO.util.Region.prototype.intersect = function(E) {
  1216. var C = Math.max(this.top, E.top),
  1217. D = Math.min(this.right, E.right),
  1218. A = Math.min(this.bottom, E.bottom),
  1219. B = Math.max(this.left, E.left);
  1220. if (A >= C && D >= B) {
  1221. return new YAHOO.util.Region(C, D, A, B);
  1222. } else {
  1223. return null;
  1224. }
  1225. };
  1226. YAHOO.util.Region.prototype.union = function(E) {
  1227. var C = Math.min(this.top, E.top),
  1228. D = Math.max(this.right, E.right),
  1229. A = Math.max(this.bottom, E.bottom),
  1230. B = Math.min(this.left, E.left);
  1231. return new YAHOO.util.Region(C, D, A, B);
  1232. };
  1233. YAHOO.util.Region.prototype.toString = function() {
  1234. return ("Region {" + "top: " + this.top + ", right: " + this.right + ", bottom: " + this.bottom + ", left: " + this.left + ", height: " + this.height + ", width: " + this.width + "}");
  1235. };
  1236. YAHOO.util.Region.getRegion = function(D) {
  1237. var F = YAHOO.util.Dom.getXY(D),
  1238. C = F[1],
  1239. E = F[0] + D.offsetWidth,
  1240. A = F[1] + D.offsetHeight,
  1241. B = F[0];
  1242. return new YAHOO.util.Region(C, E, A, B);
  1243. };
  1244. YAHOO.util.Point = function(A, B) {
  1245. if (YAHOO.lang.isArray(A)) {
  1246. B = A[1];
  1247. A = A[0];
  1248. }
  1249. YAHOO.util.Point.superclass.constructor.call(this, B, A, B, A);
  1250. };
  1251. YAHOO.extend(YAHOO.util.Point, YAHOO.util.Region);
  1252. (function() {
  1253. var B = YAHOO.util,
  1254. A = "clientTop",
  1255. F = "clientLeft",
  1256. J = "parentNode",
  1257. K = "right",
  1258. W = "hasLayout",
  1259. I = "px",
  1260. U = "opacity",
  1261. L = "auto",
  1262. D = "borderLeftWidth",
  1263. G = "borderTopWidth",
  1264. P = "borderRightWidth",
  1265. V = "borderBottomWidth",
  1266. S = "visible",
  1267. Q = "transparent",
  1268. N = "height",
  1269. E = "width",
  1270. H = "style",
  1271. T = "currentStyle",
  1272. R = /^width|height$/,
  1273. O = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,
  1274. M = {
  1275. get: function(X, Z) {
  1276. var Y = "",
  1277. a = X[T][Z];
  1278. if (Z === U) {
  1279. Y = B.Dom.getStyle(X, U);
  1280. } else {
  1281. if (!a || (a.indexOf && a.indexOf(I) > -1)) {
  1282. Y = a;
  1283. } else {
  1284. if (B.Dom.IE_COMPUTED[Z]) {
  1285. Y = B.Dom.IE_COMPUTED[Z](X, Z);
  1286. } else {
  1287. if (O.test(a)) {
  1288. Y = B.Dom.IE.ComputedStyle.getPixel(X, Z);
  1289. } else {
  1290. Y = a;
  1291. }
  1292. }
  1293. }
  1294. }
  1295. return Y;
  1296. },
  1297. getOffset: function(Z, e) {
  1298. var b = Z[T][e],
  1299. X = e.charAt(0).toUpperCase() + e.substr(1),
  1300. c = "offset" + X,
  1301. Y = "pixel" + X,
  1302. a = "",
  1303. d;
  1304. if (b == L) {
  1305. d = Z[c];
  1306. if (d === undefined) {
  1307. a = 0;
  1308. }
  1309. a = d;
  1310. if (R.test(e)) {
  1311. Z[H][e] = d;
  1312. if (Z[c] > d) {
  1313. a = d - (Z[c] - d);
  1314. }
  1315. Z[H][e] = L;
  1316. }
  1317. } else {
  1318. if (!Z[H][Y] && !Z[H][e]) {
  1319. Z[H][e] = b;
  1320. }
  1321. a = Z[H][Y];
  1322. }
  1323. return a + I;
  1324. },
  1325. getBorderWidth: function(X, Z) {
  1326. var Y = null;
  1327. if (!X[T][W]) {
  1328. X[H].zoom = 1;
  1329. }
  1330. switch (Z) {
  1331. case G:
  1332. Y = X[A];
  1333. break;
  1334. case V:
  1335. Y = X.offsetHeight - X.clientHeight - X[A];
  1336. break;
  1337. case D:
  1338. Y = X[F];
  1339. break;
  1340. case P:
  1341. Y = X.offsetWidth - X.clientWidth - X[F];
  1342. break;
  1343. }
  1344. return Y + I;
  1345. },
  1346. getPixel: function(Y, X) {
  1347. var a = null,
  1348. b = Y[T][K],
  1349. Z = Y[T][X];
  1350. Y[H][K] = Z;
  1351. a = Y[H].pixelRight;
  1352. Y[H][K] = b;
  1353. return a + I;
  1354. },
  1355. getMargin: function(Y, X) {
  1356. var Z;
  1357. if (Y[T][X] == L) {
  1358. Z = 0 + I;
  1359. } else {
  1360. Z = B.Dom.IE.ComputedStyle.getPixel(Y, X);
  1361. }
  1362. return Z;
  1363. },
  1364. getVisibility: function(Y, X) {
  1365. var Z;
  1366. while ((Z = Y[T]) && Z[X] == "inherit") {
  1367. Y = Y[J];
  1368. }
  1369. return (Z) ? Z[X] : S;
  1370. },
  1371. getColor: function(Y, X) {
  1372. return B.Dom.Color.toRGB(Y[T][X]) || Q;
  1373. },
  1374. getBorderColor: function(Y, X) {
  1375. var Z = Y[T],
  1376. a = Z[X] || Z.color;
  1377. return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));
  1378. }
  1379. },
  1380. C = {};
  1381. C.top = C.right = C.bottom = C.left = C[E] = C[N] = M.getOffset;
  1382. C.color = M.getColor;
  1383. C[G] = C[P] = C[V] = C[D] = M.getBorderWidth;
  1384. C.marginTop = C.marginRight = C.marginBottom = C.marginLeft = M.getMargin;
  1385. C.visibility = M.getVisibility;
  1386. C.borderColor = C.borderTopColor = C.borderRightColor = C.borderBottomColor = C.borderLeftColor = M.getBorderColor;
  1387. B.Dom.IE_COMPUTED = C;
  1388. B.Dom.IE_ComputedStyle = M;
  1389. })();
  1390. (function() {
  1391. var C = "toString",
  1392. A = parseInt,
  1393. B = RegExp,
  1394. D = YAHOO.util;
  1395. D.Dom.Color = {
  1396. KEYWORDS: {
  1397. black: "000",
  1398. silver: "c0c0c0",
  1399. gray: "808080",
  1400. white: "fff",
  1401. maroon: "800000",
  1402. red: "f00",
  1403. purple: "800080",
  1404. fuchsia: "f0f",
  1405. green: "008000",
  1406. lime: "0f0",
  1407. olive: "808000",
  1408. yellow: "ff0",
  1409. navy: "000080",
  1410. blue: "00f",
  1411. teal: "008080",
  1412. aqua: "0ff"
  1413. },
  1414. re_RGB: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,
  1415. re_hex: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,
  1416. re_hex3: /([0-9A-F])/gi,
  1417. toRGB: function(E) {
  1418. if (!D.Dom.Color.re_RGB.test(E)) {
  1419. E = D.Dom.Color.toHex(E);
  1420. }
  1421. if (D.Dom.Color.re_hex.exec(E)) {
  1422. E = "rgb(" + [A(B.$1, 16), A(B.$2, 16), A(B.$3, 16)].join(", ") + ")";
  1423. }
  1424. return E;
  1425. },
  1426. toHex: function(H) {
  1427. H = D.Dom.Color.KEYWORDS[H] || H;
  1428. if (D.Dom.Color.re_RGB.exec(H)) {
  1429. var G = (B.$1.length === 1) ? "0" + B.$1 : Number(B.$1),
  1430. F = (B.$2.length === 1) ? "0" + B.$2 : Number(B.$2),
  1431. E = (B.$3.length === 1) ? "0" + B.$3 : Number(B.$3);
  1432. H = [G[C](16), F[C](16), E[C](16)].join("");
  1433. }
  1434. if (H.length < 6) {
  1435. H = H.replace(D.Dom.Color.re_hex3, "$1$1");
  1436. }
  1437. if (H !== "transparent" && H.indexOf("#") < 0) {
  1438. H = "#" + H;
  1439. }
  1440. return H.toLowerCase();
  1441. }
  1442. };
  1443. }());
  1444. YAHOO.register("dom", YAHOO.util.Dom, {
  1445. version: "2.7.0",
  1446. build: "1796"
  1447. });
  1448. YAHOO.util.CustomEvent = function(D, C, B, A) {
  1449. this.type = D;
  1450. this.scope = C || window;
  1451. this.silent = B;
  1452. this.signature = A || YAHOO.util.CustomEvent.LIST;
  1453. this.subscribers = [];
  1454. if (!this.silent) {}
  1455. var E = "_YUICEOnSubscribe";
  1456. if (D !== E) {
  1457. this.subscribeEvent = new YAHOO.util.CustomEvent(E, this, true);
  1458. }
  1459. this.lastError = null;
  1460. };
  1461. YAHOO.util.CustomEvent.LIST = 0;
  1462. YAHOO.util.CustomEvent.FLAT = 1;
  1463. YAHOO.util.CustomEvent.prototype = {
  1464. subscribe: function(A, B, C) {
  1465. if (!A) {
  1466. throw new Error("Invalid callback for subscriber to '" + this.type + "'");
  1467. }
  1468. if (this.subscribeEvent) {
  1469. this.subscribeEvent.fire(A, B, C);
  1470. }
  1471. this.subscribers.push(new YAHOO.util.Subscriber(A, B, C));
  1472. },
  1473. unsubscribe: function(D, F) {
  1474. if (!D) {
  1475. return this.unsubscribeAll();
  1476. }
  1477. var E = false;
  1478. for (var B = 0, A = this.subscribers.length; B < A; ++B) {
  1479. var C = this.subscribers[B];
  1480. if (C && C.contains(D, F)) {
  1481. this._delete(B);
  1482. E = true;
  1483. }
  1484. }
  1485. return E;
  1486. },
  1487. fire: function() {
  1488. this.lastError = null;
  1489. var K = [],
  1490. E = this.subscribers.length;
  1491. if (!E && this.silent) {
  1492. return true;
  1493. }
  1494. var I = [].slice.call(arguments, 0),
  1495. G = true,
  1496. D, J = false;
  1497. if (!this.silent) {}
  1498. var C = this.subscribers.slice(),
  1499. A = YAHOO.util.Event.throwErrors;
  1500. for (D = 0; D < E; ++D) {
  1501. var M = C[D];
  1502. if (!M) {
  1503. J = true;
  1504. } else {
  1505. if (!this.silent) {}
  1506. var L = M.getScope(this.scope);
  1507. if (this.signature == YAHOO.util.CustomEvent.FLAT) {
  1508. var B = null;
  1509. if (I.length > 0) {
  1510. B = I[0];
  1511. }
  1512. try {
  1513. G = M.fn.call(L, B, M.obj);
  1514. } catch (F) {
  1515. this.lastError = F;
  1516. if (A) {
  1517. throw F;
  1518. }
  1519. }
  1520. } else {
  1521. try {
  1522. G = M.fn.call(L, this.type, I, M.obj);
  1523. } catch (H) {
  1524. this.lastError = H;
  1525. if (A) {
  1526. throw H;
  1527. }
  1528. }
  1529. }
  1530. if (false === G) {
  1531. if (!this.silent) {}
  1532. break;
  1533. }
  1534. }
  1535. }
  1536. return (G !== false);
  1537. },
  1538. unsubscribeAll: function() {
  1539. var A = this.subscribers.length,
  1540. B;
  1541. for (B = A - 1; B > -1; B--) {
  1542. this._delete(B);
  1543. }
  1544. this.subscribers = [];
  1545. return A;
  1546. },
  1547. _delete: function(A) {
  1548. var B = this.subscribers[A];
  1549. if (B) {
  1550. delete B.fn;
  1551. delete B.obj;
  1552. }
  1553. this.subscribers.splice(A, 1);
  1554. },
  1555. toString: function() {
  1556. return "CustomEvent: " + "'" + this.type + "', " + "context: " + this.scope;
  1557. }
  1558. };
  1559. YAHOO.util.Subscriber = function(A, B, C) {
  1560. this.fn = A;
  1561. this.obj = YAHOO.lang.isUndefined(B) ? null : B;
  1562. this.overrideContext = C;
  1563. };
  1564. YAHOO.util.Subscriber.prototype.getScope = function(A) {
  1565. if (this.overrideContext) {
  1566. if (this.overrideContext === true) {
  1567. return this.obj;
  1568. } else {
  1569. return this.overrideContext;
  1570. }
  1571. }
  1572. return A;
  1573. };
  1574. YAHOO.util.Subscriber.prototype.contains = function(A, B) {
  1575. if (B) {
  1576. return (this.fn == A && this.obj == B);
  1577. } else {
  1578. return (this.fn == A);
  1579. }
  1580. };
  1581. YAHOO.util.Subscriber.prototype.toString = function() {
  1582. return "Subscriber { obj: " + this.obj + ", overrideContext: " + (this.overrideContext || "no") + " }";
  1583. };
  1584. if (!YAHOO.util.Event) {
  1585. YAHOO.util.Event = function() {
  1586. var H = false;
  1587. var I = [];
  1588. var J = [];
  1589. var G = [];
  1590. var E = [];
  1591. var C = 0;
  1592. var F = [];
  1593. var B = [];
  1594. var A = 0;
  1595. var D = {
  1596. 63232: 38,
  1597. 63233: 40,
  1598. 63234: 37,
  1599. 63235: 39,
  1600. 63276: 33,
  1601. 63277: 34,
  1602. 25: 9
  1603. };
  1604. var K = YAHOO.env.ua.ie ? "focusin" : "focus";
  1605. var L = YAHOO.env.ua.ie ? "focusout" : "blur";
  1606. return {
  1607. POLL_RETRYS: 2000,
  1608. POLL_INTERVAL: 20,
  1609. EL: 0,
  1610. TYPE: 1,
  1611. FN: 2,
  1612. WFN: 3,
  1613. UNLOAD_OBJ: 3,
  1614. ADJ_SCOPE: 4,
  1615. OBJ: 5,
  1616. OVERRIDE: 6,
  1617. lastError: null,
  1618. isSafari: YAHOO.env.ua.webkit,
  1619. webkit: YAHOO.env.ua.webkit,
  1620. isIE: YAHOO.env.ua.ie,
  1621. _interval: null,
  1622. _dri: null,
  1623. DOMReady: false,
  1624. throwErrors: false,
  1625. startInterval: function() {
  1626. if (!this._interval) {
  1627. var M = this;
  1628. var N = function() {
  1629. M._tryPreloadAttach();
  1630. };
  1631. this._interval = setInterval(N, this.POLL_INTERVAL);
  1632. }
  1633. },
  1634. onAvailable: function(S, O, Q, R, P) {
  1635. var M = (YAHOO.lang.isString(S)) ? [S] : S;
  1636. for (var N = 0; N < M.length; N = N + 1) {
  1637. F.push({
  1638. id: M[N],
  1639. fn: O,
  1640. obj: Q,
  1641. overrideContext: R,
  1642. checkReady: P
  1643. });
  1644. }
  1645. C = this.POLL_RETRYS;
  1646. this.startInterval();
  1647. },
  1648. onContentReady: function(P, M, N, O) {
  1649. this.onAvailable(P, M, N, O, true);
  1650. },
  1651. onDOMReady: function(M, N, O) {
  1652. if (this.DOMReady) {
  1653. setTimeout(function() {
  1654. var P = window;
  1655. if (O) {
  1656. if (O === true) {
  1657. P = N;
  1658. } else {
  1659. P = O;
  1660. }
  1661. }
  1662. M.call(P, "DOMReady", [], N);
  1663. }, 0);
  1664. } else {
  1665. this.DOMReadyEvent.subscribe(M, N, O);
  1666. }
  1667. },
  1668. _addListener: function(O, M, Y, S, W, b) {
  1669. if (!Y || !Y.call) {
  1670. return false;
  1671. }
  1672. if (this._isValidCollection(O)) {
  1673. var Z = true;
  1674. for (var T = 0, V = O.length; T < V; ++T) {
  1675. Z = this.on(O[T], M, Y, S, W) && Z;
  1676. }
  1677. return Z;
  1678. } else {
  1679. if (YAHOO.lang.isString(O)) {
  1680. var R = this.getEl(O);
  1681. if (R) {
  1682. O = R;
  1683. } else {
  1684. this.onAvailable(O, function() {
  1685. YAHOO.util.Event.on(O, M, Y, S, W);
  1686. });
  1687. return true;
  1688. }
  1689. }
  1690. }
  1691. if (!O) {
  1692. return false;
  1693. }
  1694. if ("unload" == M && S !== this) {
  1695. J[J.length] = [O, M, Y, S, W];
  1696. return true;
  1697. }
  1698. var N = O;
  1699. if (W) {
  1700. if (W === true) {
  1701. N = S;
  1702. } else {
  1703. N = W;
  1704. }
  1705. }
  1706. var P = function(c) {
  1707. return Y.call(N, YAHOO.util.Event.getEvent(c, O), S);
  1708. };
  1709. var a = [O, M, Y, P, N, S, W];
  1710. var U = I.length;
  1711. I[U] = a;
  1712. if (this.useLegacyEvent(O, M)) {
  1713. var Q = this.getLegacyIndex(O, M);
  1714. if (Q == -1 || O != G[Q][0]) {
  1715. Q = G.length;
  1716. B[O.id + M] = Q;
  1717. G[Q] = [O, M, O["on" + M]];
  1718. E[Q] = [];
  1719. O["on" + M] = function(c) {
  1720. YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(c), Q);
  1721. };
  1722. }
  1723. E[Q].push(a);
  1724. } else {
  1725. try {
  1726. this._simpleAdd(O, M, P, b);
  1727. } catch (X) {
  1728. this.lastError = X;
  1729. this.removeListener(O, M, Y);
  1730. return false;
  1731. }
  1732. }
  1733. return true;
  1734. },
  1735. addListener: function(N, Q, M, O, P) {
  1736. return this._addListener(N, Q, M, O, P, false);
  1737. },
  1738. addFocusListener: function(N, M, O, P) {
  1739. return this._addListener(N, K, M, O, P, true);
  1740. },
  1741. removeFocusListener: function(N, M) {
  1742. return this.removeListener(N, K, M);
  1743. },
  1744. addBlurListener: function(N, M, O, P) {
  1745. return this._addListener(N, L, M, O, P, true);
  1746. },
  1747. removeBlurListener: function(N, M) {
  1748. return this.removeListener(N, L, M);
  1749. },
  1750. fireLegacyEvent: function(R, P) {
  1751. var T = true,
  1752. M, V, U, N, S;
  1753. V = E[P].slice();
  1754. for (var O = 0, Q = V.length; O < Q; ++O) {
  1755. U = V[O];
  1756. if (U && U[this.WFN]) {
  1757. N = U[this.ADJ_SCOPE];
  1758. S = U[this.WFN].call(N, R);
  1759. T = (T && S);
  1760. }
  1761. }
  1762. M = G[P];
  1763. if (M && M[2]) {
  1764. M[2](R);
  1765. }
  1766. return T;
  1767. },
  1768. getLegacyIndex: function(N, O) {
  1769. var M = this.generateId(N) + O;
  1770. if (typeof B[M] == "undefined") {
  1771. return -1;
  1772. } else {
  1773. return B[M];
  1774. }
  1775. },
  1776. useLegacyEvent: function(M, N) {
  1777. return (this.webkit && this.webkit < 419 && ("click" == N || "dblclick" == N));
  1778. },
  1779. removeListener: function(N, M, V) {
  1780. var Q, T, X;
  1781. if (typeof N == "string") {
  1782. N = this.getEl(N);
  1783. } else {
  1784. if (this._isValidCollection(N)) {
  1785. var W = true;
  1786. for (Q = N.length - 1; Q > -1; Q--) {
  1787. W = (this.removeListener(N[Q], M, V) && W);
  1788. }
  1789. return W;
  1790. }
  1791. }
  1792. if (!V || !V.call) {
  1793. return this.purgeElement(N, false, M);
  1794. }
  1795. if ("unload" == M) {
  1796. for (Q = J.length - 1; Q > -1; Q--) {
  1797. X = J[Q];
  1798. if (X && X[0] == N && X[1] == M && X[2] == V) {
  1799. J.splice(Q, 1);
  1800. return true;
  1801. }
  1802. }
  1803. return false;
  1804. }
  1805. var R = null;
  1806. var S = arguments[3];
  1807. if ("undefined" === typeof S) {
  1808. S = this._getCacheIndex(N, M, V);
  1809. }
  1810. if (S >= 0) {
  1811. R = I[S];
  1812. }
  1813. if (!N || !R) {
  1814. return false;
  1815. }
  1816. if (this.useLegacyEvent(N, M)) {
  1817. var P = this.getLegacyIndex(N, M);
  1818. var O = E[P];
  1819. if (O) {
  1820. for (Q = 0, T = O.length; Q < T; ++Q) {
  1821. X = O[Q];
  1822. if (X && X[this.EL] == N && X[this.TYPE] == M && X[this.FN] == V) {
  1823. O.splice(Q, 1);
  1824. break;
  1825. }
  1826. }
  1827. }
  1828. } else {
  1829. try {
  1830. this._simpleRemove(N, M, R[this.WFN], false);
  1831. } catch (U) {
  1832. this.lastError = U;
  1833. return false;
  1834. }
  1835. }
  1836. delete I[S][this.WFN];
  1837. delete I[S][this.FN];
  1838. I.splice(S, 1);
  1839. return true;
  1840. },
  1841. getTarget: function(O, N) {
  1842. var M = O.target || O.srcElement;
  1843. return this.resolveTextNode(M);
  1844. },
  1845. resolveTextNode: function(N) {
  1846. try {
  1847. if (N && 3 == N.nodeType) {
  1848. return N.parentNode;
  1849. }
  1850. } catch (M) {}
  1851. return N;
  1852. },
  1853. getPageX: function(N) {
  1854. var M = N.pageX;
  1855. if (!M && 0 !== M) {
  1856. M = N.clientX || 0;
  1857. if (this.isIE) {
  1858. M += this._getScrollLeft();
  1859. }
  1860. }
  1861. return M;
  1862. },
  1863. getPageY: function(M) {
  1864. var N = M.pageY;
  1865. if (!N && 0 !== N) {
  1866. N = M.clientY || 0;
  1867. if (this.isIE) {
  1868. N += this._getScrollTop();
  1869. }
  1870. }
  1871. return N;
  1872. },
  1873. getXY: function(M) {
  1874. return [this.getPageX(M), this.getPageY(M)];
  1875. },
  1876. getRelatedTarget: function(N) {
  1877. var M = N.relatedTarget;
  1878. if (!M) {
  1879. if (N.type == "mouseout") {
  1880. M = N.toElement;
  1881. } else {
  1882. if (N.type == "mouseover") {
  1883. M = N.fromElement;
  1884. }
  1885. }
  1886. }
  1887. return this.resolveTextNode(M);
  1888. },
  1889. getTime: function(O) {
  1890. if (!O.time) {
  1891. var N = new Date().getTime();
  1892. try {
  1893. O.time = N;
  1894. } catch (M) {
  1895. this.lastError = M;
  1896. return N;
  1897. }
  1898. }
  1899. return O.time;
  1900. },
  1901. stopEvent: function(M) {
  1902. this.stopPropagation(M);
  1903. this.preventDefault(M);
  1904. },
  1905. stopPropagation: function(M) {
  1906. if (M.stopPropagation) {
  1907. M.stopPropagation();
  1908. } else {
  1909. M.cancelBubble = true;
  1910. }
  1911. },
  1912. preventDefault: function(M) {
  1913. if (M.preventDefault) {
  1914. M.preventDefault();
  1915. } else {
  1916. M.returnValue = false;
  1917. }
  1918. },
  1919. getEvent: function(O, M) {
  1920. var N = O || window.event;
  1921. if (!N) {
  1922. var P = this.getEvent.caller;
  1923. while (P) {
  1924. N = P.arguments[0];
  1925. if (N && Event == N.constructor) {
  1926. break;
  1927. }
  1928. P = P.caller;
  1929. }
  1930. }
  1931. return N;
  1932. },
  1933. getCharCode: function(N) {
  1934. var M = N.keyCode || N.charCode || 0;
  1935. if (YAHOO.env.ua.webkit && (M in D)) {
  1936. M = D[M];
  1937. }
  1938. return M;
  1939. },
  1940. _getCacheIndex: function(Q, R, P) {
  1941. for (var O = 0, N = I.length; O < N; O = O + 1) {
  1942. var M = I[O];
  1943. if (M && M[this.FN] == P && M[this.EL] == Q && M[this.TYPE] == R) {
  1944. return O;
  1945. }
  1946. }
  1947. return -1;
  1948. },
  1949. generateId: function(M) {
  1950. var N = M.id;
  1951. if (!N) {
  1952. N = "yuievtautoid-" + A;
  1953. ++A;
  1954. M.id = N;
  1955. }
  1956. return N;
  1957. },
  1958. _isValidCollection: function(N) {
  1959. try {
  1960. return (N && typeof N !== "string" && N.length && !N.tagName && !N.alert && typeof N[0] !== "undefined");
  1961. } catch (M) {
  1962. return false;
  1963. }
  1964. },
  1965. elCache: {},
  1966. getEl: function(M) {
  1967. return (typeof M === "string") ? document.getElementById(M) : M;
  1968. },
  1969. clearCache: function() {},
  1970. DOMReadyEvent: new YAHOO.util.CustomEvent("DOMReady", this),
  1971. _load: function(N) {
  1972. if (!H) {
  1973. H = true;
  1974. var M = YAHOO.util.Event;
  1975. M._ready();
  1976. M._tryPreloadAttach();
  1977. }
  1978. },
  1979. _ready: function(N) {
  1980. var M = YAHOO.util.Event;
  1981. if (!M.DOMReady) {
  1982. M.DOMReady = true;
  1983. M.DOMReadyEvent.fire();
  1984. M._simpleRemove(document, "DOMContentLoaded", M._ready);
  1985. }
  1986. },
  1987. _tryPreloadAttach: function() {
  1988. if (F.length === 0) {
  1989. C = 0;
  1990. if (this._interval) {
  1991. clearInterval(this._interval);
  1992. this._interval = null;
  1993. }
  1994. return;
  1995. }
  1996. if (this.locked) {
  1997. return;
  1998. }
  1999. if (this.isIE) {
  2000. if (!this.DOMReady) {
  2001. this.startInterval();
  2002. return;
  2003. }
  2004. }
  2005. this.locked = true;
  2006. var S = !H;
  2007. if (!S) {
  2008. S = (C > 0 && F.length > 0);
  2009. }
  2010. var R = [];
  2011. var T = function(V, W) {
  2012. var U = V;
  2013. if (W.overrideContext) {
  2014. if (W.overrideContext === true) {
  2015. U = W.obj;
  2016. } else {
  2017. U = W.overrideContext;
  2018. }
  2019. }
  2020. W.fn.call(U, W.obj);
  2021. };
  2022. var N, M, Q, P, O = [];
  2023. for (N = 0, M = F.length; N < M; N = N + 1) {
  2024. Q = F[N];
  2025. if (Q) {
  2026. P = this.getEl(Q.id);
  2027. if (P) {
  2028. if (Q.checkReady) {
  2029. if (H || P.nextSibling || !S) {
  2030. O.push(Q);
  2031. F[N] = null;
  2032. }
  2033. } else {
  2034. T(P, Q);
  2035. F[N] = null;
  2036. }
  2037. } else {
  2038. R.push(Q);
  2039. }
  2040. }
  2041. }
  2042. for (N = 0, M = O.length; N < M; N = N + 1) {
  2043. Q = O[N];
  2044. T(this.getEl(Q.id), Q);
  2045. }
  2046. C--;
  2047. if (S) {
  2048. for (N = F.length - 1; N > -1; N--) {
  2049. Q = F[N];
  2050. if (!Q || !Q.id) {
  2051. F.splice(N, 1);
  2052. }
  2053. }
  2054. this.startInterval();
  2055. } else {
  2056. if (this._interval) {
  2057. clearInterval(this._interval);
  2058. this._interval = null;
  2059. }
  2060. }
  2061. this.locked = false;
  2062. },
  2063. purgeElement: function(Q, R, T) {
  2064. var O = (YAHOO.lang.isString(Q)) ? this.getEl(Q) : Q;
  2065. var S = this.getListeners(O, T),
  2066. P, M;
  2067. if (S) {
  2068. for (P = S.length - 1; P > -1; P--) {
  2069. var N = S[P];
  2070. this.removeListener(O, N.type, N.fn);
  2071. }
  2072. }
  2073. if (R && O && O.childNodes) {
  2074. for (P = 0, M = O.childNodes.length; P < M; ++P) {
  2075. this.purgeElement(O.childNodes[P], R, T);
  2076. }
  2077. }
  2078. },
  2079. getListeners: function(O, M) {
  2080. var R = [],
  2081. N;
  2082. if (!M) {
  2083. N = [I, J];
  2084. } else {
  2085. if (M === "unload") {
  2086. N = [J];
  2087. } else {
  2088. N = [I];
  2089. }
  2090. }
  2091. var T = (YAHOO.lang.isString(O)) ? this.getEl(O) : O;
  2092. for (var Q = 0; Q < N.length; Q = Q + 1) {
  2093. var V = N[Q];
  2094. if (V) {
  2095. for (var S = 0, U = V.length; S < U; ++S) {
  2096. var P = V[S];
  2097. if (P && P[this.EL] === T && (!M || M === P[this.TYPE])) {
  2098. R.push({
  2099. type: P[this.TYPE],
  2100. fn: P[this.FN],
  2101. obj: P[this.OBJ],
  2102. adjust: P[this.OVERRIDE],
  2103. scope: P[this.ADJ_SCOPE],
  2104. index: S
  2105. });
  2106. }
  2107. }
  2108. }
  2109. }
  2110. return (R.length) ? R : null;
  2111. },
  2112. _unload: function(T) {
  2113. var N = YAHOO.util.Event,
  2114. Q, P, O, S, R, U = J.slice(),
  2115. M;
  2116. for (Q = 0, S = J.length; Q < S; ++Q) {
  2117. O = U[Q];
  2118. if (O) {
  2119. M = window;
  2120. if (O[N.ADJ_SCOPE]) {
  2121. if (O[N.ADJ_SCOPE] === true) {
  2122. M = O[N.UNLOAD_OBJ];
  2123. } else {
  2124. M = O[N.ADJ_SCOPE];
  2125. }
  2126. }
  2127. O[N.FN].call(M, N.getEvent(T, O[N.EL]), O[N.UNLOAD_OBJ]);
  2128. U[Q] = null;
  2129. }
  2130. }
  2131. O = null;
  2132. M = null;
  2133. J = null;
  2134. if (I) {
  2135. for (P = I.length - 1; P > -1; P--) {
  2136. O = I[P];
  2137. if (O) {
  2138. N.removeListener(O[N.EL], O[N.TYPE], O[N.FN], P);
  2139. }
  2140. }
  2141. O = null;
  2142. }
  2143. G = null;
  2144. N._simpleRemove(window, "unload", N._unload);
  2145. },
  2146. _getScrollLeft: function() {
  2147. return this._getScroll()[1];
  2148. },
  2149. _getScrollTop: function() {
  2150. return this._getScroll()[0];
  2151. },
  2152. _getScroll: function() {
  2153. var M = document.documentElement,
  2154. N = document.body;
  2155. if (M && (M.scrollTop || M.scrollLeft)) {
  2156. return [M.scrollTop, M.scrollLeft];
  2157. } else {
  2158. if (N) {
  2159. return [N.scrollTop, N.scrollLeft];
  2160. } else {
  2161. return [0, 0];
  2162. }
  2163. }
  2164. },
  2165. regCE: function() {},
  2166. _simpleAdd: function() {
  2167. if (window.addEventListener) {
  2168. return function(O, P, N, M) {
  2169. O.addEventListener(P, N, (M));
  2170. };
  2171. } else {
  2172. if (window.attachEvent) {
  2173. return function(O, P, N, M) {
  2174. O.attachEvent("on" + P, N);
  2175. };
  2176. } else {
  2177. return function() {};
  2178. }
  2179. }
  2180. }(),
  2181. _simpleRemove: function() {
  2182. if (window.removeEventListener) {
  2183. return function(O, P, N, M) {
  2184. O.removeEventListener(P, N, (M));
  2185. };
  2186. } else {
  2187. if (window.detachEvent) {
  2188. return function(N, O, M) {
  2189. N.detachEvent("on" + O, M);
  2190. };
  2191. } else {
  2192. return function() {};
  2193. }
  2194. }
  2195. }()
  2196. };
  2197. }();
  2198. (function() {
  2199. var EU = YAHOO.util.Event;
  2200. EU.on = EU.addListener;
  2201. EU.onFocus = EU.addFocusListener;
  2202. EU.onBlur = EU.addBlurListener;
  2203. /* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
  2204. if (EU.isIE) {
  2205. YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach, YAHOO.util.Event, true);
  2206. var n = document.createElement("p");
  2207. EU._dri = setInterval(function() {
  2208. try {
  2209. n.doScroll("left");
  2210. clearInterval(EU._dri);
  2211. EU._dri = null;
  2212. EU._ready();
  2213. n = null;
  2214. } catch (ex) {}
  2215. }, EU.POLL_INTERVAL);
  2216. } else {
  2217. if (EU.webkit && EU.webkit < 525) {
  2218. EU._dri = setInterval(function() {
  2219. var rs = document.readyState;
  2220. if ("loaded" == rs || "complete" == rs) {
  2221. clearInterval(EU._dri);
  2222. EU._dri = null;
  2223. EU._ready();
  2224. }
  2225. }, EU.POLL_INTERVAL);
  2226. } else {
  2227. EU._simpleAdd(document, "DOMContentLoaded", EU._ready);
  2228. }
  2229. }
  2230. EU._simpleAdd(window, "load", EU._load);
  2231. EU._simpleAdd(window, "unload", EU._unload);
  2232. EU._tryPreloadAttach();
  2233. })();
  2234. }
  2235. YAHOO.util.EventProvider = function() {};
  2236. YAHOO.util.EventProvider.prototype = {
  2237. __yui_events: null,
  2238. __yui_subscribers: null,
  2239. subscribe: function(A, C, F, E) {
  2240. this.__yui_events = this.__yui_events || {};
  2241. var D = this.__yui_events[A];
  2242. if (D) {
  2243. D.subscribe(C, F, E);
  2244. } else {
  2245. this.__yui_subscribers = this.__yui_subscribers || {};
  2246. var B = this.__yui_subscribers;
  2247. if (!B[A]) {
  2248. B[A] = [];
  2249. }
  2250. B[A].push({
  2251. fn: C,
  2252. obj: F,
  2253. overrideContext: E
  2254. });
  2255. }
  2256. },
  2257. unsubscribe: function(C, E, G) {
  2258. this.__yui_events = this.__yui_events || {};
  2259. var A = this.__yui_events;
  2260. if (C) {
  2261. var F = A[C];
  2262. if (F) {
  2263. return F.unsubscribe(E, G);
  2264. }
  2265. } else {
  2266. var B = true;
  2267. for (var D in A) {
  2268. if (YAHOO.lang.hasOwnProperty(A, D)) {
  2269. B = B && A[D].unsubscribe(E, G);
  2270. }
  2271. }
  2272. return B;
  2273. }
  2274. return false;
  2275. },
  2276. unsubscribeAll: function(A) {
  2277. return this.unsubscribe(A);
  2278. },
  2279. createEvent: function(G, D) {
  2280. this.__yui_events = this.__yui_events || {};
  2281. var A = D || {};
  2282. var I = this.__yui_events;
  2283. if (I[G]) {} else {
  2284. var H = A.scope || this;
  2285. var E = (A.silent);
  2286. var B = new YAHOO.util.CustomEvent(G, H, E, YAHOO.util.CustomEvent.FLAT);
  2287. I[G] = B;
  2288. if (A.onSubscribeCallback) {
  2289. B.subscribeEvent.subscribe(A.onSubscribeCallback);
  2290. }
  2291. this.__yui_subscribers = this.__yui_subscribers || {};
  2292. var F = this.__yui_subscribers[G];
  2293. if (F) {
  2294. for (var C = 0; C < F.length; ++C) {
  2295. B.subscribe(F[C].fn, F[C].obj, F[C].overrideContext);
  2296. }
  2297. }
  2298. }
  2299. return I[G];
  2300. },
  2301. fireEvent: function(E, D, A, C) {
  2302. this.__yui_events = this.__yui_events || {};
  2303. var G = this.__yui_events[E];
  2304. if (!G) {
  2305. return null;
  2306. }
  2307. var B = [];
  2308. for (var F = 1; F < arguments.length; ++F) {
  2309. B.push(arguments[F]);
  2310. }
  2311. return G.fire.apply(G, B);
  2312. },
  2313. hasEvent: function(A) {
  2314. if (this.__yui_events) {
  2315. if (this.__yui_events[A]) {
  2316. return true;
  2317. }
  2318. }
  2319. return false;
  2320. }
  2321. };
  2322. (function() {
  2323. var A = YAHOO.util.Event,
  2324. C = YAHOO.lang;
  2325. YAHOO.util.KeyListener = function(D, I, E, F) {
  2326. if (!D) {} else {
  2327. if (!I) {} else {
  2328. if (!E) {}
  2329. }
  2330. }
  2331. if (!F) {
  2332. F = YAHOO.util.KeyListener.KEYDOWN;
  2333. }
  2334. var G = new YAHOO.util.CustomEvent("keyPressed");
  2335. this.enabledEvent = new YAHOO.util.CustomEvent("enabled");
  2336. this.disabledEvent = new YAHOO.util.CustomEvent("disabled");
  2337. if (C.isString(D)) {
  2338. D = document.getElementById(D);
  2339. }
  2340. if (C.isFunction(E)) {
  2341. G.subscribe(E);
  2342. } else {
  2343. G.subscribe(E.fn, E.scope, E.correctScope);
  2344. }
  2345.  
  2346. function H(O, N) {
  2347. if (!I.shift) {
  2348. I.shift = false;
  2349. }
  2350. if (!I.alt) {
  2351. I.alt = false;
  2352. }
  2353. if (!I.ctrl) {
  2354. I.ctrl = false;
  2355. }
  2356. if (O.shiftKey == I.shift && O.altKey == I.alt && O.ctrlKey == I.ctrl) {
  2357. var J, M = I.keys,
  2358. L;
  2359. if (YAHOO.lang.isArray(M)) {
  2360. for (var K = 0; K < M.length; K++) {
  2361. J = M[K];
  2362. L = A.getCharCode(O);
  2363. if (J == L) {
  2364. G.fire(L, O);
  2365. break;
  2366. }
  2367. }
  2368. } else {
  2369. L = A.getCharCode(O);
  2370. if (M == L) {
  2371. G.fire(L, O);
  2372. }
  2373. }
  2374. }
  2375. }
  2376. this.enable = function() {
  2377. if (!this.enabled) {
  2378. A.on(D, F, H);
  2379. this.enabledEvent.fire(I);
  2380. }
  2381. this.enabled = true;
  2382. };
  2383. this.disable = function() {
  2384. if (this.enabled) {
  2385. A.removeListener(D, F, H);
  2386. this.disabledEvent.fire(I);
  2387. }
  2388. this.enabled = false;
  2389. };
  2390. this.toString = function() {
  2391. return "KeyListener [" + I.keys + "] " + D.tagName + (D.id ? "[" + D.id + "]" : "");
  2392. };
  2393. };
  2394. var B = YAHOO.util.KeyListener;
  2395. B.KEYDOWN = "keydown";
  2396. B.KEYUP = "keyup";
  2397. B.KEY = {
  2398. ALT: 18,
  2399. BACK_SPACE: 8,
  2400. CAPS_LOCK: 20,
  2401. CONTROL: 17,
  2402. DELETE: 46,
  2403. DOWN: 40,
  2404. END: 35,
  2405. ENTER: 13,
  2406. ESCAPE: 27,
  2407. HOME: 36,
  2408. LEFT: 37,
  2409. META: 224,
  2410. NUM_LOCK: 144,
  2411. PAGE_DOWN: 34,
  2412. PAGE_UP: 33,
  2413. PAUSE: 19,
  2414. PRINTSCREEN: 44,
  2415. RIGHT: 39,
  2416. SCROLL_LOCK: 145,
  2417. SHIFT: 16,
  2418. SPACE: 32,
  2419. TAB: 9,
  2420. UP: 38
  2421. };
  2422. })();
  2423. YAHOO.register("event", YAHOO.util.Event, {
  2424. version: "2.7.0",
  2425. build: "1796"
  2426. });
  2427. YAHOO.register("yahoo-dom-event", YAHOO, {
  2428. version: "2.7.0",
  2429. build: "1796"
  2430. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement