if (typeof YAHOO == "undefined") { var YAHOO = {}; } YAHOO.namespace = function() { var a = arguments, o = null, i, j, d; for (i = 0; i < a.length; ++i) { d = a[i].split("."); o = YAHOO; for (j = (d[0] == "YAHOO") ? 1 : 0; j < d.length; ++j) { o[d[j]] = o[d[j]] || {}; o = o[d[j]]; } } return o; }; YAHOO.log = function(_2, _3, _4) { var l = YAHOO.widget.Logger; if (l && l.log) { return l.log(_2, _3, _4); } else { return false; } }; YAHOO.extend = function(_6, _7, _8) { var F = function() { }; F.prototype = _7.prototype; _6.prototype = new F(); _6.prototype.constructor = _6; _6.superclass = _7.prototype; if (_7.prototype.constructor == Object.prototype.constructor) { _7.prototype.constructor = _7; } if (_8) { for (var i in _8) { _6.prototype[i] = _8[i]; } } }; YAHOO.augment = function(r, s) { var rp = r.prototype, sp = s.prototype, a = arguments, i, p; if (a[2]) { for (i = 2; i < a.length; ++i) { rp[a[i]] = sp[a[i]]; } } else { for (p in sp) { if (!rp[p]) { rp[p] = sp[p]; } } } }; YAHOO.namespace("util", "widget", "example"); (function() { var Y = YAHOO.util, getStyle, setStyle, id_counter = 0, propertyCache = {}; var ua = navigator.userAgent.toLowerCase(), isOpera = (ua.indexOf('opera') > -1), isSafari = (ua.indexOf('safari') > -1), isGecko = (!isOpera && !isSafari && ua.indexOf('gecko') > -1), isIE = (!isOpera && ua.indexOf('msie') > -1); var patterns = { HYPHEN: /(-[a-z])/i }; var toCamel = function(property) { if (!patterns.HYPHEN.test(property)) { return property; } if (propertyCache[property]) { return propertyCache[property]; } while (patterns.HYPHEN.exec(property)) { property = property.replace(RegExp.$1, RegExp.$1.substr(1).toUpperCase()); } propertyCache[property] = property; return property; }; if (document.defaultView && document.defaultView.getComputedStyle) { getStyle = function(el, property) { var value = null; var computed = document.defaultView.getComputedStyle(el, ''); if (computed) { value = computed[toCamel(property)]; } return el.style[property] || value; }; } else if (document.documentElement.currentStyle && isIE) { getStyle = function(el, property) { switch (toCamel(property)) { case 'opacity': var val = 100; try { val = el.filters['DXImageTransform.Microsoft.Alpha'].opacity; } catch (e) { try { val = el.filters('alpha').opacity; } catch (e) { } } return val / 100; break; default: var value = el.currentStyle ? el.currentStyle[property] : null; return (el.style[property] || value); } }; } else { getStyle = function(el, property) { return el.style[property]; }; } if (isIE) { setStyle = function(el, property, val) { switch (property) { case 'opacity': if (typeof el.style.filter == 'string') { el.style.filter = 'alpha(opacity=' + val * 100 + ')'; if (!el.currentStyle || !el.currentStyle.hasLayout) { el.style.zoom = 1; } } break; default: el.style[property] = val; } }; } else { setStyle = function(el, property, val) { el.style[property] = val; }; } YAHOO.util.Dom = { get: function(el) { if (!el) { return null; } if (typeof el != 'string' && !(el instanceof Array)) { return el; } if (typeof el == 'string') { return document.getElementById(el); } else { var collection = []; for (var i = 0, len = el.length; i < len; ++i) { collection[collection.length] = Y.Dom.get(el[i]); } return collection; } return null; }, getStyle: function(el, property) { property = toCamel(property); var f = function(element) { return getStyle(element, property); }; return Y.Dom.batch(el, f, Y.Dom, true); }, setStyle: function(el, property, val) { property = toCamel(property); var f = function(element) { setStyle(element, property, val); }; Y.Dom.batch(el, f, Y.Dom, true); }, getXY: function(el) { var f = function(el) { if (el.parentNode === null || el.offsetParent === null || this.getStyle(el, 'display') == 'none') { return false; } var parentNode = null; var pos = []; var box; if (el.getBoundingClientRect) { box = el.getBoundingClientRect(); var doc = document; if (!this.inDocument(el) && parent.document != document) { doc = parent.document; if (!this.isAncestor(doc.documentElement, el)) { return false; } } var scrollTop = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop); var scrollLeft = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft); return [box.left + scrollLeft, box.top + scrollTop]; } else { pos = [el.offsetLeft, el.offsetTop]; parentNode = el.offsetParent; if (parentNode != el) { while (parentNode) { pos[0] += parentNode.offsetLeft; pos[1] += parentNode.offsetTop; parentNode = parentNode.offsetParent; } } if (isSafari && this.getStyle(el, 'position') == 'absolute') { pos[0] -= document.body.offsetLeft; pos[1] -= document.body.offsetTop; } } if (el.parentNode) { parentNode = el.parentNode; } else { parentNode = null; } while (parentNode && parentNode.tagName.toUpperCase() != 'BODY' && parentNode.tagName.toUpperCase() != 'HTML') { if (Y.Dom.getStyle(parentNode, 'display') != 'inline') { pos[0] -= parentNode.scrollLeft; pos[1] -= parentNode.scrollTop; } if (parentNode.parentNode) { parentNode = parentNode.parentNode; } else { parentNode = null; } } return pos; }; return Y.Dom.batch(el, f, Y.Dom, true); }, getX: function(el) { var f = function(el) { return Y.Dom.getXY(el)[0]; }; return Y.Dom.batch(el, f, Y.Dom, true); }, getY: function(el) { var f = function(el) { return Y.Dom.getXY(el)[1]; }; return Y.Dom.batch(el, f, Y.Dom, true); }, setXY: function(el, pos, noRetry) { var f = function(el) { var style_pos = this.getStyle(el, 'position'); if (style_pos == 'static') { this.setStyle(el, 'position', 'relative'); style_pos = 'relative'; } var pageXY = this.getXY(el); if (pageXY === false) { return false; } var delta = [parseInt(this.getStyle(el, 'left'), 10), parseInt(this.getStyle(el, 'top'), 10)]; if (isNaN(delta[0])) { delta[0] = (style_pos == 'relative') ? 0 : el.offsetLeft; } if (isNaN(delta[1])) { delta[1] = (style_pos == 'relative') ? 0 : el.offsetTop; } if (pos[0] !== null) { el.style.left = pos[0] - pageXY[0] + delta[0] + 'px'; } if (pos[1] !== null) { el.style.top = pos[1] - pageXY[1] + delta[1] + 'px'; } var newXY = this.getXY(el); if (!noRetry && (newXY[0] != pos[0] || newXY[1] != pos[1])) { this.setXY(el, pos, true); } }; Y.Dom.batch(el, f, Y.Dom, true); }, setX: function(el, x) { Y.Dom.setXY(el, [x, null]); }, setY: function(el, y) { Y.Dom.setXY(el, [null, y]); }, getRegion: function(el) { var f = function(el) { var region = new Y.Region.getRegion(el); return region; }; return Y.Dom.batch(el, f, Y.Dom, true); }, getClientWidth: function() { return Y.Dom.getViewportWidth(); }, getClientHeight: function() { return Y.Dom.getViewportHeight(); }, getElementsByClassName: function(className, tag, root) { var method = function(el) { return Y.Dom.hasClass(el, className); }; return Y.Dom.getElementsBy(method, tag, root); }, hasClass: function(el, className) { var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)'); var f = function(el) { return re.test(el['className']); }; return Y.Dom.batch(el, f, Y.Dom, true); }, addClass: function(el, className) { var f = function(el) { if (this.hasClass(el, className)) { return; } el['className'] = [el['className'], className].join(' '); }; Y.Dom.batch(el, f, Y.Dom, true); }, removeClass: function(el, className) { var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g'); var f = function(el) { if (!this.hasClass(el, className)) { return; } var c = el['className']; el['className'] = c.replace(re, ' '); if (this.hasClass(el, className)) { this.removeClass(el, className); } }; Y.Dom.batch(el, f, Y.Dom, true); }, replaceClass: function(el, oldClassName, newClassName) { if (oldClassName === newClassName) { return false; } var re = new RegExp('(?:^|\\s+)' + oldClassName + '(?:\\s+|$)', 'g'); var f = function(el) { if (!this.hasClass(el, oldClassName)) { this.addClass(el, newClassName); return; } el['className'] = el['className'].replace(re, ' ' + newClassName + ' '); if (this.hasClass(el, oldClassName)) { this.replaceClass(el, oldClassName, newClassName); } }; Y.Dom.batch(el, f, Y.Dom, true); }, generateId: function(el, prefix) { prefix = prefix || 'yui-gen'; el = el || {}; var f = function(el) { if (el) { el = Y.Dom.get(el); } else { el = {}; } if (!el.id) { el.id = prefix + id_counter++; } return el.id; }; return Y.Dom.batch(el, f, Y.Dom, true); }, isAncestor: function(haystack, needle) { haystack = Y.Dom.get(haystack); if (!haystack || !needle) { return false; } var f = function(needle) { if (haystack.contains && !isSafari) { return haystack.contains(needle); } else if (haystack.compareDocumentPosition) { return !!(haystack.compareDocumentPosition(needle) & 16); } else { var parent = needle.parentNode; while (parent) { if (parent == haystack) { return true; } else if (!parent.tagName || parent.tagName.toUpperCase() == 'HTML') { return false; } parent = parent.parentNode; } return false; } }; return Y.Dom.batch(needle, f, Y.Dom, true); }, inDocument: function(el) { var f = function(el) { return this.isAncestor(document.documentElement, el); }; return Y.Dom.batch(el, f, Y.Dom, true); }, getElementsBy: function(method, tag, root) { tag = tag || '*'; root = Y.Dom.get(root) || document; var nodes = []; var elements = root.getElementsByTagName(tag); if (!elements.length && (tag == '*' && root.all)) { elements = root.all; } for (var i = 0, len = elements.length; i < len; ++i) { if (method(elements[i])) { nodes[nodes.length] = elements[i]; } } return nodes; }, batch: function(el, method, o, override) { var id = el; el = Y.Dom.get(el); var scope = (override) ? o : window; if (!el || el.tagName || !el.length) { if (!el) { return false; } return method.call(scope, el, o); } var collection = []; for (var i = 0, len = el.length; i < len; ++i) { if (!el[i]) { id = el[i]; } collection[collection.length] = method.call(scope, el[i], o); } return collection; }, getDocumentHeight: function() { var scrollHeight = (document.compatMode != 'CSS1Compat') ? document.body.scrollHeight : document.documentElement.scrollHeight; var h = Math.max(scrollHeight, Y.Dom.getViewportHeight()); return h; }, getDocumentWidth: function() { var scrollWidth = (document.compatMode != 'CSS1Compat') ? document.body.scrollWidth : document.documentElement.scrollWidth; var w = Math.max(scrollWidth, Y.Dom.getViewportWidth()); return w; }, getViewportHeight: function() { var height = self.innerHeight; var mode = document.compatMode; if ((mode || isIE) && !isOpera) { height = (mode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight; } return height; }, getViewportWidth: function() { var width = self.innerWidth; var mode = document.compatMode; if (mode || isIE) { width = (mode == 'CSS1Compat') ? document.documentElement.clientWidth : document.body.clientWidth; } return width; } }; })(); YAHOO.util.Region = function(t, r, b, l) { this.top = t; this[1] = t; this.right = r; this.bottom = b; this.left = l; this[0] = l; }; YAHOO.util.Region.prototype.contains = function(region) { return (region.left >= this.left && region.right <= this.right && region.top >= this.top && region.bottom <= this.bottom); }; YAHOO.util.Region.prototype.getArea = function() { return ((this.bottom - this.top) * (this.right - this.left)); }; YAHOO.util.Region.prototype.intersect = function(region) { var t = Math.max(this.top, region.top); var r = Math.min(this.right, region.right); var b = Math.min(this.bottom, region.bottom); var l = Math.max(this.left, region.left); if (b >= t && r >= l) { return new YAHOO.util.Region(t, r, b, l); } else { return null; } }; YAHOO.util.Region.prototype.union = function(region) { var t = Math.min(this.top, region.top); var r = Math.max(this.right, region.right); var b = Math.max(this.bottom, region.bottom); var l = Math.min(this.left, region.left); return new YAHOO.util.Region(t, r, b, l); }; YAHOO.util.Region.prototype.toString = function() { return ("Region {" + "top: " + this.top + ", right: " + this.right + ", bottom: " + this.bottom + ", left: " + this.left + "}"); }; YAHOO.util.Region.getRegion = function(el) { var p = YAHOO.util.Dom.getXY(el); var t = p[1]; var r = p[0] + el.offsetWidth; var b = p[1] + el.offsetHeight; var l = p[0]; return new YAHOO.util.Region(t, r, b, l); }; YAHOO.util.Point = function(x, y) { if (x instanceof Array) { y = x[1]; x = x[0]; } this.x = this.right = this.left = this[0] = x; this.y = this.top = this.bottom = this[1] = y; }; YAHOO.util.Point.prototype = new YAHOO.util.Region(); YAHOO.util.CustomEvent = function(_1, _2, _3, _4) { this.type = _1; this.scope = _2 || window; this.silent = _3; this.signature = _4 || YAHOO.util.CustomEvent.LIST; this.subscribers = []; if (!this.silent) { } var _5 = "_YUICEOnSubscribe"; if (_1 !== _5) { this.subscribeEvent = new YAHOO.util.CustomEvent(_5, this, true); } }; YAHOO.util.CustomEvent.LIST = 0; YAHOO.util.CustomEvent.FLAT = 1; YAHOO.util.CustomEvent.prototype = { subscribe: function(fn, _7, _8) { if (this.subscribeEvent) { this.subscribeEvent.fire(fn, _7, _8); } this.subscribers.push(new YAHOO.util.Subscriber(fn, _7, _8)); }, unsubscribe: function(fn, _9) { var _10 = false; for (var i = 0, len = this.subscribers.length; i < len; ++i) { var s = this.subscribers[i]; if (s && s.contains(fn, _9)) { this._delete(i); _10 = true; } } return _10; }, fire: function() { var len = this.subscribers.length; if (!len && this.silent) { return true; } var _14 = [], ret = true, i; for (i = 0; i < arguments.length; ++i) { _14.push(arguments[i]); } var _15 = _14.length; if (!this.silent) { } for (i = 0; i < len; ++i) { var s = this.subscribers[i]; if (s) { if (!this.silent) { } var _16 = s.getScope(this.scope); if (this.signature == YAHOO.util.CustomEvent.FLAT) { var _17 = null; if (_14.length > 0) { _17 = _14[0]; } ret = s.fn.call(_16, _17, s.obj); } else { ret = s.fn.call(_16, this.type, _14, s.obj); } if (false === ret) { if (!this.silent) { } return false; } } } return true; }, unsubscribeAll: function() { for (var i = 0, len = this.subscribers.length; i < len; ++i) { this._delete(len - 1 - i); } }, _delete: function(_18) { var s = this.subscribers[_18]; if (s) { delete s.fn; delete s.obj; } this.subscribers.splice(_18, 1); }, toString: function() { return "CustomEvent: " + "'" + this.type + "', " + "scope: " + this.scope; } }; YAHOO.util.Subscriber = function(fn, obj, _20) { this.fn = fn; this.obj = obj || null; this.override = _20; }; YAHOO.util.Subscriber.prototype.getScope = function(_21) { if (this.override) { if (this.override === true) { return this.obj; } else { return this.override; } } return _21; }; YAHOO.util.Subscriber.prototype.contains = function(fn, obj) { if (obj) { return (this.fn == fn && this.obj == obj); } else { return (this.fn == fn); } }; YAHOO.util.Subscriber.prototype.toString = function() { return "Subscriber { obj: " + (this.obj || "") + ", override: " + (this.override || "no") + " }"; }; if (!YAHOO.util.Event) { YAHOO.util.Event = function() { var _22 = false; var _23 = []; var _24 = []; var _25 = []; var _26 = []; var _27 = 0; var _28 = []; var _29 = []; var _30 = 0; return { POLL_RETRYS: 200, POLL_INTERVAL: 20, EL: 0, TYPE: 1, FN: 2, WFN: 3, OBJ: 3, ADJ_SCOPE: 4, isSafari: (/Safari|Konqueror|KHTML/gi).test(navigator.userAgent), isIE: (!this.isSafari && !navigator.userAgent.match(/opera/gi) && navigator.userAgent.match(/msie/gi)), _interval: null, startInterval: function() { if (!this._interval) { var _31 = this; var _32 = function() { _31._tryPreloadAttach(); }; this._interval = setInterval(_32, this.POLL_INTERVAL); } }, onAvailable: function(_33, _34, _35, _36) { _28.push({ id: _33, fn: _34, obj: _35, override: _36, checkReady: false }); _27 = this.POLL_RETRYS; this.startInterval(); }, onContentReady: function(_37, _38, _39, _40) { _28.push({ id: _37, fn: _38, obj: _39, override: _40, checkReady: true }); _27 = this.POLL_RETRYS; this.startInterval(); }, addListener: function(el, _42, fn, obj, _43) { if (!fn || !fn.call) { return false; } if (this._isValidCollection(el)) { var ok = true; for (var i = 0, len = el.length; i < len; ++i) { ok = this.on(el[i], _42, fn, obj, _43) && ok; } return ok; } else { if (typeof el == "string") { var oEl = this.getEl(el); if (oEl) { el = oEl; } else { this.onAvailable(el, function() { YAHOO.util.Event.on(el, _42, fn, obj, _43); }); return true; } } } if (!el) { return false; } if ("unload" == _42 && obj !== this) { _24[_24.length] = [el, _42, fn, obj, _43]; return true; } var _46 = el; if (_43) { if (_43 === true) { _46 = obj; } else { _46 = _43; } } var _47 = function(e) { return fn.call(_46, YAHOO.util.Event.getEvent(e), obj); }; var li = [el, _42, fn, _47, _46]; var _50 = _23.length; _23[_50] = li; if (this.useLegacyEvent(el, _42)) { var _51 = this.getLegacyIndex(el, _42); if (_51 == -1 || el != _25[_51][0]) { _51 = _25.length; _29[el.id + _42] = _51; _25[_51] = [el, _42, el["on" + _42]]; _26[_51] = []; el["on" + _42] = function(e) { YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e), _51); }; } _26[_51].push(li); } else { this._simpleAdd(el, _42, _47, false); } return true; }, fireLegacyEvent: function(e, _52) { var ok = true; var le = _26[_52]; for (var i = 0, len = le.length; i < len; ++i) { var li = le[i]; if (li && li[this.WFN]) { var _54 = li[this.ADJ_SCOPE]; var ret = li[this.WFN].call(_54, e); ok = (ok && ret); } } return ok; }, getLegacyIndex: function(el, _56) { var key = this.generateId(el) + _56; if (typeof _29[key] == "undefined") { return -1; } else { return _29[key]; } }, useLegacyEvent: function(el, _58) { if (!el.addEventListener && !el.attachEvent) { return true; } else { if (this.isSafari) { if ("click" == _58 || "dblclick" == _58) { return true; } } } return false; }, removeListener: function(el, _59, fn) { var i, len; if (typeof el == "string") { el = this.getEl(el); } else { if (this._isValidCollection(el)) { var ok = true; for (i = 0, len = el.length; i < len; ++i) { ok = (this.removeListener(el[i], _59, fn) && ok); } return ok; } } if (!fn || !fn.call) { return this.purgeElement(el, false, _59); } if ("unload" == _59) { for (i = 0, len = _24.length; i < len; i++) { var li = _24[i]; if (li && li[0] == el && li[1] == _59 && li[2] == fn) { _24.splice(i, 1); return true; } } return false; } var _60 = null; var _61 = arguments[3]; if ("undefined" == typeof _61) { _61 = this._getCacheIndex(el, _59, fn); } if (_61 >= 0) { _60 = _23[_61]; } if (!el || !_60) { return false; } if (this.useLegacyEvent(el, _59)) { var _62 = this.getLegacyIndex(el, _59); var _63 = _26[_62]; if (_63) { for (i = 0, len = _63.length; i < len; ++i) { li = _63[i]; if (li && li[this.EL] == el && li[this.TYPE] == _59 && li[this.FN] == fn) { _63.splice(i, 1); } } } } else { this._simpleRemove(el, _59, _60[this.WFN], false); } delete _23[_61][this.WFN]; delete _23[_61][this.FN]; _23.splice(_61, 1); return true; }, getTarget: function(ev, _65) { var t = ev.target || ev.srcElement; return this.resolveTextNode(t); }, resolveTextNode: function(_67) { if (_67 && 3 == _67.nodeType) { return _67.parentNode; } else { return _67; } }, getPageX: function(ev) { var x = ev.pageX; if (!x && 0 !== x) { x = ev.clientX || 0; if (this.isIE) { x += this._getScrollLeft(); } } return x; }, getPageY: function(ev) { var y = ev.pageY; if (!y && 0 !== y) { y = ev.clientY || 0; if (this.isIE) { y += this._getScrollTop(); } } return y; }, getXY: function(ev) { return [this.getPageX(ev), this.getPageY(ev)]; }, getRelatedTarget: function(ev) { var t = ev.relatedTarget; if (!t) { if (ev.type == "mouseout") { t = ev.toElement; } else { if (ev.type == "mouseover") { t = ev.fromElement; } } } return this.resolveTextNode(t); }, getTime: function(ev) { if (!ev.time) { var t = new Date().getTime(); try { ev.time = t; } catch (e) { return t; } } return ev.time; }, stopEvent: function(ev) { this.stopPropagation(ev); this.preventDefault(ev); }, stopPropagation: function(ev) { if (ev.stopPropagation) { ev.stopPropagation(); } else { ev.cancelBubble = true; } }, preventDefault: function(ev) { if (ev.preventDefault) { ev.preventDefault(); } else { ev.returnValue = false; } }, getEvent: function(e) { var ev = e || window.event; if (!ev) { var c = this.getEvent.caller; while (c) { ev = c.arguments[0]; if (ev && Event == ev.constructor) { break; } c = c.caller; } } return ev; }, getCharCode: function(ev) { return ev.charCode || ev.keyCode || 0; }, _getCacheIndex: function(el, _71, fn) { for (var i = 0, len = _23.length; i < len; ++i) { var li = _23[i]; if (li && li[this.FN] == fn && li[this.EL] == el && li[this.TYPE] == _71) { return i; } } return -1; }, generateId: function(el) { var id = el.id; if (!id) { id = "yuievtautoid-" + _30; ++_30; el.id = id; } return id; }, _isValidCollection: function(o) { return (o && o.length && typeof o != "string" && !o.tagName && !o.alert && typeof o[0] != "undefined"); }, elCache: {}, getEl: function(id) { return document.getElementById(id); }, clearCache: function() { }, _load: function(e) { _22 = true; var EU = YAHOO.util.Event; if (this.isIE) { EU._simpleRemove(window, "load", EU._load); } }, _tryPreloadAttach: function() { if (this.locked) { return false; } this.locked = true; var _75 = !_22; if (!_75) { _75 = (_27 > 0); } var _76 = []; for (var i = 0, len = _28.length; i < len; ++i) { var _77 = _28[i]; if (_77) { var el = this.getEl(_77.id); if (el) { if (!_77.checkReady || _22 || el.nextSibling || (document && document.body)) { var _78 = el; if (_77.override) { if (_77.override === true) { _78 = _77.obj; } else { _78 = _77.override; } } _77.fn.call(_78, _77.obj); delete _28[i]; } } else { _76.push(_77); } } } _27 = (_76.length === 0) ? 0 : _27 - 1; if (_75) { this.startInterval(); } else { clearInterval(this._interval); this._interval = null; } this.locked = false; return true; }, purgeElement: function(el, _79, _80) { var _81 = this.getListeners(el, _80); if (_81) { for (var i = 0, len = _81.length; i < len; ++i) { var l = _81[i]; this.removeListener(el, l.type, l.fn); } } if (_79 && el && el.childNodes) { for (i = 0, len = el.childNodes.length; i < len; ++i) { this.purgeElement(el.childNodes[i], _79, _80); } } }, getListeners: function(el, _83) { var _84 = []; if (_23 && _23.length > 0) { for (var i = 0, len = _23.length; i < len; ++i) { var l = _23[i]; if (l && l[this.EL] === el && (!_83 || _83 === l[this.TYPE])) { _84.push({ type: l[this.TYPE], fn: l[this.FN], obj: l[this.OBJ], adjust: l[this.ADJ_SCOPE], index: i }); } } } return (_84.length) ? _84 : null; }, _unload: function(e) { var EU = YAHOO.util.Event, i, j, l, len, index; for (i = 0, len = _24.length; i < len; ++i) { l = _24[i]; if (l) { var _85 = window; if (l[EU.ADJ_SCOPE]) { if (l[EU.ADJ_SCOPE] === true) { _85 = l[EU.OBJ]; } else { _85 = l[EU.ADJ_SCOPE]; } } l[EU.FN].call(_85, EU.getEvent(e), l[EU.OBJ]); delete _24[i]; l = null; _85 = null; } } if (_23 && _23.length > 0) { j = _23.length; while (j) { index = j - 1; l = _23[index]; if (l) { EU.removeListener(l[EU.EL], l[EU.TYPE], l[EU.FN], index); } j = j - 1; } l = null; EU.clearCache(); } for (i = 0, len = _25.length; i < len; ++i) { delete _25[i][0]; delete _25[i]; } EU._simpleRemove(window, "unload", EU._unload); }, _getScrollLeft: function() { return this._getScroll()[1]; }, _getScrollTop: function() { return this._getScroll()[0]; }, _getScroll: function() { var dd = document.documentElement, db = document.body; if (dd && (dd.scrollTop || dd.scrollLeft)) { return [dd.scrollTop, dd.scrollLeft]; } else { if (db) { return [db.scrollTop, db.scrollLeft]; } else { return [0, 0]; } } }, _simpleAdd: function() { if (window.addEventListener) { return function(el, _87, fn, _88) { el.addEventListener(_87, fn, (_88)); }; } else { if (window.attachEvent) { return function(el, _89, fn, _90) { el.attachEvent("on" + _89, fn); }; } else { return function() { }; } } } (), _simpleRemove: function() { if (window.removeEventListener) { return function(el, _91, fn, _92) { el.removeEventListener(_91, fn, (_92)); }; } else { if (window.detachEvent) { return function(el, _93, fn) { el.detachEvent("on" + _93, fn); }; } else { return function() { }; } } } () }; } (); (function() { var EU = YAHOO.util.Event; EU.on = EU.addListener; if (document && document.body) { EU._load(); } else { EU._simpleAdd(window, "load", EU._load); } EU._simpleAdd(window, "unload", EU._unload); EU._tryPreloadAttach(); })(); } YAHOO.util.EventProvider = function() { }; YAHOO.util.EventProvider.prototype = { __yui_events: null, __yui_subscribers: null, subscribe: function(_94, _95, _96, _97) { this.__yui_events = this.__yui_events || {}; var ce = this.__yui_events[_94]; if (ce) { ce.subscribe(_95, _96, _97); } else { this.__yui_subscribers = this.__yui_subscribers || {}; var _99 = this.__yui_subscribers; if (!_99[_94]) { _99[_94] = []; } _99[_94].push({ fn: _95, obj: _96, override: _97 }); } }, unsubscribe: function(_100, p_fn, _102) { this.__yui_events = this.__yui_events || {}; var ce = this.__yui_events[_100]; if (ce) { return ce.unsubscribe(p_fn, _102); } else { return false; } }, createEvent: function(_103, _104) { this.__yui_events = this.__yui_events || {}; var opts = _104 || {}; var _106 = this.__yui_events; if (_106[_103]) { } else { var _107 = opts.scope || this; var _108 = opts.silent || null; var ce = new YAHOO.util.CustomEvent(_103, _107, _108, YAHOO.util.CustomEvent.FLAT); _106[_103] = ce; if (opts.onSubscribeCallback) { ce.subscribeEvent.subscribe(opts.onSubscribeCallback); } this.__yui_subscribers = this.__yui_subscribers || {}; var qs = this.__yui_subscribers[_103]; if (qs) { for (var i = 0; i < qs.length; ++i) { ce.subscribe(qs[i].fn, qs[i].obj, qs[i].override); } } } return _106[_103]; }, fireEvent: function(_110, arg1, arg2, etc) { this.__yui_events = this.__yui_events || {}; var ce = this.__yui_events[_110]; if (ce) { var args = []; for (var i = 1; i < arguments.length; ++i) { args.push(arguments[i]); } return ce.fire.apply(ce, args); } else { return null; } }, hasEvent: function(type) { if (this.__yui_events) { if (this.__yui_events[type]) { return true; } } return false; } }; YAHOO.util.Anim = function(el, attributes, duration, method) { if (el) { this.init(el, attributes, duration, method); } }; YAHOO.util.Anim.prototype = { toString: function() { var el = this.getEl(); var id = el.id || el.tagName; return ("Anim " + id); }, patterns: { noNegatives: /width|height|opacity|padding/i, offsetAttribute: /^((width|height)|(top|left))$/, defaultUnit: /width|height|top$|bottom$|left$|right$/i, offsetUnit: /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i }, doMethod: function(attr, start, end) { return this.method(this.currentFrame, start, end - start, this.totalFrames); }, setAttribute: function(attr, val, unit) { if (this.patterns.noNegatives.test(attr)) { val = (val > 0) ? val : 0; } YAHOO.util.Dom.setStyle(this.getEl(), attr, val + unit); }, getAttribute: function(attr) { var el = this.getEl(); var val = YAHOO.util.Dom.getStyle(el, attr); if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) { return parseFloat(val); } var a = this.patterns.offsetAttribute.exec(attr) || []; var pos = !!(a[3]); var box = !!(a[2]); if (box || (YAHOO.util.Dom.getStyle(el, 'position') == 'absolute' && pos)) { val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)]; } else { val = 0; } return val; }, getDefaultUnit: function(attr) { if (this.patterns.defaultUnit.test(attr)) { return 'px'; } return ''; }, setRuntimeAttribute: function(attr) { var start; var end; var attributes = this.attributes; this.runtimeAttributes[attr] = {}; var isset = function(prop) { return (typeof prop !== 'undefined'); }; if (!isset(attributes[attr]['to']) && !isset(attributes[attr]['by'])) { return false; } start = (isset(attributes[attr]['from'])) ? attributes[attr]['from'] : this.getAttribute(attr); if (isset(attributes[attr]['to'])) { end = attributes[attr]['to']; } else if (isset(attributes[attr]['by'])) { if (start.constructor == Array) { end = []; for (var i = 0, len = start.length; i < len; ++i) { end[i] = start[i] + attributes[attr]['by'][i]; } } else { end = start + attributes[attr]['by']; } } this.runtimeAttributes[attr].start = start; this.runtimeAttributes[attr].end = end; this.runtimeAttributes[attr].unit = (isset(attributes[attr].unit)) ? attributes[attr]['unit'] : this.getDefaultUnit(attr); }, init: function(el, attributes, duration, method) { var isAnimated = false; var startTime = null; var actualFrames = 0; el = YAHOO.util.Dom.get(el); this.attributes = attributes || {}; this.duration = duration || 1; this.method = method || YAHOO.util.Easing.easeNone; this.useSeconds = true; this.currentFrame = 0; this.totalFrames = YAHOO.util.AnimMgr.fps; this.getEl = function() { return el; }; this.isAnimated = function() { return isAnimated; }; this.getStartTime = function() { return startTime; }; this.runtimeAttributes = {}; this.animate = function() { if (this.isAnimated()) { return false; } this.currentFrame = 0; this.totalFrames = (this.useSeconds) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration; YAHOO.util.AnimMgr.registerElement(this); }; this.stop = function() { YAHOO.util.AnimMgr.stop(this); }; var onStart = function() { this.onStart.fire(); for (var attr in this.attributes) { this.setRuntimeAttribute(attr); } isAnimated = true; actualFrames = 0; startTime = new Date(); }; var onTween = function() { var data = { duration: new Date() - this.getStartTime(), currentFrame: this.currentFrame }; data.toString = function() { return ('duration: ' + data.duration + ', currentFrame: ' + data.currentFrame); }; this.onTween.fire(data); var runtimeAttributes = this.runtimeAttributes; for (var attr in runtimeAttributes) { this.setAttribute(attr, this.doMethod(attr, runtimeAttributes[attr].start, runtimeAttributes[attr].end), runtimeAttributes[attr].unit); } actualFrames += 1; }; var onComplete = function() { var actual_duration = (new Date() - startTime) / 1000; var data = { duration: actual_duration, frames: actualFrames, fps: actualFrames / actual_duration }; data.toString = function() { return ('duration: ' + data.duration + ', frames: ' + data.frames + ', fps: ' + data.fps); }; isAnimated = false; actualFrames = 0; this.onComplete.fire(data); }; this._onStart = new YAHOO.util.CustomEvent('_start', this, true); this.onStart = new YAHOO.util.CustomEvent('start', this); this.onTween = new YAHOO.util.CustomEvent('tween', this); this._onTween = new YAHOO.util.CustomEvent('_tween', this, true); this.onComplete = new YAHOO.util.CustomEvent('complete', this); this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true); this._onStart.subscribe(onStart); this._onTween.subscribe(onTween); this._onComplete.subscribe(onComplete); } }; YAHOO.util.AnimMgr = new function() { var thread = null; var queue = []; var tweenCount = 0; this.fps = 200; this.delay = 1; this.registerElement = function(tween) { queue[queue.length] = tween; tweenCount += 1; tween._onStart.fire(); this.start(); }; this.unRegister = function(tween, index) { tween._onComplete.fire(); index = index || getIndex(tween); if (index != -1) { queue.splice(index, 1); } tweenCount -= 1; if (tweenCount <= 0) { this.stop(); } }; this.start = function() { if (thread === null) { thread = setInterval(this.run, this.delay); } }; this.stop = function(tween) { if (!tween) { clearInterval(thread); for (var i = 0, len = queue.length; i < len; ++i) { if (queue[i].isAnimated()) { this.unRegister(tween, i); } } queue = []; thread = null; tweenCount = 0; } else { this.unRegister(tween); } }; this.run = function() { for (var i = 0, len = queue.length; i < len; ++i) { var tween = queue[i]; if (!tween || !tween.isAnimated()) { continue; } if (tween.currentFrame < tween.totalFrames || tween.totalFrames === null) { tween.currentFrame += 1; if (tween.useSeconds) { correctFrame(tween); } tween._onTween.fire(); } else { YAHOO.util.AnimMgr.stop(tween, i); } } }; var getIndex = function(anim) { for (var i = 0, len = queue.length; i < len; ++i) { if (queue[i] == anim) { return i; } } return -1; }; var correctFrame = function(tween) { var frames = tween.totalFrames; var frame = tween.currentFrame; var expected = (tween.currentFrame * tween.duration * 1000 / tween.totalFrames); var elapsed = (new Date() - tween.getStartTime()); var tweak = 0; if (elapsed < tween.duration * 1000) { tweak = Math.round((elapsed / expected - 1) * tween.currentFrame); } else { tweak = frames - (frame + 1); } if (tweak > 0 && isFinite(tweak)) { if (tween.currentFrame + tweak >= frames) { tweak = frames - (frame + 1); } tween.currentFrame += tweak; } }; }; YAHOO.util.Bezier = new function() { this.getPosition = function(points, t) { var n = points.length; var tmp = []; for (var i = 0; i < n; ++i) { tmp[i] = [points[i][0], points[i][1]]; } for (var j = 1; j < n; ++j) { for (i = 0; i < n - j; ++i) { tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0]; tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1]; } } return [tmp[0][0], tmp[0][1]]; }; }; (function() { YAHOO.util.ColorAnim = function(el, attributes, duration, method) { YAHOO.util.ColorAnim.superclass.constructor.call(this, el, attributes, duration, method); }; YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim); var Y = YAHOO.util; var superclass = Y.ColorAnim.superclass; var proto = Y.ColorAnim.prototype; proto.toString = function() { var el = this.getEl(); var id = el.id || el.tagName; return ("ColorAnim " + id); }; proto.patterns.color = /color$/i; proto.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i; proto.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i; proto.patterns.hex3 = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i; proto.parseColor = function(s) { if (s.length == 3) { return s; } var c = this.patterns.hex.exec(s); if (c && c.length == 4) { return [parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16)]; } c = this.patterns.rgb.exec(s); if (c && c.length == 4) { return [parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10)]; } c = this.patterns.hex3.exec(s); if (c && c.length == 4) { return [parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16)]; } return null; }; proto.getAttribute = function(attr) { var el = this.getEl(); if (this.patterns.color.test(attr)) { var val = YAHOO.util.Dom.getStyle(el, attr); if (val == 'transparent') { var parent = el.parentNode; val = Y.Dom.getStyle(parent, attr); while (parent && val == 'transparent') { parent = parent.parentNode; val = Y.Dom.getStyle(parent, attr); if (parent.tagName.toUpperCase() == 'HTML') { val = 'ffffff'; } } } } else { val = superclass.getAttribute.call(this, attr); } return val; }; proto.doMethod = function(attr, start, end) { var val; if (this.patterns.color.test(attr)) { val = []; for (var i = 0, len = start.length; i < len; ++i) { val[i] = superclass.doMethod.call(this, attr, start[i], end[i]); } val = 'rgb(' + Math.floor(val[0]) + ',' + Math.floor(val[1]) + ',' + Math.floor(val[2]) + ')'; } else { val = superclass.doMethod.call(this, attr, start, end); } return val; }; proto.setRuntimeAttribute = function(attr) { superclass.setRuntimeAttribute.call(this, attr); if (this.patterns.color.test(attr)) { var attributes = this.attributes; var start = this.parseColor(this.runtimeAttributes[attr].start); var end = this.parseColor(this.runtimeAttributes[attr].end); if (typeof attributes[attr]['to'] === 'undefined' && typeof attributes[attr]['by'] !== 'undefined') { end = this.parseColor(attributes[attr].by); for (var i = 0, len = start.length; i < len; ++i) { end[i] = start[i] + end[i]; } } this.runtimeAttributes[attr].start = start; this.runtimeAttributes[attr].end = end; } }; })(); YAHOO.util.Easing = { easeNone: function(t, b, c, d) { return c * t / d + b; }, easeIn: function(t, b, c, d) { return c * (t /= d) * t + b; }, easeOut: function(t, b, c, d) { return -c * (t /= d) * (t - 2) + b; }, easeBoth: function(t, b, c, d) { if ((t /= d / 2) < 1) return c / 2 * t * t + b; return -c / 2 * ((--t) * (t - 2) - 1) + b; }, easeInStrong: function(t, b, c, d) { return c * (t /= d) * t * t * t + b; }, easeOutStrong: function(t, b, c, d) { return -c * ((t = t / d - 1) * t * t * t - 1) + b; }, easeBothStrong: function(t, b, c, d) { if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b; return -c / 2 * ((t -= 2) * t * t * t - 2) + b; }, elasticIn: function(t, b, c, d, a, p) { if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3; if (!a || a < Math.abs(c)) { a = c; var s = p / 4; } else var s = p / (2 * Math.PI) * Math.asin(c / a); return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; }, elasticOut: function(t, b, c, d, a, p) { if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3; if (!a || a < Math.abs(c)) { a = c; var s = p / 4; } else var s = p / (2 * Math.PI) * Math.asin(c / a); return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b; }, elasticBoth: function(t, b, c, d, a, p) { if (t == 0) return b; if ((t /= d / 2) == 2) return b + c; if (!p) p = d * (.3 * 1.5); if (!a || a < Math.abs(c)) { a = c; var s = p / 4; } else var s = p / (2 * Math.PI) * Math.asin(c / a); if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b; }, backIn: function(t, b, c, d, s) { if (typeof s == 'undefined') s = 1.70158; return c * (t /= d) * t * ((s + 1) * t - s) + b; }, backOut: function(t, b, c, d, s) { if (typeof s == 'undefined') s = 1.70158; return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b; }, backBoth: function(t, b, c, d, s) { if (typeof s == 'undefined') s = 1.70158; if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b; return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b; }, bounceIn: function(t, b, c, d) { return c - YAHOO.util.Easing.bounceOut(d - t, 0, c, d) + b; }, bounceOut: function(t, b, c, d) { if ((t /= d) < (1 / 2.75)) { return c * (7.5625 * t * t) + b; } else if (t < (2 / 2.75)) { return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b; } else if (t < (2.5 / 2.75)) { return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b; } else { return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b; } }, bounceBoth: function(t, b, c, d) { if (t < d / 2) return YAHOO.util.Easing.bounceIn(t * 2, 0, c, d) * .5 + b; return YAHOO.util.Easing.bounceOut(t * 2 - d, 0, c, d) * .5 + c * .5 + b; } }; (function() { YAHOO.util.Motion = function(el, attributes, duration, method) { if (el) { YAHOO.util.Motion.superclass.constructor.call(this, el, attributes, duration, method); } }; YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim); var Y = YAHOO.util; var superclass = Y.Motion.superclass; var proto = Y.Motion.prototype; proto.toString = function() { var el = this.getEl(); var id = el.id || el.tagName; return ("Motion " + id); }; proto.patterns.points = /^points$/i; proto.setAttribute = function(attr, val, unit) { if (this.patterns.points.test(attr)) { unit = unit || 'px'; superclass.setAttribute.call(this, 'left', val[0], unit); superclass.setAttribute.call(this, 'top', val[1], unit); } else { superclass.setAttribute.call(this, attr, val, unit); } }; proto.getAttribute = function(attr) { if (this.patterns.points.test(attr)) { var val = [superclass.getAttribute.call(this, 'left'), superclass.getAttribute.call(this, 'top')]; } else { val = superclass.getAttribute.call(this, attr); } return val; }; proto.doMethod = function(attr, start, end) { var val = null; if (this.patterns.points.test(attr)) { var t = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100; val = Y.Bezier.getPosition(this.runtimeAttributes[attr], t); } else { val = superclass.doMethod.call(this, attr, start, end); } return val; }; proto.setRuntimeAttribute = function(attr) { if (this.patterns.points.test(attr)) { var el = this.getEl(); var attributes = this.attributes; var start; var control = attributes['points']['control'] || []; var end; var i, len; if (control.length > 0 && !(control[0] instanceof Array)) { control = [control]; } else { var tmp = []; for (i = 0, len = control.length; i < len; ++i) { tmp[i] = control[i]; } control = tmp; } if (Y.Dom.getStyle(el, 'position') == 'static') { Y.Dom.setStyle(el, 'position', 'relative'); } if (isset(attributes['points']['from'])) { Y.Dom.setXY(el, attributes['points']['from']); } else { Y.Dom.setXY(el, Y.Dom.getXY(el)); } start = this.getAttribute('points'); if (isset(attributes['points']['to'])) { end = translateValues.call(this, attributes['points']['to'], start); var pageXY = Y.Dom.getXY(this.getEl()); for (i = 0, len = control.length; i < len; ++i) { control[i] = translateValues.call(this, control[i], start); } } else if (isset(attributes['points']['by'])) { end = [start[0] + attributes['points']['by'][0], start[1] + attributes['points']['by'][1]]; for (i = 0, len = control.length; i < len; ++i) { control[i] = [start[0] + control[i][0], start[1] + control[i][1]]; } } this.runtimeAttributes[attr] = [start]; if (control.length > 0) { this.runtimeAttributes[attr] = this.runtimeAttributes[attr].concat(control); } this.runtimeAttributes[attr][this.runtimeAttributes[attr].length] = end; } else { superclass.setRuntimeAttribute.call(this, attr); } }; var translateValues = function(val, start) { var pageXY = Y.Dom.getXY(this.getEl()); val = [val[0] - pageXY[0] + start[0], val[1] - pageXY[1] + start[1]]; return val; }; var isset = function(prop) { return (typeof prop !== 'undefined'); }; })(); (function() { YAHOO.util.Scroll = function(el, attributes, duration, method) { if (el) { YAHOO.util.Scroll.superclass.constructor.call(this, el, attributes, duration, method); } }; YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim); var Y = YAHOO.util; var superclass = Y.Scroll.superclass; var proto = Y.Scroll.prototype; proto.toString = function() { var el = this.getEl(); var id = el.id || el.tagName; return ("Scroll " + id); }; proto.doMethod = function(attr, start, end) { var val = null; if (attr == 'scroll') { val = [this.method(this.currentFrame, start[0], end[0] - start[0], this.totalFrames), this.method(this.currentFrame, start[1], end[1] - start[1], this.totalFrames)]; } else { val = superclass.doMethod.call(this, attr, start, end); } return val; }; proto.getAttribute = function(attr) { var val = null; var el = this.getEl(); if (attr == 'scroll') { val = [el.scrollLeft, el.scrollTop]; } else { val = superclass.getAttribute.call(this, attr); } return val; }; proto.setAttribute = function(attr, val, unit) { var el = this.getEl(); if (attr == 'scroll') { el.scrollLeft = val[0]; el.scrollTop = val[1]; } else { superclass.setAttribute.call(this, attr, val, unit); } }; })(); YAHOO.util.Connect = { _msxml_progid: ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'], _http_header: {}, _has_http_headers: false, _isFormSubmit: false, _sFormData: null, _poll: [], _polling_interval: 50, _transaction_id: 0, setProgId: function(id)
{ this.msxml_progid.unshift(id); }, setPollingInterval: function(i)
{ if (typeof i == 'number' && isFinite(i)) { this._polling_interval = i; } }, createXhrObject: function(transactionId) {
    var obj, http; try
{ http = new XMLHttpRequest(); obj = { conn: http, tId: transactionId }; }
    catch (e) {
        for (var i = 0; i < this._msxml_progid.length; ++i) {
            try
{ http = new ActiveXObject(this._msxml_progid[i]); if (http) { obj = { conn: http, tId: transactionId }; break; } }
            catch (e) { } 
        } 
    }
    finally
{ return obj; } 
}, getConnectionObject: function() {
    var o; var tId = this._transaction_id; try
{ o = this.createXhrObject(tId); if (o) { this._transaction_id++; } }
    catch (e) { }
    finally
{ return o; } 
}, asyncRequest: function(method, uri, callback, postData) {
    var o = this.getConnectionObject(); if (!o) { return null; }
    else {
        if (this._isFormSubmit) {
            if (method == 'GET') { uri += "?" + this._sFormData; }
            else if (method == 'POST') { postData = this._sFormData; }
            this._sFormData = ''; this._isFormSubmit = false;
        }
        o.conn.open(method, uri, true); if (postData) { this.initHeader('Content-Type', 'application/x-www-form-urlencoded'); }
        if (this._has_http_headers) { this.setHeader(o); }
        this.handleReadyState(o, callback); postData ? o.conn.send(postData) : o.conn.send(null); return o;
    } 
}, handleReadyState: function(o, callback) {
    var oConn = this; try
{ this._poll[o.tId] = window.setInterval(function() { if (o.conn && o.conn.readyState == 4) { window.clearInterval(oConn._poll[o.tId]); oConn._poll.splice(o.tId); oConn.handleTransactionResponse(o, callback); } }, this._polling_interval); }
    catch (e)
{ window.clearInterval(oConn._poll[o.tId]); oConn._poll.splice(o.tId); oConn.handleTransactionResponse(o, callback); } 
}, handleTransactionResponse: function(o, callback) {
    if (!callback) { this.releaseObject(o); return; }
    var httpStatus; var responseObject; try
{ httpStatus = o.conn.status; }
    catch (e) { httpStatus = 13030; }
    if (httpStatus >= 200 && httpStatus < 300) {
        responseObject = this.createResponseObject(o, callback.argument); if (callback.success) {
            if (!callback.scope) { callback.success(responseObject); }
            else { callback.success.apply(callback.scope, [responseObject]); } 
        } 
    }
    else {
        switch (httpStatus) {
            case 12002: case 12029: case 12030: case 12031: case 12152: case 13030: responseObject = this.createExceptionObject(o, callback.argument); if (callback.failure) {
                    if (!callback.scope) { callback.failure(responseObject); }
                    else { callback.failure.apply(callback.scope, [responseObject]); } 
                }
                break; default: responseObject = this.createResponseObject(o, callback.argument); if (callback.failure) {
                    if (!callback.scope) { callback.failure(responseObject); }
                    else { callback.failure.apply(callback.scope, [responseObject]); } 
                } 
        } 
    }
    this.releaseObject(o);
}, createResponseObject: function(o, callbackArg) {
    var obj = {}; var headerObj = {}; try {
        var headerStr = o.conn.getAllResponseHeaders(); var header = headerStr.split("\n"); for (var i = 0; i < header.length; i++) { var delimitPos = header[i].indexOf(':'); if (delimitPos != -1) { headerObj[header[i].substring(0, delimitPos)] = header[i].substring(delimitPos + 1); } }
        obj.tId = o.tId; obj.status = o.conn.status; obj.statusText = o.conn.statusText; obj.getResponseHeader = headerObj; obj.getAllResponseHeaders = headerStr; obj.responseText = o.conn.responseText; obj.responseXML = o.conn.responseXML; if (typeof callbackArg !== undefined) { obj.argument = callbackArg; } 
    }
    catch (e) { }
    finally
{ return obj; } 
}, createExceptionObject: function(tId, callbackArg) {
    var COMM_CODE = 0; var COMM_ERROR = 'communication failure'; var obj = {}; obj.tId = tId; obj.status = COMM_CODE; obj.statusText = COMM_ERROR; if (callbackArg) { obj.argument = callbackArg; }
    return obj;
}, initHeader: function(label, value) {
    if (this._http_header[label] === undefined) { this._http_header[label] = value; }
    else { this._http_header[label] = value + "," + this._http_header[label]; }
    this._has_http_headers = true;
}, setHeader: function(o) {
    for (var prop in this._http_header) { o.conn.setRequestHeader(prop, this._http_header[prop]); }
    delete this._http_header; this._http_header = {}; this._has_http_headers = false;
}, setForm: function(formId) {
    this._sFormData = ''; if (typeof formId == 'string') { var oForm = (document.getElementById(formId) || document.forms[formId]); }
    else if (typeof formId == 'object') { var oForm = formId; }
    else { return; }
    var oElement, oName, oValue, oDisabled; var hasSubmit = false; for (var i = 0; i < oForm.elements.length; i++) {
        oDisabled = oForm.elements[i].disabled; oElement = oForm.elements[i]; oName = oForm.elements[i].name; oValue = oForm.elements[i].value; if (!oDisabled) {
            switch (oElement.type) {
                case 'select-one': case 'select-multiple': for (var j = 0; j < oElement.options.length; j++) { if (oElement.options[j].selected) { this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].value || oElement.options[j].text) + '&'; } }
                    break; case 'radio': case 'checkbox': if (oElement.checked) { this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&'; }
                    break; case 'file': case undefined: case 'reset': case 'button': break; case 'submit': if (hasSubmit == false) { this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&'; hasSubmit = true; }
                    break; default: this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&'; break;
            } 
        } 
    }
    this._isFormSubmit = true; this._sFormData = this._sFormData.substr(0, this._sFormData.length - 1);
}, abort: function(o) {
    if (this.isCallInProgress(o)) { window.clearInterval(this._poll[o.tId]); this._poll.splice(o.tId); o.conn.abort(); this.releaseObject(o); return true; }
    else { return false; } 
}, isCallInProgress: function(o) {
    if (o.conn) { return o.conn.readyState != 4 && o.conn.readyState != 0; }
    else { return false; } 
}, releaseObject: function(o)
{ o.conn = null; o = null; } 
}; var agt = navigator.userAgent.toLowerCase(); var mac = agt.indexOf("mac") != -1; var macIe = mac && document.all; var gYOUR_RATING = 'Your Rating: '; var gDEFAULT_TEXT = 'Rate It: '; function initRatings(formName) {
    if (!document.getElementById) return; if (document.styleSheets)
    { if (document.styleSheets[0].disabled) return; }
    var i = 0; var forms = document.getElementsByName(formName); var form = (forms) ? forms[0] : null; if (!form) return false; while (i == 0) {
        var sInputName = 'star'; var oInputs = document.getElementsByName(sInputName); if (oInputs[0])
        { if (oInputs[0].nodeName == 'SELECT') gatherSelectAttributes(oInputs[0], form); else if (oInputs[0].nodeName == 'INPUT' && oInputs[0].type == 'radio') gatherRadioAttributes(oInputs, form); i++; }
        else i = -1;
    } 
}
function gatherRadioAttributes(pRadios, pForm) {
    var curSelectedIndex = -1; var nRadioLength = pRadios.length; var oRadioContainer = pRadios[0].parentNode.parentNode; var oLegend = oRadioContainer.getElementsByTagName('LEGEND'); var defaultText = (oLegend[0]) ? oLegend[0].innerHTML : ''; var oRadioValuesLabels = new Array(); var inputName = pRadios[0].name; var className = pRadios[0].className; for (var i = 0; i < nRadioLength; i++) {
        var oCurRadio = pRadios[i]; var radioValueLength = oRadioValuesLabels.length; oRadioValuesLabels[radioValueLength] = new Array(); var curRadioValues = oRadioValuesLabels[radioValueLength]
        curRadioValues['value'] = (oCurRadio.value) ? oCurRadio.value : i; if (!macIe) curRadioValues['label'] = (oCurRadio.nextSibling.data) ? oCurRadio.nextSibling.data : gDEFAULT_TEXT; else curRadioValues['label'] = (oCurRadio.parentNode.innerText) ? oCurRadio.parentNode.innerText : gDEFAULT_TEXT; if (oCurRadio.checked) curSelectedIndex = i;
    }
    var appendTo = oRadioContainer.parentNode; appendTo.removeChild(oRadioContainer); createRater(inputName, appendTo, oRadioValuesLabels, curSelectedIndex, className, defaultText, pForm);
}
function gatherSelectAttributes(pInput, pForm) {
    var oInputOptions = pInput.getElementsByTagName('OPTION'); var curSelectedIndex = -1; var defaultText = ''; var nInputOptionLength = oInputOptions.length; var oOptionValuesLabels = new Array(); var inputName = pInput.name; var className = pInput.className; for (var i = 0; i < nInputOptionLength; i++) {
        var oCurOption = oInputOptions[i]; if (oCurOption.value != -1) {
            var optionValueLength = oOptionValuesLabels.length; oOptionValuesLabels[optionValueLength] = new Array(); var curOptionValues = oOptionValuesLabels[optionValueLength]
            curOptionValues['value'] = (oCurOption.value) ? oCurOption.value : i; curOptionValues['label'] = (oCurOption.innerHTML) ? oCurOption.innerHTML : ""; if (oCurOption.selected) curSelectedIndex = i - 1;
        }
        else defaultText = (oCurOption.innerHTML) ? oCurOption.innerHTML : gDEFAULT_TEXT;
    }
    var appendTo = pInput.parentNode; appendTo.removeChild(pInput); if (pInput.selectedIndex > 0) { curSelectedIndex = pInput.selectedIndex - 1; }
    createRater(inputName, appendTo, oOptionValuesLabels, curSelectedIndex, className, defaultText, pForm);
}
function createRater(pName, pAppendTo, pOptionValuesLabels, pCurSelectedIndex, pClassName, pDefaultText, pForm) {
    var oContainer = document.createElement('DIV'); oContainer.className = pClassName + 'Rater'; oContainer.id = pName + '_container'; oContainer.labelsValues = pOptionValuesLabels; oContainer.selectedIndex = pCurSelectedIndex; oContainer.form = pForm; var nElemsToAdd = pOptionValuesLabels.length; var textP = document.createElement('P'); var hiddenField; if (!macIe)
    { hiddenField = document.createElement('INPUT'); hiddenField.type = 'hidden'; }
    else hiddenField = document.createElement('<INPUT type="hidden">'); hiddenField.name = pName; textP.innerHTML = (pCurSelectedIndex >= 0) ? gYOUR_RATING + pOptionValuesLabels[pCurSelectedIndex]['label'] : pDefaultText; oContainer.textElem = textP; oContainer.appendChild(textP); oContainer.defaultText = pDefaultText; var oElements = new Array(); for (var i = 0; i < nElemsToAdd; i++) {
        var oElem = document.createElement('A'); oElem.href = "#"; oElem.onmouseover = raterMouseOver; oElem.onfocus = raterMouseOver; oElem.onmouseout = raterMouseOut; oElem.onblur = raterMouseOut; oElem.onclick = raterClick; oElem.container = oContainer; oElem.index = i; var className = ''
        if (pCurSelectedIndex != -1 && i <= pCurSelectedIndex)
        { className = 'selected'; }
        var separator = (className != '') ? ' ' : ''; var classNamePrefix = (i % 2) ? 'odd' + separator : 'even' + separator; oElem.className = classNamePrefix + className; oContainer.appendChild(oElem); oElements[oElements.length] = oElem;
    }
    hiddenField.value = pCurSelectedIndex; oContainer.hiddenField = hiddenField; oContainer.ratingElements = oElements; oContainer.appendChild(hiddenField); pAppendTo.appendChild(oContainer);
}
function raterMouseOver() {
    var container = this.container; var numElements = container.ratingElements.length; for (var i = 0; i < numElements; i++) {
        var curElem = container.ratingElements[i]; var selectedIndex = container.selectedIndex; var className = ''; if (selectedIndex > -1)
        { if (i <= selectedIndex && i <= this.index) className = 'selectedover'; else if (i <= selectedIndex && i > this.index) className = 'selectedless'; else if (i > selectedIndex && i <= this.index) className = 'over'; else if (i > selectedIndex && i > this.index) className = ''; }
        else
        { if (i <= this.index) className = 'over' }
        var separator = (className != '') ? ' ' : ''; var classNamePrefix = (i % 2) ? 'odd' + separator : 'even' + separator; curElem.className = classNamePrefix + className;
    }
    container.textElem.innerHTML = container.labelsValues[this.index]['label'];
}
function raterMouseOut() {
    var container = this.container; var numElements = container.ratingElements.length; for (var i = 0; i < numElements; i++)
    { var curElem = container.ratingElements[i]; var selectedIndex = container.selectedIndex; var className = (selectedIndex != -1 && selectedIndex >= i) ? 'selected' : ''; var separator = (className != '') ? ' ' : ''; var classNamePrefix = (i % 2) ? 'odd' + separator : 'even' + separator; curElem.className = classNamePrefix + className; }
    container.textElem.innerHTML = (container.selectedIndex > -1) ? gYOUR_RATING + container.labelsValues[selectedIndex]['label'] : container.defaultText;
}
function raterClick() {
    var container = this.container; container.selectedIndex = this.index; var numElements = container.ratingElements.length; for (var i = 0; i < numElements; i++)
    { var curElem = container.ratingElements[i]; var className = (i <= this.index) ? 'selectedover' : ''; var separator = (className != '') ? ' ' : ''; var classNamePrefix = (i % 2) ? 'odd' + separator : 'even' + separator; curElem.className = classNamePrefix + className; }
    container.textElem.innerHTML = (container.selectedIndex > -1) ? gYOUR_RATING + container.labelsValues[container.selectedIndex]['label'] : container.defaultText; container.hiddenField.value = container.labelsValues[container.selectedIndex]['value']; var callback = { success: rateSuccess, failure: rateFailure }; if (!YAHOO.util.Dom.hasClass(container.form, "noAjax")) { YAHOO.util.Connect.setForm(container.form.name); var oConObj = YAHOO.util.Connect.asyncRequest('GET', '/rateShow', callback, null); }
    return false;
}
function rateSuccess(o) { var rateMod = YAHOO.util.Dom.get("showrate"); var content = YAHOO.util.Dom.getElementsByClassName("content", "div", rateMod); content[0].innerHTML = o.responseText; initRatings('rater0'); }
function rateFailure(o) { alert(o.responseText); }
(function() {
    var $U = YAHOO.util; var $D = $U.Dom; var $E = $U.Event; var $S = $U.Scroll; var $C = $U.Connect; var DTK = YAHOO.namespace('Media.Dtk'); var recommendSuccess = function(o) { o.argument.innerHTML = o.responseText; }; var recommendFailure = function(o) { return; }; var handleRecommend = function(e, obj) {
        $E.stopEvent(e); var callback = { success: recommendSuccess, failure: recommendFailure, argument: obj }; var lnktext = "" + this.href; var pieces = lnktext.split("%3f"); var srch; if (pieces.length > 1) { srch = unescape(pieces[1]); } else { pieces = lnktext.split("?"); srch = pieces[1]; }
        var oConObj = YAHOO.util.Connect.asyncRequest('GET', "/recommendReview?" + srch, callback, null);
    }; var setupRecommendLinks = function() { var lnks = $D.getElementsByClassName('helpful', 'a', this); for (var i = 0; i < lnks.length; i++) { var pn = lnks[i].parentNode; var h = $E.addListener(lnks[i], "click", handleRecommend, pn); } }; $E.onAvailable("main", setupRecommendLinks);
})(); (function() {
    function handleClick(e, obj) {
        var callback = { success: loadBrowse, failure: browseError }; var oConObj = YAHOO.util.Connect.asyncRequest('GET', '/showsAjax' + this.search, callback, null); if (obj) {
            var links = obj.getElementsByTagName("A"); for (var y = 0; y < links.length; y++) { YAHOO.util.Dom.removeClass(links[y], "current"); }
            YAHOO.util.Dom.addClass(this, "current");
        }
        YAHOO.util.Dom.setStyle("doc", "cursor", "wait"); YAHOO.util.Event.stopEvent(e);
    }
    function handleFilter(e, obj) { var callback = { success: loadBrowse, failure: browseError }; YAHOO.util.Connect.setForm(obj.getAttribute("name")); var oConObj = YAHOO.util.Connect.asyncRequest('GET', '/showsAjax', callback, null); }
    function loadBrowse(o) { var b = YAHOO.util.Dom.get("browse"); b.innerHTML = o.responseText; YAHOO.util.Dom.setStyle("doc", "cursor", "default"); initNav(); initFilters(); }
    function browseError(o) { alert(o.responseText); }
    function init() {
        var alphas = YAHOO.util.Dom.getElementsByClassName("alphanav", "div"); for (var x = 0; x < alphas.length; x++) { var links = alphas[x].getElementsByTagName("A"); for (var y = 0; y < links.length; y++) { YAHOO.util.Event.addListener(links[y], "click", handleClick, alphas[x]); } }
        initNav(); initFilters();
    }
    function initNav() {
        var b = YAHOO.util.Dom.get("browse"); if (!b) return; var pags = YAHOO.util.Dom.getElementsByClassName("pagination", "div"); for (var x = 0; x < pags.length; x++) { var links = pags[x].getElementsByTagName("A"); for (var y = 0; y < links.length; y++) { YAHOO.util.Event.addListener(links[y], "click", handleClick); } }
        var heads = b.getElementsByTagName("TH"); for (var z = 0; z < heads.length; z++) { var slink = heads[z].getElementsByTagName("A"); YAHOO.util.Event.addListener(slink[0], "click", handleClick); } 
    }
    function initFilters() { var f = YAHOO.util.Dom.get("browse_filters"); if (!f) return; var sels = f.getElementsByTagName("SELECT"); for (var x = 0; x < sels.length; x++) { YAHOO.util.Event.addListener(sels[x], "change", handleFilter, f); } }
    YAHOO.namespace("Tv"); YAHOO.Tv.Lineup = function() {
        var times; function init(lineup) { times = YAHOO.util.Dom.getElementsByClassName("showtime", "li", lineup); if (!times) return; var tl = times.length; for (var x = 0; x < tl; x++) { attachEventsToShowtimes(times[x]); } }; function beforeExpand() { var el = this.getEl(); el.opened = true; YAHOO.util.Dom.replaceClass(el, "closed", "open"); closeAll(); }; function afterExpand() { var el = this.getEl(); el.opened = false; }; function beforeCollapse() { var el = this.getEl(); el.opened = false; YAHOO.util.Dom.replaceClass(el, "open", "closed"); }; function afterCollapse() { var el = this.getEl(); el.opened = false; }; this.collapseShows = function() { closeAll(); }; function closeAll(e, obj) { if (e) { YAHOO.util.Event.stopEvent(e); if (obj) { obj.closing = true; obj.collapseAnim.animate(); } } else { for (var x = 0; x < times.length; x++) { if ((!times[x].opened)) { times[x].collapseAnim.animate(); } } } }
        function openTime(e, obj) { obj.opened = true; obj.expandAnim.animate(); YAHOO.util.Event.stopEvent(e); }
        function attachEventsToShowtimes(li) { var eplinks = YAHOO.util.Dom.getElementsByClassName("eptitle", "a", li); var moreInfo = YAHOO.util.Dom.getElementsByClassName("moreinfo", "div", li); eplinks[0].moreInfo = moreInfo[0]; var region = YAHOO.util.Dom.getRegion(li); var ogh = region.bottom - region.top; var ogw = region.right - region.left; YAHOO.util.Dom.setStyle(li, "height", ogh + "px"); YAHOO.util.Dom.setStyle(li, "overflow", "hidden"); YAHOO.util.Dom.setStyle(moreInfo[0], "width", ogw + "px"); YAHOO.util.Dom.setStyle(moreInfo[0], "display", "block"); var mregion = YAHOO.util.Dom.getRegion(moreInfo[0]); var expandh = ogh + (mregion.bottom - mregion.top); var expandAtt = { height: { to: expandh} }; var collapseAtt = { height: { to: ogh} }; li.expandAnim = new YAHOO.util.Anim(li, expandAtt, .5, YAHOO.util.Easing.easeOut); li.expandAnim.onStart.subscribe(beforeExpand); li.expandAnim.onComplete.subscribe(afterExpand); li.collapseAnim = new YAHOO.util.Anim(li, collapseAtt, .5, YAHOO.util.Easing.easeOut); li.collapseAnim.onStart.subscribe(beforeCollapse); li.collapseAnim.onComplete.subscribe(afterCollapse); YAHOO.util.Event.addListener(eplinks[0], "click", openTime, li, false); var closeLink = document.createElement("A"); var closeText = document.createTextNode("close"); closeLink.href = '#'; closeLink.appendChild(closeText); YAHOO.util.Dom.addClass(closeLink, "close"); YAHOO.util.Event.addListener(closeLink, "click", closeAll, li); YAHOO.util.Dom.addClass(li, "closed"); li.appendChild(closeLink); }; return { init: function() { init(this); } };
    } (); YAHOO.Tv.tabbedNav = function() {
        var closeTimeout = null; var openTimeout = null; var foDiv = null; var shieldFrame = null; var createFlyout = function(footer) {
            var propNav = YAHOO.util.Dom.getElementsByClassName("prop", "div", footer); var links = propNav[0].getElementsByTagName("LI"); var foDiv = document.createElement("DIV"); YAHOO.util.Dom.addClass(foDiv, "dtk-flyout"); var foUL = document.createElement("UL"); YAHOO.util.Dom.addClass(foDiv, "shownews"); for (var x = 0; x < links.length; x++) { var cloneLink = document.createElement("LI"); cloneLink.innerHTML = links[x].innerHTML; foUL.appendChild(cloneLink); }
            foDiv.appendChild(foUL); if (!shieldFrame) { shieldFrame = document.createElement("IFRAME"); YAHOO.util.Dom.addClass(shieldFrame, "shieldFrame"); footer.appendChild(shieldFrame); }
            footer.appendChild(foDiv); positionFlyout(foDiv); moreFlyout();
        }; var moreFlyout = function() { var sn = YAHOO.util.Dom.get("sub-nav"); var mls = YAHOO.util.Dom.getElementsByClassName("more", "A", sn); var submores = YAHOO.util.Dom.getElementsByClassName("submore", "div", sn); if (mls.length && submores.length) { mls[0].goright = true; positionUnder(mls[0], submores[0], true); attachEvents(mls[0], submores[0]); } }; var clickMore = function(e, obj) { YAHOO.util.Event.preventDefault(e); showFlyout(obj); }; var showFlyout = function(obj) {
            YAHOO.util.Dom.setStyle(obj, "visibility", "visible"); YAHOO.util.Dom.setStyle(shieldFrame, "visibility", "visible"); if (em = YAHOO.util.Dom.get("y_embed")) {
                var tds = YAHOO.util.Dom.getElementsByClassName("yup-playercontent", "td", em); if (tds.length) {
                    for (var x = 0; x < tds.length; x++) {
                        var embeds = tds[x].getElementsByTagName("EMBED"); if (embeds.length) { YAHOO.util.Dom.setStyle(embeds[0], "visibility", "hidden"); }
                        var objs = tds[x].getElementsByTagName("OBJECT"); for (var n = 0; n < objs.length; n++) { YAHOO.util.Dom.setStyle(objs[n], "visibility", "hidden"); } 
                    } 
                } 
            }
            if (openTimeout) clearTimeout(openTimeout);
        }; var mOverMore = function(e, obj) { if (closeTimeout) clearTimeout(closeTimeout); positionUnder(this, obj, this.goright); startOpen(obj); }; var mOutMore = function(e, obj) { startClose(obj); }; var mOverFlyout = function(e) { if (closeTimeout) clearTimeout(closeTimeout); }; var mOutFlyout = function(e) { startClose(this); }; var startClose = function(obj) {
            var closeIt = function(o) {
                return function() {
                    YAHOO.util.Dom.setStyle(o, "visibility", "hidden"); YAHOO.util.Dom.setStyle(shieldFrame, "visibility", "hidden"); if (em = YAHOO.util.Dom.get("y_embed")) {
                        var tds = YAHOO.util.Dom.getElementsByClassName("yup-playercontent", "td", em); if (tds.length) {
                            for (var x = 0; x < tds.length; x++) {
                                var embeds = tds[x].getElementsByTagName("EMBED"); if (embeds.length) { YAHOO.util.Dom.setStyle(embeds[0], "visibility", "visible"); }
                                var objs = tds[x].getElementsByTagName("OBJECT"); for (var n = 0; n < objs.length; n++) { YAHOO.util.Dom.setStyle(objs[n], "visibility", "visible"); } 
                            } 
                        } 
                    } 
                } 
            }; closeTimeout = setTimeout(closeIt(obj), 1000);
        }; var startOpen = function(obj) { var openIt = function(o) { return function() { showFlyout(o); } }; openTimeout = setTimeout(openIt(obj), 1000); }; var positionFlyout = function(fo) { var bread = YAHOO.util.Dom.get("ytv-bread"); var morelinks = YAHOO.util.Dom.getElementsByClassName("more", "a", bread); positionUnder(morelinks[0], fo); attachEvents(morelinks[0], fo); }; var attachEvents = function(m, u) { YAHOO.util.Event.addListener(m, "click", clickMore, u); YAHOO.util.Event.addListener(m, "mouseover", mOverMore, u); YAHOO.util.Event.addListener(m, "mouseout", mOutMore, u); YAHOO.util.Event.addListener(u, "mouseover", mOverFlyout); YAHOO.util.Event.addListener(u, "mouseout", mOutFlyout); }; var moveFlyout = function() { var fo = YAHOO.util.Dom.getElementsByClassName("dtk-flyout", "div", document)[0]; var bread = YAHOO.util.Dom.get("ytv-bread"); var morelinks = YAHOO.util.Dom.getElementsByClassName("more", "a", bread); positionUnder(morelinks[0], fo); }; var positionUnder = function(m, u, right) {
            var mXY = YAHOO.util.Dom.getXY(m); var mRegion = YAHOO.util.Dom.getRegion(m); var uRegion = YAHOO.util.Dom.getRegion(u); YAHOO.util.Dom.setStyle(shieldFrame, "height", (uRegion.bottom - uRegion.top) + "px"); YAHOO.util.Dom.setStyle(shieldFrame, "width", (uRegion.right - uRegion.left) + "px"); var x = mXY[0]; if (right) { var uRegion = YAHOO.util.Dom.getRegion(u); var w = uRegion.right - uRegion.left; x = (x - w) + (mRegion.right - mRegion.left); YAHOO.util.Dom.setStyle(shieldFrame, "display", "none"); }
            YAHOO.util.Dom.setXY(u, [x, mRegion.bottom + 3]); YAHOO.util.Dom.setXY(shieldFrame, [x, mRegion.bottom + 3]);
        }; YAHOO.util.Event.addListener(window, "resize", moveFlyout); return { init: function() { createFlyout(this); } };
    } (); YAHOO.util.Event.onAvailable('dtk-footernav', YAHOO.Tv.tabbedNav.init); YAHOO.Tv.ratingWidget = function() {
        var ratingHash = []; function init(id) {
            if (!ratingHash[id]) {
                var container = YAHOO.util.Dom.get(id); var thumbLinks = YAHOO.util.Dom.getElementsByClassName("rate", "a", container); for (var x = 0; x < thumbLinks.length; x++) { YAHOO.util.Event.addListener(thumbLinks[x], "click", handleVote, container); }
                ratingHash[id] = container;
            } 
        }
        function handleVote(e, obj) {
            var callback = { success: rateSuccess, failure: rateError, argument: obj }; var path = this.pathname; if (path.indexOf("/") != 0) { path = "/" + path; }
            var oConObj = YAHOO.util.Connect.asyncRequest('GET', path + this.search, callback, null); YAHOO.util.Event.stopEvent(e);
        }
        function rateError(o) { alert(o.responseText); }
        function rateSuccess(o) { var container = o.argument; var cont = YAHOO.util.Dom.getElementsByClassName("content", "div", container); var id = YAHOO.util.Dom.generateId(container); cont[0].innerHTML = o.responseText; ratingHash[id] = null; init(id); }
        return { init: function(id) { init(id); } }
    } (); YAHOO.Tv.articleAdjustment = function() {
        return { init: function() {
            var sidebars = YAHOO.util.Dom.getElementsByClassName("sidebar", "div", this); var article = document.getElementById("article"); var feats = YAHOO.util.Dom.getElementsByClassName("featlinks", "div", article); var paras = article.getElementsByTagName("P"); if (paras.length > 5) {
                if (sidebars.length) { var sb = sidebars[0]; var nsidebar = article.insertBefore(sb, paras[3]); }
                if (feats.length) { var fl = feats[0]; var nfl = article.insertBefore(fl, nsidebar); } 
            } 
        } 
        };
    } (); YAHOO.util.Event.onAvailable("articlemainbody", YAHOO.Tv.articleAdjustment.init);
})(); YAHOO.namespace("Media.Dtk.GlobalSearch"); YAHOO.Media.Dtk.GlobalSearch.TabsMgr = { oProcessed: {}, set: function(sKey, bValue) { this.oProcessed[sKey] = bValue; }, get: function(sKey) { return (typeof (this.oProcessed[sKey]) != 'undefined' && this.oProcessed[sKey] == 1); } }; YAHOO.Media.Dtk.GlobalSearch.Tabs = function(sModuleName) { this.sModuleName = sModuleName; this.dCurTab = ""; this.dCurTabNum = 1; this.aTabs = []; this.sTrigger = "click"; this.fAction = null; this.oActionVars = null; this.sTabTag = "li"; this.sClickTag = "a"; this.sOnName = "on"; this.sOffName = "off"; this.sHiLiteName = "sparkle"; this.bRoundCorners = false; this.aDataProcessed = []; this.bDropShadow = true; }; YAHOO.Media.Dtk.GlobalSearch.Tabs.prototype.dropShadowOff = function() { this.bDropShadow = false; }
YAHOO.Media.Dtk.GlobalSearch.Tabs.prototype.dropShadowOn = function() { this.bDropShadow = true; }
YAHOO.Media.Dtk.GlobalSearch.Tabs.prototype.changeAction = function(action, vars) { this.fAction = action; this.oActionVars = vars; }; YAHOO.Media.Dtk.GlobalSearch.Tabs.prototype.setupTabs = function() {
    var dTab = document.getElementById(this.sModuleName).getElementsByTagName(this.sTabTag); var nTabLength = dTab.length, i, j; for (i = 0; i < nTabLength; i++) {
        if (this.bDropShadow) { var txtNode = document.createTextNode(dTab[i].firstChild.innerHTML); var dShad = document.createElement("span"); dShad.appendChild(txtNode); dTab[i].insertBefore(dShad, dTab[i].firstChild); }
        if (YAHOO.util.Dom.hasClass(dTab[i], this.sOnName)) { this.dCurTab = dTab[i]; }
        var dClickTag = dTab[i].getElementsByTagName(this.sClickTag) || 0; var nClickTagLength = dClickTag.length; for (j = 0; j < nClickTagLength; j++) {
            if (dClickTag[j].href.indexOf('schedule.cgi') < 0) {
                var self = this; dClickTag[j].order = (i + 1); this.aTabs[(i + 1)] = dClickTag[j]; var oSelf = this; var fAction = function(e) {
                    if (e) { YAHOO.util.Event.stopEvent(e); }
                    self.tabAction(e, oSelf, self); return false;
                }
                YAHOO.util.Event.addListener(dClickTag[j], this.sTrigger, fAction); if (this.sTrigger != "click") { dClickTag[j].onclick = function() { return false; }; } 
            } 
        } 
    } 
}; YAHOO.Media.Dtk.GlobalSearch.Tabs.prototype.tabAction = function(e, dNode, oSelf) {
    if (typeof (dNode.href) == 'undefined') { dNode = e.srcElement || e.target; }
    if (dNode.tagName == 'IMG') { dNode = dNode.parentNode; }
    if ((oSelf.dCurTabNum - 1) > 0) { YAHOO.util.Dom.removeClass(oSelf.aTabs[(oSelf.dCurTabNum - 1)].parentNode.parentNode, oSelf.sOffName); }
    YAHOO.util.Dom.removeClass(oSelf.dCurTab, oSelf.sOnName); oSelf.dCurTab = (oSelf.oActionVars.type == 'tab' ? dNode.parentNode.parentNode : dNode.parentNode); YAHOO.util.Dom.removeClass(oSelf.dCurTab, oSelf.sHiLiteName); oSelf.dCurTabNum = dNode.order; YAHOO.util.Dom.addClass(oSelf.dCurTab, oSelf.sOnName); if ((oSelf.dCurTabNum - 1) > 0) { YAHOO.util.Dom.addClass(oSelf.aTabs[(oSelf.dCurTabNum - 1)].parentNode.parentNode, oSelf.sOffName); }
    if (oSelf.fAction) { oSelf.fAction(oSelf.oActionVars, dNode, this); }
    return false;
}; YAHOO.Media.Dtk.GlobalSearch.ChangeVert = function(args, self) {
    var obj = args.obj, tab = self; YAHOO.util.Dom.addClass(obj.dCurTab, 'on'); YAHOO.util.Dom.addClass(tab.parentNode, 'on'); obj.dCurTab = tab.parentNode; document.sf1.action = tab.href; var text = tab.innerHTML; document.getElementById('dtk-search').className = 'tab-' + text.toLowerCase(); if (typeof (this.first) == "undefined") this.searchbox = document.getElementById("dtk-searchbox").innerHTML; this.first = true; var searchbox = document.getElementById("dtk-searchbox"); var leftfooter = document.getElementById("dtk-sboxfooter"); var rightfooter = document.getElementById("dtk-sboxlinks"); if (typeof (YAHOO.Media.Dtk.nSearchBoxWidth) == 'undefined') { YAHOO.Media.Dtk.nSearchBoxWidth = YAHOO.util.Dom.getStyle("dtk-searchbox", "width"); }
    if (searchbox.innerHTML != this.searchbox) {
        var value = document.sf1.p.value; searchbox.innerHTML = this.searchbox; if (YAHOO.Media.Dtk.nPageSize == 1) { searchbox.style.marginLeft = "auto"; }
        else { searchbox.style.width = YAHOO.Media.Dtk.nSearchBoxWidth; }
        document.sf1.p.value = value;
    }
    if (leftfooter) { leftfooter.style.display = "block"; }
    if (rightfooter) { rightfooter.style.display = "block"; }
    frPrefix = "Dtk-tab-"; _ver = (typeof (ver) != "undefined" ? ver : ""); if (typeof (YAHOO.Media.Dtk.GlobalSearch.oSearch) == 'object') { document.sf1.fr.value = frPrefix + YAHOO.Media.Dtk.GlobalSearch.oSearch[text].frcode + "-t" + _ver; }
    if (document.getElementById("searchlabel")) { document.getElementById("dtk-searchlabel").title = text + " search: enter a search term and press Enter"; }
    document.getElementById("p").title = text + " search: enter a search term and press Enter"; setTimeout("document.sf1.p.focus()", 1);
}; YAHOO.Media.Dtk.GlobalSearch.bProcKeyDown = 1; YAHOO.Media.Dtk.GlobalSearch.fKeyDown = function(e, oVerts) {
    var src = e.srcElement || e.target; var code = e.keyCode, id = e.id, gk, _ffs = 0; if (typeof (YAHOO.Media.Dtk.GlobalSearch.bKeyDown) == 'undefined') { YAHOO.Media.Dtk.GlobalSearch.bKeyDown = 1; }
    if (code == 13) { return; }
    else if ((code == 191 || code == 222) && id != 'p' && YAHOO.Media.Dtk.GlobalSearch._ff) { _ffs = 1; gk = 0; }
    else if ((code < 31 || code > 41) && (code < 16 || code > 18) && code != 9 && code != 8) { gk = 1; }
    else { gk = 0; }
    var sFormClassName = document.getElementById('dtk-search').className; if (src.id == 'p' || src.id == 'scsz' || src.id == 'dtk-searchsubmit') { if (code == 9 && !e.shiftKey && YAHOO.Media.Dtk.GlobalSearch.bProcKeyDown == 0) { YAHOO.Media.Dtk.GlobalSearch.bProcKeyDown = 1; } else if ((code == 9 && src.id == 'p') || (code == 9 && !e.shiftKey && src.id == 'dtk-searchsubmit' && YAHOO.Media.Dtk.GlobalSearch.bProcKeyDown == 1)) { var nTab = oVerts.dCurTabNum, nTabLength = (oVerts.aTabs.length - 1); nTab = (e.shiftKey && nTab > 0) ? nTab - 1 : (nTab <= nTabLength ? nTab + 1 : nTab); if (nTab > 0 && nTab <= nTabLength && !e.ctrlKey && !e.altKey) { YAHOO.util.Event.stopEvent(e); oVerts.tabAction(e, oVerts.aTabs[nTab], oVerts); document.sf1.p.focus(); return false; } } else if (gk == 1) { YAHOO.Media.Dtk.GlobalSearch.bProcKeyDown = 0; } }
    else if (!_ffs && gk == 1 && src.type != 'text' && !e.ctrlKey && !e.altKey) { } 
}
YAHOO.Tv.newsSelector = function() {
    function init(obj) {
        var hdlines = YAHOO.util.Dom.getElementsByClassName("hdlines", "ul", obj); var selectors = YAHOO.util.Dom.getElementsByClassName("selectorPD", "ul", obj); var selector = selectors[0]; selector.parentDiv = obj; selector.ph = document.createElement("DIV"); YAHOO.util.Dom.addClass(selector.ph, "placeholder"); var t = document.createTextNode("."); selector.ph.appendChild(t); selector.parentNode.appendChild(selector.ph); var options = selectors[0].getElementsByTagName("LI"); var ol = options.length; var sel = Math.round(Math.random() * (ol - 1)); var args = { headlines: hdlines, selector: selector }; for (var x = 0; x < ol; x++) { var elLi = options[x]; elLi.index = x; elLi.hlindex = x; YAHOO.util.Event.addListener(elLi, "click", optionClick, args); YAHOO.util.Event.addListener(elLi, "mouseover", clearHide, selector); if (x === sel) { changeHeadlines(x, hdlines, selectors[0]); } }
        YAHOO.util.Event.addListener(selector, "mouseout", startHide, selector);
    }; function changeHeadlines(index, headlines, selector) {
        var options = selector.getElementsByTagName("LI"); for (var x = 0; x < headlines.length; x++) {
            YAHOO.util.Dom.removeClass([headlines[x], options[x]], "selected"); options[x].sel = false; if (x === index) {
                var hlindex = options[x].hlindex; var n = selector.insertBefore(options[x], options[0]); options[0].hlindex = hlindex; for (var s = 0; s < options.length; s++) { options[s].index = s; }
                options[0].sel = true; YAHOO.util.Dom.addClass([headlines[options[0].hlindex], options[0]], "selected");
            } 
        }
        hide(selector);
    }; function clearHide(e, obj) { if (obj.mTimeout) { window.clearTimeout(obj.mTimeout); } }; function startHide(e, obj) { var dothis = function(obj) { return function() { hide(obj); }; }; obj.mTimeout = window.setTimeout(dothis(obj), 1000); }; function showPullDown(pd) { YAHOO.util.Dom.addClass(pd, "opened"); YAHOO.util.Dom.setStyle(pd.ph, "display", "block"); }; function hide(pd) { YAHOO.util.Dom.removeClass(pd, "opened"); YAHOO.util.Dom.setStyle(pd.ph, "display", "none"); }; function optionClick(e, obj) { if (this.sel === true) { showPullDown(obj.selector); } else { changeHeadlines(this.index, obj.headlines, obj.selector); } }; return { init: function() { init(this); } };
} (); YAHOO.Media.Dtk.Thumbnails = function() {
    var setThis = false; var totalThumbs = 0; var perPage = 6; var currentIndex = 1; var selectedThumb = false; var nextLinkTop = false; var prevLinkTop = false; var nextLinkSide = false; var prevLinkSide = false; var setThis = false; function updatePhoto(uri, caption) { var photo = YAHOO.util.Dom.get("photo_detail"); photo.src = uri; photo.alt = caption.innerText; }; function updateNav(index) { var count = YAHOO.util.Dom.get("photo_count"); count.innerHTML = index; currentIndex = index; }; function getCurrentIndex() { return currentIndex; }; function updateCaption(p) { var caption = YAHOO.util.Dom.get("photo_caption"); caption.innerHTML = p.innerHTML; }
    function clearSelected() { if (selectedThumb) { YAHOO.util.Dom.removeClass(selectedThumb, "selected"); } }
    function clickThumb(e, obj) {
        if (e) YAHOO.util.Event.preventDefault(e); if (window.YAHOO.ads.darla) { YAHOO.ads.darla.event("LREC"); var zFrame = YAHOO.util.Dom.get("Z"); if (zFrame) zFrame.src = '/photos/view?t=' + Math.random(); }
        updatePhoto(obj.a.href, obj.caption); updateCaption(obj.caption); updateNav(obj.sort); clearSelected(); selectedThumb = obj.a; showSelected(); updatePrevNext(); scrollIntoView(obj.sort);
    }; function showSelected() { if (selectedThumb) { YAHOO.util.Dom.addClass(selectedThumb, "selected"); } }
    var updateSlideNavPage = function(current) {
        var start = (current * perPage) + 1; var end = (current * perPage) + perPage; if (end > totalThumbs) { end = totalThumbs; }
        var pageNav = YAHOO.util.Dom.get("slideNavPage"); pageNav.innerHTML = start + '-' + end;
    }; function returnObj(id) { var div = YAHOO.util.Dom.get(id); var sort = id; sort = sort.substring(5, sort.length); var a = div.getElementsByTagName("A")[0]; var p = div.getElementsByTagName("P")[0]; return { a: a, sort: sort, caption: p, div: div }; }; function updatePrevNext() { var prev = parseInt(currentIndex) - 1; var next = parseInt(currentIndex) + 1; if (next > totalThumbs) next = 1; if (prev <= 0) prev = totalThumbs; prevLinkTop.hash = 'sort_' + prev; prevLinkSide.hash = 'sort_' + prev; nextLinkTop.hash = 'sort_' + next; nextLinkSide.hash = 'sort_' + next; }
    function scrollIntoView(sort) { var sl = YAHOO.Media.Dtk.CarouselMgr.getCarousel("slideshownav"); var page = Math.ceil(sort / perPage); sl.scrollTo(page - 1); }
    function navClick(e, obj) { if (e) YAHOO.util.Event.preventDefault(e); var sort_id = this.hash; sort_id = sort_id.replace("#", ""); var obj = returnObj(sort_id); clickThumb(false, obj); }
    return { attach: function(id) {
        var cont = YAHOO.util.Dom.get(id); var lis = YAHOO.util.Dom.getElementsByClassName("dtk-item", "li", cont); lilen = lis.length; var sl = YAHOO.Media.Dtk.CarouselMgr.getCarousel("slideshownav"); slideshowChange = function(type, args) { updateSlideNavPage(args[0].carousel.current); }; sl.roundRobin = true; sl.onPageChange.subscribe(slideshowChange); var urlhash = document.location.hash + ""; var s = 1; var gt = urlhash.indexOf("goto"); if (gt >= 0) { s = urlhash.substring(gt + 5, (urlhash.length)); }
        for (var x = 0; x < lilen; x++) {
            var div = lis[x].getElementsByTagName("DIV")[0]; if (div.id) {
                var obj = returnObj(div.id); if (obj.sort == s) { s = obj; }
                totalThumbs++; YAHOO.util.Event.addListener(obj.a, "click", clickThumb, obj);
            } 
        }
        if (setThis == true) { return false; } else {
            setThis = true; var navContainer = YAHOO.util.Dom.get("photo_detail_nav"); var navlinks = navContainer.getElementsByTagName("A"); for (var x = 0; x < navlinks.length; x++) {
                if (YAHOO.util.Dom.hasClass(navlinks[x], "prev")) { prevLinkTop = navlinks[x]; prevLinkSide = prevLinkTop.cloneNode(true); } else if (YAHOO.util.Dom.hasClass(navlinks[x], "next")) { nextLinkTop = navlinks[x]; nextLinkSide = nextLinkTop.cloneNode(true); }
                YAHOO.util.Event.addListener(navlinks[x], "click", navClick);
            } 
        }
        var container = YAHOO.util.Dom.get("photo_container"); var photo_detail = YAHOO.util.Dom.get("photo_detail"); container.insertBefore(prevLinkSide, photo_detail); container.insertBefore(nextLinkSide, photo_detail); YAHOO.util.Event.addListener([prevLinkSide, nextLinkSide], "click", navClick); clickThumb(false, s);
    }, init: function(sp, pos) { YAHOO.ads.darla.initDarla(sp, pos); } 
    };
} (); YAHOO.Tv.reviewCommentCounter = function() {
    function init() { var comments = YAHOO.util.Dom.get("comments"); var counter = YAHOO.util.Dom.get("charcount"); YAHOO.util.Event.addListener("comments", "blur", commentsChanged, counter); YAHOO.util.Event.addListener("comments", "keyup", commentsChanged, counter); updateCounter(comments, counter); }; function commentsChanged(e, obj) { updateCounter(this, obj); }; function updateCounter(comments, counter) { strlen = comments.value.length; if (strlen > 6000) { comments.value = comments.value.substring(0, 6000); } else { counter.innerHTML = 6000 - strlen; } }
    return { init: function() { init(); } };
} (); YAHOO.namespace('Media.Dtk.ArticleTools'); YAHOO.Media.Dtk.ArticleTools.Email = new function() {
    var emailRegEx = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/; function trim(txt) { return txt.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1"); }
    function isValidEmail(s) {
        s = trim(s); if (s && !emailRegEx.test(s)) { return false; }
        return true;
    }
    return { isValidEmail: isValidEmail, checkEmails: function(idTo, idFrom) {
        var isOk = true; var emails = trim(YAHOO.util.Dom.get(idTo).value.replace(/;/g, ",")); if (emails === "") { isOk = false; } else { emails = emails.split(","); for (var i = 0; i < emails.length; i++) { if (!isValidEmail(emails[i])) { isOk = false; break; } } }
        if (!isOk) { YAHOO.util.Dom.get('dtk-err-to').innerHTML = "There is a problem with one or more email addresses entered"; } else { YAHOO.util.Dom.get('dtk-err-to').innerHTML = ""; }
        var from = trim(YAHOO.util.Dom.get(idFrom).value)
        if ((from === "") || !isValidEmail(from)) { YAHOO.util.Dom.get('dtk-err-from').innerHTML = "There is a problem with the email address entered"; isOk = false; } else { YAHOO.util.Dom.get('dtk-err-from').innerHTML = ""; }
        return isOk;
    }, addressBook: function() {
        document.domain = "yahoo.com"; var myPropertyName = "yfood"; var addURL = "http://mix200.address.yahoo.com/?A=e&VPC=kiosk&yprop=" + myPropertyName; addRemote = window.open(addURL, "AddressBook", "width=480,height=480,resizable=yes,scrollbars=yes,toolbar=no,status=0"); if (addRemote != null) { if (addRemote.opener == null) { addRemote.opener = self; } }
        addRemote.focus(); return addRemote;
    } }
    } (); YAHOO.Media.Dtk.ArticleTools.IM = new function() {
        var imMsg = "Check out this story on Yahoo!:"; var msgr_installed; var msgr_version = ""; var msgr_platform = ""; function init(imMsgAlt) {
            if (imMsgAlt) imMsg = imMsgAlt; var w, v; if (document.all) { v = document.all.not_Ymsgr; } else { v = document.getElementById("not_Ymsgr"); }
            if (v) { w = document.getElementById("Ymsgr"); if (w && w.offsetHeight) { msgr_installed = 1; msgr_version = "5"; msgr_platform = "w32"; } else { msgr_installed = 1; } } else { msgr_installed = 1; msgr_version = "5"; msgr_platform = "w32"; }
            if (navigator.mimeTypes && navigator.mimeTypes.length) { for (var i = 0; i < navigator.mimeTypes.length; i++) { if (navigator.mimeTypes[i].suffixes.indexOf("yps") > -1) { msgr_installed = 1; msgr_version = ""; msgr_platform = ""; break; } } } 
        }
        init(); return { init: init, hasMsgr: function() {
            var a = document.cookie; var b = a.split("; "); for (var c = 0; c < b.length; c++) {
                var d = b[c].indexOf("="); var e = b[c].substring(0, d); var f = b[c].substring(d + 1); if (e == "C") {
                    alert(f); var g = f.split("& "); for (h = 0; h < g.length; h++) {
                        var i = g[h].indexOf("="); var j = g[h].substring(0, i); var k = g[h].substring(i + 1); if (j == "mg" && k == "1")
                            return true;
                    } 
                } 
            }
            return false;
        }, setIntroMsg: function(s) { if (s) imMsg = s; }, imStory: function(hdline, lnk) {
            if (msgr_installed) { location.href = "ymsgr:im?msg=" + imMsg + "+" + hdline + "+" + lnk; } else { if (confirm("You do not appear to have Yahoo! Messenger installed. Would you like to install it now?")) { location.href = "http://messenger.yahoo.com"; } }
            return false;
        } }
        } (); YAHOO.Media.Dtk.ArticleTools.Print = new function() {
            var sRootNodeId = ""; var sTextClass = "dtk-art-text"; var sTextClassTag = "div"; var sImageClass = "dtk-art-image"; var sImageClassTag = "div"; var sAdClass = "dtk-art-ad"; var sAdClassTag = "div"; var sCommentClass = "dtk-art-comment"; var sCommentClassTag = "div"; var sHideClass = "dtk-art-print-hide"; var sTextCtrlId = "dtk-print-text"; var sImageCtrlId = "dtk-print-images"; var sAdCtrlId = "dtk-print-ads"; var sCommentCtrlId = "dtk-print-comments"; var sSendPrinterCtrlId = "dtk-print-send"; var aTextNodes; var aImageNodes; var aAdNodes; var aCommentNodes; function togglePrint(arNodes, bVisible) { if (bVisible) { YAHOO.util.Dom.removeClass(arNodes, sHideClass); } else { YAHOO.util.Dom.addClass(arNodes, sHideClass); } }
            function onToggleText(e, o) { if (aTextNodes) { togglePrint(aTextNodes, o.checked); } }
            function onToggleImages(e, o) { if (aImageNodes) { togglePrint(aImageNodes, o.checked); } }
            function onToggleAds(e, o) { if (aAdNodes) { togglePrint(aAdNodes, o.checked); } }
            function onToggleComments(e, o) { if (aCommentNodes) { togglePrint(aCommentNodes, o.checked); } }
            function onSendPrinter(e, o) { window.focus(); window.print(); }
            function addListeners() {
                var ctrl = YAHOO.util.Dom.get(sTextCtrlId); if (ctrl) { YAHOO.util.Event.addListener(ctrl, 'click', onToggleText, ctrl, true); }
                ctrl = YAHOO.util.Dom.get(sImageCtrlId); if (ctrl) { YAHOO.util.Event.addListener(ctrl, 'click', onToggleImages, ctrl, true); }
                ctrl = YAHOO.util.Dom.get(sAdCtrlId); if (ctrl) { YAHOO.util.Event.addListener(ctrl, 'click', onToggleAds, ctrl, true); }
                ctrl = YAHOO.util.Dom.get(sCommentCtrlId); if (ctrl) { YAHOO.util.Event.addListener(ctrl, 'click', onToggleComments, ctrl, true); }
                ctrl = YAHOO.util.Dom.get(sSendPrinterCtrlId); if (ctrl) { YAHOO.util.Event.addListener(ctrl, 'click', onSendPrinter, ctrl, true); } 
            }
            return { init: function(oArgs) {
                aTextNodes = YAHOO.util.Dom.getElementsByClassName(sTextClass, sTextClassTag); aImageNodes = YAHOO.util.Dom.getElementsByClassName(sImageClass, sImageClassTag); aAdNodes = YAHOO.util.Dom.getElementsByClassName(sAdClass, sAdClassTag); aCommentNodes = YAHOO.util.Dom.getElementsByClassName(sCommentClass, sCommentClassTag); if (oArgs) { sRootNodeId = oArgs.rootNode || sRootNodeId; sTextClass = oArgs.textClass || sTextClass; sTextClassTag = oArgs.textClassTag || sTextClassTag; sImageClass = oArgs.imageClass || sImageClass; sImageClassTag = oArgs.imageClassTag || sImageClassTag; sAdClass = oArgs.adClass || sAdClass; sAdClassTag = oArgs.adClassTag || sAdClassTag; sCommentClass = oArgs.commentClass || sCommentClass; sCommentClassTag = oArgs.commentClassTag || sCommentClassTag; sHideClass = oArgs.hideClass || sHideClass; sTextCtrlId = oArgs.hideTextCtrl || sTextCtrlId; sImageCtrlId = oArgs.hideImageCtrl || sImageCtrlId; sAdCtrlId = oArgs.hideAdCtrl || sAdCtrlId; sCommentCtrlId = oArgs.hideCommentCtrl || sCommentCtrlId; sSendPrinterCtrlId = oArgs.sendPrinterCtrl || sSendPrinterCtrlId; aTextNodes = oArgs.aTextNodes || aTextNodes; aImageNodes = oArgs.aImageNodes || aImageNodes; aAdNodes = oArgs.aAdNodes || aAdNodes; aCommentNodes = oArgs.aCommentNodes || aCommentNodes; }
                addListeners();
            } }
            } (); (function() {
                var TV = YAHOO.namespace('Media.Tv'); var $L = TV.Lineup = function(el, args) {
                    var me = this; var pages = []; var thresholds = []; var lineupForm; var days = []; var daysUL = null; var _element = null; var slider = null; var scrollEndTimeout = null; var cal = null; var vpages = []; var opages = [], stack = [], unhook = []; var release = function(lnk) {
                        if (typeof (lnk) == 'array') {
                            for (var i = lnk.length - 1; i > -1; i--) { release(lnk[i]); }
                            return;
                        }
                        unhook.push(lnk);
                    }; var unload = function() {
                        for (var i = unhook.length - 1; i > -1; i--) {
                            var a = unhook[i]; if (a) { }
                            a = unhook[i] = null;
                        }
                        unhook = null; for (var i = stack.length - 1; i > -1; i--) { var C = stack[i]; }
                        cal = null; daysUL = null; _element = null; slider = null;
                    }; this.returnElement = function() { return _element; }; var updateVisible = function() { vpages.length = 0; opages.length = 0; var scrTop = (window.pageYOffset) ? window.pageYOffset : (document.documentElement) ? document.documentElement.scrollTop : document.body.scrollTop; var bottom = scrTop + YAHOO.util.Dom.getViewportHeight(); for (var x = 0; x < pages.length; x++) { if (((pages[x].region.top > scrTop) && (pages[x].region.top < bottom)) || ((pages[x].region.bottom > scrTop) && (pages[x].region.bottom < bottom))) { vpages.push(x); } else { opages.push(x); } } }; this.scrollEnd = function() { updateVisible(); YAHOO.log("in scroll end"); me.submitForm(); }; var scrollWindow = function(e, obj) { if (scrollEndTimeout) clearTimeout(scrollEndTimeout); var to = function(c) { return function() { c.scrollEnd(); } }; scrollEndTimeout = setTimeout(to(me), 100); }; var fetchChannels = function() { pages[0].fetchChannels(); }; this.submitForm = function() { fetchChannels(); }; var unloadPages = function() { for (var x = 0; x < pages.length; x++) { pages[x].loaded = false; } }; this.moveToTick = function(dir) { YAHOO.log("Moving to by: " + dir.toString()); var tick = _element.starttime.selectedIndex + dir; YAHOO.log("Moving to: " + tick); _element.starttime.selectedIndex = tick; if (slider) { slider.updateForm = false; YAHOO.log("Moving to this x: " + me.increment * tick); slider.setValue(me.increment * tick, true); } }; this.bump = function(dir, jump, index) {
                        me.moveToTick(dir); if (window.YAHOO.ads.darla) { YAHOO.ads.darla.event("sky"); var zFrame = YAHOO.util.Dom.get("LZ"); if (zFrame) zFrame.src = '/listings/view?t=' + Math.random(); }
                        if (me.gridtype == 'mini') { pages[0].scrollToDir(dir); } else { pages[0].fetchChannels(); } 
                    }; var slideEnd = function() { var x = this.getXValue(); var pos = Math.round(x / me.increment); YAHOO.log("pos: " + pos); _element.starttime.selectedIndex = pos; _element.endtime.value = parseInt(_element.starttime.options[_element.starttime.selectedIndex].value, 10) + (60 * 60 * 9); if (this.updateForm) { unloadPages(); updateVisible(); me.submitForm(); } else { this.updateForm = true; } }; this.sliderInit = function() {
                        daysUL = YAHOO.util.Dom.get("days"); if (!daysUL) return; var numDays = 0; var curr_day = ''; slider = YAHOO.widget.Slider.getHorizSlider("timeline", "timelinethumb", 0, 611, me.increment); for (var x = 0; x < _element.starttime.options.length; x++) {
                            if (_element.starttime.options[x].selected) { slider.setValue(me.increment * x, true); }
                            var daytime = _element.starttime.options[x].text.toString().split(', '); if (x == 0) { }
                            if (curr_day != daytime[0]) { curr_day = daytime[0]; var strong = document.createElement("STRONG"); var t = document.createTextNode(curr_day); strong.appendChild(t); days[x] = document.createElement("LI"); days[x].appendChild(strong); daysUL.appendChild(days[x]); days[x] = null; } 
                        }
                        var calStartDay = _element.calStartDay.value; var calStartMonth = _element.calStartMonth.value; var calStartYear = _element.calStartYear.value; var calEndDay = _element.calEndDay.value; var calEndMonth = _element.calEndMonth.value; var calEndYear = _element.calEndYear.value; var startday = _element.startday.value; var startmonth = _element.startmonth.value; var startyear = _element.startyear.value; var calContainer = "calContainer"; if (calStartMonth != calEndMonth) {
                            calContainer = "cal2Container"
                            cal = new YAHOO.widget.CalendarGroup("cal", calContainer, { pagedate: calStartMonth + '/' + calStartYear, selected: startmonth + '/' + startday + '/' + startyear });
                        } else { cal = new YAHOO.widget.Calendar("cal", calContainer, { pagedate: calStartMonth + '/' + calStartYear, selected: startmonth + '/' + startday + '/' + startyear }); }
                        var restrictBefore = calStartMonth + '/1/' + calStartYear + '-' + calStartMonth + '/' + (calStartDay - 1) + '/' + calStartYear; var restrictAfter = calEndMonth + '/' + (parseInt(calEndDay) + 1) + '/' + calEndYear + '-' + calEndMonth + '/31/' + calEndYear; cal.addRenderer(restrictBefore + ',' + restrictAfter, cal.renderBodyCellRestricted); var selectHandler = function(type, args, obj) {
                            var selected = args[0]; selectedDate = selected.toString().split(','); year = selectedDate[0]; month = selectedDate[1]; day = selectedDate[2]; toggleCalendar(false, YAHOO.util.Dom.get("calContainer")); var searchString = document.location.search + ''; sPairs = searchString.substring(1, searchString.length).split("&"); var carryThru = []; if (searchString.length > 0) { for (var x = 0; x < sPairs.length; x++) { sParts = sPairs[x].split('='); if ((sParts[0] != 'startmonth') && (sParts[0] != 'startyear') && (sParts[0] != 'startday')) { carryThru.push(sParts.join("=")); } } }
                            var locstring = '/listings?startmonth=' + month + '&startday=' + day + '&startyear=' + year; for (var x = 0; x < carryThru.length; x++) { locstring += '&' + carryThru[x]; }
                            document.location = locstring;
                        }
                        cal.selectEvent.subscribe(selectHandler, cal, true); var seldates = YAHOO.util.Dom.getElementsByClassName("selectDate", "a", YAHOO.util.Dom.get("gridheader")); var selregion = YAHOO.util.Dom.getRegion(seldates[0]); var c = YAHOO.util.Dom.get(calContainer); YAHOO.util.Event.addListener(seldates[0], "click", toggleCalendar, c); var closes = YAHOO.util.Dom.getElementsByClassName("close", "A", c); YAHOO.util.Event.addListener(closes[0], "click", toggleCalendar, c); YAHOO.util.Dom.setXY(c, [selregion.left, selregion.bottom]); cal.render(); slider.onSlideEnd = slideEnd; release(seldates); release(c); release(daysUL);
                    }; var toggleCalendar = function(e, obj) { if (e) YAHOO.util.Event.preventDefault(e); if (YAHOO.util.Dom.getStyle(obj, "visibility") == 'hidden') { YAHOO.util.Dom.setStyle(obj, "visibility", "visible"); } else { YAHOO.util.Dom.setStyle(obj, "visibility", "hidden"); } }; var hideCalendar = function(e, obj) { YAHOO.util.Event.preventDefault(e); YAHOO.util.Dom.setStyle(obj, "visibility", "hidden"); }; var handleJumpLinks = function(e) { YAHOO.util.Event.stopEvent(e); var qs = this.search; qs = qs.replace("?", ""); var pieces = qs.split("&"); for (var x = 0; x < pieces.length; x++) { var pair = pieces[x].split("="); if (pair[0] == 'pi') { _element.starttime.selectedIndex = pair[1]; unloadPages(); me.submitForm(); } } }; this.init = function(el, args) {
                        el = YAHOO.util.Dom.get(el); if (el) { _element = el; }
                        var ps = YAHOO.util.Dom.getElementsByClassName("grid-pages", "div", document); release(ps); var page_els = YAHOO.util.Dom.getElementsByClassName("page", "div", ps[0]); var pw = 630; var cw = 3.5; if (_element.gridtype.value == 'mini') { pw = 234; cw = 2.6; me.gridtype = 'mini'; }
                        for (var x = 0; x < page_els.length; x++) { var args = { p: this, pageIndex: x, formObj: _element, pageWidth: pw, colWidth: cw, gridtype: _element.gridtype.value }; pages[x] = new $P(page_els[x], args); thresholds[x] = pages[x].region.bottom; }
                        var grdhd = YAHOO.util.Dom.getElementsByClassName("gridhd", "div", document); if (grdhd.length) { var lnks = grdhd[0].getElementsByTagName("A"); YAHOO.util.Event.addListener(lnks, "click", handleJumpLinks); }
                        release(grdhd); release(lnks); YAHOO.util.Event.addListener(_element.starttime, "change", me.submitForm); this.scrollEnd(); if (!slider) { this.submitForm(); }
                        if (!el) { return false; }
                        release(el);
                    }; this.init(el, args); el = null;
                }; $L.prototype = { increment: 5.08, oConObj: null }; var $P = TV.Page = function(el, args) {
                    var me = this; var _element = null; var rows = {}; var scrollers = []; var heads = []; var stack = []; this.region = null; this.loaded = false; this.currentScroll = 0; this.scrolling = false; this.openLoadingIndicator = function() {
                        YAHOO.util.Dom.addClass(_element, "wait"); if (!this.loadIndicator) return; var imgs = this.loadIndicator.getElementsByTagName("IMG"); for (var x = 0; x < imgs.length; x++) { imgs[x].src = imgs[x].src.toString().split("?")[0] + "?" + Math.random(); }
                        YAHOO.util.Dom.setStyle(this.loadIndicator, "display", "block"); var reg = YAHOO.util.Dom.getRegion(_element); YAHOO.util.Dom.setStyle(this.loadIndicator, "position", "absolute"); var scrTop = (window.pageYOffset) ? window.pageYOffset : (document.documentElement) ? document.documentElement.scrollTop : document.body.scrollTop; var baseline = parseInt(reg.top); if (scrTop > parseInt(reg.top)) { baseline = scrTop; }
                        var top = baseline + 50; YAHOO.util.Dom.setStyle(this.loadIndicator, "top", top + "px");
                    }
                    this.closeLoadingIndicator = function() { YAHOO.util.Dom.removeClass(_element, "wait"); if (!this.loadIndicator) return; YAHOO.util.Dom.setStyle(this.loadIndicator, "display", "none"); }
                    this.update = function(html, d) {
                        this.closeLoadingIndicator(); YAHOO.log("start"); _element.innerHTML = html; me.resizeShows(); if (me.gridtype == 'mini') {
                            scrollers = YAHOO.util.Dom.getElementsByClassName("tails", "div", _element); var chULs = YAHOO.util.Dom.getElementsByClassName("channels", "ul", _element); for (var i = 0; i < chULs.length; i = i + 2) { var h = YAHOO.util.Dom.getElementsByClassName("row", "li", chULs[i]); var t = YAHOO.util.Dom.getElementsByClassName("row", "li", chULs[i + 1]); for (var x = h.length - 1; x >= 0; x--) { var id = YAHOO.util.Dom.generateId(h[x]); t[x].head = id; h[x] = null; } }
                            switch (d) { case 'prev': me.scrollAttr.scroll.from = [me.pageWidth + (me.pageWidth / 3), 0]; me.scrollAttr.scroll.to = [me.pageWidth, 0]; me.prevHTML = false; me.nextHTML = false; break; case 'next': me.scrollAttr.scroll.from = [me.pageWidth - (me.pageWidth / 3), 0]; me.scrollAttr.scroll.to = [me.pageWidth, 0]; me.prevHTML = false; me.nextHTML = false; break; default: me.scrollAttr.scroll.from = [me.pageWidth, 0]; me.scrollAttr.scroll.to = [me.pageWidth, 0]; break; }
                            YAHOO.log("b4 loop"); var doit = function(el) { return function() { if (el.scrollAnim) el.scrollAnim.animate(); } }; for (var x = 0; x < scrollers.length; x++) { scrollers[x].scrollAnim = new YAHOO.util.Scroll(scrollers[x], me.scrollAttr, 1, YAHOO.util.Easing.easeOut); scrollers[x].scrollAnim.onComplete.subscribe(oncomplete); scrollers[x].scrollAnim.onStart.subscribe(onstart); scrollers[x].scrollAnim.onTween.subscribe(ontween); setTimeout(doit(scrollers[x]), 0); YAHOO.util.Event.addListener(scrollers[x], "scroll", function(e) { YAHOO.util.Event.stopPropagation(e); }); }
                            YAHOO.log("end");
                        }
                        me.attachEvents(); sg = ""; if (me.formObj.subgenre && me.formObj.subgenre.selectedIndex) { sg = me.formObj.subgenre[me.formObj.subgenre.selectedIndex].value; }
                        if (sg) { YAHOO.util.Event.onAvailable("lineup", YAHOO.Tv.Lineup.init); }
                        me.loaded = true;
                    }; var ontween = function() { me.scrolling = true; }; var onstart = function() { if (this.getEl().innerHTML == '') { this.stop(); } }
                    this.getCurrentScroll = function() { YAHOO.log("CURRENT SCROLL: " + me.currentScroll); return me.currentScroll; }; var scrollNext = function(e) { YAHOO.util.Event.preventDefault(e); if (!me.scrolling) { closeAll(); me._parent.bump(1); } }; var scrollPrev = function(e) { YAHOO.util.Event.preventDefault(e); if (!me.scrolling) { closeAll(); me._parent.bump(-1); } }; this.scrollToDir = function(dir) {
                        var doAnim = false; if (dir > 0) { if (me.getCurrentScroll() == (2 * me.pageWidth)) { if (me.nextHTML) { me.update(me.nextHTML, 'next'); } else { me.loaded = false; me._parent.scrollEnd(); } } else { YAHOO.log("scroll To NEXT"); me.fetchChannels('next'); doAnim = true; } } else if (dir < 0) { if (me.getCurrentScroll() == 0) { if (me.prevHTML) { me.update(me.prevHTML, 'prev'); } else { me.loaded = false; me._parent.scrollEnd(); } } else { YAHOO.log("scroll To PREV"); me.fetchChannels('prev'); doAnim = true; } }
                        if (doAnim) { me.scrollAttr.scroll.from = [me.getCurrentScroll(), 0]; me.scrollAttr.scroll.to = [(me.getCurrentScroll() + (dir * (me.pageWidth / 3))), 0]; var doit = function(el) { return function() { if (el.scrollAnim) el.scrollAnim.animate(); } }; for (var x = 0; x < scrollers.length; x++) { setTimeout(doit(scrollers[x]), 0); } } 
                    }; this.attachEvents = function() { YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName("forward", "a", _element), "click", scrollNext); YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName("back", "a", _element), "click", scrollPrev); }; var openShow = null; var rows = []; var oConObj; var clickShow = function(e, obj) { YAHOO.util.Event.preventDefault(e); if (openShow == this) { clickClose(e); } else { openClick(this); } }; var openClick = function(obj) {
                        var li = obj.parentNode.parentNode.parentNode; var id = YAHOO.util.Dom.generateId(li); if (!rows[id]) rows[id] = li; if (!rows[id].openAnim) { rows[id].openAnim = new YAHOO.util.Anim(id, { height: { from: 50, to: 180} }, 1, YAHOO.util.Easing.bounceOut); rows[id].openAnim.onComplete.subscribe(openedLi); rows[id].openAnim.onStart.subscribe(startOpen); rows[id].closeAnim = new YAHOO.util.Anim(id, { height: { from: 180, to: 50} }, 1, YAHOO.util.Easing.bounceOut); rows[id].closeAnim.onComplete.subscribe(closedLi); rows[id].closeAnim.onStart.subscribe(startClose); rows[id].opened = false; }
                        closeAll(id); YAHOO.log("clicked:" + id + " : " + (!rows[id].opened)); if (!rows[id].opened) { rows[id].openAnim.animate(); }
                        if (openShow) { YAHOO.util.Dom.removeClass(openShow, "selected"); }
                        openShow = obj; YAHOO.util.Dom.addClass(openShow, "selected"); fetchShowInfo({ show: obj, li: li }); li = null;
                    }; var fetchShowInfo = function(obj) {
                        var callback = { success: fetchShowSuccess, failure: fetchShowFailure, argument: obj }
                        v = obj.show.startTime; ep = obj.show.epId; s = v; e = v + (60 * 60 * 3) - 1; cn = obj.show.chNum; if (oConObj && YAHOO.util.Connect.isCallInProgress(oConObj)) { YAHOO.util.Connect.abort(oConObj); }
                        oConObj = YAHOO.util.Connect.asyncRequest('GET', '/tribuneInfo?tribuneid=' + obj.show.tribId + '&showid=' + obj.show.showId + '&headend=' + me.formObj.headend.value + '&starttime=' + s + '&endtime=' + e + '&channelNum=' + cn + '&epId=' + ep, callback, null);
                    }; var startOpen = function() { var el = this.getEl(); el.opened = true; var reg = YAHOO.util.Dom.getRegion(el.parentNode.parentNode); var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); YAHOO.util.Dom.setStyle(tribuneInfo, "width", (reg.right - reg.left - 130) + "px"); YAHOO.util.Dom.addClass(this.getEl(), "opened"); }; var startClose = function() { this.getEl().opened = false; var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); YAHOO.util.Dom.setX(tribuneInfo, -3000); tribuneInfo.innerHTML = ''; }; var fetchShowSuccess = function(o) {
                        var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); if (!o.argument.li.opened) { o.argument.li.openAnim.animate(); }
                        tribuneInfo.innerHTML = o.responseText; var closeLink = YAHOO.util.Dom.getElementsByClassName("close", "a", tribuneInfo); if (closeLink[0]) { YAHOO.util.Event.addListener(closeLink[0], "click", clickClose); } 
                    }; var clickClose = function(e) { YAHOO.util.Event.stopEvent(e); closeAll(); }; var fetchShowFailure = function(o) { }; var closeAll = function(id) {
                        for (var r in rows) { if (rows[r].opened && rows[r].closeAnim) { if (r != id) { YAHOO.log("r:" + r); rows[r].closeAnim.animate(); } } }
                        if (openShow) {
                            var focusThis = function(el) { return function() { el.focus(); } }
                            setTimeout(focusThis(YAHOO.util.Dom.get(openShow)), 0); YAHOO.util.Dom.removeClass(openShow, "selected"); openShow = null;
                        } 
                    }
                    var openedLi = function() {
                        this.getEl().opened = true; var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); var XY = YAHOO.util.Dom.getXY(this.getEl()); var offset = 0; if (!YAHOO.util.Event.isIE) { offset = 2; }
                        YAHOO.util.Dom.setXY(tribuneInfo, [XY[0] + 128, XY[1] + 50 + offset]);
                    }; var closedLi = function() { YAHOO.util.Dom.removeClass(this.getEl(), "opened"); var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); YAHOO.util.Dom.setX(tribuneInfo, -3000); }; var oncomplete = function() {
                        me.scrolling = false; var uls = YAHOO.util.Dom.getElementsByClassName("shows", "ul", _element); me.currentScroll = this.getEl().scrollLeft; var doIt = function(el, o) {
                            var items = YAHOO.util.Dom.getElementsByClassName("show", "li", el); var il = items.length; var thresh = YAHOO.util.Dom.getX(YAHOO.util.Dom.getElementsByClassName("tails", "div", o)[0]); var redge = 234; for (var x = 0; x < (il - 1); x++) {
                                var curr_left = parseInt(YAHOO.util.Dom.getX(items[x])) - parseInt(thresh); var next_left = parseInt(YAHOO.util.Dom.getX(items[x + 1])) - parseInt(thresh); YAHOO.log("################thresh:" + thresh); if ((curr_left < -1) && (next_left > 1)) { YAHOO.log("trunc LEFT === next_left:" + next_left + " curr_left:" + curr_left + " html:" + items[x].innerHTML); var divs = items[x].getElementsByTagName("DIV"); if (divs.length) { YAHOO.util.Dom.setStyle(divs[0], "marginLeft", ((curr_left * -1)) + "px"); YAHOO.util.Dom.setStyle(divs[0], "paddingLeft", "10px"); YAHOO.util.Dom.addClass(items[x], "morel"); YAHOO.util.Dom.setStyle(items[x], "backgroundPosition", ((curr_left * -1) + 2) + "px top"); } }
                                if ((curr_left < redge) && (next_left > redge)) {
                                    var div = items[x].getElementsByTagName("DIV"); if (div.length) { var mRight = (parseInt(next_left) - parseInt(redge)); YAHOO.util.Dom.setStyle(div[0], "marginRight", mRight + "px"); YAHOO.util.Dom.setStyle(div[0], "paddingRight", "14px"); YAHOO.util.Dom.addClass(items[x], "morer"); YAHOO.util.Dom.setStyle(items[x], "backgroundPosition", ((next_left - curr_left) - (mRight + 14)) + "px top"); }
                                    break;
                                } 
                            } 
                        }; if (uls.length && me.gridtype == 'mini') { } 
                    }; this.resizeShows = function() {
                        var lis = YAHOO.util.Dom.getElementsByClassName("show", "li", _element); var resize = function(el, o) {
                            var sNames = el.className; var classNames = sNames.split(" "); for (var x = 0; x < classNames.length; x++) {
                                var sName = classNames[x]; if (sName.indexOf("dur_") != -1) { var width = parseInt(sName.substring(4, sName.length)) * o.colWidth; YAHOO.util.Dom.setStyle(el, "width", width + "px"); }
                                if (sName.indexOf("start_") != -1) { var left = parseInt(sName.substring(6, sName.length)) * o.colWidth; el.startTime = parseInt(sName.substring(6, sName.length)); YAHOO.util.Dom.setStyle(el, "position", "absolute"); YAHOO.util.Dom.setStyle(el, "left", left + "px"); }
                                if (sName.indexOf("tribid_") != -1) { el.tribId = sName.substring(7, sName.length); }
                                if (sName.indexOf("chNum_") != -1) { el.chNum = sName.substring(6, sName.length); }
                                if (sName.indexOf("epId_") != -1) { el.epId = sName.substring(5, sName.length); }
                                if (sName.indexOf("show_") != -1) { el.showId = sName.substring(5, sName.length); }
                                if (sName.indexOf("row_") != -1) { el.rowNum = sName.substring(4, sName.length); } 
                            } 
                        }; if (lis.length) { YAHOO.util.Dom.batch(lis, resize, me); if (me.gridtype == 'full') { YAHOO.util.Event.addListener(lis, "click", clickShow); } }
                        var titles = YAHOO.util.Dom.getElementsByClassName("showTitle", "a", _element); if (titles.length) {
                            var startTruncTitle = function(o) {
                                return function() {
                                    var truncTitle = function(el) {
                                        var trunc = function(el) {
                                            var txt = el.innerHTML; oglen = txt.length; txt = txt.substring(0, (oglen - 8)); if (txt.charAt(txt.length - 1) == ' ') { txt = txt.substring(0, txt.length - 1); }
                                            txt += '&hellip;'; el.innerHTML = txt;
                                        }; var testIt = function(el) { var reg = YAHOO.util.Dom.getRegion(el); return ((reg.bottom - reg.top) > 33); }; var c = 0; while (testIt(el)) { YAHOO.log('count:' + c); c++; trunc(el); } 
                                    }; truncTitle(o);
                                } 
                            }
                            var asyncBatch = function(items, action, done, step, pause) {
                                var len = items.length; var index = 0; if (!step || isNaN(step) || step < 0) { step = 10; }
                                if (!pause || isNaN(pause) || pause < 0) { pause = 0; }
                                if (!done || typeof (done) !== 'function') { done = function() { }; }
                                var batch = function() {
                                    for (var i = 0; (i < step || step === 0) && index < len; i++, index++) { window.setTimeout(action(items[index]), pause); }
                                    if (index < len) { window.setTimeout(batch, pause); } else { done(items); } 
                                }; window.setTimeout(batch, pause);
                            };
                        } 
                    }; this.fetchChannels = function(offset) {
                        var callback = { success: fetchChannelsSuccess, failure: fetchChannelsFailure, argument: { offset: offset} }
                        var s, e, h, p, g, v, t; switch (offset) { case 'next': v = parseInt(me.formObj.starttime[me.formObj.starttime.selectedIndex + 1].value, 10); break; case 'prev': v = parseInt(me.formObj.starttime[me.formObj.starttime.selectedIndex - 1].value, 10); break; default: v = parseInt(me.formObj.starttime[me.formObj.starttime.selectedIndex].value, 10); break; }
                        cframe = 'channelFrame'; if (me.gridtype == 'mini') { s = v - (60 * 60 * 1.5); e = v + (60 * 60 * 3) - 1; cframe = 'channelData'; } else { s = v; e = v + (60 * 60 * 3) - 1; }
                        h = me.formObj.headend.value; p = me.formObj.channelNums[me.pageIndex].value; tz = me.formObj.tz.value; sp = ''; if (me.formObj.sp) sp = me.formObj.sp.value; if (me.formObj.genre.selectedIndex) { g = me.formObj.genre[me.formObj.genre.selectedIndex].value; } else { g = ""; }
                        sg = ""; if (me.formObj.subgenre && me.formObj.subgenre.selectedIndex) { sg = me.formObj.subgenre[me.formObj.subgenre.selectedIndex].value; }
                        ld = me.formObj.distribution.value; t = me.formObj.gridtype.value; if (me.oConObj && YAHOO.util.Connect.isCallInProgress(me.oConObj)) { YAHOO.util.Connect.abort(me.oConObj); }
                        if (!offset) { closeAll(); this.openLoadingIndicator(); }
                        me.oConObj = YAHOO.util.Connect.asyncRequest('GET', '/' + cframe + '?starttime=' + s + '&endtime=' + e + '&channelNums=' + p + '&headend=' + h + '&genre=' + g + '&subgenre=' + sg + '&gridtype=' + t + '&page=' + me.pageIndex + '&tz=' + tz + '&ld=' + ld + '&sp=' + sp, callback, null);
                    }; var fetchChannelsSuccess = function(o) { switch (o.argument.offset) { case 'next': me.nextHTML = o.responseText; break; case 'prev': me.prevHTML = o.responseText; break; default: me.update(o.responseText); break; } }; var fetchChannelsFailure = function(o) { }; var unloadPage = function() {
                        for (var r in rows) { rows[r].head = null; rows[r].openAnim = null; rows[r].headOpen = null; rows[r].closeAnim = null; rows[r].headClose = null; rows[r].opened = null; rows[r] = null; }
                        rows = {}; for (var i = stack.length - 1; i > -1; i--) { var C = stack[i]; C.head = null; C = null; }
                        for (var x = scrollers.length - 1; x >= 0; x--) { scrollers[x].scrollAnim = null; scrollers[x] = null; }
                        openShow = null;
                    }; var unload = function() { _element = null; me.formObj = null; me._parent = null; unloadPage(); }; YAHOO.util.Event.addListener(window, 'unload', unload); this.init = function(el, args) {
                        el = YAHOO.util.Dom.get(el); if (el) { _element = el; }
                        this.region = YAHOO.util.Dom.getRegion(el); this._parent = args.p; this.pageIndex = args.pageIndex; this.formObj = args.formObj
                        this.pageWidth = args.pageWidth; this.colWidth = args.colWidth; this.gridtype = args.gridtype; this.loadIndicator = YAHOO.util.Dom.get("loadingIndicator"); if (!el) { return false; }
                        el = null;
                    }; this.init(el, args); el = null; args.formObj = null;
                }; $P.prototype = { scrollAttr: { scroll: { from: [0, 0], to: [0, 0]} }, scrollDur: 1, easingMethod: YAHOO.util.Easing.easeOut, _parent: null, pageIndex: 0, formObj: null, pageWidth: 630, colWidth: 3.5, nextHTML: false, prevHTML: false }; var purge = function(d) {
                    var a = d.attributes, i, l, n; if (a) { l = a.length; for (i = 0; i < l; i += 1) { n = a[i].name; if (typeof d[n] === 'function') { d[n] = null; } } }
                    a = d.childNodes; if (a) { l = a.length; for (i = 0; i < l; i += 1) { purge(d.childNodes[i]); } } 
                }; var initLineups = function() {
                    var ls = YAHOO.util.Dom.getElementsByClassName("channelData", "form", document); var he = ''; var sp = ''; if (ls.length) { if (ls[0].elements.sp) { sp = ls[0].elements.sp.value; } }
                    for (var x = ls.length - 1; x >= 0; x--) { var lu = new $L(ls[x]); ls[x] = null; }
                    lu = null; ls = null; var fc = YAHOO.util.Dom.getElementsByClassName("displayFav", "form", document); if (fc[0]) { handleFavorites(fc[0]); attachChangeLineup(he); YAHOO.Tv.FullPageListings.init(); } 
                }; YAHOO.Tv.FullPageListings = function() {
                    var init = function() { var fg = YAHOO.util.Dom.get("fullgrid"); var channelDivs = YAHOO.util.Dom.getElementsByClassName("channels", "ul", fg); for (var x = 0; x < channelDivs.length; x++) { YAHOO.util.Event.addListener(channelDivs[x], "click", clickDiv); } }; var checkTarget = function(obj, cap) { if (obj == cap) return true; if ((obj.nodeName == 'LI') && (obj.className.indexOf('tribid_') > 0)) { return true; } else { return false; } }; var clickDiv = function(e, obj) {
                        YAHOO.util.Event.stopEvent(e); var tg = YAHOO.util.Event.getTarget(e); while (!checkTarget(tg, obj)) { tg = tg.parentNode; }
                        if (tg && (tg !== this)) { var stringID = '' + this.parentNode.id; var he = stringID.substring(9, stringID.length); tg.headend = he; clickShow(e, tg); } 
                    }; var openShow = null; var rows = []; var oConObj; var clickShow = function(e, obj) { YAHOO.util.Event.preventDefault(e); if (openShow == obj) { clickClose(e); } else { openClick(obj); } }; var openClick = function(obj) {
                        var li = obj.parentNode.parentNode.parentNode; var id = YAHOO.util.Dom.generateId(li); if (!rows[id]) rows[id] = li; if (!rows[id].openAnim) { rows[id].openAnim = new YAHOO.util.Anim(id, { height: { from: 50, to: 180} }, 0.2, YAHOO.util.Easing.bounceOut); rows[id].openAnim.onComplete.subscribe(openedLi); rows[id].openAnim.onStart.subscribe(startOpen); rows[id].closeAnim = new YAHOO.util.Anim(id, { height: { from: 180, to: 50} }, 0.1, YAHOO.util.Easing.bounceOut); rows[id].closeAnim.onComplete.subscribe(closedLi); rows[id].closeAnim.onStart.subscribe(startClose); rows[id].opened = false; }
                        closeAll(id); YAHOO.log("clicked:" + id + " : " + (!rows[id].opened)); if (!rows[id].opened) { rows[id].openAnim.animate(); }
                        if (openShow) { YAHOO.util.Dom.removeClass(openShow, "selected"); }
                        openShow = obj; YAHOO.util.Dom.addClass(openShow, "selected"); fetchShowInfo({ show: obj, li: li }); li = null;
                    }; var fetchShowInfo = function(obj) {
                        var callback = { success: fetchShowSuccess, failure: fetchShowFailure, argument: obj }
                        var sNames = obj.show.className; var classNames = sNames.split(" "); var tid = ''; var sid = ''; var v = 0; var cnum = 'all'; var epid = 0; for (var x = 0; x < classNames.length; x++) {
                            var sName = classNames[x]; if (sName.indexOf("tribid_") != -1) { tid = sName.split("_")[1]; }
                            if (sName.indexOf("start_") != -1) { v = parseInt(sName.split("_")[1]); }
                            if (sName.indexOf("show_") != -1) { sid = sName.split("_")[1]; }
                            if (sName.indexOf("chNum_") != -1) { cnum = sName.split("_")[1]; }
                            if (sName.indexOf("epId_") != -1) { epid = sName.split("_")[1]; } 
                        }
                        headend = obj.show.headend; s = v; e = v + (60 * 60 * 3) - 1; if (oConObj && YAHOO.util.Connect.isCallInProgress(oConObj)) { YAHOO.util.Connect.abort(oConObj); }
                        oConObj = YAHOO.util.Connect.asyncRequest('GET', '/tribuneInfo?tribuneid=' + tid + '&showid=' + sid + '&headend=' + headend + '&starttime=' + s + '&endtime=' + e + '&channelNum=' + cnum + '&epId=' + epid, callback, null);
                    }; var startOpen = function() { this.getEl().opened = true; var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); YAHOO.util.Dom.addClass(this.getEl(), "opened"); }; var startClose = function() { this.getEl().opened = false; var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); YAHOO.util.Dom.setX(tribuneInfo, -3000); tribuneInfo.innerHTML = ''; }; var fetchShowSuccess = function(o) {
                        var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); if (!o.argument.li.opened) { o.argument.li.openAnim.animate(); }
                        tribuneInfo.innerHTML = o.responseText; var closeLink = YAHOO.util.Dom.getElementsByClassName("close", "a", tribuneInfo); if (closeLink[0]) { YAHOO.util.Event.addListener(closeLink[0], "click", clickClose); } 
                    }; var clickClose = function(e) { YAHOO.util.Event.stopEvent(e); closeAll(); }; var fetchShowFailure = function(o) { }; var closeAll = function(id) {
                        for (var r in rows) { if (rows[r].opened && rows[r].closeAnim) { if (r != id) { YAHOO.log("r:" + r); rows[r].closeAnim.animate(); } } }
                        if (openShow) {
                            var focusThis = function(el) { return function() { el.focus(); } }
                            setTimeout(focusThis(YAHOO.util.Dom.get(openShow)), 0); YAHOO.util.Dom.removeClass(openShow, "selected"); openShow = null;
                        } 
                    }
                    var openedLi = function() {
                        this.getEl().opened = true; var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); var XY = YAHOO.util.Dom.getXY(this.getEl()); YAHOO.util.Dom.setXY(tribuneInfo, [XY[0] + 128, XY[1] + 50]); var focusThis = function(el) { return function() { el.focus(); } }
                        setTimeout(focusThis(tribuneInfo), 0);
                    }; var closedLi = function() { YAHOO.util.Dom.removeClass(this.getEl(), "opened"); var tribuneInfo = YAHOO.util.Dom.get("tribuneInfo"); YAHOO.util.Dom.setX(tribuneInfo, -3000); }; return { init: init };
                } (); var attachChangeLineup = function() {
                    var provider_link = YAHOO.util.Dom.get("provider_link"); var provider_link2 = YAHOO.util.Dom.get("provider_link2"); if (provider_link) { YAHOO.util.Event.addListener(provider_link, "click", toggleProvider, { pos: 'left' }); }
                    if (provider_link2) { YAHOO.util.Event.addListener(provider_link2, "click", toggleProvider, { pos: 'right' }); }
                    var choose_lineup = YAHOO.util.Dom.get("choose_lineup"); var closeLink = YAHOO.util.Dom.getElementsByClassName("close", "a", choose_lineup)[0]; var done = YAHOO.util.Dom.getElementsByClassName("doneButton", "input", choose_lineup)[0]; var saveChoose = YAHOO.util.Dom.getElementsByClassName("saveAndChooseButton", "input", choose_lineup)[0]; var cancel = YAHOO.util.Dom.getElementsByClassName("cancelButton", "input", choose_lineup)[0]; var f = document.forms['choose_location']; var f2 = document.forms['choose_provider']; var el = f.elements['type']; for (var x = 0; x < el.length; x++) { YAHOO.util.Event.addListener(el[x], "click", checkLocationFields, f); }
                    YAHOO.util.Event.addListener(f.elements['zip'], "keyup", checkLocationFields, f); YAHOO.util.Event.addListener(f.elements['zip'], "blur", checkLocationFields, f); YAHOO.util.Event.addListener(f, "submit", locationSubmit, f); checkLocation(f.elements['zip'], f); YAHOO.util.Event.addListener([closeLink, cancel], "click", hideProvider); YAHOO.util.Event.addListener(done, "click", clickProviderDone, { f: f, show: false }); YAHOO.util.Event.addListener(saveChoose, "click", clickProviderDone, { f: f, show: true }); if ((document.location.hash == '#choose_provider') || (provider_link.className.indexOf("showprovider") > -1)) showProvider(provider_link, { pos: 'left' });
                }; var locationSubmit = function(e, f) { YAHOO.util.Event.stopEvent(e); checkLocation(f.elements['zip'], f); }; var checkLocationFields = function(e, f) { checkLocation(this, f); }; var checkLocation = function(elem, obj) {
                    switch (elem.type) {
                        case 'text': if (elem.value.length > (elem.size - 2)) { var el = obj.elements['type']; for (var x = 0; x < el.length; x++) { YAHOO.log("el.checked" + el[x].checked); if (el[x].checked) { submitLocation(obj); } } }
                            break; case 'radio': if (elem.value) {
                                var label = YAHOO.util.Dom.get("serviceLabel"); switch (elem.value) { case 'local': if (label) label.innerHTML = 'Select the metropolitan area nearest you:'; break; default: if (label) label.innerHTML = 'Select your service provider:'; break; }
                                if (obj.elements['zip'].value.length > (obj.elements['zip'].size - 2)) { submitLocation(obj); } 
                            }
                            break; default: break;
                    } 
                }; var providerOpen = false; var toggleProvider = function(e, obj) { YAHOO.util.Event.stopEvent(e); if (!providerOpen) { showProvider(this, obj); } else { hideProvider(); } }; var submitLocation = function(f) { var callback = { success: submitLocationSuccess, failure: submitLocationError }; YAHOO.util.Connect.setForm(f); var oConObj = YAHOO.util.Connect.asyncRequest('GET', f.action, callback, null); }; var submitLocationSuccess = function(o) {
                    var sText = o.responseText; sText = sText.replace(/<\!--.+-->/gim, ''); var oArr = eval(sText); var el = document.forms['choose_provider'].headend; var ls = YAHOO.util.Dom.getElementsByClassName("channelData", "form", document); var he = ''; if (ls.length) { he = ls[0].elements['headend'].value; }
                    el.options.length = null; for (var x = 0; x < oArr.length; x++) { el.options[x] = new Option(oArr[x].location, oArr[x].id, false, (he == oArr[x].id)); } 
                }; var submitLocationError = function(o) { }; var clickProviderDone = function(e, obj) { YAHOO.util.Event.stopEvent(e); var he = document.forms['choose_provider'].headend; if (he.selectedIndex > -1) { submitLineup(document.forms['choose_provider'], obj.show); } else { alert("Please choose a provider"); } }; var submitLineup = function(f, show) { var callback = { success: submitLineupSuccess, failure: submitLineupError, argument: show }; YAHOO.util.Connect.setForm(f); var oConObj = YAHOO.util.Connect.asyncRequest('POST', f.action, callback, null); }; var hasDotDone = function() {
                    var valuepairs = parseSearchString(document.location.search); for (var x = 0; x < valuepairs.length; x++) { if (valuepairs[x][0] == '.done') { return valuepairs[x]; } }
                    return false;
                }; var submitLineupSuccess = function(o) {
                    var dd = hasDotDone(); var locstring = '/listings'; if (o.argument) { if (dd) { locstring = '/listings?.done=' + dd[1] + '&choose_favorites=' + Math.random() + '#choose_favorites'; } else { locstring = '/listings?choose_favorites=' + Math.random() + '#choose_favorites'; } } else {
                        if (dd) {
                            if (checkDotDone(dd[1])) {
                                loc = ''; if (dd[1].indexOf('%') > -1) { loc = unescape(dd[1]); } else { loc = dd[1] + '=1'; }
                                document.location = loc; return;
                            } 
                        } 
                    }
                    document.location = locstring;
                }; var submitLineupError = function(o) { }; var checkDotDone = function(s) {
                    s = unescape(s); if (s.match("http://")) { return true; }
                    return false;
                }; var parseSearchString = function(s) {
                    var pairs = []; var splits = s.substring(1, s.length).split("&"); for (var x = 0; x < splits.length; x++) { pairs.push(splits[x].split("=")); }
                    return pairs;
                }
                var showProvider = function(l, obj) {
                    var xy = YAHOO.util.Dom.getXY(l); var choose_lineup = YAHOO.util.Dom.get("choose_lineup"); var shield = YAHOO.util.Dom.get("channelShield"); YAHOO.util.Dom.removeClass(shield, "hidden"); var cl_region = YAHOO.util.Dom.getRegion(choose_lineup); if (obj.pos == 'right') { YAHOO.util.Dom.setStyle(choose_lineup, "left", xy[0] + "px"); } else { YAHOO.util.Dom.setStyle(choose_lineup, "left", (xy[0] - (cl_region.right - cl_region.left) - 24) + "px"); }
                    YAHOO.util.Dom.setStyle(choose_lineup, "top", (xy[1] + 70) + "px"); providerOpen = true;
                }; var hideProvider = function() { var shield = YAHOO.util.Dom.get("channelShield"); YAHOO.util.Dom.addClass(shield, "hidden"); var choose_lineup = YAHOO.util.Dom.get("choose_lineup"); YAHOO.util.Dom.setStyle(choose_lineup, "left", "-2000px"); providerOpen = false; }; var populateFavorites = function(panel, form, lnk) {
                    var callback = { success: populateFavoritesSuccess, failure: populateFavoritesFailure, argument: { panel: panel, form: form, lnk: lnk} }
                    var url = '/favorites_body?t=' + Math.random(); var oConObj = YAHOO.util.Connect.asyncRequest('GET', url, callback, null);
                }; var populateFavoritesSuccess = function(o) { var favPanel = o.argument.panel; var form = o.argument.form; var lnk = o.argument.lnk; favPanel.innerHTML = o.responseText; YAHOO.Media.Dtk.CarouselMgr.init(favPanel); var closeLink = YAHOO.util.Dom.getElementsByClassName("close", "a", favPanel)[0]; var done = YAHOO.util.Dom.getElementsByClassName("doneButton", "input", favPanel)[0]; var cancel = YAHOO.util.Dom.getElementsByClassName("cancelButton", "input", favPanel)[0]; var f = document.forms['choose_favorites']; YAHOO.util.Event.addListener([closeLink, cancel], "click", hideFavorites); YAHOO.util.Event.addListener(done, "click", clickFavoritesDone, { f: f, show: form.displayFavorites }); if (document.location.hash == '#choose_favorites') displayFavorites(lnk); }; var populateFavoritesFailure = function(o) { }; var handleFavorites = function(form) { YAHOO.util.Event.addListener(form.displayFavorites, "click", toggleFavorites); var lnks = YAHOO.util.Dom.getElementsByClassName("selectFav", "A", form); YAHOO.util.Event.addListener(lnks[0], "click", showFavorites); var favPanel = YAHOO.util.Dom.get("favchannels"); populateFavorites(favPanel, form, lnks[0]); var gp = YAHOO.util.Dom.get("grid_page"); var gp_reg = YAHOO.util.Dom.getRegion(gp); var height = gp_reg.bottom - gp_reg.top; var cs = YAHOO.util.Dom.get("channelShield"); YAHOO.util.Dom.setStyle(cs, "height", height + 'px'); }; var clickFavoritesDone = function(e, obj) {
                    YAHOO.util.Event.stopEvent(e); var favchan = []; var f = obj.f; for (var x = 0; x < f.favchanchex.length; x++) { if (f.favchanchex[x].checked) { favchan.push(f.favchanchex[x].value); } }
                    f.favchan.value = favchan.join(","); submitFavorites(f, obj.show);
                }; var submitFavorites = function(form, show) { var callback = { success: submitFavoritesSuccess, failure: submitFavoritesError, argument: show }; YAHOO.util.Connect.setForm(form); var oConObj = YAHOO.util.Connect.asyncRequest('POST', form.action, callback, null); }; var submitFavoritesSuccess = function(o) {
                    var dd = hasDotDone(); if (dd) {
                        if (checkDotDone(dd[1])) {
                            loc = ''; if (dd[1].indexOf('%') > -1) { loc = unescape(dd[1]); } else { loc = dd[1] + '=1'; }
                            document.location = loc; return;
                        } 
                    }
                    if (o.argument.checked) { if (!dd) reloadFavorites(); } else { hideFavorites(); } 
                }; var submitFavoritesError = function(o) { }; var rebuildQS = function(favorites) {
                    var valuepairs = parseSearchString(document.location.search); var dlstring = '?'; var foundShowFavorites = false; for (var x = 0; x < valuepairs.length; x++) {
                        var n = valuepairs[x][0]; var v = valuepairs[x][1]; if (n === 'showFavorites') { v = favorites; foundShowFavorites = true; }
                        if (n) dlstring += n + '=' + v + '&';
                    }
                    if (!foundShowFavorites) { dlstring += 'showFavorites=' + favorites; } else { dlstring = dlstring.substring(0, dlstring.length - 1); }
                    return dlstring;
                }
                var reloadFavorites = function() { document.location = '/listings' + rebuildQS('true'); }; var showAll = function() { document.location = '/listings' + rebuildQS('false'); }; var toggleFavorites = function(e) { if (this.checked) { reloadFavorites(); } else { showAll(); } }; var displayFavorites = function(l) { var xy = YAHOO.util.Dom.getXY(l); var favs = YAHOO.util.Dom.get("favchannels"); YAHOO.util.Dom.setStyle(favs, "left", (xy[0] - 20) + "px"); YAHOO.util.Dom.setStyle(favs, "top", (xy[1] + 20) + "px"); var shield = YAHOO.util.Dom.get("channelShield"); YAHOO.util.Dom.removeClass(shield, "hidden"); }; var showFavorites = function(e) { YAHOO.util.Event.preventDefault(e); displayFavorites(this); }; var hideFavorites = function(e) { if (e) YAHOO.util.Event.preventDefault(e); var favs = YAHOO.util.Dom.get("favchannels"); YAHOO.util.Dom.setStyle(favs, "left", "-3000px"); var shield = YAHOO.util.Dom.get("channelShield"); YAHOO.util.Dom.addClass(shield, "hidden"); }; YAHOO.util.Event.addListener(window, "load", initLineups);
            })(); (function() {
                var $U = YAHOO.util; var $D = $U.Dom; var $E = $U.Event; var $S = $U.Scroll; var DTK = YAHOO.namespace('Media.Dtk'); var $M = DTK.CarouselMgr = function() {
                    var carousels = { toString: function() {
                        var s = ['Carousel Manager {\n']; for (var c in this) { if (this[c] !== this.toString) { s.push('\t', c, ' : (', this[c].toString(), ')\n'); } }
                        s.push('}'); return s.join('');
                    } 
                    }, stack = [], unhook = []; var release = function(lnk) {
                        if (typeof (lnk) == 'array') {
                            for (var i = lnk.length - 1; i > -1; i--) { release(lnk[i]); }
                            return;
                        }
                        unhook.push(lnk);
                    }; var unload = function() {
                        for (var i = unhook.length - 1; i > -1; i--) {
                            var a = unhook[i]; if (a) { a.onclick = null; a.onmousedown = null; a.onmouseup = null; a.carousel = null; }
                            a = unhook[i] = null;
                        }
                        unhook = null; for (var i = stack.length - 1; i > -1; i--) { var C = stack[i]; C.prev = C.next = C.scrollBody = C.anim = null; for (var j = C.navLinks.length - 1; j > -1; j--) { C.navLinks[j] = null; } } 
                    }; $E.addListener(window, 'unload', unload); return { carousels: carousels, stack: stack, release: release, toString: function() { return this.carousels.toString(); }, getCarousel: function(id) { if (id.id) id = id.id; return carousels[id] || null; }, init: function(id, args) {
                        var el = $D.get(id); var id = $D.generateId(el); var C; if (!(C = carousels[id])) { C = new $C(null, args); if (C.init(el)) { stack.push(carousels[id] = C); } }
                        el = null; return C;
                    }, initAll: function(cls, args) {
                        var scrollers = $D.getElementsByClassName(cls || 'dtk-carousel', 'div', document); var c = []; for (var x = 0; x < scrollers.length; x++) { c.push($M.init(scrollers[x], args)); }
                        scrollers = null; return c;
                    } }
                    } (); var addPageIndicators = function(C) {
                        var n = document.createElement('div'); $M.release(n); n.className = 'scrollnav'; var p = C.pages; for (var x = 0; x < p; x++) {
                            var a = document.createElement('a'); $M.release(a); a.href = '#pg:' + (x + 1); a.index = x; a.carousel = C; a.onmousedown = a.onclick = C.scrollTo_click; if (x == C.current) { a.className = 'current'; }
                            n.appendChild(a);
                        }
                        var l = n.getElementsByTagName('a'); C.navLinks = []; var p = l.length; for (var x = 0; x < p; x++) { C.navLinks.push(l[x]); $M.release(l[x]); }
                        l = null; var s = C.scrollBody; s.parentNode.insertBefore(n, s); return;
                    }; var addNavButtons = function(C) {
                        var p = document.createElement('a'), n = p.cloneNode(true); var i = C.getElement(); if (i) { i = i.id; }
                        n.href = p.href = "#" + i; p.className = "prev"; n.className = "next"; var s = C.scrollBody; s.parentNode.insertBefore(p, s); s.parentNode.insertBefore(n, s); p.onmousedown = p.onclick = C.scrollPrev_click; n.onmousedown = n.onclick = C.scrollNext_click; C.prev = p; C.next = n; n.carousel = p.carousel = C; s = null; $M.release([p, n]);
                    }; var updateNavState = function(C) {
                        var l = C.navLinks.length; for (var x = 0; x < l; x++) { if (x == C.current) { C.navLinks[x].className = 'current'; } else { C.navLinks[x].className = ''; } }
                        if (C.current == 0 && !C.roundRobin) {
                            $D.addClass(C.prev, 'off'); $D.setStyle(C.prev, 'opacity', 0.6); $D.removeClass(C.next, 'off'); $D.setStyle(C.next, 'opacity', 1); $D.setStyle(C.next, 'cursor', '')
                            $D.setStyle(C.prev, 'cursor', 'default')
                        } else if (C.current == (l - 1) && !C.roundRobin) {
                            $D.removeClass(C.prev, 'off'); $D.setStyle(C.prev, 'opacity', 1); $D.addClass(C.next, 'off'); $D.setStyle(C.next, 'opacity', 0.6); $D.setStyle(C.prev, 'cursor', '')
                            $D.setStyle(C.next, 'cursor', 'default')
                        } else {
                            $D.removeClass(C.prev, 'off'); $D.setStyle(C.prev, 'opacity', 1); $D.removeClass(C.next, 'off'); $D.setStyle(C.next, 'opacity', 1); $D.setStyle(C.next, 'cursor', '')
                            $D.setStyle(C.prev, 'cursor', '')
                        } 
                    }; var clickHandler = function(whichFn, fnFailure, fnArgs) {
                        return function(e) {
                            e = e || window.event; fnFailure = fnFailure || function() { return false; }; fnArgs = fnArgs || function() { }; var a = $E.getTarget(e); if (!a || !a.carousel || fnFailure(a)) { return true; }
                            if (!a.didMouseDown) { a.carousel[whichFn](fnArgs(a)); } else { a.blur(); }
                            a.didMouseDown = (e.type == 'mousedown'); a = null; $E.stopEvent(e); return false;
                        };
                    }; var $C = DTK.Carousel = function(el, args) {
                        var me = this; var currentScroll = 0; this.getCurrentScroll = function() { return currentScroll; }; var ontween = function(e, data) { currentScroll = me.anim.doMethod('scroll', me.animAttrs.scroll.from, me.animAttrs.scroll.to)[0]; }; var oncomplete = function(e, data) { if (data[0].duration >= me.animDur) { data = data[0]; data.carousel = me; me.onPageChange.fire(data); } }; var onclick = function(e) { me.onClick.fire(e); }; var _element = null; $E.addListener(window, 'unload', function() { _element = null; }); this.getElement = function() { return _element; }; this.init = function(el, args) {
                            el = $D.get(el); if (el) { _element = el; }
                            s = $D.getElementsByClassName('scrollbody', 'div', el)[0]; $M.release([s, el]); var list = $D.getElementsByClassName('dtk-list', 'ul', el); var len = list.length; if (typeof (args) == 'object') { for (var i in args) { this[i] = args[i]; } }
                            if (!el || !s || !len) { return false; }
                            this.onScrollStart = new $U.CustomEvent('scrollstart', this); this.onPageChange = new $U.CustomEvent('scrollcomplete', this); this.onClick = new $U.CustomEvent('click', this); this.onAutoPlayStart = new $U.CustomEvent('autoplaystart', this); this.onAutoPlayStop = new $U.CustomEvent('autoplaystop', this); var r = $D.getRegion(list[0]); this.scrollDistance = r.right - r.left; this.pages = len; this.current = 0; currentScroll = 0; this.scrollBody = s; $E.addListener(s, 'click', onclick); this.anim = new $S(this.scrollBody, this.animAttrs, this.animDur, this.easeMethod); this.anim.onTween.subscribe(ontween); this.anim.onComplete.subscribe(oncomplete); if (len > 1) { addNavButtons(this); addPageIndicators(this); updateNavState(this); } else this.navLinks = []; $M.release(el); list = s = null; return true;
                        }; var autoPlayTimeOut = 0; var autoPlayFn = function() { me.autoPlay = (me.autoPlayDirection > 0) ? me.scrollNext() : me.scrollPrev(); }; var autoPlaySubscribed = false; var autoPlayer = function() {
                            clearTimeout(autoPlayTimeout); if (!me.autoPlay) { me.onPageChange.unsubscribe(autoPlayFn); autoPlaySubscribed = false; } else {
                                if (!autoPlaySubscribed) { autoPlaySubscribed = true; me.onPageChange.subscribe(autoPlayer); }
                                autoPlayTimeOut = window.setTimeout(autoPlayFn, me.autoPlayDur * 1000);
                            } 
                        }; this.autoPlayStart = function() {
                            if (!this.autoPlay) { this.onAutoPlayStart.fire(this.current); }
                            this.autoPlay = true; autoPlayer();
                        }; this.autoPlayStop = function() { this.autoPlay = false; autoPlayer(); this.onAutoPlayStop.fire(this.current); }; this.getData = function(id, url, p) {
                            var callback = { success: this.getDataSuccess, failure: this.getDataFailure, argument: { id: id, postExecute: p} }
                            var oConObj = $U.Connect.asyncRequest('GET', url, callback, null);
                        }; this.getDataSuccess = function(o) {
                            if (o.responseText) {
                                var sText = o.responseText; sText = sText.replace(/<\!--.+-->/gim, ''); var oArr = eval(sText); var list = $D.getElementsByClassName('dtk-list', 'ul', $D.get(o.argument.id)); if (oArr) {
                                    var numPostLoad = oArr.length; var numPages = list.length + oArr.length; for (var i = 0; i < numPostLoad; i++) {
                                        var pg = oArr[i].pgIdx; var html = oArr[i].pgHtml; var pn = list[i].parentNode; if (pg < numPages) {
                                            if (!list[pg]) { var n_ul = document.createElement("UL"); YAHOO.util.Dom.addClass(n_ul, "dtk-list"); list[pg] = pn.appendChild(n_ul); }
                                            list[pg].innerHTML = html;
                                        } 
                                    } 
                                }
                                me.init(o.argument.id); if (o.argument.postExecute) { o.argument.postExecute(); } 
                            } 
                        }; this.getDataFailure = function(o) { }; this.init(el, args);
                    }; $C.prototype = { easeMethod: $U.Easing.easeOut, animAttrs: { scroll: { from: [0, 0], to: [0, 0]} }, roundRobin: false, animDur: 1.5, autoPlayDur: 5, onScrollStart: null, onPageChange: null, onClick: null, autoPlayDirection: 1, onAutoPlayStart: null, onAutoPlayStop: null, scrollTo: function(index) {
                        if (this.roundRobin) { if (index < 0) { index = this.pages - 1; } else if (index >= this.pages) { index = 0; } }
                        if ((!index && index !== 0) || index >= this.pages || index < 0 || index == this.current) { return false; }
                        var me = this; if (this.anim.isAnimated()) { this.anim.stop(); }
                        this.onScrollStart.fire({ to: index, from: this.current }); var end = index * me.scrollDistance; me.animAttrs.scroll.from = [me.getCurrentScroll(), 0]; me.animAttrs.scroll.to = [end, 0]; me.current = index; updateNavState(me); me.anim.attributes = me.animAttrs; setTimeout(function() { me.anim.animate(); }, 0); return true;
                    }, scrollNext: function() { var ret = this.scrollTo(this.current + 1); return ret; }, scrollNext_click: clickHandler('scrollNext'), scrollPrev: function() { var ret = this.scrollTo(this.current - 1); return ret; }, scrollPrev_click: clickHandler('scrollPrev'), scrollTo_click: clickHandler('scrollTo', function(el) { return (!el.index && el.index !== 0); }, function(el) { return el.index; }), toString: function() {
                        var el = this.getElement(); if (el) { return 'Carousel #' + el.id + ' .' + el.className; } else { return 'Carousel [Not Initiated]'; }
                        el = null;
                    } }
                    })(); (function() {
                        YAHOO.namespace("ads"); YAHOO.ads.darla = { _isIE: (navigator.userAgent.toLowerCase().indexOf("msie") != -1), _isSafari: (navigator.userAgent.toLowerCase().indexOf("safari") != -1), _beacons: [], _eventTimer: null, _lastEvent: null, _handoffStore: null, _renderStore: null, _rotationTimer: null, _rotationState: 1, _rotationTime: (new Date()).getTime(), _rotationEvents: false, _config: null, _baseConfig: { callFrame: "fccall", callScript: "fc.php", domainScript: "fc.php", rotation: 5000, autoRotation: false, autoRotationWindow: 1000, cancelShortEvents: true, doubleBuffering: true, fullDoubleBuffering: true, autoSwitchRendering: true, property: "yahoo", encoding: "utf-8", standardDelay: 100, cancellableDelay: 500, beaconDelay: 2000, beaconUrl: "http://geo.yahoo.com/serv?s=", throbberDelay: 350, simpleTemplate: "<html><head><!--ENCODING--><base target='_blank' /><!--STYLE--></head><body style='overflow:hidden;'>" + "<table width='100%' height='100%'><tr><td align=center valign=top><!--ADHTML--></td></tr></table>" + "</body></html>", simpleTemplateEncodingTag: "<meta http-equiv='Content-Type' content='text/html;charset=__ENCODING__'>", simpleTemplateStyleTag: "<style> body { background-color: __BGCOLOR__; } </style>" }, setConfig: function(config, initialState) {
                            YAHOO.ads.darla._config = config; if (initialState === 0)
                                YAHOO.ads.darla._config._startRotationTimer();
                        }, event: function(action, overrides) {
                            if (YAHOO.ads.darla._config == null) return; YAHOO.log("YAHOO.ads.darla.event called with action: " + action + "-" + YAHOO.ads.darla.lookupSpaceID(action)); var settings = YAHOO.ads.darla.lookupActionSettings(action, overrides); if ((settings.lv == -1) && !YAHOO.ads.darla.getConfigSetting("autoRotation"))
                                return; if (YAHOO.ads.darla._eventTimer != null) { if ((YAHOO.ads.darla.getConfigSetting("cancelShortEvents") == true) || (YAHOO.ads.darla._lastEvent && YAHOO.ads.darla._lastEvent.settings && YAHOO.ads.darla._lastEvent.settings.ca)) { clearTimeout(YAHOO.ads.darla._eventTimer); YAHOO.ads.darla._eventTimer = null; YAHOO.log("YAHOO.ads.darla.event: cancelling prior short-lived event :" + YAHOO.ads.darla._lastEvent); } }
                            YAHOO.log("YAHOO.ads.darla.event firing timer for action: " + action + "-" + settings.sp); YAHOO.ads.darla._lastEvent = { action: action, settings: settings }; YAHOO.ads.darla._startEventTimer(YAHOO.ads.darla._lastEvent);
                        }, sendBeacon: function(action, delay) {
                            if (delay === true)
                                delay = YAHOO.ads.darla.getConfigSetting("beaconDelay"); if (typeof delay == "number" && delay > 0) { setTimeout("YAHOO.ads.darla.sendBeacon( '" + action + "', null )", delay); return; }
                            var spaceid = YAHOO.ads.darla.lookupSpaceID(action); if ((spaceid == null) || (spaceid == "undefined") || (spaceid == "null"))
                                return; var url = YAHOO.ads.darla._getBeaconUrl(spaceid); if (url == null || url == "") { YAHOO.log("ignoring spaceid (no beacon url provided): " + action + "-" + spaceid); return; }
                            if (YAHOO.ads.darla._beacons == null)
                                YAHOO.ads.darla._beacons = []; var id = new Date().getTime(); while (YAHOO.ads.darla._beacons["x" + id] != null)
                                --id; id = "x" + id; var beacon = new Image(); YAHOO.ads.darla._beacons[id] = beacon; beacon.onload = function() { eval("'onload'; YAHOO.ads.darla._beacons['" + id + "']=null;this.onload = null; this.onerror = null; YAHOO.ads.darla._throbberHack( true );") }; beacon.onerror = function() { eval("'onerror'; YAHOO.ads.darla._beacons['" + id + "']=null;this.onload = null; this.onerror = null; YAHOO.ads.darla._throbberHack( true );") }; beacon.src = url; YAHOO.log("beaconing spaceid: " + action + " - " + spaceid);
                        }, stallAdRequest: function(delayAmount) {
                            if ((YAHOO.ads.darla._config == null) || (YAHOO.ads.darla._lastEvent == null))
                                return; if (delayAmount == null)
                                delayAmount = YAHOO.ads.darla.getConfigSetting("cancellableDelay"); if (delayAmount == null)
                                return; YAHOO.ads.darla._startEventTimer(YAHOO.ads.darla._lastEvent, delayAmount); YAHOO.log("Stalling outstanding ad event");
                        }, lookupSpaceID: function(action, getRawID) {
                            if (YAHOO.ads.darla._config == null) return null; var rec = YAHOO.ads.darla._config.events[action]; if (rec == null) return null; var sid = rec.sp; if (getRawID) return sid; if (sid == null) return null; if (YAHOO.ads.darla._config.spaceIdOffset == null)
                                YAHOO.ads.darla._config.spaceIdOffset = 0; return ((sid - 0) + (YAHOO.ads.darla._config.spaceIdOffset - 0));
                        }, lookupActionSettings: function(action, overrides) {
                            if (YAHOO.ads.darla._config == null) return overrides; var results = {}; var rec = YAHOO.ads.darla._config.events["default"]; if (rec != null) {
                                for (var f in rec)
                                    results[f] = rec[f];
                            }
                            var rec = YAHOO.ads.darla._config.events[action]; if (rec != null) {
                                for (var f in rec)
                                    results[f] = rec[f];
                            }
                            if (overrides != null)
                                for (var f in overrides)
                                results[f] = overrides[f]; results.sp = YAHOO.ads.darla.lookupSpaceID(action); if (YAHOO.ads.darla._config.levelOverride != null)
                                results.lv = YAHOO.ads.darla._config.levelOverride; if (YAHOO.ads.darla._config.events[action] == -1)
                                result.lv = -1; var ps = results.ps; if (ps != null) {
                                var psStr = ""; var psa = ps.split(","); for (var i = 0; i < psa.length; ++i) {
                                    if (psStr.length > 0) psStr += ","; var pos = psa[i]; var d = YAHOO.ads.darla._config.destinationMap[pos]; if (d != null && d != "") {
                                        switch (typeof d) {
                                            case "string": psStr += pos; var e = document.getElementById(d); if (e != null) {
                                                    psStr += ":"; if (e.tagName.toLowerCase() == "iframe")
                                                        psStr += "!"; else
                                                        psStr += d;
                                                } else if (typeof d == "function")
                                                    psStr += ":" + d; break; case "object": if (d.length) { psStr += "n" + d.length + pos + ":!"; }
                                                break;
                                        } 
                                    } else
                                        psStr += pos;
                                }
                                results.psStr = psStr;
                            }
                            if (YAHOO.ads.darla._config.verboseLogging) {
                                var s = ""; for (var f in results)
                                    s += f + ":" + results[f] + "; "; YAHOO.log("computed action settings: " + action + " - " + s);
                            }
                            return results;
                        }, getConfigSetting: function(key, customOnly) {
                            var value = null; if (YAHOO.ads.darla._config)
                                value = YAHOO.ads.darla._config[key]; if (customOnly || (value === null))
                                return value; if (value == null)
                                return YAHOO.ads.darla._baseConfig[key]; return value;
                        }, getTemplate: function(dest) {
                            var c = YAHOO.ads.darla._config; if (c == null || c.templates == null || c.templates[dest] == null)
                                return null; var e = document.getElementById(dest); if (e == null || e.tagName.toLowerCase() != "iframe")
                                return null; var t = []; if (c.templatePrefix !== null) {
                                t[t.length] = c.templatePrefix; if (YAHOO.ads.darla._isIE)
                                    t[t.length - 1] = t[t.length - 1].replace(new RegExp("<base href=.*?>", "i"), "");
                            }
                            t[t.length] = c.templates[dest]; if (c.templatePostfix !== null)
                                t[t.length] = c.templatePostfix; return t.join("");
                        }, fillSimpleTemplate: function(pos, adHtml) {
                            var t = YAHOO.ads.darla.getConfigSetting("simpleTemplate"); if ((t == null) || (t == "")) return null; var e = YAHOO.ads.darla.getConfigSetting("encoding"); if ((e != null) && (e != "")) { var et = YAHOO.ads.darla.getConfigSetting("simpleTemplateEncodingTag"); if (et) { et = et.replace(new RegExp("__ENCODING__", "g"), e); t = t.replace(new RegExp("<!-" + "-ENCODING-" + "->", "g"), et); } }
                            var e = YAHOO.ads.darla.getConfigSetting("bg"); if ((e != null) && (e != "")) { var et = YAHOO.ads.darla.getConfigSetting("simpleTemplateStyleTag"); if (et) { et = et.replace(new RegExp("__BGCOLOR__", "g"), e); t = t.replace(new RegExp("<!-" + "-STYLE-" + "->", "g"), et); } }
                            adHtml = adHtml.replace(/\$/g, "%24"); t = t.replace(new RegExp("<!-" + "-ADHTML-" + "->", "g"), adHtml); YAHOO.log("built from simple template: " + t); return t;
                        }, log: function(message, verboseOnly) { if (YAHOO.ads.darla._config == null || YAHOO.ads.darla._config.log == null) return; if (verboseOnly && YAHOO.ads.darla._config.verboseLogging != true) return; if (message == null) message = "null"; var e; try { YAHOO.ads.darla._config.log(message); } catch (e) { }; }, stripAdHtml: function(adHtml) {
                            adHtml = adHtml.replace(/[\t\n\r\f\v]/g, " "); adHtml = adHtml.replace(new RegExp('<scr' + 'ipt[^>]*?>.*?<\/scr' + 'ipt>', "igm"), ""); adHtml = adHtml.replace(new RegExp('<!--[^>]*?-->', "igm"), ""); adHtml = adHtml.replace(new RegExp('<img ([^>]*?class[^>]*?yzq[^>]*?>)', "igm"), ""); adHtml = adHtml.replace(new RegExp('^[ ]*', "igm"), ""); if (YAHOO.ads.darla._config && YAHOO.ads.darla._config.log && YAHOO.ads.darla._config.verboseLogging) {
                                var detail = ""; for (var i = 0; i < adHtml.length && i < 100; ++i)
                                    detail += " " + adHtml.charCodeAt(i); YAHOO.log("stripped ad html::>" + adHtml + "<::>" + detail);
                            }
                            return adHtml;
                        }, _startEventTimer: function(eventObject, delayAmount) {
                            if (YAHOO.ads.darla._eventTimer != null) { clearTimeout(); YAHOO.ads.darla._eventTimer = null; }
                            if (eventObject == null) return; var delay = (delayAmount != null) ? delayAmount : (eventObject.settings.ca ? YAHOO.ads.darla.getConfigSetting("cancellableDelay") : YAHOO.ads.darla.getConfigSetting("standardDelay")); YAHOO.ads.darla._lastEvent = eventObject; YAHOO.ads.darla._eventTimer = setTimeout("YAHOO.ads.darla._processEvent('" + eventObject.action + "')", delay);
                        }, _processEvent: function(action) {
                            YAHOO.log("YAHOO.ads.darla._processEvent firing for action: " + action); YAHOO.ads.darla._eventTimer = null; if (YAHOO.ads.darla._config == null) return; if (YAHOO.ads.darla._lastEvent == null || YAHOO.ads.darla._lastEvent.action != action) { if (YAHOO.ads.darla._lastEvent.action != action) setTimeout("YAHOO.ads.darla.event('" + action + "')", 500); YAHOO.log("returning null because _lastEvent.action!=action" + action + ":" + YAHOO.ads.darla._lastEvent.action); return null; }
                            YAHOO.ads.darla._recordEvent(); var settings = YAHOO.ads.darla._lastEvent.settings; var level = settings.lv; if (level == null)
                                level = (settings.sp != null) ? 1 : -1; if (level < 0) {
                                if (YAHOO.ads.darla.getConfigSetting("autoRotation"))
                                    level = 1; else
                                    return;
                            }
                            if (level > 1) { YAHOO.ads.darla._clearRotationTimer(); YAHOO.ads.darla._rotationState = 1; level = 1; }
                            if ((YAHOO.ads.darla._rotationState == 1) && (level == 1)) {
                                if (YAHOO.ads.darla._call(action, settings) == true)
                                    return;
                            }
                            if (YAHOO.ads.darla.getConfigSetting("beaconsDisabled") != true)
                                YAHOO.ads.darla.sendBeacon(action, YAHOO.ads.darla.getConfigSetting("beaconDelay"));
                        }, _recordEvent: function() {
                            if (YAHOO.ads.darla.getConfigSetting("autoRotation")) {
                                var wndw = YAHOO.ads.darla.getConfigSetting("autoRotationWindow"); var rotation = YAHOO.ads.darla.getConfigSetting("rotation"); if (wndw == null || wndw > rotation)
                                    wndw = rotation; if (((new Date()).getTime() - YAHOO.ads.darla._rotationTime) > (rotation - wndw))
                                    YAHOO.ads.darla._rotationEvents = true;
                            } 
                        }, _call: function(action, settings) {
                            if (YAHOO.ads.darla._config == null) return; var config = YAHOO.ads.darla._config; if (config.callFrame == null) { YAHOO.log("YAHOO.ads.darla._call called, but no call iframe specified."); return; }
                            if (settings.callFrame == null) { var adFrame = document.getElementById(YAHOO.ads.darla.getConfigSetting("callFrame")); } else { var adFrame = document.getElementById(settings.callFrame); }
                            YAHOO.log("callFrame specified: " + adFrame.id); if (adFrame == null) { YAHOO.log("YAHOO.ads.darla._call called, but call iframe not found, id: " + config.callFrame); return; }
                            var spaceid = settings.sp; if (spaceid == null || spaceid == "") { YAHOO.log("YAHOO.ads.darla._call called, but null space ID found; the action was: " + action); return false; }
                            var loc = settings.psStr; if (loc == "") { YAHOO.ads.darla._rotationState = 1; YAHOO.log("YAHOO.ads.darla._call called, but no positions to update; the action was: " + action); return false; }
                            var extraMime = settings.em; if (extraMime == null)
                                extraMime = config.extraMime; var bgColor = settings.bg; if (bgColor == null) bgColor = ""; YAHOO.ads.darla._handoffStore = null; var url = [YAHOO.ads.darla.getConfigSetting("callScript") + "?cb=YAHOO.ads.darla._loaded"]; url[url.length] = "p=" + YAHOO.ads.darla.getConfigSetting("property"); url[url.length] = "f=" + spaceid; url[url.length] = "l=" + loc; url[url.length] = "en=" + YAHOO.ads.darla.getConfigSetting("encoding"); url[url.length] = "rn=" + (new Date().getTime()); if (extraMime != null)
                                url[url.length] = "em=" + extraMime; if (config.target)
                                url[url.length] = "tg=" + config.target; if (config.domain)
                                url[url.length] = "dm=" + config.domain; if (settings.op) {
                                var params = settings.op; for (var f in params)
                                    url[url.length] = f + "=" + params[f];
                            }
                            if (config.otherParams) {
                                var params = config.otherParams; for (var f in params) {
                                    if (settings.op && setting.op[f])
                                        continue; url[url.length] = f + "=" + params[f];
                                } 
                            }
                            url = url.join("&"); YAHOO.log("ad request: " + action + "; url=" + url); adFrame.contentWindow.location.replace(url); return true;
                        }, _startRotationTimer: function(delayAmount) {
                            if (YAHOO.ads.darla._config == null) return; YAHOO.ads.darla._clearRotationTimer(); YAHOO.ads.darla._rotationState = 0; YAHOO.ads.darla._rotationEvents = false; YAHOO.ads.darla._rotationTime = (new Date()).getTime(); if (delayAmount == null)
                                delayAmount = YAHOO.ads.darla.getConfigSetting("rotation"); if (delayAmount == null)
                                return; YAHOO.ads.darla._rotationTimer = setTimeout("YAHOO.ads.darla._rotateAdState()", delayAmount); YAHOO.log("start ad timer: " + delayAmount);
                        }, _clearRotationTimer: function() { if (YAHOO.ads.darla._rotationTimer != null) { clearTimeout(YAHOO.ads.darla._rotationTimer); YAHOO.ads.darla._rotationTimer = null; } }, _rotateAdState: function() {
                            YAHOO.ads.darla._rotationTimer = null; YAHOO.ads.darla._rotationState = 1; if (YAHOO.ads.darla.getConfigSetting("autoRotation") && YAHOO.ads.darla._rotationEvents) { YAHOO.ads.darla.event("default"); }
                            YAHOO.ads.darla._rotationEvents = false;
                        }, _throbberHack: function(delay) {
                            if ((YAHOO.ads.darla._config == null) || (typeof YAHOO.ads.darla._config.throbberHack != "function"))
                                return; if (delay === true)
                                delay = YAHOO.ads.darla.getConfigSetting("throbberDelay"); if (typeof delay == "number" && delay > 0) {
                                if (YAHOO.ads.darla._throbTimer != null)
                                    clearTimeout(YAHOO.ads.darla._throbTimer); YAHOO.ads.darla._throbTimer = setTimeout("YAHOO.ads.darla._throbberHack()", delay); return;
                            }
                            if (typeof YAHOO.ads.darla._config.throbberHack == "function") { YAHOO.log("letting loose the throbber hack"); YAHOO.ads.darla._config.throbberHack(); } 
                        }, _getBeaconUrl: function(spaceid) { var url = YAHOO.ads.darla.getConfigSetting("beaconUrl"); if ((url == null) || (url == "")) return null; return url + spaceid + "&t=" + Math.random(); }, renderHandoffs: function(positions) {
                            var swapPositions = ""; if (YAHOO.ads.darla._handoffStore != null) {
                                YAHOO.log("rendering request: '" + YAHOO.ads.darla._lastEvent.settings.ps + "'"); YAHOO.ads.darla._renderStore = {}; var recvd = positions.split(","); for (var i = 0; i < recvd.length; ++i) { var p = recvd[i]; if (p.indexOf("!") == 0) { YAHOO.log("retrieving ad from call-frame: " + p); p = p.substring(1, p.length); if (YAHOO.ads.darla._copyRenderedAd(p)) { if (swapPositions.length > 0) swapPositions += ","; swapPositions += p; } } }
                                for (var t in YAHOO.ads.darla._handoffStore) { var d = YAHOO.ads.darla._config.destinationMap[t]; YAHOO.log("found ad in handoff store: " + t); switch (typeof d) { case "string": YAHOO.ads.darla._updateTemplate(t, 0, d); break; case "object": for (var i = 0; i < d.length; ++i) YAHOO.ads.darla._updateTemplate(t, i, d[i]); break; } }
                                for (var t in YAHOO.ads.darla._renderStore) { if (YAHOO.ads.darla._renderTemplate(t)) { if (swapPositions.length > 0) swapPositions += ","; swapPositions += t; } } 
                            }
                            if (swapPositions.length > 0) setTimeout('YAHOO.ads.darla._swapElements ( "' + swapPositions + '" )', 100);
                        }, _updateTemplate: function(pos, posIndex, dest) {
                            var ad = YAHOO.ads.darla._handoffStore[pos][posIndex]; if (ad == null) return; if (YAHOO.ads.darla._renderStore[dest] == null) {
                                var h = YAHOO.ads.darla.getTemplate(dest); if ((h == null) || (h == "")) {
                                    var e = document.getElementById(dest); if (e && e.tagName.toLowerCase() == "iframe") var h = YAHOO.ads.darla.fillSimpleTemplate(pos, ad); if (h != null) { YAHOO.ads.darla._renderStore[dest] = h; return; }
                                    YAHOO.ads.darla._renderStore[dest] = ad; return;
                                }
                                YAHOO.ads.darla._renderStore[dest] = h; YAHOO.log("template found: " + pos + "->" + dest + ": " + h);
                            }
                            var h = YAHOO.ads.darla._renderStore[dest]; YAHOO.ads.darla._renderStore[dest] = h.replace(new RegExp("<!-" + "-" + pos + "-" + "->", ""), ad);
                        }, _renderTemplate: function(tid) {
                            var swap = false; var d = null; if (!YAHOO.ads.darla._isSafari && YAHOO.ads.darla.getConfigSetting("doubleBuffering")) d = document.getElementById(tid + "_"); if (d) { if (d.tagName.toLowerCase() == "iframe") { if (YAHOO.ads.darla.getConfigSetting("fullDoubleBuffering")) { if (d.addEventListener) { d.onload = YAHOO.ads.darla._iframeLoaded; } else if (d.attachEvent) { d.detachEvent("onload", YAHOO.ads.darla._iframeLoaded); d.attachEvent("onload", YAHOO.ads.darla._iframeLoaded); } } else { swap = true; } } else { swap = true; } } else { d = document.getElementById(tid); }
                            if (d && d.tagName.toLowerCase() == "iframe") { var html = YAHOO.ads.darla._renderStore[tid]; YAHOO.log("rendering start: " + tid); var dm = YAHOO.ads.darla.getConfigSetting("domain"); if (YAHOO.ads.darla._isSafari || (YAHOO.ads.darla._isIE && (dm != null) && (dm != ""))) { YAHOO.log("rendering via document.write for " + tid + ": " + html.length + " " + html); YAHOO.ads.darla._renderWithWrite(d, tid); } else { YAHOO.log("rendering via JS Url for " + tid + ": " + html.length + " chars - " + html); if (YAHOO.ads.darla._isIE) YAHOO.ads.darla._aboutToRewriteIframe(d); var url = 'parent.YAHOO.ads.darla._getTemplateForJsUrl(\"' + tid + '\")'; if (YAHOO.ads.darla._isSafari) url = 'document.write(' + url + ')'; d.contentWindow.location.replace('javascript:' + url); } } else if (d) { d.innerHTML = YAHOO.ads.darla._renderStore[tid]; }
                            return swap;
                        }, _getTemplateForJsUrl: function(tid) { var h = YAHOO.ads.darla._renderStore[tid]; if (h == null) return ""; return YAHOO.ads.darla._encodeForJSUrl(h); }, _renderWithWrite: function(d, tid) {
                            var html = YAHOO.ads.darla._renderStore[tid]; var dm = YAHOO.ads.darla.getConfigSetting("domain"); var e; if ((dm == null) || (dm == "")) {
                                if (YAHOO.ads.darla._isIE) { try { _aboutToRewriteIframe(d); } catch (e) { YAHOO.log("renderTemplate failure: loading blank document for " + tid); } }
                                try { d.contentWindow.document.write(html); d.contentWindow.document.close(); } catch (e) { YAHOO.log("renderTemplate failure: direct call to document.write for " + tid); } 
                            } else {
                                if (YAHOO.ads.darla._isIE) { try { d.contentWindow.location.replace(YAHOO.ads.darla._getDomainHackUrl()); } catch (e) { YAHOO.log("renderTemplate failure: loading blank document for " + tid); } }
                                var f1 = function(h) {
                                    return function(ev) {
                                        if (ev == null || ev.type != "load")
                                            return; YAHOO.log("domain-hack onload called for: " + ev.type + " " + ev.srcElement.id); ev.srcElement.detachEvent("onload", arguments.callee); h = h.replace(/<\/head>/i, "<script>document.domain='yahoo.com';</script><\/head>"); YAHOO.log("final write: " + h); ev.srcElement.contentWindow.document.write(h); var e; try { ev.srcElement.contentWindow.document.close(); } catch (e) { } 
                                    } 
                                } (html); var f2 = function(h) {
                                    return function(ev) {
                                        if (ev == null || ev.type != "load")
                                            return; YAHOO.log("domain-hack onload called for: " + ev.type + " " + ev.srcElement.id); ev.srcElement.detachEvent("onload", arguments.callee); YAHOO.log("final write: " + h); ev.srcElement.contentWindow.document.write(h); var e; try { } catch (e) { } 
                                    } 
                                } (html); d.attachEvent("onload", f1);
                            } 
                        }, _copyRenderedAd: function(pos) {
                            var f = document.getElementById(YAHOO.ads.darla.getConfigSetting("callFrame")); if (f == null) return; var d = f.contentWindow.document; if (d == null) return; var dest = YAHOO.ads.darla._config.destinationMap[pos]; dest = document.getElementById(dest); if (dest == null) return; var e = d.getElementById(pos); if (e == null) { YAHOO.log("missing ad rendered on fetch page: " + pos); return; }
                            YAHOO.ads.darla._handoff(pos, YAHOO.ads.darla.stripAdHtml(e.innerHTML)); return false;
                        }, _getDomainHackUrl: function() {
                            var d = YAHOO.ads.darla.getConfigSetting("domain"); if ((d == null) || (d == ""))
                                return "about:blank"; var url = YAHOO.ads.darla.getConfigSetting("domainScript"); url += "?dh=" + d; url += "&en=" + YAHOO.ads.darla.getConfigSetting("encoding"); return url;
                        }, _blankIframe: function(f) {
                            if (typeof f == "string")
                                f = document.getElementById(f); if ((f == null) || (f.tagName.toLowerCase() != "iframe"))
                                return; if (f.onload == YAHOO.ads.darla._iframeLoaded)
                                f.onload = null; else if (f.detachEvent)
                                f.detachEvent("onload", YAHOO.ads.darla._iframeLoaded); f.contentWindow.location.replace(YAHOO.ads.darla._isIE ? "javascript:'<html></html>'" : "about:blank");
                        }, _aboutToRewriteIframe: function(f) {
                            if (typeof f == "string")
                                f = document.getElementById(f); if ((f == null) || (f.tagName.toLowerCase() != "iframe"))
                                return; f.contentWindow.location.replace("about:blank");
                        }, _encodeForJSUrl: function(s, useJsEscaping) {
                            var t = []; var m = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; for (var i = 0; i < s.length; ++i) { var e = s.charCodeAt(i); if (e < 128) { t[t.length] = s.charAt(i); } else { if (useJsEscaping) { t[t.length] = "\\" + "u" + m[(e >>> 12) & 15] + m[(e >>> 8) & 15] + m[(e >>> 4) & 15] + m[e & 15]; } else { t[t.length] = "&#" + e + ";"; } } }
                            return t.join("");
                        }, _swapElements: function(positions) {
                            function swapElts(id) {
                                var newElt = document.getElementById(id + "_"); var oldElt = document.getElementById(id); if (newElt == null || oldElt == null) return; newElt.id = id; newElt.style.display = "block"; newElt.style.visibility = "visible"; oldElt.id = id + "_"; oldElt.style.display = "none"; if (oldElt.tagName.toLowerCase() == "iframe")
                                    YAHOO.ads.darla._blankIframe(oldElt); else
                                    oldElt.innerHTML = "";
                            }
                            YAHOO.log("swapping positions: " + positions); var ps = positions.split(","); for (var i = 0; i < ps.length; ++i) { swapElts(ps[i]); }
                            YAHOO.ads.darla._throbberHack(true);
                        }, _iframeLoaded: function(event) {
                            var pos = null; if (this.id) { pos = this.id; } else if (event && event.srcElement) { pos = event.srcElement.id; }
                            var d = document.getElementById(pos); if (d.onload == YAHOO.ads.darla._iframeLoaded)
                                d.onload = null; else if (d.detachEvent)
                                d.detachEvent("onload", YAHOO.ads.darla._iframeLoaded); YAHOO.log("frame loaded: " + pos); if (pos.charAt(pos.length - 1) == "_")
                                YAHOO.ads.darla._swapElements(pos.substring(0, pos.length - 1));
                        }, _loaded: function(positions, adHtml) {
                            if (adHtml != null) { YAHOO.log("calling through to _handoff"); return YAHOO.ads.darla._handoff(positions, adHtml); }
                            YAHOO.log("ads returned: '" + positions + "'"); YAHOO.ads.darla.renderHandoffs(positions); YAHOO.ads.darla._startRotationTimer(); if (YAHOO.ads.darla._config && YAHOO.ads.darla._config.finish) YAHOO.ads.darla._config.finish(positions);
                        }, _handoff: function(position, adHtml) {
                            YAHOO.log("ad hand-off: " + position + " - " + adHtml); if (YAHOO.ads.darla._handoffStore == null)
                                YAHOO.ads.darla._handoffStore = {}; if (YAHOO.ads.darla._handoffStore[position] == null)
                                YAHOO.ads.darla._handoffStore[position] = []; var store = YAHOO.ads.darla._handoffStore[position]; store[store.length] = adHtml; return true;
                        } 
                        }; YAHOO.ads.darla.initDarla = function(sp, fire) {
                            if (!sp) sp = "97624963"; YAHOO.ads.darla.SKYConfigObj = { callFrame: "SKY", callScript: "/fc.php", property: 'tv', destinationMap: {}, cancelShortEvents: false, events: { "sky": { lv: 1, sp: sp, ps: "SKY", ca: 1, em: '{"site-attribute":"content=\'no_expandable\'"}' }, "GT1": { lv: 2, sp: sp, ps: "GT1", ca: 0, callFrame: "GT1", em: '{"site-attribute":"content=\'no_expandable\'","ad-logoption":"NOPAGEVIEW"}' }, "GT2": { lv: 2, sp: sp, ps: "GT2", ca: 0, callFrame: "GT2", em: '{"site-attribute":"content=\'no_expandable\'","ad-logoption":"NOPAGEVIEW"}' }, "GT3": { lv: 2, sp: sp, ps: "GT3", ca: 0, callFrame: "GT3", em: '{"site-attribute":"content=\'no_expandable\'","ad-logoption":"NOPAGEVIEW"}' }, "GT4": { lv: 2, sp: sp, ps: "GT4", ca: 0, callFrame: "GT4", em: '{"site-attribute":"content=\'no_expandable\'","ad-logoption":"NOPAGEVIEW"}' }, "GT5": { lv: 2, sp: sp, ps: "GT5", ca: 0, callFrame: "GT5", em: '{"site-attribute":"content=\'no_expandable\'","ad-logoption":"NOPAGEVIEW"}'}} }; YAHOO.ads.darla.LRECConfigObj = { callFrame: "LREC", callScript: "/fc.php", property: 'tv', destinationMap: {}, events: { "LREC": { lv: 1, sp: sp, ps: "LREC", em: '{"site-attribute":"content=\'no_expandable\'"}'}} }; if (window.YAHOO.ads.darla) {
                                switch (fire) { case 'sky': YAHOO.ads.darla.setConfig(YAHOO.ads.darla.SKYConfigObj); break; case 'LREC': YAHOO.ads.darla.setConfig(YAHOO.ads.darla.LRECConfigObj); break; default: YAHOO.ads.darla.setConfig(YAHOO.ads.darla.LRECConfigObj); break; }
                                if (fire) YAHOO.ads.darla.event(fire, { ca: 0, lv: 2 });
                            } 
                        };
                    })(); YAHOO.namespace('phugc'); YAHOO.phugc.posTop = function() { return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0; }; YAHOO.phugc.setTop = function(y) { document.documentElement.scrollTop = y; }; YAHOO.phugc.isGoodTarget = function(target, obj, sClass, nMaxLevels) {
                        var levels = 1; while (target.nodeName == "#text") { target = target.parentNode; }
                        var isId = false; if (typeof sClass == 'object') {
                            while (!isId && levels <= nMaxLevels) {
                                for (i = 0; i < sClass.length; i++) { if (target.id == sClass[i] || target.className == sClass[i]) { isId = true; break; } }
                                if (!isId) { target.parentNode ? target = target.parentNode : false; levels++; } 
                            } 
                        } else { while (!YAHOO.util.Dom.hasClass(target, sClass) && levels <= nMaxLevels) { target.parentNode ? target = target.parentNode : false; levels++; } }
                        if (isId || YAHOO.util.Dom.hasClass(target, sClass)) { return target; } else { return false; } 
                    }; YAHOO.phugc.getTargetKey = function(target, obj) { var key = target.className.split(" "); key = key[0]; return key; }; String.prototype.unhtmlentities = function() { var data = { 'nbsp': " ", 'amp': "&" }; return this.replace(/&([^&;]*);/g, function(a, b) { var r = data[b]; return typeof r === 'string' ? r : b; }); }; String.prototype.htmlentities = function()
                    { var data = { '&': "&amp;", '"': "&quot;" }; var newstr = this; var pattern = new RegExp(["&", '"']); this.replace(pattern, 'found'); return this; }; String.prototype.strip_tags = function()
                    { return this.replace(/<(.|\n)*?>/g, '').replace(/<\/(.|\n)*?>/g, ''); }; YAHOO.phugc.callbackDynamicH = function()
                    { (this.scrollHeight > this.offsetHeight) ? YAHOO.util.Dom.setStyle(this, "height", this.scrollHeight + "px") : false; this.value.length == 0 ? YAHOO.util.Dom.setStyle(this, "height", "1.2em") : false; }; function printfire() { if (document.createEvent && !(navigator.appVersion.indexOf('Safari') != '-1') && (navigator.appName.indexOf('Opera') == '-1')) { printfire.args = arguments; var ev = document.createEvent("Events"); ev.initEvent("printfire", false, true); dispatchEvent(ev); } }; YAHOO.phugc.preventDbl = function(e) {
                        if (e) { YUE.preventDefault(e); }
                        if (!YAHOO.phugc.formSubmitFlag) { YAHOO.phugc.formSubmitFlag = true; this.form.submit(); } 
                    }; YAHOO.phugc.simpleToggle = function(e, obj) {
                        if (e) { YAHOO.util.Event.preventDefault(e); }
                        YAHOO.util.Dom.getStyle(obj.el, "display") == "block" ? YAHOO.util.Dom.setStyle(obj.el, "display", "none") : YAHOO.util.Dom.setStyle(obj.el, "display", "block");
                    }; YAHOO.phugc.changeRule = function(sheetIndex, keyIndex, rule, value) {
                        if (!document.styleSheets) return; var theRules = new Array(); if (document.styleSheets[sheetIndex].cssRules)
                            theRules = document.styleSheets[sheetIndex].cssRules
                        else if (document.styleSheets[sheetIndex].rules)
                            theRules = document.styleSheets[sheetIndex].rules
                        else return; theRules[keyIndex].style[rule] = value;
                    }; (function() {
                        YAHOO.phugc.CharCounter = function(oParams) { this.init(oParams); }
                        var proto = { init: function(oParams) { this.params = oParams; YUE.addListener(this.params.sEl, 'keyup', this.callbackCharCount, this, true); YUE.addListener(this.params.sEl, 'focus', this.callbackCharCount, this, true); YUE.onAvailable(this.params.sEl, this.callbackCharCount, this, true); }, callbackCharCount: function(e, obj) {
                            var el = YUD.get(this.params.sEl); var countel = YUD.get(this.params.sCountEl); if (el.value.length > this.params.nLimit) { countel.innerHTML = 0; return; }
                            countel.innerHTML = this.params.nLimit - el.value.length;
                        } 
                        }; for (var member in proto) { YAHOO.phugc.CharCounter.prototype[member] = proto[member]; } 
                    })(); String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, '') }; (function() {
                        YAHOO.phugc.tagSelect = function(oParams) { this.init(oParams); }
                        var proto = { init: function(oParams)
                        { this.params = oParams; YUE.addListener(this.params.sEl, 'click', this.callbackSelectTag, this); }, callbackSelectTag: function(e, obj) {
                            var target = YUE.getTarget(e); var goodTarget = YAHOO.phugc.isGoodTarget(target, obj, obj.params.sClass, 3); if (!goodTarget) { return; }
                            YUE.preventDefault(e); obj.setTag(goodTarget.innerHTML);
                        }, setTag: function(tag) {
                            var tagsEl = YUD.get(this.params.sField); var tagArr = tagsEl.value.trim().split(','); var present = false; var tl = tag.toLowerCase(); if (tagArr[0].trim() == '') tagArr.splice(0, 1); for (i = 0; i < tagArr.length; i++) { tagArr[i] = tagArr[i].trim().toLowerCase(); if (tagArr[i] == tl) { tagArr.splice(i, 1); this.deselectTag(tag); present = true; i -= 1; } }
                            if (!present) { tagArr.push(tag); this.selectTag(tag); }
                            var content = tagArr.join(', '); tagsEl.value = content; this.focusTo(tagsEl);
                        }, focusTo: function(obj) {
                            var caretPos = obj.value.length; if (obj.createTextRange) {
                                var range = obj.createTextRange()
                                range.moveStart("character", caretPos); range.select();
                            } else if (obj.setSelectionRange) { obj.select(); obj.setSelectionRange(caretPos, obj.value.length); } else { obj.blur(); obj.focus(); } 
                        }, deselectTag: function(tag) { var tagEl = YUD.get('yts-tag-' + tag); YUD.removeClass(tagEl, 'selected'); }, selectTag: function(tag) { var tagEl = YUD.get('yts-tag-' + tag); YUD.addClass(tagEl, 'selected'); } 
                        }; for (var member in proto) { YAHOO.phugc.tagSelect.prototype[member] = proto[member]; } 
                    })(); YUE = YAHOO.util.Event; YUD = YAHOO.util.Dom; YAHOO.phugc.xhr = function(oParams)
                    { if (oParams) { this.init(oParams); } }; YAHOO.phugc.xhr.prototype = { constructor: YAHOO.phugc.xhr, init: function(oParams) {
                        this.params = oParams; var path = this.params.fefile_path + 'american_idol_xhr?'; var p = 1; for (var xhrparam in this.params) {
                            if (xhrparam == "path") { break; }
                            p > 1 ? path += '&' : false; path += xhrparam + '=' + this.params[xhrparam]; p++;
                        }
                        this.params.path = path; var dateObj = new Date(); var time = dateObj.getTime(); this.params.path += "&time=" + time; this.jsonDataReturn = new YAHOO.util.CustomEvent("jsonDataReturn", this);
                    }, displayXHRHTML: function(oParams) {
                        oParams.jsonDataReturn = this.jsonDataReturn; var responseSuccess = function(o) {
                            YUD.setStyle(YUD.get(oParams.sIndicatorEl), "display", "none"); var JSONText = o.responseText; try { eval("var json = " + JSONText + ";"); } catch (e) { throw new Error(e); }
                            if (json.status) {
                                if (typeof (oParams.sEl) != 'undefined') { YUD.get(oParams.sEl).innerHTML = json.html; json.html = null; }
                                oParams.jsonDataReturn.fire(json);
                            } else { oParams.jsonDataReturn.fire(json); } 
                        }
                        var responseFailure = function(o)
                        { }
                        var callback = { success: responseSuccess, failure: responseFailure }; thepath = this.params.path + '&method=' + (oParams.sMethod || 'displayXHRPage'); if (typeof oParams.oQryParams != 'undefined') {
                            var tail = "&params="; for (var key in oParams.oQryParams) { tail != '&params=' ? tail += "," : false; tail += oParams.oQryParams[key]; }
                            thepath += tail;
                        }
                        this.cObj = YAHOO.util.Connect.asyncRequest('GET', thepath, callback, null);
                    }, callbackNewDlg: function() {
                        function handleOK()
                        { YAHOO.phugc.errDlg.hide(); }
                        function handleCancel()
                        { YAHOO.phugc.errDlg.hide(); }
                        var prefix = 'ugc'; YAHOO.phugc.errDlg = new YAHOO.widget.SimpleDialog(prefix + "-errdialog", { width: "20em", effect: { effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.15 }, fixedcenter: true, modal: true, draggable: false, visible: false, zIndex: 9000 }); YAHOO.phugc.errDlg.setHeader("Warning!"); YAHOO.phugc.errDlg.setBody("Are you sure you want to do this?"); YAHOO.phugc.errDlg.cfg.queueProperty("icon", YAHOO.widget.SimpleDialog.ICON_WARN); YAHOO.phugc.errDlg.cfg.queueProperty("buttons", [{ text: "OK", handler: handleOK, isDefault: true }, { text: "Cancel", handler: handleCancel}]); YAHOO.phugc.errDlg.render(document.body);
                    } 
                    }; (function() {
                        YAHOO.phugc.xhr.rank = function(oParams)
                        { YAHOO.phugc.xhr.rank.superclass.constructor.call(this, oParams); }
                        YAHOO.extend(YAHOO.phugc.xhr.rank, YAHOO.phugc.xhr); var proto = { init: function(oParams)
                        { YAHOO.phugc.xhr.rank.superclass.init.call(this, oParams.xhrParams); this.rrParams = oParams; this.counter = 0; var ev1 = YUE.addListener(this.rrParams.sEl, "click", this.callbackClick, this, true); var ev2 = YUE.addListener(this.rrParams.sEl, "mouseover", this.callbackMouseoverStar, this, true); var ev3 = YUE.addListener(this.rrParams.sEl, "mouseout", this.callbackMouseoutStar, this, true); this.onMouseover = new YAHOO.util.CustomEvent('onMouseover'); this.onMouseout = new YAHOO.util.CustomEvent('onMouseout'); this.onSubmit = new YAHOO.util.CustomEvent('onSubmit'); this.onComplete = new YAHOO.util.CustomEvent('onComplete'); }, callbackMouseoverStar: function(e, obj) {
                            var target = YUE.getTarget(e); var goodTarget = YAHOO.phugc.isGoodTarget(target, this, this.rrParams.sPrefix + '-rank-lnk', 2); if (!goodTarget) { return; }
                            YUD.addClass(goodTarget.parentNode, 'on'); this.onMouseover.fire();
                        }, callbackMouseoutStar: function(e, obj) {
                            var target = YUE.getTarget(e); var goodTarget = YAHOO.phugc.isGoodTarget(target, this, this.rrParams.sPrefix + '-rank-lnk', 2); if (!goodTarget) { return; }
                            YUD.removeClass(goodTarget.parentNode, 'on'); this.onMouseout.fire();
                        }, callbackClick: function(e, obj) {
                            if (typeof this.rankObj != 'undefined') { YAHOO.util.Connect.abort(this.rankObj); }
                            var target = YUE.getTarget(e); var goodTarget = YAHOO.phugc.isGoodTarget(target, this, this.rrParams.sPrefix + '-rank-lnk', 2); if (!goodTarget) { return; }
                            if (this.params.sUserId == '') { this.onComplete.fire('error', 'You must sign in to rank. {login}', 100); return; }
                            YUE.preventDefault(e); var split = goodTarget.id.split("|"); var winner = split[1]; var loser = split[2]; var cid = split[3]; if (this.counter >= 3) { var url = "/american-idol/show/34934/ranker/{cid}/vote/{winner}/{loser}"; url = url.replace(/{winner}/, winner).replace(/{loser}/, loser).replace(/{cid}/, cid); window.location = url; return; }
                            if (split.length == 1) { this.onComplete.fire('error', 'Cannot find all necessary data', 101); return; }
                            var oParams = { "winner": winner, "loser": loser, "cid": cid }; this.makeCall(oParams); this.voted = true; goodTarget.blur(); this.counter++;
                        }, responseSuccess: function(o) {
                            var JSONText = o.responseText; try { JSONText = JSONText.split("<!--")[0]; eval("var json = " + JSONText + ';'); } catch (e) { console.log(e); }
                            if (!json.status) { this.onComplete.fire('error', unescape(json.message)); } else if (json.status) { YUD.get(this.rrParams.sEl).innerHTML = json.html; this.onComplete.fire('success', json.data); } 
                        }, responseFailure: function(o)
                        { this.onComplete.fire('error', 'Connect error occurred.'); }, makeCall: function(oParams)
                        { var callback = { success: this.responseSuccess, failure: this.responseFailure, argument: this, scope: this }; thepath = this.params.path + '&method=_save_rank&params=' + oParams.winner + ',' + oParams.loser + ',' + oParams.cid; this.rankObj = YAHOO.util.Connect.asyncRequest('GET', thepath, callback); this.onSubmit.fire(oParams); } 
                        }; for (var member in proto) { YAHOO.phugc.xhr.rank.prototype[member] = proto[member]; } 
                    })();