/* ########################################
GLOBAL ASSETS RELEASE v4.8.1
BUILD DATE: 20090427
COPYRIGHT SUN MICROSYSTEMS INC. 2009
CONTACT US AT http://www.sun.com/secure/contact/cer.jsp?id=1073e17d-8d6c-43f6-b7e8-cf210cc89ba9 WITH ANY QUESTIONS
######################################## */

window.reg = (function () {
    var _1 = {};
    _1.importAll = function () {
        var _2 = [];
        try {
            _1.importSelectorAPI();
        }
        catch(err) {
            _2.push(err.message);
        }
        try {
            _1.importHelperFunctions();
        }
        catch(err) {
            _2.push(err.message);
        }
        try {
            _1.importEventFunctions();
        }
        catch(err) {
            _2.push(err.message);
        }
        if (_2.length > 0) {
            throw new Error(_2.join("\n"));
        }
    };
    function globalError(_3) {
        return "reglib tried to add \"" + _3 + "\" to global namespace but \"" + _3 + "\" already existed.";
    }
    if (window.Node && Node.prototype && !Node.prototype.contains) {
        Node.prototype.contains = function (_4) {
            return !! (this.compareDocumentPosition(_4) & 16);
        };
    }
    var _5 = {
        leadSpace: new RegExp("^\\s+"),
        tagName: new RegExp("^([a-z_][a-z0-9_-]*)", "i"),
        wildCard: new RegExp("^\\*([^=]|$)"),
        className: new RegExp("^(\\.([a-z0-9_-]+))", "i"),
        id: new RegExp("^(#([a-z0-9_-]+))", "i"),
        att: new RegExp("^(@([a-z0-9_-]+))", "i"),
        matchType: new RegExp("(^\\^=)|(^\\$=)|(^\\*=)|(^~=)|(^\\|=)|(^=)"),
        spaceQuote: new RegExp("^\\s+['\"]")
    };
    _1.Selector = function (_6) {
        var _7 = _5;
        this.items = [];
        var _8 = [];
        var _9 = 0;
        var _a = _6;
        while (_6.length > 0) {
            if (_9 > 100) {
                throw new Error("failed parsing '" + _a + "' stuck at '" + _6 + "'");
            }
            var _b = false;
            if (_7.leadSpace.test(_6)) {
                _6 = _6.replace(_7.leadSpace, "");
                _b = true;
            }
            var _c = _7.tagName.exec(_6);
            if (_c) {
                if (_8.length > 0 && _8[_8.length - 1].name == "tag") {
                    _8.push({
                        name: "descendant"
                    });
                }
                _8.push({
                    name: "tag",
                    tagName: _c[1].toLowerCase()
                });
                _6 = _6.substring(_c[1].length);
                _c = null;
                continue;
            }
            if (_7.wildCard.test(_6)) {
                if (_8.length > 0 && _8[_8.length - 1].name == "tag") {
                    _8.push({
                        name: "descendant"
                    });
                }
                _8.push({
                    name: "tag",
                    tagName: "*"
                });
                _6 = _6.substring(1);
                continue;
            }
            var _d = _7.className.exec(_6);
            var _e = _7.id.exec(_6);
            var _f = _7.att.exec(_6);
            if (_d || _e || _f) {
                if (_b && _8.length > 0 && _8[_8.length - 1].name == "tag") {
                    _8.push({
                        name: "descendant"
                    });
                }
                if (_8.length == 0 || _8[_8.length - 1].name != "tag") {
                    _8.push({
                        name: "tag",
                        tagName: "*"
                    });
                }
                var _10 = _8[_8.length - 1];
                if (_d) {
                    if (!_10.classNames) {
                        _10.classNames = [_d[2]];
                    } else {
                        _10.classNames.push(_d[2]);
                    }
                    _6 = _6.substring(_d[1].length);
                    _d = null;
                    continue;
                }
                if (_e) {
                    _10.id = _e[2];
                    _6 = _6.substring(_e[1].length);
                    _e = null;
                    continue;
                }
                if (_f) {
                    if (!_10.attributes) {
                        _10.attributes = [{
                            name: _f[2]
                        }];
                    } else {
                        _10.attributes.push({
                            name: _f[2]
                        });
                    }
                    _6 = _6.substring(_f[1].length);
                    _f = null;
                    continue;
                }
            }
            var _11 = _7.matchType.exec(_6);
            if (_11) {
                if (_10 && _10.attributes && !_10.attributes[_10.attributes.length - 1].value) {
                    var _12 = _10.attributes[_10.attributes.length - 1];
                    _12.matchType = _11[0];
                    _6 = _6.substring(_12.matchType.length);
                    if (_6.charAt(0) != "\"" && _6.charAt(0) != "'") {
                        if (_7.spaceQuote.test(_6)) {
                            _6 = _6.replace(_7.leadSpace, "");
                        } else {
                            throw new Error(_a + " is invalid, single or double quotes required around attribute values");
                        }
                    }
                    var q = _6.charAt(0);
                    var _14 = _6.indexOf(q, 1);
                    if (_14 == -1) {
                        throw new Error(_a + " is invalid, missing closing quote");
                    }
                    while (_6.charAt(_14 - 1) == "\\") {
                        _14 = _6.indexOf(q, _14 + 1);
                        if (_14 == -1) {
                            throw new Error(_a + " is invalid, missing closing quote");
                        }
                    }
                    _12.value = _6.substring(1, _14);
                    if ("~=" == _12.matchType) {
                        _12.valuePatt = new RegExp("(^|\\s)" + _12.value + "($|\\s)");
                    } else {
                        if ("|=" == _12.matchType) {
                            _12.valuePatt = new RegExp("^" + _12.value + "($|\\-)");
                        }
                    }
                    _6 = _6.substring(_12.value.length + 2);
                    continue;
                } else {
                    throw new Error(_a + " is invalid, " + _11[0] + " appeared without preceding attribute identifier");
                }
                _11 = null;
            }
            if (_6.charAt(0) == ">") {
                _8.push({
                    name: "child"
                });
                _6 = _6.substring(1);
                continue;
            }
            if (_6.charAt(0) == "+") {
                _8.push({
                    name: "nextSib"
                });
                _6 = _6.substring(1);
                continue;
            }
            if (_6.charAt(0) == "~") {
                _8.push({
                    name: "followingSib"
                });
                _6 = _6.substring(1);
                continue;
            }
            if (_6.charAt(0) == ",") {
                this.items.push(_8);
                _8 = [];
                _6 = _6.substring(1);
                continue;
            }
            _9++;
        }
        this.items.push(_8);
        this.selectorString = _a;
        for (var a = 0; a < this.items.length; a++) {
            var _8 = this.items[a];
            if (_8.length == 0) {
                throw new Error("illegal structure: '" + _a + "' contains an empty set");
            }
            if (_8[0].name != "tag") {
                throw new Error("illegal structure: '" + _a + "' contains a dangling relation");
            }
            if (_8[_8.length - 1].name != "tag") {
                throw new Error("illegal structure: '" + _a + "' contains a dangling relation");
            }
            for (var b = 1; b < _8.length; b++) {
                if (_8[b].name != "tag" && _8[b - 1].name != "tag") {
                    throw new Error("illegal structure: '" + _a + "' contains doubled up relations");
                }
            }
        }
    };
    function toQuerySelectorString(sel) {
        if (!sel.qss) {
            var _18 = [];
            for (var i = 0; i < sel.items.length; i++) {
                var _1a = "";
                var _1b = sel.items[i];
                for (var j = 0; j < _1b.length; j++) {
                    var des = _1b[j];
                    if (des.name == "tag") {
                        _1a += des.tagName;
                        if (des.classNames) {
                            _1a += "." + des.classNames.join(".");
                        }
                        if (des.id) {
                            _1a += "#" + des.id;
                        }
                        if (des.targeted) {
                            _1a += ":target";
                        }
                        if (des.attributes) {
                            for (var k = 0; k < des.attributes.length; k++) {
                                _1a += "[" + des.attributes[k].name;
                                if (des.attributes[k].matchType) {
                                    _1a += des.attributes[k].matchType;
                                    _1a += "\"" + des.attributes[k].value.replace(/"/, "\\\"") + "\"";
                                }
                                _1a += "]";
                            }
                        }
                    } else {
                        if (des.name == "descendant") {
                            _1a += " ";
                            continue;
                        } else {
                            if (des.name == "child") {
                                _1a += " > ";
                                continue;
                            } else {
                                if (des.name == "followingSib") {
                                    _1a += " ~ ";
                                    continue;
                                } else {
                                    if (des.name == "nextSib") {
                                        _1a += " + ";
                                        continue;
                                    }
                                }
                            }
                        }
                    }
                }
                _18.push(_1a);
            }
            sel.qss = _18.join(", ");
        }
        return sel.qss;
    }
    _1.Selector.prototype.matches = function (el) {
        if (!el) {
            throw new Error("no element provided");
        }
        if (el.nodeType != 1) {
            throw new Error(this.selectorString + " cannot be evaluated against element of type " + el.nodeType);
        }
        commas: for (var a = 0; a < this.items.length; a++) {
            var _21 = el;
            var _22 = this.items[a];
            for (var b = _22.length - 1; b >= 0; b--) {
                var itm = _22[b];
                if (itm.name == "tag") {
                    if (!matchIt(_21, itm)) {
                        if (_21 && b < _22.length - 1 && _22[b + 1].name == "descendant") {
                            _21 = _21.parentNode;
                            b++;
                            continue;
                        } else {
                            if (_21 && b < _22.length - 1 && _22[b + 1].name == "followingSib") {
                                _21 = _21.previousSibling;
                                b++;
                                continue;
                            } else {
                                continue commas;
                            }
                        }
                    }
                } else {
                    if (itm.name == "nextSib") {
                        _21 = previousElement(_21);
                    } else {
                        if (itm.name == "followingSib") {
                            _21 = previousElement(_21);
                        } else {
                            if (itm.name == "child") {
                                _21 = _21.parentNode;
                            } else {
                                if (itm.name == "descendant") {
                                    _21 = _21.parentNode;
                                }
                            }
                        }
                    }
                }
            }
            return true;
        }
        return false;
    };
    function matchIt(el, itm) {
        if (!el) {
            return false;
        }
        if (el.nodeName.toLowerCase() != itm.tagName && itm.tagName != "*") {
            return false;
        }
        if (itm.classNames) {
            for (var i = 0; i < itm.classNames.length; i++) {
                if (!hasClassName(el, itm.classNames[i])) {
                    return false;
                }
            }
        }
        if (itm.id && el.id != itm.id) {
            return false;
        }
        if (itm.attributes) {
            for (var i = 0; i < itm.attributes.length; i++) {
                var _28 = itm.attributes[i];
                if (typeof el.hasAttribute != "undefined") {
                    if (!el.hasAttribute(_28.name)) {
                        return false;
                    }
                    var att = el.getAttribute(_28.name);
                } else {
                    if (el.nodeType != 1) {
                        return false;
                    }
                    var att = el.getAttribute(_28.name, 2);
                    if (_28.name == "class") {
                        att = el.className;
                    } else {
                        if (_28.name == "for") {
                            att = el.htmlFor;
                        }
                    }
                    if (!att) {
                        return false;
                    }
                }
                if (_28.value) {
                    if (_28.matchType == "^=") {
                        if (att.indexOf(_28.value) != 0) {
                            return false;
                        }
                    } else {
                        if (_28.matchType == "*=") {
                            if (att.indexOf(_28.value) == -1) {
                                return false;
                            }
                        } else {
                            if (_28.matchType == "$=") {
                                if (att.indexOf(_28.value) != att.length - _28.value.length) {
                                    return false;
                                }
                            } else {
                                if (_28.matchType == "=") {
                                    if (att != _28.value) {
                                        return false;
                                    }
                                } else {
                                    if ("|=" == _28.matchType || "~=" == _28.matchType) {
                                        if (!_28.valuePatt.test(att)) {
                                            return false;
                                        }
                                    } else {
                                        if (!_28.matchType) {
                                            throw new Error("illegal structure, parsed selector cannot have null or empty attribute match type");
                                        } else {
                                            throw new Error("illegal structure, parsed selector cannot have '" + itm.matchType + "' as an attribute match type");
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        return true;
    }
    function getTagNames(sel) {
        var _2b = {};
        for (var a = 0; a < sel.items.length; a++) {
            _2b[sel.items[a][sel.items[a].length - 1].tagName] = null;
        }
        var _2d = [];
        for (var tag in _2b) {
            if (_2b.hasOwnProperty(tag)) {
                _2d.push(tag);
            }
        }
        return _2d;
    }
    _1.importSelectorAPI = function () {
        if (window.Selector) {
            throw new Error(globalError("Selector"));
        }
        window.Selector = _1.Selector;
    };
    var _2f = {};
    var _30 = {};
    function hasClassName(_31, _32) {
        if (!_2f[_32]) {
            _2f[_32] = new RegExp("(^|\\s)" + _32 + "($|\\s)");
        }
        return _31.className && _2f[_32].test(_31.className);
    }
    function addClassName(_33, _34) {
        if (!hasClassName(_33, _34)) {
            _33.className += " " + _34;
        }
    }
    function removeClassName(_35, _36) {
        if (!_2f[_36]) {
            _2f[_36] = new RegExp("(^|\\s+)" + _36 + "($|\\s+)");
        }
        _35.className = _35.className.replace(_2f[_36], " ");
    }
    function toggleClassName(_37, _38) {
        if (hasClassName(_37, _38)) {
            removeClassName(_37, _38);
        } else {
            addClassName(_37, _38);
        }
    }
    function switchClassName(_39, _3a, _3b) {
        if (_3a == _3b) {
            throw new Error("cName1 and cName2 both equal " + _3a);
        }
        var _3c = hasClassName(_39, _3a);
        var _3d = hasClassName(_39, _3b);
        if (_3c && _3d) {
            removeClassName(_39, _3b);
        } else {
            if (!_3c && !_3d) {
                addClassName(_39, _3a);
            } else {
                if (_3c) {
                    removeClassName(_39, _3a);
                    addClassName(_39, _3b);
                } else {
                    removeClassName(_39, _3b);
                    addClassName(_39, _3a);
                }
            }
        }
    }
    function matchClassName(_3e, _3f) {
        var _40 = _3e.className.split(" ");
        for (var a = 0; a < _40.length; a++) {
            var _42 = _40[a].match(_3f);
            if (_42) {
                return _42;
            }
        }
        return null;
    }
    function elementMatchesSelector(_43, _44) {
        if (!_30[_44]) {
            _30[_44] = new _1.Selector(_44);
        }
        return _30[_44].matches(_43);
    }
    function previousElement(el) {
        var _46 = el.previousSibling;
        while (_46 && _46.nodeType != 1) {
            _46 = _46.previousSibling;
        }
        return _46;
    }
    function nextElement(el) {
        var _48 = el.nextSibling;
        while (_48 && _48.nodeType != 1) {
            _48 = _48.nextSibling;
        }
        return _48;
    }
    function innerWrap(el, _4a) {
        var _4b = el.childNodes;
        while (_4b.length > 0) {
            var _4c = _4b[0];
            el.removeChild(_4c);
            _4a.appendChild(_4c);
        }
        el.appendChild(_4a);
    }
    function outerWrap(el, _4e) {
        el.parentNode.insertBefore(_4e, el);
        el.parentNode.removeChild(el);
        _4e.appendChild(el);
    }
    function getParent(el, _50) {
        var _51 = new _1.Selector(_50);
        while (el.parentNode) {
            el = el.parentNode;
            if (el.nodeType == 1 && _51.matches(el)) {
                return el;
            }
        }
        return null;
    }
    function insertAfter(_52, _53) {
        var _54 = _53.nextSibling;
        var _55 = _53.parentNode;
        if (_54) {
            _55.insertBefore(_52, _54);
        } else {
            _55.appendChild(_52);
        }
    }
    function newElement(_56, _57, _58) {
        if (_56.indexOf(".") + _56.indexOf("#") > -2) {
            var _59 = (_56.indexOf(".") > -1) ? _56.replace(/^.*\.([^\.#]*).*$/, "$1") : "";
            var id = (_56.indexOf("#") > -1) ? _56.replace(/^.*#([^\.#]*).*$/, "$1") : "";
            _56 = _56.replace(/^([^\.#]*).*$/, "$1");
        }
        var e = document.createElement(_56);
        if (_59) {
            e.className = _59;
        }
        if (id) {
            e.id = id;
        }
        if (_57) {
            for (var key in _57) {
                if (!_57.hasOwnProperty(key)) {
                    continue;
                }
                if (key == "class") {
                    e.className = e.className ? e.className += " " + _57[key] : _57[key];
                } else {
                    if (key == "for") {
                        e.htmlFor = _57[key];
                    } else {
                        if (key.indexOf("on") == 0) {
                            e[key] = _57[key];
                        } else {
                            e.setAttribute(key, _57[key]);
                        }
                    }
                }
            }
        }
        if (_58) {
            if (! (_58 instanceof Array)) {
                _58 = [_58];
            }
            for (var a = 0; a < _58.length; a++) {
                if (typeof _58[a] == "string") {
                    e.appendChild(document.createTextNode(_58[a]));
                } else {
                    e.appendChild(_58[a]);
                }
            }
        }
        if (_56.toLowerCase() == "img" && !e.alt) {
            e.alt = "";
        }
        return e;
    }
    function elementText(el) {
        if (!el) {
            return "";
        }
        var _5f = el.childNodes;
        var _60 = "";
        if (_1.matches(el, "img@alt,area@alt")) {
            _60 += el.alt;
        } else {
            if (_1.matches(el, "input")) {
                _60 += el.value;
            } else {
                for (var a = 0; a < _5f.length; a++) {
                    if (3 == _5f[a].nodeType) {
                        _60 += _5f[a].data;
                    } else {
                        if (1 == _5f[a].nodeType) {
                            _60 += elemText(_5f[a]);
                        }
                    }
                }
            }
        }
        return _60;
    }
    function getElementById(id) {
        return document.getElementById(id);
    }
    function getElementsByTagName(tag, _64) {
        if (!_64) {
            _64 = document;
        }
        return _64.getElementsByTagName(tag);
    }
    var _65 = /^\s*([a-z0-9_-]+)?\.([a-z0-9_-]+)\s*$/i;
    var _66 = /^\s*([a-z0-9_-]+)?\#([a-z0-9_-]+)\s*$/i;
    function getElementsBySelector(_67, _68) {
        _68 = _68 || window.document.documentElement;
        var _69 = [];
        var _6a, iMat;
        if (_6a = _67.match(_65)) {
            var cl = _6a[2];
            var tg = _6a[1];
            _69 = _1.gebcn(cl, _68, tg);
        } else {
            if (iMat = _67.match(_66)) {
                var id = iMat[2];
                var tg = iMat[1];
                var el = _1.gebi(id);
                if (el && _68.contains(el) && _1.matches(el, _67)) {
                    _69[0] = el;
                }
            } else {
                if (!_30[_67]) {
                    _30[_67] = new _1.Selector(_67);
                }
                var sel = _30[_67];
                if (_68.querySelectorAll) {
                    var _70 = _68.querySelectorAll(toQuerySelectorString(sel));
                    for (var i = 0; i < _70.length; i++) {
                        _69[_69.length] = _70[i];
                    }
                } else {
                    var _72 = getTagNames(sel);
                    for (var a = 0; a < _72.length; a++) {
                        var els = getElementsByTagName(_72[a], _68);
                        for (var b = 0, el; el = els[b++];) {
                            if (el.nodeType != 1) {
                                continue;
                            }
                            if (sel.matches(el)) {
                                _69.push(el);
                            }
                        }
                    }
                }
            }
        }
        return _69;
    }
    function getElementsByClassName(_76, _77, tag) {
        _77 = (_77) ? _77: document;
        tag = (tag) ? tag.toLowerCase() : "*";
        var _79 = [];
        if (document.getElementsByClassName) {
            var _7a = _77.getElementsByClassName(_76);
            if (tag != "*") {
                for (var i = 0; i < _7a.length; i++) {
                    var el = _7a[i];
                    if (tag == el.nodeName.toLowerCase()) {
                        _79.push(el);
                    }
                }
            } else {
                for (var i = 0; i < _7a.length; i++) {
                    _79.push(_7a[i]);
                }
            }
        } else {
            _76 = _76.split(/\s+/);
            if (document.evaluate) {
                var _7d = ".//" + tag;
                var len = _76.length;
                for (var i = 0; i < len; i++) {
                    _7d += "[contains(concat(' ', @class, ' '), ' " + _76[i] + " ')]";
                }
                var _7f = document.evaluate(_7d, _77, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, _7f);
                var el;
                while (el = _7f.iterateNext()) {
                    _79.push(el);
                }
            } else {
                var els = (tag == "*" && _77.all) ? _77.all: getElementsByTagName(tag, _77);
                elements: for (var i = 0, el; el = els[i++];) {
                    for (var j = 0; j < _76.length; j++) {
                        if (!hasClassName(el, _76[j])) {
                            continue elements;
                        }
                    }
                    _79.push(el);
                }
            }
        }
        return _79;
    }
    var _82 = {
        hasClassName: hasClassName,
        addClassName: addClassName,
        removeClassName: removeClassName,
        toggleClassName: toggleClassName,
        switchClassName: switchClassName,
        matchClassName: matchClassName,
        elementMatchesSelector: elementMatchesSelector,
        previousElement: previousElement,
        nextElement: nextElement,
        innerWrap: innerWrap,
        outerWrap: outerWrap,
        getParent: getParent,
        insertAfter: insertAfter,
        newElement: newElement,
        elementText: elementText,
        getElementById: getElementById,
        getElementsByTagName: getElementsByTagName,
        getElementsBySelector: getElementsBySelector,
        getElementsByClassName: getElementsByClassName
    };
    _82.hcn = _82.hasClassName;
    _82.acn = _82.addClassName;
    _82.rcn = _82.removeClassName;
    _82.tcn = _82.toggleClassName;
    _82.scn = _82.switchClassName;
    _82.mcn = _82.matchClassName;
    _82.matches = _82.elementMatchesSelector;
    _82.prevElem = _82.previousElement;
    _82.nextElem = _82.nextElement;
    _82.elem = _82.newElement;
    _82.elemText = _82.elementText;
    _82.gebi = _82.getElementById;
    _82.gebtn = _82.getElementsByTagName;
    _82.gebs = _82.getElementsBySelector;
    _82.gebcn = _82.getElementsByClassName;
    _1.importHelperFunctions = function () {
        var _83 = [];
        for (var _84 in _82) {
            if (!_82.hasOwnProperty(_84)) {
                continue;
            }
            if (window[_84]) {
                _83.push(globalError(_84));
            } else {
                window[_84] = _82[_84];
            }
        }
        if (_83.length > 0) {
            throw new Error(_83.join("\n"));
        }
    };
    for (var _85 in _82) {
        if (!_82.hasOwnProperty(_85)) {
            continue;
        }
        if (_1[_85]) {
            throw new Error("Already exists under reg: " + _85);
        } else {
            _1[_85] = _82[_85];
        }
    }
    function getTarget(e) {
        if (!e) {
            e = window.event;
        }
        if (e.target) {
            var _87 = e.target;
        } else {
            if (e.srcElement) {
                var _87 = e.srcElement;
            }
        }
        if (_87.nodeType == 3) {
            _87 = _87.parentNode;
        }
        return _87;
    }
    function getRelatedTarget(e) {
        if (!e) {
            e = window.event;
        }
        var _89 = e.relatedTarget;
        if (!_89) {
            if ("mouseover" == e.type) {
                _89 = e.fromElement;
            }
            if ("mouseout" == e.type) {
                _89 = e.toElement;
            }
        }
        return _89;
    }
    function cancelDefault(e) {
        if (typeof e.preventDefault != "undefined") {
            e.preventDefault();
            return;
        }
        e.returnValue = false;
    }
    function cancelBubble(e) {
        if (typeof e.stopPropagation != "undefined") {
            e.stopPropagation();
            return;
        }
        e.cancelBubble = true;
    }
    var _8c = {};
    var _8d = 0;
    function rememberEvent(_8e, evt, _90, _91, _92) {
        var _93 = _8d++;
        _8c[_93 + ""] = {
            element: _8e,
            event: evt,
            handler: _90,
            capture: !!_91,
            cleanable: !!_92
        };
        return _93;
    }
    function removeEvent(_94) {
        var key = _94 + "";
        var eo = _8c[key];
        if (eo) {
            var el = eo.element;
            if (el.removeEventListener) {
                el.removeEventListener(eo.event, eo.handler, eo.capture);
                delete _8c[key];
                return true;
            } else {
                if (el.detachEvent) {
                    el.detachEvent("on" + eo.event, eo.handler);
                    delete _8c[key];
                    return true;
                }
            }
        }
        return false;
    }
    function cleanup(all) {
        for (var key in _8c) {
            if (!_8c.hasOwnProperty(key)) {
                continue;
            }
            if (all || (_8c[key].cleanable && !document.documentElement.contains(_8c[key].element))) {
                removeEvent(key);
            }
        }
    }
    window.setInterval(function () {
        cleanup(false);
    },
    10000);
    function addEvent(_9a, evt, _9c, _9d, _9e) {
        if (_9a.addEventListener) {
            _9a.addEventListener(evt, _9c, _9d);
            return rememberEvent(_9a, evt, _9c, _9d, _9e);
        } else {
            if (_9a.attachEvent) {
                var _9f = function () {
                    _9c.call(_9a, window.event);
                };
                _9a.attachEvent("on" + evt, _9f);
                return rememberEvent(_9a, evt, _9f, _9d, _9e);
            }
        }
    }
    addEvent(window, "unload", function () {
        cleanup(true);
    });
    var _a0 = {
        getTarget: getTarget,
        getRelatedTarget: getRelatedTarget,
        cancelDefault: cancelDefault,
        addEvent: addEvent,
        removeEvent: removeEvent,
        cancelBubble: cancelBubble
    };
    _1.importEventFunctions = function () {
        var _a1 = [];
        for (var _a2 in _a0) {
            if (!_a0.hasOwnProperty(_a2)) {
                continue;
            }
            if (window[_a2]) {
                _a1.push(globalError(_a2));
            } else {
                window[_a2] = _a0[_a2];
            }
        }
        if (_a1.length > 0) {
            throw new Error(_a1.join("\n"));
        }
    };
    for (var _85 in _a0) {
        if (!_a0.hasOwnProperty(_85)) {
            continue;
        }
        if (_1[_85]) {
            throw new Error("Already exists under reg: " + _85);
        } else {
            _1[_85] = _a0[_85];
        }
    }
    var _a3 = [];
    var _a4 = [];
    var _a5 = {};
    var _a6 = [];
    _1.setup = function (_a7, _a8, _a9) {
        _a9 = !!_a9;
        var sqt = _a5;
        var _ab = new _1.Selector(_a7);
        var _ac = getTagNames(_ab);
        var _ad = {
            selector: _ab,
            setup: _a8,
            ran: false,
            firstTimeOnly: _a9
        };
        _a4.push(_ad);
        for (var a = 0; a < _ac.length; a++) {
            var _af = _ac[a];
            if (!sqt[_af]) {
                sqt[_af] = [_ad];
            } else {
                sqt[_af].push(_ad);
            }
        }
    };
    _1.preSetup = function (fn) {
        _a3.push(fn);
    };
    _1.postSetup = function (fn) {
        _a6.push(fn);
    };
    var _b2 = _1.rerun = function (el, _b4) {
        function runIt(el, _b6) {
            _b6.setup.call(el);
            _b6.ran = true;
        }
        var _b7 = new Date().getTime();
        if (typeof el.clobberable != "undefined" && el.clobberable && _b4) {
            return;
        }
        var doc = (el) ? el: document;
        var sqt = _a5;
        var _ba = true;
        for (var _bb in sqt) {
            if (!sqt.hasOwnProperty(_bb)) {
                continue;
            }
            _ba = false;
            break;
        }
        if (el.querySelector) {
            var _bc = [];
            for (var i = 0; i < _a4.length; i++) {
                var _be = _a4[i];
                if (_be.firstTimeOnly) {
                    if (_be.ran) {
                        continue;
                    }
                    try {
                        var _bf = el.querySelector(toQuerySelectorString(_be.selector));
                        if (_bf) {
                            _bc.push({
                                el: _bf,
                                regObj: _be
                            });
                        }
                    }
                    catch(ex) {
                        console.log("querySelector('" + toQuerySelectorString(_be.selector) + "') threw " + ex);
                        continue;
                    }
                } else {
                    try {
                        var _c0 = el.querySelectorAll(toQuerySelectorString(_be.selector));
                        for (var j = 0; j < _c0.length; j++) {
                            _bc.push({
                                el: _c0[j],
                                regObj: _be
                            });
                        }
                    }
                    catch(ex) {
                        console.log("querySelectorAll('" + toQuerySelectorString(_be.selector) + "') threw " + ex);
                        continue;
                    }
                }
            }
            for (var i = 0; i < _bc.length; i++) {
                runIt(_bc[i].el, _bc[i].regObj);
            }
        } else {
            if (!_ba) {
                var _c2 = getElementsByTagName("*", doc);
                for (var i = _c2.length - 1, els = []; i >= 0; i--) {
                    els[i] = _c2[i];
                }
                var _bc = [];
                for (var a = 0, _bf; _bf = els[a++];) {
                    if (_bf.nodeType != 1) {
                        continue;
                    }
                    var _c4 = _bf.nodeName.toLowerCase();
                    var _c5 = sqt["*"];
                    var _c6 = sqt[_c4];
                    if (_c5) {
                        for (var b = 0; b < _c5.length; b++) {
                            var _be = _c5[b];
                            if (_be.firstTimeOnly && _be.ran) {
                                continue;
                            }
                            var _c8 = _be.selector.matches(_bf);
                            if (_c8) {
                                _bc.push({
                                    el: _bf,
                                    regObj: _be
                                });
                                _be.ran = true;
                            }
                        }
                    }
                    if (_c6) {
                        for (var b = 0; b < _c6.length; b++) {
                            var _be = _c6[b];
                            if (_be.firstTimeOnly && _be.ran) {
                                continue;
                            }
                            var _c8 = _be.selector.matches(_bf);
                            if (_c8) {
                                _bc.push({
                                    el: _bf,
                                    regObj: _be
                                });
                                _be.ran = true;
                            }
                        }
                    }
                }
                for (var i = 0; i < _bc.length; i++) {
                    runIt(_bc[i].el, _bc[i].regObj);
                }
            }
        }
        el.clobberable = true;
        var _c9 = new Date().getTime() - _b7;
        if (!_1.setupTime) {
            _1.setupTime = _c9;
        }
        _1.lastSetupTime = _c9;
    };
    var ie6 = navigator.appVersion.indexOf("MSIE 6.0") != -1;
    if (!ie6) {
        addClassName(document.documentElement, "regloading");
    }
    var _cb = false;
    function loadFunc(e) {
        if (!_cb) {
            _cb = true;
            for (var a = 0; a < _a3.length; a++) {
                _a3[a]();
            }
            _b2(document, true);
            for (var a = 0; a < _a6.length; a++) {
                _a6[a]();
            }
            if (!ie6) {
                removeClassName(document.documentElement, "regloading");
                addClassName(document.documentElement, "regloaded");
            }
        }
    }
    addEvent(window, "load", loadFunc);
    addEvent(window, "DOMContentLoaded", loadFunc);
    var _ce = {};
    var _cf = {};
    var _d0 = {};
    var _d1 = {};
    var _d2 = {};
    var _d3 = {};
    var _d4 = {};
    var _d5 = {};
    var _d6 = {};
    var _d7 = {};
    var _d8 = {};
    var _d9 = {};
    var _da = {};
    var _db = {};
    var _dc = {};
    function getDepth(_dd) {
        var _de = null;
        for (var i = 2; i < _dd.length; i++) {
            if (!isNaN(parseInt(_dd[i]))) {
                _de = _dd[i];
                break;
            }
        }
        if (_de === null) {
            _de = -1;
        }
        if (_de < -1) {
            throw new Error("bad arg for depth, must be -1 or higher");
        }
        return _de;
    }
    function pushFunc(_e0, _e1, _e2, _e3, _e4) {
        if (!_e1 || typeof _e1 != "function") {
            return;
        }
        var _e5 = new _1.Selector(_e0);
        if (!_e3[_e0]) {
            _e3[_e0] = [];
        }
        var _e6 = {
            selector: _e5,
            handle: _e1,
            depth: _e2,
            hoverFlag: _e4
        };
        _e3[_e0].push(_e6);
    }
    _1.click = function (_e7, _e8, _e9, _ea, _eb) {
        var _ec = getDepth(arguments);
        pushFunc(_e7, _e8, _ec, _ce, false);
        pushFunc(_e7, _e9, _ec, _cf, false);
        pushFunc(_e7, _ea, _ec, _d0, false);
        pushFunc(_e7, _eb, _ec, _d1, false);
    };
    _1.hover = function (_ed, _ee, _ef) {
        var _f0 = getDepth(arguments);
        pushFunc(_ed, _ee, _f0, _d2, true);
        pushFunc(_ed, _ef, _f0, _d3, true);
    };
    _1.focus = function (_f1, _f2, _f3) {
        var _f4 = getDepth(arguments);
        pushFunc(_f1, _f2, _f4, _d4, false);
        pushFunc(_f1, _f3, _f4, _d5, false);
    };
    _1.key = function (_f5, _f6, _f7, _f8) {
        var _f9 = getDepth(arguments);
        pushFunc(_f5, _f6, _f9, _d6, false);
        pushFunc(_f5, _f7, _f9, _d7, false);
        pushFunc(_f5, _f8, _f9, _d8, false);
    };
    _1.submit = function (_fa, _fb) {
        var _fc = getDepth(arguments);
        pushFunc(_fa, _fb, _fc, _d9, false);
    };
    _1.reset = function (_fd, _fe) {
        var _ff = getDepth(arguments);
        pushFunc(_fd, _fe, _ff, _da, false);
    };
    _1.change = function (_100, func) {
        var _102 = getDepth(arguments);
        pushFunc(_100, func, _102, _db, false);
    };
    _1.select = function (_103, func) {
        var _105 = getDepth(arguments);
        pushFunc(_103, func, _105, _dc, false);
    };
    if (document.all && !window.opera) {
        function ieSubmitDelegate(e) {
            delegate(_d9, e);
            cancelBubble(e);
        }
        function ieResetDelegate(e) {
            delegate(_da, e);
            cancelBubble(e);
        }
        function ieChangeDelegate(e) {
            delegate(_db, e);
            cancelBubble(e);
        }
        function ieSelectDelegate(e) {
            delegate(_dc, e);
            cancelBubble(e);
        }
        _1.focus("form", function () {
            removeEvent(this._submit_prep);
            this._submit_prep = addEvent(this, "submit", ieSubmitDelegate, false, true);
            removeEvent(this._reset_prep);
            this._reset_prep = addEvent(this, "reset", ieResetDelegate, false, true);
        },
        function () {
            removeEvent(this._submit_prep);
            removeEvent(this._reset_prep);
        });
        _1.focus("select,input,textarea", function () {
            removeEvent(this._change_prep);
            this._change_prep = addEvent(this, "change", ieChangeDelegate, false, true);
        },
        function () {
            removeEvent(this._change_prep);
        });
        _1.focus("input,textarea", function () {
            removeEvent(this._select_prep);
            this._select_prep = addEvent(this, "select", ieSelectDelegate, false, true);
        },
        function () {
            removeEvent(this._select_prep);
        });
    }
    function delegate(_10a, _10b) {
        if (_10a) {
            var targ = getTarget(_10b);
            for (var sel in _10a) {
                if (!_10a.hasOwnProperty(sel)) {
                    continue;
                }
                for (var a = 0; a < _10a[sel].length; a++) {
                    var _10f = _10a[sel][a];
                    var _110 = (_10f.depth == -1) ? 100 : _10f.depth;
                    var el = targ;
                    for (var b = -1; b < _110 && el && el.nodeType == 1; b++, el = el.parentNode) {
                        if (_10f.selector.matches(el)) {
                            if (_10f.hoverFlag) {
                                var _113 = getRelatedTarget(_10b);
                                if (_113 && (el.contains(_113) || el == _113)) {
                                    break;
                                }
                            }
                            var _114 = _10f.handle.call(el, _10b);
                            if (_114 !== undefined && !_114) {
                                cancelDefault(_10b);
                            }
                            break;
                        }
                    }
                }
            }
        }
    }
    if (typeof document.onactivate == "object") {
        var _115 = "activate";
        var _116 = "deactivate";
    } else {
        var _115 = "focus";
        var _116 = "blur";
    }
    var _117 = document.documentElement;
    addEvent(_117, "click", function (e) {
        delegate(_ce, e);
    });
    addEvent(_117, "mousedown", function (e) {
        delegate(_cf, e);
    });
    addEvent(_117, "mouseup", function (e) {
        delegate(_d0, e);
    });
    addEvent(_117, "dblclick", function (e) {
        delegate(_d1, e);
    });
    addEvent(_117, "keydown", function (e) {
        delegate(_d6, e);
    });
    addEvent(_117, "keypress", function (e) {
        delegate(_d7, e);
    });
    addEvent(_117, "keyup", function (e) {
        delegate(_d8, e);
    });
    addEvent(_117, _115, function (e) {
        delegate(_d4, e);
    },
    true);
    addEvent(_117, _116, function (e) {
        delegate(_d5, e);
    },
    true);
    addEvent(_117, "mouseover", function (e) {
        delegate(_d2, e);
    });
    addEvent(_117, "mouseout", function (e) {
        delegate(_d3, e);
    });
    addEvent(_117, "submit", function (e) {
        delegate(_d9, e);
    });
    addEvent(_117, "reset", function (e) {
        delegate(_da, e);
    });
    addEvent(_117, "change", function (e) {
        delegate(_db, e);
    });
    addEvent(_117, "select", function (e) {
        delegate(_dc, e);
    });
    var _127 = [];
    var log = function (str) {
        _127.push(str);
    };
    var _12a = function () {
        return _127.join("\n") + "\n";
    };
    if (!window.console) {
        window.console = {
            log: log,
            contents: _12a
        };
    } else {
        if (!window.console.log) {
            window.console.log = log;
            if (!window.console.contents) {
                window.console.contents = _12a;
            }
        }
    }
    addClassName(_117, "regenabled");
    return _1;
})();
reg.importAll();
var is = new ottosniff();
function ottosniff() {
    var ua = navigator.userAgent.toLowerCase();
    var b = navigator.appName;
    if (b == "Netscape") {
        this.b = "ns";
    } else {
        this.b = b;
    }
    this.version = navigator.appVersion;
    this.v = parseInt(this.version);
    this.gecko = /\bgecko\/(20\d\d)(\d\d)(\d\d)/.test(ua);
    this.ns = (this.b == "ns" && this.v >= 5);
    this.op = (ua.indexOf("opera") > -1);
    this.safari = (ua.indexOf("safari") > -1 && this.v < 5);
    this.safariAll = (ua.indexOf("safari") > -1);
    this.op7 = (this.op && this.v >= 7 && this.v < 8);
    this.op78 = (this.op && this.v >= 7 || this.op && this.v >= 8);
    this.ie5 = (this.version.indexOf("MSIE 5") > -1);
    this.ie6 = (this.version.indexOf("MSIE 6") > -1);
    this.ie7 = (this.version.indexOf("MSIE 7") > -1);
    this.ie8 = (this.version.indexOf("MSIE 8") > -1);
    this.ie56 = (this.ie5 || this.ie6);
    this.ie567 = (this.ie5 || this.ie6 || this.ie7);
    this.ie = (this.ie5 || this.ie6 || this.ie7 || this.ie8);
    this.iewin = (this.ie56 && ua.indexOf("windows") > -1 || this.ie7 && ua.indexOf("windows") > -1);
    this.iemac = (this.ie56 && ua.indexOf("mac") > -1);
    this.moz = (ua.indexOf("mozilla") > -1);
    this.ff = (ua.indexOf("firefox") > -1);
    this.moz13 = (ua.indexOf("mozilla") > -1 && ua.indexOf("1.3") > -1);
    this.oldmoz = (ua.indexOf("sunos") > -1 || this.moz13 && !this.ff || this.moz && ua.indexOf("1.4") > -1 && !this.ff || this.moz && ua.indexOf("1.5") > -1 && !this.ff || this.moz && ua.indexOf("1.6") > -1 && !this.ff);
    this.anymoz = this.gecko;
    this.ns6 = (ua.indexOf("netscape6") > -1);
    this.geckoAtOrAbove = function (_12d) {
        var gVer = (this.gecko) ? ua.substring(ua.indexOf("; rv:") + 5, ua.indexOf(") gecko")) : "";
        var t = gVer.split(".");
        var v = _12d.split(".");
        while (t.length < v.length) {
            t.push("0");
        }
        while (v.length < t.length) {
            v.push("0");
        }
        for (var i = 0; i < v.length; i++) {
            var ti = parseInt(t[i]),
            vi = parseInt(v[i]);
            if (ti == vi) {
                continue;
            } else {
                return (ti > vi);
            }
        }
        return true;
    };
}
var rtl = (document.documentElement.lang.indexOf("he") > -1 && document.documentElement.lang.indexOf("IL")) ? true: false;
if (rtl) {
    addClassName(document.documentElement, "rtl");
}
if (is.op) {
    var bclass = "browserOpera";
} else {
    if (is.safariAll) {
        var bclass = "browserSafari";
    } else {
        if (is.ie56) {
            var bclass = "browserExplorer56 browserExplorer";
        } else {
            if (is.ie7) {
                var bclass = "browserExplorer7 browserExplorer";
            } else {
                if (is.iemac) {
                    var bclass = "browserExplorerMac";
                } else {
                    if (is.oldmoz) {
                        var bclass = "browserOldMoz";
                    } else {
                        var bclass = "";
                    }
                }
            }
        }
    }
}
if (is.gecko) {
    bclass += " gecko";
}
if (is.safari || is.geckoAtOrAbove("1.9")) {
    bclass += " radius";
} else {
    bclass += " noradius";
}
bclass += " jsenabled";
addClassName(document.documentElement, bclass);
if (typeof shutoff == "undefined") {
    var shutoff = {
        global: false,
        share: false,
        pop: false,
        misc: false
    };
}
if (!shutoff.global) {
    reg.setup("div.a1r2 span.toolbarlinks > a,div.a1r2 span.siteid > a", sniffA1);
    reg.setup("div#a5 a", sniffA5);
    reg.focus("input#searchfield,input.searchfield", function () {
        addClassName(this, "sfieldfocused");
    },
    function () {
        removeClassName(this, "sfieldfocused");
    });
    reg.focus("div#a5 > ul li.hasmenu", function () {
        addClassName(this, "a5show");
        gebtn("div", this)[0].style.top = ((gebtn("div", this)[0].offsetHeight * -1)) + 4 + "px";
    },
    function () {
        removeClassName(this, "a5show");
    });
    reg.hover("div#a5 > ul li.hasmenu", function () {
        addClassName(this, "a5show");
        gebtn("div", this)[0].style.top = ((gebtn("div", this)[0].offsetHeight * -1)) + 4 + "px";
    },
    function () {
        removeClassName(this, "a5show");
    });
    reg.hover("div.a5menu", function () {
        addClassName(this.parentNode, "a5show");
    },
    function () {
        removeClassName(this, "a5show");
    });
    reg.setup("td.navlinks > div", sniffA2);
    reg.hover("ul#mtopics", function () {
        if (!a2["ent"]) {
            reg.setup("ul#mtopics > li", sniffA2);
            reg.rerun(this);
        }
    });
    reg.focus("ul#mtopics", function () {
        if (!a2["ent"]) {
            reg.setup("ul#mtopics > li", sniffA2);
            reg.rerun(this);
        }
    });
    if (is.ie56) {
        reg.hover("ul#mtopics > li", function () {
            addClassName(this, "a2mshow");
        },
        function () {
            removeClassName(this, "a2mshow");
        });
        reg.hover("td.navlinks", function () {
            addClassName(this, "a2mshow");
        },
        function () {
            removeClassName(this, "a2mshow");
        },
        5);
    }
    if (shutoff.misc) {
        reg.preSetup(function () {
            var a2v8 = gebi("a2v8");
            if (!a2v8) {
                return;
            }
            reg.setup("select.goto, select.showDiv", sniffGoto);
            reg.setup("ul.goto, ul.showDiv", sniffGotoUL);
        });
    }
}
if (!shutoff.pop) {
    reg.click(".k5, .media-popin", k5Click);
    reg.click(".k5close", k5Close);
    reg.key("html", function (e) {
        if (27 == e.keyCode) {
            k5Close();
        }
    });
    reg.setup("@class*='k2ajax-'", sniffK2ajax);
    reg.setup("@class*='k2over', @class*='k2focus', @class*='k2cl', @class*='k2show', @class*='k2hide'", sniffK2);
    reg.setup(".modal-launch", sniffModal);
}
reg.preSetup(function () {
    var cpy = gebi("copyDate");
    if (!cpy) {
        return;
    }
    cpy.innerHTML = "1994-" + new Date().getFullYear() + " ";
});
reg.focus("body", blurOut);
var blurIt = [];
function blurOut(ev) {
    var obj = this;
    t = getTarget(ev);
    var b = blurIt;
    blurIt = [];
    for (var i = 0; i < b.length; i++) {
        if (!hasParent(t, b[i][0])) {
            if (b[i][1] == "hidden") {
                b[i][0].style.visibility = "hidden";
            } else {
                if (b[i][1]) {
                    removeClassName(b[i][0], b[i][1]);
                } else {
                    b[i][0].style.display = "none";
                }
            }
        } else {
            blurIt.push(b[i]);
        }
    }
}
reg.click("a.popup, area.popup, a.media-launch", bubblePop);
function bubblePop(e) {
    var link = this;
    if (hasClassName(link, "media-launch") && !matchClassName(link, "[0-9]+x[0-9]+")) {
        addClassName(link, "662x652");
    }
    var popW = "820";
    var popH = "600";
    var _13e = ["no", 0, 0, 0, 0, 0, 0, "", ""];
    var _13f = link.href;
    if (link.target) {
        var _140 = link.target;
    } else {
        var _140 = "newpopup";
    }
    var cls = link.className.split(" ");
    for (var v = 0; v < cls.length; v++) {
        if (cls[v].search("[0-9]+x[0-9]+") > -1) {
            var f = cls[v].split("x");
            popW = f[0];
            popH = f[1];
        } else {
            if (cls[v].indexOf("name-") == 0) {
                var f = cls[v].split("name-");
                _140 = f[1];
            } else {
                if (cls[v] == "scrolling") {
                    var _13e = ["yes", 1, 0, 0, 0, 0, 0];
                } else {
                    if (cls[v] == "full") {
                        var _13e = ["yes", 1, 1, 1, 1, 1, 1];
                    } else {
                        if (cls[v].indexOf("yes_") == 0 || cls[v].indexOf("no_") == 0) {
                            var f = cls[v].split("_");
                            f[1] = "f" + f[1];
                            var _13e = f[1].split("");
                            _13e[0] = f[0];
                        }
                    }
                }
            }
        }
        if (link.className.indexOf("centerpop") > 1) {
            _13e[7] = screen.availHeight / 2 - popH / 2;
            _13e[8] = screen.availWidth / 2 - popW / 2;
        }
    }
    openPopup(_13f, _140, popW, popH, _13e[0], _13e[1], _13e[2], _13e[3], _13e[4], _13e[5], _13e[6], _13e[7], _13e[8]);
    cancelDefault(e);
}
function openPopup(url, name, _146, _147, _148, _149, _14a, _14b, _14c, _14d, _14e, top, left) {
    var tl = (top && left) ? ",top=" + top + ",left=" + left: "";
    var _152 = window.open(url, name, "width=" + _146 + ",height=" + _147 + ",resizable=" + _148 + ",scrollbars=" + _149 + ",menubar=" + _14a + ",toolbar=" + _14b + ",location=" + _14c + ",directories=" + _14d + ",status=" + _14e + tl);
    _152.focus();
}
reg.focus("input.autoclear,input#searchfield,input.searchfield", autoclearFocus, autoclearBlur);
function autoclearFocus() {
    if (this.value == this.defaultValue) {
        this.value = "";
        addClassName(this, "autocleared");
    }
}
function autoclearBlur() {
    if (this.value == "") {
        this.value = this.defaultValue;
        removeClassName(this, "autocleared");
    }
}
var a1 = [];
a1["x"] = 1;
function sniffA1() {
    var link = this;
    oldA1Content();
    var a1w = ["<div class=\"a1menux1\"></div>\n<div class=\"a1menuw2\"><div class=\"a1menuw1\">\n", "</div><div class=\"a1menux2\"></div></div>"];
    if (!a1["ent"]) {
        for (key in a1) {
            var d = elem("div");
            d.innerHTML = key;
            a1[d.innerHTML] = a1[key];
        }
        a1["ent"] = true;
    }
    var _156 = link.innerHTML.normalize();
    var a1id = "a1menu" + a1["x"];
    a1["x"]++;
    if (hasClassName(link, "language-select")) {
        var d = elem("div.a1menu");
        addClassName(link, "k2over-languageselector y3 x-10");
        d.id = "languageselector";
        d.style.width = "170px";
        d.innerHTML = a1w[0] + "<h5></h5><div></div>" + a1w[1];
        link.parentNode.insertBefore(d, link.nextSibling);
        sniffK2.call(link);
        sniffSiteSelector(link.parentNode);
    } else {
        if (a1[_156]) {
            var d = elem("div.a1menu");
            addClassName(link, "karrow");
            addClassName(link, "k2over-" + a1id + " y3 x-6");
            if (hasClassName(link, "a1cart")) {
                link.innerHTML = "<span class=\"carticon small\">" + link.innerHTML + "</span>";
                link.style.paddingLeft = "0px";
            }
            if (a1[_156].indexOf("a1-2col") > -1) {
                var wc = "a1Large";
            } else {
                if (a1[_156].indexOf("<p>") > -1) {
                    var wc = "a1Medium";
                } else {
                    var wc = "a1Small";
                }
            }
            d.id = a1id;
            addClassName(d, wc);
            d.innerHTML = a1w[0] + a1[_156] + a1w[1];
            link.parentNode.insertBefore(d, link.nextSibling);
            sniffK2.call(link);
        }
    }
}
var a1hrefs = [];
var a1menus = [];
function oldA1Content() {
    var k;
    for (k in a1hrefs) {
        a1[a1hrefs[k][0]] = a1menus[k][1];
    }
    a1hrefs = a1menus = [];
}
var a2 = [];
function sniffA2() {
    var fobj = this;
    var sall = (typeof ltxt == "undefined") ? seeall: ltxt.seeall;
    if (navmenu["1.0"]) {
        oldA2Content();
    }
    if (gebi("ip1")) {
        oldA2TableFix();
    }
    if (!a2["ent"]) {
        for (key in a2) {
            var d = elem("div");
            d.innerHTML = key;
            a2[d.innerHTML.strip()] = a2[key];
        }
        a2["ent"] = true;
    }
    var _15d = gebtn("a", fobj)[0];
    var n = _15d.innerHTML.normalize();
    if (a2[n]) {
        var h = _15d.href;
        addEvent(_15d, "focus", function () {
            if (this.parentNode.nodeName.toLowerCase() == "li") {
                addClassName(this.parentNode, "a2mshow");
                blurIt.push([this.parentNode, "a2mshow"]);
            } else {
                addClassName(this.parentNode.parentNode, "a2mshow");
                blurIt.push([this.parentNode.parentNode, "a2mshow"]);
            }
        });
        var d = elem("div.a2m", {});
        d.style.marginLeft = (rtl) ? "-" + (204 - fobj.offsetWidth) + "px": "-20px";
        var u = elem("ul", {});
        var a = elem("a", {
            "href": h
        });
        a.innerHTML = sall + " &#187;";
        var l = elem("li", {});
        if (h.indexOf("#") < 0 && h.split("#")[1] != "" && a2[n].indexOf("<!-- no see all -->") < 0) {
            l.appendChild(a);
        }
        u.innerHTML = a2[n];
        u.appendChild(l);
        d.appendChild(u);
        fobj.appendChild(d);
        addClassName(gebtn("li", fobj)[0], "firstchild");
    } else {
        if (fobj.nodeName.toLowerCase() == "li") {
            addClassName(fobj, "a2nomenu");
        } else {
            addClassName(fobj.parentNode, "a2nomenu");
        }
    }
}
var navmenu = [];
var oldmenu = [];
function popfly() {}
function closefly() {}
function prepmenus() {}
function printmenus() {}
function oldA2Content() {
    var x = 1;
    while (x < 10) {
        if (navmenu[x + ".0"] && !a2[navmenu[x + ".0"].split("|")[0]]) {
            var xx = 1;
            var li = "";
            while (navmenu[x + "." + xx]) {
                li += "<li><a href=\"" + navmenu[x + "." + xx].split("|")[1] + "\">" + navmenu[x + "." + xx].split("|")[0] + "</a></li>\n";
                xx++;
            }
            a2[navmenu[x + ".0"].split("|")[0]] = li;
        }
        if (oldmenu[x + ".0"] && !a2[oldmenu[x + ".0"].split("|")[0]]) {
            var xx = 1;
            var li = "";
            while (oldmenu[x + "." + xx]) {
                li += "<li><a href=\"" + oldmenu[x + "." + xx].split("|")[1] + "\">" + oldmenu[x + "." + xx].split("|")[0] + "</a></li>\n";
                xx++;
            }
            a2[oldmenu[x + ".0"].split("|")[0]] = li;
        }
        x++;
    }
    navmenu = oldmenu = [];
}
function oldA2TableFix() {
    var x = 1;
    while (gebi("ip" + x)) {
        var td = gebi("ip" + x).parentNode;
        td.parentNode.removeChild(td);
        x++;
    }
}
var a5 = [];
function sniffA5() {
    var a5w = ["<div class=\"a5menuw2\"><div class=\"a5menuw1\">\n", "</div></div><div class=\"a5menux2\"></div>"];
    if (!a5["ent"]) {
        for (key in a5) {
            var d = elem("div");
            d.innerHTML = key;
            a5[d.innerHTML] = a5[key];
        }
        a5["ent"] = true;
    }
    var _16a = this.innerHTML.normalize();
    if (a5[_16a]) {
        var d = elem("div.a5menu");
        d.innerHTML = a5w[0] + a5[_16a] + a5w[1];
        addClassName(this.parentNode, "hasmenu");
        this.parentNode.insertBefore(d, this.nextSibling);
    }
}
ked = [];
function sniffK2(_16b) {
    var fobj = this;
    var pdoc = document;
    fobj.prp = [0, 0, 0, "", "", ""];
    fobj.className = fobj.className.replace(/(k2over) +/, "$1-");
    fobj.className = fobj.className.replace(/(k2click) +/, "$1-");
    fobj.className = fobj.className.replace(/(k2focus) +/, "$1-");
    fobj.className = fobj.className.replace(/(k2close) +/, "$1-");
    var cls = fobj.className.split(" ");
    if (fobj.className.indexOf("k2ajaxload") > -1 && fobj.href && gebtn("div", document.body)[0]) {
        for (var v = 0; v < cls.length; v++) {
            if (cls[v].indexOf("k2over") > -1 || cls[v].indexOf("k2click") > -1 || cls[v].indexOf("k2focus") > -1) {
                var k2id = cls[v].split("-");
                if (!k2id[2]) {
                    k2id[2] = k2id[1];
                }
            }
        }
        var link = document.createElement("a");
        link.className = "loadUrl";
        link.href = fobj.href + "#" + k2id[2];
        if (!gebi(k2id[2])) {
            var div = document.createElement("div");
            div.className = "g32auto";
            div.id = k2id[2];
            div.appendChild(link);
            gebtn("div", document.body)[0].appendChild(div);
        }
    }
    for (var v = 0; v < cls.length; v++) {
        if (cls[v].indexOf("k2over") > -1 || cls[v].indexOf("k2click") > -1 || cls[v].indexOf("k2focus") > -1) {
            var _173 = fobj.aob = cls[v].split("-");
            if (!_173[2]) {
                fobj.aob[2] = _173[2] = _173[1];
                fobj.aob[1] = fobj;
            }
            kpop = gebi(_173[2]);
            kpop.kp_objs = _173[2];
            kpop.kp_trig = _173[1];
        } else {
            if (cls[v].indexOf("k2close") > -1) {
                fobj.aob = cls[v].split("-");
            } else {
                if (cls[v].indexOf("x") == 0) {
                    fobj.prp[0] = (cls[v].substring(1) * 1) + fobj.prp[0];
                } else {
                    if (cls[v].indexOf("y") == 0) {
                        fobj.prp[1] = (cls[v].substring(1) * 1) + fobj.prp[1];
                    } else {
                        if (cls[v].indexOf("z") == 0) {
                            fobj.prp[2] = (cls[v].substring(1) * 1);
                        } else {
                            if (cls[v].indexOf("pAbsolute") == 0) {
                                fobj.prp[3] = (cls[v].substring(1));
                            } else {
                                if (cls[v].indexOf("vBottom") == 0 || cls[v].indexOf("vTop") == 0 || cls[v].indexOf("vMiddle") == 0 || cls[v].indexOf("vAlignTopBottom") == 0) {
                                    fobj.prp[4] = cls[v];
                                } else {
                                    if (cls[v].indexOf("hRight") == 0 || cls[v].indexOf("hMiddleRight") == 0 || cls[v].indexOf("hLeft") == 0 || cls[v].indexOf("hMiddleLeft") == 0 || cls[v].indexOf("hMiddle") == 0 || cls[v].indexOf("hAlignRight") == 0) {
                                        fobj.prp[5] = cls[v];
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if (fobj.aob[0].indexOf("k2over") > -1) {
        addEvent(fobj, "mouseover", function () {
            showK2(this.aob[2], this.aob[1], this.prp[0], this.prp[1], this.prp[2], this.prp[3], this.prp[4], this.prp[5]);
        });
        if (!hasClassName(fobj, "mOverOff")) {
            addEvent(kpop, "mouseover", function () {
                showK2(this.kp_objs);
            });
        }
        addEvent(kpop, "mouseout", function () {
            hideK2(this.kp_objs);
        });
        addEvent(fobj, "mouseout", function () {
            hideK2(this.aob[2]);
        });
        addEvent(fobj, "focus", function () {
            showK2(this.aob[2], this.aob[1], this.prp[0], this.prp[1], this.prp[2], this.prp[3], this.prp[4], this.prp[5]);
            blurIt.push([gebi(this.aob[2]), "hidden"]);
        });
        if (_16b) {
            showK2(fobj.aob[2], fobj.aob[1], fobj.prp[0], fobj.prp[1], fobj.prp[2], fobj.prp[3], fobj.prp[4], fobj.prp[5]);
            return false;
        }
    } else {
        if (fobj.aob[0] == "k2click") {
            addEvent(fobj, "click", function (e) {
                showK2(this.aob[2], this.aob[1], this.prp[0], this.prp[1], this.prp[2], this.prp[3], this.prp[4], this.prp[5]);
                addK2(this.aob[2], this.aob[1], this.prp[0], this.prp[1], this.prp[2], this.prp[3], this.prp[4], this.prp[5]);
                cancelDefault(e);
                return false;
            });
            if (_16b) {
                showK2(fobj.aob[2], fobj.aob[1], fobj.prp[0], fobj.prp[1], fobj.prp[2], fobj.prp[3], fobj.prp[4], fobj.prp[5]);
                addK2(fobj.aob[2], fobj.aob[1], fobj.prp[0], fobj.prp[1], fobj.prp[2], fobj.prp[3], fobj.prp[4], fobj.prp[5]);
                return false;
            }
        } else {
            if (fobj.aob[0] == "k2focus") {
                addEvent(fobj, "focus", function () {
                    showK2(this.aob[2], this.aob[1], this.prp[0], this.prp[1], this.prp[2], this.prp[3], this.prp[4], this.prp[5]);
                    addK2(this.aob[2], this.aob[1], this.prp[0], this.prp[1], this.prp[2], this.prp[3], this.prp[4], this.prp[5]);
                });
                addEvent(fobj, "blur", function () {
                    hideK2(this.aob[2], 1);
                });
            } else {
                if (fobj.aob[0] == "k2close") {
                    addEvent(fobj, "click", function (e) {
                        hideK2(this.aob[1], 1);
                        cancelDefault(e);
                    });
                }
            }
        }
    }
    fobj.className = fobj.className.replace(/(k2over)-|(k2focus)-|(k2cl...)-/, "$1 ");
}
function showK2(_176, _177, _178, _179, _17a, posy, _17c, ort, _17e) {
    var _17f = gebi(_176);
    if (!_17f) {
        var _17f = _176;
    }
    if (_177) {
        var ptop = plft = 0;
        var _181 = gebi(_177);
        if (!_181) {
            var _181 = _177;
        }
        if (ort == "hLeft") {
            plft = plft - _17f.offsetWidth;
        } else {
            if (ort == "hMiddleLeft") {
                plft = plft - _17f.offsetWidth;
                plft = plft + parseInt(_181.offsetWidth / 2);
            } else {
                if (ort == "hMiddle") {
                    plft = parseInt(_181.offsetWidth / 2);
                    plft = plft - parseInt(_17f.offsetWidth / 2);
                } else {
                    if (ort == "hMiddleRight") {
                        plft = parseInt(_181.offsetWidth / 2);
                    } else {
                        if (ort == "hRight") {
                            plft = _181.offsetWidth;
                        } else {
                            if (ort == "hAlignRight") {
                                plft = plft + _181.offsetWidth - _17f.offsetWidth;
                            }
                        }
                    }
                }
            }
        }
        if (_17c == "vTop") {
            ptop = ptop - _17f.offsetHeight;
        } else {
            if (_17c == "vMiddle") {
                ptop = ptop + parseInt(_181.offsetHeight / 2);
                ptop = ptop - parseInt(_17f.offsetHeight / 2);
            } else {
                if (_17c == "vBottom") {
                    ptop = ptop + _181.offsetHeight;
                } else {
                    if (_17c == "vAlignBottom") {
                        ptop = ptop + _181.offsetHeight - _17f.offsetHeight;
                    } else {
                        if (_17c == "vAlignTopBottom") {
                            var _182 = 0;
                            if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
                                _182 = document.body.scrollTop;
                            } else {
                                if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
                                    _182 = document.documentElement.scrollTop;
                                }
                            }
                            var _183 = 0;
                            if (typeof(window.innerWidth) == "number") {
                                _183 = window.innerHeight;
                            } else {
                                if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
                                    _183 = document.documentElement.clientHeight;
                                }
                            }
                            var _184 = _181.offsetHeight - _17f.offsetHeight;
                        }
                    }
                }
            }
        }
        if (is.safari && posy == "Absolute") {
            if (posy != "Absolute") {
                _181.style.position = "relative";
            }
            getXY(_181.offsetParent);
        } else {
            getXY(_181);
        }
        ptop = ptop + _181.Y;
        plft = plft + _181.X;
        if (_17c == "vAlignTopBottom" && ptop > _182 + (_183 / 2)) {
            ptop = ptop + _184;
            _179 = _179 * -1;
        }
        plft = plft + _178;
        ptop = ptop + _179;
        _17f.style.top = ptop + "px";
        _17f.style.left = plft + "px";
    }
    if (_17a) {
        _17f.style.zIndex = _17a;
    }
    _17f.style.visibility = "visible";
}
function hideK2(_185, _186, _187) {
    var _188 = gebi(_185);
    if (!_188) {
        var _188 = _185;
    }
    _188.style.visibility = "hidden";
    if (_186) {
        ked[_185] = "";
    }
}
function addK2(p0, p1, p2, p3, p4, p5, p6, p7) {
    ked[p0] = [p0, p1, p2, p3, p4, p5, p6, p7];
}
addEvent(window, "resize", function () {
    var kdp;
    for (kdp in ked) {
        if (ked[kdp][0]) {
            showK2(ked[kdp][0], ked[kdp][1], ked[kdp][2], ked[kdp][3], ked[kdp][4], ked[kdp][5], ked[kdp][6], ked[kdp][7]);
        }
    }
});
function sniffK2ajax() {
    var fobj = this;
    var _193 = fobj.className.split("k2ajax-")[1].split(" ")[0];
    var _194 = gebtn("a", gebi(_193))[0].href;
    var mvnt = (fobj.className.indexOf("k2over-") > -1) ? "mouseover": "click";
    addEvent(fobj, mvnt, function () {
        if (gebi(_193).innerHTML.indexOf("getUrl") > -1) {
            var _196 = [_193, fobj];
            getfile(_194, function (_197, fvar) {
                if (_197.indexOf("contentchunk") > -1) {
                    _197 = getRequestObject("contentchunk", _197).innerHTML;
                }
                gebi(fvar[0]).innerHTML = _197;
                reg.rerun(gebi(fvar[0]));
                sniffK2.call(fvar[1], true);
            },
            _196);
        }
    });
}
function sniffModal() {
    var fobj = this;
    if (hasClassName(fobj, "modal-launch")) {
        var _19a = fobj.className.match(/launch\-id\-([a-z0-9_-]+)/);
        if (!_19a) {
            return;
        } else {
            fobj.modalId = _19a[1];
        }
        fobj.onclick = function (e) {
            showK4(this.modalId);
            return false;
        };
    }
}
function showK4(id) {
    var div = gebi(id);
    if (!div) {
        return;
    }
    removeClassName(div, "k4hidden");
    var _19e = gebtn("input", div);
    for (var a = 0; a < _19e.length; a++) {
        if (_19e[a].type == "text") {
            _19e[a].focus();
            break;
        }
    }
    if (is.ie6) {
        var _1a0 = gebtn("select");
        for (var a = 0; a < _1a0.length; a++) {
            addClassName(_1a0[a], "k4in-effect");
        }
    }
}
function hideK4(id) {
    var div = gebi(id);
    addClassName(div, "k4hidden");
    if (is.ie6) {
        var _1a3 = gebtn("select");
        for (var a = 0; a < _1a3.length; a++) {
            removeClassName(_1a3[a], "k4in-effect");
        }
    }
}
function modalClose(e) {
    var k4 = this.parentNode;
    while (!hasClassName(k4, "k4") && k4.parentNode) {
        k4 = k4.parentNode;
    }
    if (hasClassName(k4, "k4") && k4.id) {
        hideK4(k4.id);
    }
    return false;
}
function sniffSiteSelector(span) {
    var lnks = gebtn("a", span);
    for (var a = 0; a < lnks.length; a++) {
        var lnk = lnks[a];
        if (hasClassName(lnk, "country-select")) {
            addClassName(lnk, "modal-launch launch-id-country-selector");
            sniffModal.call(lnk);
            var k4 = elem("div", {
                "class": "k4 k4v1 k4hidden",
                "id": "country-selector"
            });
            k4.innerHTML = "<div class=\"k4w1\"><div class=\"k4w2\"><div class=\"k4w3\"><div class=\"k4w4\"><div class=\"k4title\"><h2>" + "</h2><p class=\"modal-extra\"><a href=\"\" class=\"modal-close\">[X]</a></p></div><div class=\"k4body\">" + "</div></div></div></div></div>";
            k4.setTitle = function (txt) {
                gebtn("h2", this)[0].innerHTML = txt;
            };
            k4.setBody = function (txt) {
                gebtn("div", this)[5].innerHTML = txt;
            };
            document.body.appendChild(k4);
            addEvent(lnk, "click", function () {
                var _1ae = this.href;
                try {
                    getfile(this.href, function (_1af, fvar) {
                        try {
                            var _1b1 = elemText(getRequestObject("country-data-title", _1af, "h2"));
                            var _1b2 = getRequestObject("country-data", _1af).innerHTML;
                        }
                        catch(ex) {
                            window.location = _1ae;
                        }
                        k4.setTitle(_1b1);
                        k4.setBody(_1b2);
                    });
                }
                catch(e) {
                    window.location = _1ae;
                }
            });
        } else {
            if (hasClassName(lnk, "language-select")) {
                var k2 = gebi("languageselector");
                k2.setTitle = function (txt) {
                    gebtn("h5", this)[0].innerHTML = txt;
                };
                k2.setBody = function (txt) {
                    gebtn("div", this)[3].innerHTML = txt;
                };
                addEvent(lnk, "mouseover", function () {
                    var _1b6 = this.href;
                    try {
                        getfile(this.href, function (_1b7, fvar) {
                            try {
                                var _1b9 = elemText(getRequestObject("language-data-title", _1b7, "h2"));
                                var _1ba = getRequestObject("language-data", _1b7).innerHTML;
                            }
                            catch(ex) {
                                k2.setTitle("no data");
                                return;
                            }
                            k2.setTitle(_1b9);
                            k2.setBody(_1ba);
                        });
                    }
                    catch(e) {
                        window.location = _1b6;
                    }
                });
            }
        }
    }
}
reg.postSetup(function () {
    var _1bb = gebi("k5onload");
    if (!_1bb) {
        return;
    }
    k5Click.call(_1bb);
});
function pauseAll() {
    window.paused = true;
    addClassName(document.body, "paused");
}
function resumeAll() {
    window.paused = false;
    removeClassName(document.body, "paused");
}
function k5Click() {
    if (reg.matches(this, "div.k5")) {
        return;
    }
    k5Close();
    var _1bc = matchClassName(this, /^id-(\S+)$/);
    if (_1bc) {
        var id = _1bc[1];
    } else {
        if (this.href && this.href.indexOf("#") != -1) {
            var id = this.href.substring(this.href.indexOf("#") + 1);
        } else {
            throw new Error("no id value was specified for k5 object. className \"id-someId\" or URL anchor reference \"...page.html#someId\"");
        }
    }
    var _1be = "k5 k5empty";
    var _1bf, isInf, isLog, isMed, isInterrupt;
    if (hcn(this, "k5interrupt")) {
        _1be += " k5interrupt";
        isInterrupt = true;
    }
    if (hcn(this, "k5vid")) {
        _1be += " k5vid";
        _1bf = true;
    } else {
        if (hcn(this, "k5login")) {
            _1be += " k5login";
            isLog = true;
        } else {
            if (hcn(this, "k5media")) {
                _1be += " k5media hijax-" + id;
                isMed = true;
            } else {
                if (hcn(this, "k5info")) {
                    _1be += " k5info";
                    isInf = true;
                }
            }
        }
    }
    var _1c0 = (this.title) ? this.title: elemText(this);
    if (!_1c0) {
        _1c0 = " ";
    }
    if (isLog) {
        var _1c1 = {
            "title": "close",
            "alt": "close",
            "src": imdir + "/k5login_x.gif",
            "border": "0",
            "width": "21",
            "height": "21"
        };
    } else {
        if (isInf) {
            var _1c1 = {
                "title": "close",
                "alt": "close",
                "src": imdir + "/k5info_x.gif",
                "border": "0",
                "width": "21",
                "height": "21"
            };
        } else {
            var _1c1 = {
                "title": "close",
                "alt": "close",
                "src": imdir + "/ic_close_win_big_x.gif",
                "border": "0",
                "width": "30",
                "height": "19"
            };
        }
    }
    var _1c2 = elem("h2.k5title", null, _1c0);
    var _1c3 = elem("span." + (isInterrupt ? "k5skip": "k5close"), null, elem("img", _1c1));
    var _1c4 = elem("p.k5closer", null, _1c3);
    var k5w2 = elem("div.k5w2");
    var k5w1 = elem("div.k5w1", null, [_1c2, _1c4, k5w2]);
    var _1c7 = elem("div.k5shadow");
    _1c7.innerHTML = "<table><tr><td class=\"tl\"></td><td class=\"tc\"></td><td class=\"tr\"></td></tr><tr><td class=\"ml\"></td><td class=\"mc\"></td><td class=\"mr\"></td></tr><tr><td class=\"bl\"></td><td class=\"bc\"></td><td class=\"br\"></td></tr></table>";
    var _1c8 = elem("div#k5", {
        "class": _1be
    },
    [k5w1, _1c7]);
    if (this.continueTo) {
        _1c8.continueTo = this.continueTo;
    }
    if (this.submitTo) {
        _1c8.submitTo = this.submitTo;
    }
    if (this.thankYouHref) {
        _1c8.thankYouHref = this.thankYouHref;
    }
    _1c7.position = function (_1c9, _1ca) {
        _1c9 -= 33;
        _1ca -= 29;
        var _1cb = gebcn("mc", _1c7)[0].style;
        _1cb.width = _1c9 + "px";
        _1cb.height = _1ca + "px";
        this.style.top = ( - 31 - _1ca) + "px";
        this.style.left = "8px";
    };
    k5w1.centerOnScreen = function () {
        if (!this.viewportHeight) {
            this.viewportHeight = (window.innerHeight) ? window.innerHeight: document.documentElement.clientHeight;
        }
        if (!this.viewportWidth) {
            this.viewportWidth = (window.innerWidth) ? window.innerWidth: document.documentElement.clientWidth;
        }
        var _1cc = this.offsetHeight;
        var _1cd = this.offsetWidth;
        var _1ce = ((this.viewportHeight / 2) - (_1cc / 2)) * 0.666;
        if (_1ce < 0) {
            _1ce = 0;
            this.style.height = (this.viewportHeight - 20) + "px";
            this.style.overflow = "auto";
        }
        if (_1cd > this.viewportWidth) {
            this.style.width = (this.viewportWidth - 40) + "px";
            this.style.overflow = "auto";
        }
        this.style.marginTop = _1ce + "px";
    };
    k5w1.setContent = function (_1cf) {
        _1cf.style.visibility = "hidden";
        _1c7.style.visibility = "hidden";
        removeClassName(_1c8, "k5empty");
        removeClassName(_1cf, "hidethis");
        var _1d0 = gebcn("k5customtitle", _1cf);
        if (_1d0 && _1d0.length > 0) {
            var _1d1 = _1d0[0];
            var _1d2 = elemText(_1d1);
            _1d1.parentNode.removeChild(_1d1);
            _1c2.firstChild.data = _1d2;
        }
        var _1d3 = matchClassName(_1cf, /^(\d+)(x(\d+))?$/);
        if (_1d3) {
            if (!k5w1.style.width) {
                k5w1.style.width = _1d3[1] + "px";
            }
            if (_1d3.length > 3 && _1d3[3] && !k5w2.style.height) {
                k5w2.style.height = _1d3[3] + "px";
            }
        }
        k5w2.innerHTML = "";
        k5w2.appendChild(_1cf);
        var _1d4 = k5w2.offsetHeight;
        this.centerOnScreen();
        _1cf.style.visibility = "";
        window.setTimeout(function () {
            _1c7.position(k5w1.offsetWidth, k5w1.offsetHeight);
            _1c7.style.visibility = "";
        },
        40);
    };
    _1c8.setError = function (_1d5, url, _1d7) {
        _1d7 = _1d7 || "Whoops! Unable to Load Content";
        removeClassName(this, "k5empty");
        addClassName(this, "k5error");
        k5w1.style.height = "auto";
        k5w1.style.width = "";
        k5w2.style.height = "";
        k5w1.setContent(elem("div", {
            "class": "g29 g29v2"
        },
        elem("div.g29w1", {},
        elem("div.g29w2", {},
        [elem("h5", {},
        _1d7), elem("p", {},
        _1d5 + ":"), elem("p", {},
        "" + url)]))));
    };
    _1c8.style.visibility = "hidden";
    if (is.ie6) {
        var _1d8 = elem("div#k5ie6bg");
        document.body.appendChild(_1d8);
    }
    document.body.appendChild(_1c8);
    var _1d9 = matchClassName(this, /^(\d+)(x(\d+))?$/);
    if (_1d9) {
        k5w1.style.width = _1d9[1] + "px";
        if (_1d9.length > 3 && _1d9[3]) {
            k5w2.style.height = _1d9[3] + "px";
        }
    }
    k5w1.centerOnScreen();
    _1c8.style.visibility = "";
    var _1da = this.href || location.href;
    if (_1da.indexOf("http") !== 0) {
        _1da = location.href;
    }
    if (_1da.indexOf("#") != -1) {
        _1da = _1da.substring(0, _1da.indexOf("#"));
    }
    var _1db = location.href;
    if (_1db.indexOf("#") != -1) {
        _1db = _1db.substring(0, _1db.indexOf("#"));
    }
    if (_1db == _1da) {
        var _1dc = gebi(id);
        if (!_1dc) {
            _1c8.setError("id=\"" + id + "\" not found on this page", _1da);
        } else {
            k5w1.setContent(_1dc.cloneNode(true));
        }
    } else {
        try {
            xhr(_1da, function (_1dd) {
                var _1de = getElementByIdFromString(_1dd, id);
                if (!_1de) {
                    _1c8.setError("id=\"" + id + "\" not found on remote page", _1da);
                } else {
                    k5w1.setContent(_1de);
                }
            },
            function (_1df, _1e0, url) {
                _1c8.setError(_1df + " " + _1e0, url);
            });
        }
        catch(ex) {
            _1c8.setError("XHR FAIL: " + (ex.message || ex), _1da);
        }
    }
    this.blur();
    var _1e2 = gebs("input@type=\"text\",button,select,textarea", _1c8);
    if (_1e2 && _1e2.length > 0) {
        try {
            _1e2[0].focus();
        }
        catch(ex) {}
    }
    pauseAll();
    return false;
}
function k5Close(e) {
    var _1e4 = gebi("k5");
    if (_1e4) {
        document.body.removeChild(_1e4);
    }
    var _1e5 = gebi("k5ie6bg");
    if (_1e5) {
        document.body.removeChild(_1e5);
    }
    resumeAll();
    return false;
} (function () {
    var done = false;
    window.k5Onload = function (href, id, _1e9, lf, _1eb, _1ec) {
        if (done) {
            throw new Error("k5Onload called multiple times");
        } else {
            done = true;
        }
        if (!href) {
            href = location.href;
        }
        if (href.indexOf("#") != -1) {
            if (!id) {
                id = href.substring(href.indexOf("#") + 1);
            }
            href = href.substring(0, href.indexOf("#"));
        }
        href = href + "#" + id;
        var _1ed = "k5";
        if (_1eb) {
            _1ed += " " + _1eb;
        }
        if (_1ec) {
            _1ed += "x" + _1ec;
        }
        if (lf) {
            _1ed += " " + lf;
        }
        var a = elem("a", {
            "class": _1ed,
            "href": href
        },
        _1e9);
        reg.postSetup(function () {
            window.setTimeout(function () {
                k5Click.call(a);
            },
            200);
        });
    };
})();
(function () {
    var _1ef, done = false;
    function handleIt(el, _1f1, _1f2, _1f3) {
        if (!done && (done = true)) {
            _1ef = gebs("link@rel=\"k5interrupt\"", gebtn("head")[0]);
        }
        for (var i = 0; i < _1ef.length; i++) {
            var link = _1ef[i];
            var _1f6 = link.getAttribute("match");
            var _1f7 = link.getAttribute("select");
            if (!_1f6 && !_1f7) {
                continue;
            }
            var _1f6 = _1f6 || ".?";
            var _1f7 = _1f7 || "*";
            var _1f8 = new RegExp(_1f6);
            if (!_1f6 && !_1f7) {
                continue;
            }
            if (!_1f8.test(_1f3) || !matches(el, _1f7)) {
                continue;
            }
            var href = link.href;
            var _1fa = link.getAttribute("title");
            var _1fb = link.getAttribute("thanks");
            var _1fc = elem("a", {
                "class": link.className + " k5interrupt",
                "href": href
            },
            _1fa);
            _1fc.continueTo = _1f1;
            _1fc.submitTo = _1f2;
            _1fc.thankYouHref = _1fb;
            try {
                return k5Click.call(_1fc);
            }
            catch(ex) {
                console.log("error while calling k5Click(): " + ex.message);
                return true;
            }
        }
    }
    var _1fd = /^https?:/;
    var _1fe = /^\/\//;
    var _1ff = /^\//;
    var _200 = /^\?/;
    var _201 = /^#/;
    var l = location;
    var _203 = l.protocol + "//" + l.host + l.pathname;
    _203 = _203.substring(0, _203.lastIndexOf("/") + 1);
    function resolveUrl(frag, _205) {
        frag = frag.strip();
        var _206 = null;
        if (_1fd.test(frag)) {
            _206 = frag;
        } else {
            if (_1fe.test(frag)) {
                _206 = l.protocol + frag;
            } else {
                if (_1ff.test(frag)) {
                    _206 = l.protocol + "//" + l.host + frag;
                } else {
                    if (_200.test(frag)) {
                        _206 = l.protocol + "//" + l.host + l.pathname + frag;
                    } else {
                        if (_201.test(frag)) {
                            _206 = l.protocol + "//" + l.host + l.pathname + l.search + frag;
                        } else {
                            if (!frag) {
                                _206 = l.href;
                            } else {
                                _206 = _203 + frag;
                            }
                        }
                    }
                }
            }
        }
        if (_205) {
            var qind = _206.indexOf("?");
            var hind = _206.indexOf("#");
            if (qind != -1) {
                _206 = _206.substring(0, qind);
            }
            if (hind != -1) {
                _206 = _206.substring(0, hind);
            }
            _206 += "?" + _205;
        }
        return _206;
    }
    reg.click("@href", function (e) {
        try {
            var _20a = resolveUrl(this.href);
        }
        catch(ex) {
            console.log(ex.message);
            return;
        }
        return handleIt(this, _20a, null, _20a);
    });
    reg.submit("form", function (e) {
        try {
            var _20c = resolveUrl(this.action);
        }
        catch(ex) {
            console.log(ex.message);
            return;
        }
        return handleIt(this, null, this, _20c);
    });
    function getLabel(_20d) {
        var _20e = getParent(_20d, "label");
        var id = _20d.id || _20d.name;
        if (!_20e) {
            var _210 = gebtn("label");
            for (var i = 0; i < _210.length; i++) {
                if (_210[i].htmlFor === id) {
                    _20e = _210[i];
                    break;
                }
            }
        }
        return (_20e) ? elemText(_20e) : id;
    }
    reg.submit(".k5interrupt", function (e) {
        cancelDefault(e);
        if (!this.continueTo && !this.submitTo) {
            console.log("no continueTo url or submitTo form");
            return false;
        }
        var _213 = this.continueTo;
        var _214 = this.submitTo;
        var _215 = this.thankYouHref;
        var _216 = this.className;
        var _217 = getTarget(e);
        var _218 = getFormData(_217);
        var url = resolveUrl(_217.action, _218);
        var _21a = this;
        var _21b = "";
        var _21c = gebs("input.required@type=\"text\", input.required@type=\"password\", textarea.required", this);
        var _21d = gebs("input.required@type=\"checkbox\", input.required@type=\"radio\"", this);
        var _21e = gebs("select.required", this);
        for (var i = 0; i < _21c.length; i++) {
            var f = _21c[i];
            if (!f.value) {
                _21b += "missing: " + getLabel(f) + "\n";
            }
        }
        for (var i = 0; i < _21d.length; i++) {
            var f = _21d[i];
            if (!f.checked) {
                _21b += "must select: " + getLabel(f) + "\n";
            }
        }
        for (var i = 0; i < _21e.length; i++) {
            var f = _21e[i];
            if (!f.options[f.selectedIndex].value) {
                _21b += "must select: " + getLabel(f) + "\n";
            }
        }
        if (_21b) {
            if (!hcn(_217, "failsilent")) {
                alert(_21b);
            } else {
                k5Close();
                _213 && (location.href = _213);
                _214 && _214.submit();
            }
            return;
        }
        if (_217.whichSubmit) {
            _217.whichSubmit.value = "sending...";
        }
        try {
            xhr(url, function () {
                if (_215) {
                    k5Click.call(elem("a", {
                        "href": _215,
                        "class": _216
                    },
                    "Thank You"));
                    window.setTimeout(function () {
                        k5Close();
                        _213 && (location.href = _213);
                        _214 && _214.submit();
                    },
                    2700);
                } else {
                    k5Close();
                    _213 && (location.href = _213);
                    _214 && _214.submit();
                }
            },
            function (_221, _222) {
                console.log(url + " returned " + _221 + ": " + _222);
                k5Close();
                _213 && (location.href = _213);
                _214 && _214.submit();
            });
        }
        catch(ex) {
            if (_213) {
                _217.appendChild(elem("input", {
                    "type": "hidden",
                    "name": "redirect_to",
                    "value": _213
                }));
            } else {
                if (_214) {
                    _217.appendChild(elem("input", {
                        "type": "hidden",
                        "name": "redirect_to",
                        "value": resolveUrl(_214.action, getFormData(_214))
                    }));
                }
            }
            _217.submit();
            window.setTimeout(function () {
                k5Close();
            },
            100);
        }
    });
    reg.click(".k5skip", function (e) {
        var _224 = gebi("k5");
        if (!_224 || (!_224.continueTo && !_224.submitTo)) {
            return;
        }
        var _225 = _224.continueTo;
        var _226 = _224.submitTo;
        k5Close();
        _225 && (location.href = _225);
        _226 && _226.submit();
        return false;
    });
    reg.click(".k5interrupt form @type=\"submit\"", function (e) {
        if (hcn(this, "k5skip")) {
            return;
        }
        var form = getParent(this, "form");
        form.whichSubmit = this;
    });
})();
reg.click("@href*='thisURL'", function (e) {
    this.href = this.href.replace(/(thisURL)/, encodeURIComponent(document.location));
});
function surveyPop(url, _22b, _22c, _22d, _22e, _22f) {
    if (_22b && _22b < Math.random()) {
        return false;
    }
    var ck = document.cookie;
    var _231 = "surveyHash";
    var _232 = ck.split("; ");
    var _233 = url.toLowerCase().replace(/[^a-z0-9_\/]/g, "_");
    var _234 = new RegExp("^" + _231 + "_" + _233 + "=seen$");
    for (var i = 0; i < _232.length; i++) {
        if (_234.test(_232[i])) {
            return false;
        }
    }
    if (_22c) {
        if (_22c < 0) {
            _22c = 9999;
        }
        var _236 = new Date();
        _236.setTime(_236.getTime() + _22c * 1000 * 60 * 60 * 24);
        document.cookie = _231 + "_" + _233 + "=seen; expires=" + _236.toGMTString();
    }
    if (!_22e) {
        _22e = 548;
    }
    if (!_22d) {
        _22d = 600;
    }
    var args = "resizable,status,width=" + _22e + ",height=" + _22d;
    if (!_22f) {
        args += ",scrollbars";
    }
    var _238 = window.open(url, "_surveyWin", args);
    return _238;
}
var imgpostload = [];
reg.postSetup(function () {
    if (typeof imgpostload == "undefined") {
        return;
    }
    for (var imp = 0; imp < imgpostload.length; imp++) {
        if (imgpostload[imp].title) {
            imgpostload[imp].src = imgpostload[imp].title;
            imgpostload[imp].title = "";
        }
    }
});
if (!shutoff.global) {
    if (is.ie56) {
        reg.setup("div.g15v5 > table", function () {
            addClassName(this, "tickle");
        });
    }
}
if (!shutoff.share) {
    reg.setup("div.pagetitle, div.smallpagetitle", sniffSharePage, true);
}
if (!shutoff.misc) {
    reg.setup("@class*='cTool-'", sniffClassTool);
    reg.setup("img@src*='_off.'", sniffRollover);
    reg.setup("div.g23", sniffG23);
    reg.setup("div.g27w2", sniffG27);
    reg.click("div.g27w2 > h3 > span.g27targ", toggleG27);
    reg.setup("div.imgbox", sniffImgbox);
    reg.setup("select.goto, select.showDiv", sniffGoto);
    reg.setup("ul.goto, ul.showDiv", sniffGotoUL);
    reg.setup(".xfadefirst", sniffXfade);
    reg.setup("ul.listfade", sniffListfade);
    reg.setup("a.loadUrl@href", sniffLoadUrl);
    reg.setup("a.imgswap, area.imgswap, img.imgswap, span.imgswap", sniffImgswap);
    reg.setup("img@class*=\"mswap\"", sniffMultiswap);
    reg.setup("img.postload", function () {
        imgpostload.push(this);
    });
    reg.setup("a.toggleObj, area.toggleObj", sniffToggler);
    reg.setup("a.toggle-all-table-checkboxes", sniffToggleAllCheckboxesInTable);
    reg.setup("div.pc1collapsible", sniffExpandCollapsePc1);
    reg.setup("select.platformDetect", platformDetect);
    reg.setup("select.langDetect", langDetect);
    reg.setup("form@class*=\"wgform-\"", sniffFormHijax);
    reg.setup("div.g15v5 > table.details tr.main-row > th", function () {
        this.appendChild(elem("div.after", {},
        [elem("div.show", {},
        ltxt.showDetails), elem("div.hide", {},
        ltxt.hideDetails)]));
    });
    if (location.hash) {
        try {
            reg.setup("div.g15v5 table tbody" + location.hash, function () {
                removeClassName(this, "collapsed");
                addClassName(this, "uncollapsed");
            });
        }
        catch(ex) {
            console.log(ex.message);
        }
    }
    if (is.ie56) {
        reg.setup("div.g15v5 > table", function () {
            addClassName(this, "tickle");
        });
        reg.setup("div.pngimg", function () {
            this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.getElementsByTagName("img")[0].src + "')";
        });
    }
    if (typeof widgets != "undefined") {
        reg.setup(".wg1", sniffWg1);
    }
}
reg.preSetup(function () {
    var pc10 = gebi("pc10");
    if (!pc10) {
        return;
    }
    var imgs = gebs("p.pc10img img.pc10img");
    if (!imgs || imgs.length == 0) {
        return;
    }
    for (var a = 0; a < imgs.length; a++) {
        var img = imgs[a];
        var src = img.src;
        var _23f = src.replace(/(\.[a-z]+$)/, "_hvr$1");
        var _240 = img.cloneNode(true);
        _240.src = _23f;
        _240.className = "pc10img_over";
        img.parentNode.appendChild(_240);
    }
    if (!window.pc10active) {
        window.pc10active = true;
        reg.hover("div.pc10item", function (e) {
            addClassName(this, "pc10itemover");
        },
        function (e) {
            removeClassName(this, "pc10itemover");
        });
    }
});
reg.preSetup(function () {
    var fn1 = gebi("productFinder");
    if (!fn1) {
        return;
    }
    reg.setup("td.fnCmp input@type=\"checkbox\"", function () {
        if (this.checked == true) {
            addClassName(this.parentNode.parentNode, "checked");
        }
    });
    reg.setup("ul#fn1Filters", function () {
        var ems = gebtn("em", this);
        for (var i = 0; i < ems.length; i++) {
            if (ems[i].parentNode.nodeName.toLowerCase() == "li") {
                var a = elem("a", {
                    "href": "#toggleView"
                });
                a.onclick = function () {
                    toggleClassName(this.parentNode.parentNode, "collapsed");
                    return false;
                };
                innerWrap(ems[i], a);
            }
        }
        var li = gebtn("li", this);
        var n = 0;
        for (var i = 0; i < li.length; i++) {
            var _249 = gebtn("li", li[i])[0];
            if (li[i].parentNode == this && n > 3 && _249 && _249.className.indexOf("selection") > -1) {
                addClassName(li[i], "collapsed");
            } else {
                if (li[i].parentNode == this && gebtn("em", li[i])[0]) {
                    n++;
                }
            }
        }
    });
    reg.setup("fieldset.fieldset-collapsed,fieldset.fieldset-uncollapsed", function () {
        if (gebtn("h6", this)[0]) {
            var a = elem("a.fieldsettoggle", {
                "href": "#toggleView"
            });
            innerWrap(gebtn("h6", this)[0], a);
            addClassName(gebtn("h6", this)[0], "fieldsettoggle");
        }
    });
    reg.click("td.fnCmp input@type=\"checkbox\"", function () {
        var _24b = this;
        while (_24b = _24b.parentNode) {
            if (_24b.nodeName.toLowerCase() == "form") {
                var form = _24b;
                break;
            }
        }
        var _24d = form.className.split("maxchecked-")[1].split(" ")[0];
        if (_24d) {
            var n = 0;
            var ck = gebtn("input", form);
            for (var i = 0; i < ck.length; i++) {
                if (ck[i].type == "checkbox" && ck[i].checked == true) {
                    n++;
                }
            }
            if (n > _24d) {
                this.checked = false;
                alert(ltxt["maxCheckedPart1"] + " " + _24d + " " + ltxt["maxCheckedPart2"]);
            }
        }
        if (this.checked == true) {
            addClassName(this.parentNode.parentNode, "checked");
        } else {
            if (this.checked == false) {
                removeClassName(this.parentNode.parentNode, "checked");
            }
        }
    });
});
reg.preSetup(function () {
    var frw = gebi("findresellerwidget");
    if (!frw) {
        return;
    }
    frw.onsubmit = function (e) {
        var k = this.keywords;
        var l = this.location;
        if (hasClassName(k, "autoclear") && k.value == k.defaultValue) {
            k.value = "";
        }
        if (hasClassName(l, "autoclear") && l.value == l.defaultValue) {
            l.value = "";
        }
        return true;
    };
});
reg.click("a@class*=\"hijax-\",@class*=\"hijax-\" a,.fn1 .g8pages a", hijaxLink);
reg.click("div.g15v5 tr.main-row > th@scope=\"row\"", function (ev) {
    switchClassName(this.parentNode.parentNode, "collapsed", "uncollapsed");
});
reg.hover("img.spriteswap", spriteOver, spriteOut, 0);
reg.click(".modal-close", modalClose);
reg.click("a@class*=\"mswap\", area@class*=\"mswap\", span@class*=\"mswap\"", clickMultiswap);
reg.click("a.fieldsettoggle", function (ev) {
    switchClassName(this.parentNode.parentNode, "fieldset-collapsed", "fieldset-uncollapsed");
    return false;
});
reg.click("a#sr2Adv,a.sr2Adv", function () {
    addClassName(document.getElementById("sr2"), "sr2showOptions");
    document.getElementById("searchtermsAll").focus();
    return false;
});
reg.click("a#sr2Simple,a.sr2Simple", function () {
    removeClassName(document.getElementById("sr2"), "sr2showOptions");
    document.getElementById("simpleSearch").focus();
    return false;
});
function sniffG27() {
    var h3 = gebtn("h3", this);
    if (!h3 || h3.length < 1) {
        return;
    }
    h3 = h3[0];
    var _258 = elemText(h3).strip();
    var _259 = elem("span.g27targ");
    acn(h3, "g27head");
    innerWrap(h3, _259);
    if (!_258) {
        var im = elem("img.g27targimg", {
            "src": imdir + "/a.gif",
            "alt": ""
        });
        _259.appendChild(im);
    }
    var _25b = gebcn("g27block", this);
    if (!_25b || _25b.length < 1) {
        return;
    }
    _25b = _25b[0];
    if (hcn(_25b, "hidethis")) {
        acn(this, "g27collapsed");
        rcn(this, "g27expanded");
    } else {
        rcn(this, "g27collapsed");
        acn(this, "g27expanded");
    }
    if (location.hash && location.hash.length > 1) {
        var lh = location.hash.substring(1);
        var targ = gebi(lh);
        if (!targ) {
            return;
        }
        var pG27 = getParent(this, ".g27");
        if (pG27.contains(targ) || pG27.id == lh) {
            rcn(_25b, "hidethis");
            rcn(this, "g27collapsed");
            acn(this, "g27expanded");
        }
    }
}
function toggleG27(e) {
    var h3 = this.parentNode;
    var _261 = h3.parentNode;
    var _262 = gebcn("g27block", _261);
    if (!_262 || _262.length < 1) {
        return;
    }
    _262 = _262[0];
    if (hcn(_262, "hidethis")) {
        rcn(_262, "hidethis");
        rcn(_261, "g27collapsed");
        acn(_261, "g27expanded");
    } else {
        acn(_262, "hidethis");
        acn(_261, "g27collapsed");
        rcn(_261, "g27expanded");
    }
} (function () {
    function expand(li) {
        if (gebtn("ul", li).length === 0) {
            return;
        }
        rcn(li, "collapsed");
        if (is.ie6 && li.isLast && li.isBranch) {
            rcn(li, "ie-collapsed-last");
            acn(li, "ie-expanded-last");
        }
    }
    function collapse(li) {
        if (gebtn("ul", li).length === 0) {
            return;
        }
        acn(li, "collapsed");
        if (is.ie6 && li.isLast && li.isBranch) {
            acn(li, "ie-collapsed-last");
            rcn(li, "ie-expanded-last");
        }
    }
    function expandCollapse() {
        var _265 = getParent(this, "li");
        if (!hcn(_265, "collapsed")) {
            collapse(_265);
        } else {
            expand(_265);
        }
    }
    function checkUncheck() {
        var _266 = getParent(this, "li");
        var _267 = gebtn("input", _266);
        for (var c = 0; c < _267.length; c++) {
            if (!_267[c].disabled) {
                _267[c].checked = this.checked;
            }
        }
        var _269 = gebtn("li", _266);
        for (var c = 0; c < _269.length; c++) {
            if (typeof _269[c].updateCount == "function") {
                _269[c].updateCount();
            }
        }
        var _26a = getParent(_266, "li");
        if (!this.checked) {
            _266 = this;
            while (_266.parentNode) {
                _266 = _266.parentNode;
                if (_266.checkBox) {
                    _266.checkBox.checked = false;
                }
            }
        } else {
            if (_26a && _26a.checkBox) {
                _267 = gebtn("input", _26a);
                var _26b = true;
                for (var c = 0; c < _267.length; c++) {
                    if (_267[c].type != "checkbox") {
                        continue;
                    }
                    if (_267[c] != _266.parentNode.parentNode.checkBox && !_267[c].checked) {
                        _26b = false;
                    }
                }
                _266.parentNode.parentNode.checkBox.checked = _26b;
            }
        }
        _266 = this;
        while (_266.parentNode) {
            _266 = _266.parentNode;
            if (typeof _266.updateCount == "function") {
                _266.updateCount();
            }
        }
        _266 = null;
    }
    reg.click("a.g23toggler", expandCollapse);
    reg.click("div.g23 p.exp-coll a.expand-all", function () {
        var _26c = getParent(this, "div.g23");
        var lis = gebs("ul.g23tree li", _26c);
        for (var i = 0; i < lis.length; i++) {
            expand(lis[i]);
        }
        return false;
    });
    reg.click("div.g23 p.exp-coll a.collapse-all", function () {
        var _26f = getParent(this, "div.g23");
        var lis = gebs("ul.g23tree li", _26f);
        for (var i = 0; i < lis.length; i++) {
            collapse(lis[i]);
        }
        return false;
    });
    reg.click(".g23check-tree input@type='checkbox'", checkUncheck);
})();
function sniffG23() {
    if (hcn(this, "multi")) {
        var p = elem("p", {
            "class": "multi exp-coll"
        });
        var ex = ltxt.expandAll || "expand all";
        var cl = ltxt.collapseAll || "collapse all";
        p.innerHTML = "<a class=\"expand-all\" href=\"#expand\">" + ex + "</a> <a class=\"collapse-all\" href=\"#collapse\">" + cl + "</a>";
        var _275 = gebcn("g23w4", this)[0];
        _275.insertBefore(p, _275.firstChild);
    }
    var fobj = this;
    if (hcn(this, "static")) {
        var uls = gebcn("g23tree", fobj, "ul");
        for (var a = 0; a < uls.length; a++) {
            var tree = uls[a];
            var lis = gebtn("li", tree);
            for (var b = 0, li; li = lis[b++];) {
                var _27c = !nextElem(li);
                if (_27c) {
                    acn(li, "last");
                }
                if (is.ie6 && _27c) {
                    acn(li, "ie-" + (hcn(li, "collapsed") ? "collapsed": "expanded") + "-last");
                }
                var _27d = li.firstChild;
                if (_27d.nodeType != 1) {
                    _27d = nextElem(_27d);
                }
                if (hcn(li, "branch") && _27d && _27d.href) {
                    var link = elem("a.g23toggler", {
                        "href": _27d.href
                    },
                    elem("img", {
                        "src": "/im/a.gif",
                        "height": "10",
                        "width": "20",
                        "alt": "expand / collapse "
                    }));
                    li.insertBefore(link, li.firstChild);
                }
            }
        }
        return;
    }
    var uls = gebcn("g23tree", fobj, "ul");
    for (var a = 0; a < uls.length; a++) {
        var tree = uls[a];
        var lis = gebtn("li", tree);
        for (var b = 0, li; li = lis[b++];) {
            var _27f = hcn(li, "default-expanded");
            var _280 = false;
            if (gebtn("ul", li).length > 0) {
                if (_27f) {
                    acn(li, "branch");
                } else {
                    acn(li, "collapsed branch");
                }
                _280 = true;
                var _281 = gebtn("ul", li)[0];
                _281.parentNode.removeChild(_281);
                li.innerWrap = elem("div.g23x");
                innerWrap(li, li.innerWrap);
                li.appendChild(_281);
            }
            var _27c = !nextElem(li);
            if (_27c) {
                acn(li, "last");
            }
            if (is.ie6) {
                li.isLast = _27c;
                li.isBranch = _280;
            }
            if (is.ie6 && li.isLast && li.isBranch && _27f) {
                acn(li, "ie-expanded-last");
            } else {
                if (is.ie6 && li.isLast && li.isBranch && !_27f) {
                    acn(li, "ie-collapsed-last");
                }
            }
            if (_280) {
                var link = elem("a.g23toggler", {},
                elem("img", {
                    "src": "/im/a.gif",
                    "height": "10",
                    "width": "20",
                    "alt": "expand / collapse "
                }));
                gebtn("div", li)[0].insertBefore(link, gebtn("div", li)[0].firstChild);
                if (hcn(tree, "g23check-tree")) {
                    var _282 = document.createElement("span");
                    _282.className = "g23checked-count";
                    for (var c = 0; c < li.childNodes.length; c++) {
                        if (li.childNodes[c].nodeName.toLowerCase() == "ul") {
                            li.sublist = li.childNodes[c];
                        }
                        if (hcn(li.childNodes[c], "g23item-extra-info")) {
                            li.extraInfo = li.childNodes[c];
                        }
                    }
                    li.innerWrap.appendChild(_282);
                    li.countSpan = _282;
                    _282.appendChild(document.createTextNode(" "));
                    if (window.opera) {
                        _282.innerHTML = "&nbsp;";
                    }
                    li.updateCount = function () {
                        var _284 = 0;
                        var _285 = gebs("input@type=\"checkbox\"", this.sublist);
                        for (var b = 0; b < _285.length; b++) {
                            if (_285[b].checked) {
                                _284++;
                            }
                        }
                        _285 = null;
                        if (this.countSpan) {
                            if (_284 < 1) {
                                this.countSpan.firstChild.data = " ";
                                if (window.opera) {
                                    this.countSpan.innerHTML = "&nbsp;";
                                }
                            }
                            if (_284 == 1) {
                                this.countSpan.firstChild.data = "(1 checked item not shown)";
                            }
                            if (_284 > 1) {
                                this.countSpan.firstChild.data = "(" + _284 + " checked items not shown)";
                            }
                        }
                    };
                }
            }
            li = null;
        }
        if (location.hash) {
            var _287 = gebi(location.hash.substring(1));
            if (_287 && matches(_287, "ul.g23tree li")) {
                do {
                    rcn(_287, "collapsed");
                    _287 = getParent(_287, "ul.g23tree li");
                } while (_287);
            }
        }
        if (hcn(tree, "g23check-tree")) {
            var _288 = gebs("input@type=\"checkbox\"", tree);
            for (var b = 0; b < _288.length; b++) {
                var _289 = getParent(_288[b], "li");
                _289.checkBox = _288[b];
            }
            if (location.hash) {
                var _287 = location.hash.substring(1);
                for (var b = 0; b < lis.length; b++) {
                    var li = lis[b];
                    if (li.id == _287) {
                        var _288 = gebtn("input", li);
                        for (var c = 0; c < _288.length; c++) {
                            if (_288[c].type != "checkbox") {
                                continue;
                            }
                            _288[c].checked = true;
                        }
                        var el = li;
                        while (el.parentNode && !hcn(el, "g23tree")) {
                            if (el.nodeName.toLowerCase() == "li" && hcn(el, "branch")) {
                                rcn(el, "collapsed");
                                if (is.ie6 && el.isLast && el.isBranch) {
                                    rcn(el, "ie-collapsed-last");
                                    acn(el, "ie-expanded-last");
                                }
                            }
                            el = el.parentNode;
                        }
                        var _28c = gebtn("li", li);
                        for (var c = 0, subitem; subitem = _28c[c++];) {
                            if (hcn(subitem, "branch")) {
                                rcn(subitem, "collapsed");
                                if (is.ie6 && subitem.isLast && subitem.isBranch) {
                                    rcn(subitem, "ie-collapsed-last");
                                    acn(subitem, "ie-expanded-last");
                                }
                            }
                        }
                        _288 = null;
                        el = null;
                    }
                }
            }
            for (var b = 0; b < lis.length; b++) {
                var li = lis[b];
                if (typeof li.updateCount == "function") {
                    li.updateCount();
                }
                li = null;
            }
        }
        tree = null;
    }
}
var preloaderOn = [];
var preloaderOff = [];
var preloaderActive = [];
var activeImg = [];
function sniffRollover() {
    var fobj = this;
    fobj.rsrc = fobj.src;
    preloaderOff[fobj.rsrc] = new Image();
    preloaderOff[fobj.rsrc].src = fobj.rsrc;
    if (hasClassName(fobj, "rollover")) {
        preloaderOn[fobj.rsrc] = new Image();
        preloaderOn[fobj.rsrc].src = fobj.src.replace(/_off\./, "_on.");
        fobj.onmouseout = function () {
            if (activeImg[this.imgGroup] != this) {
                this.src = preloaderOff[this.rsrc].src;
            }
        };
        fobj.onmouseover = function () {
            if (activeImg[this.imgGroup] != this) {
                this.src = preloaderOn[this.rsrc].src;
            }
        };
    }
    if (fobj.className.indexOf("active-") > -1) {
        fobj.imgGroup = fobj.className;
        fobj.imgGroup = fobj.imgGroup.replace(/.*active-(.*).*/, "$1");
        preloaderActive[fobj.rsrc] = new Image();
        preloaderActive[fobj.rsrc].src = fobj.src.replace(/_off\./, "_active.");
        if (fobj.className.indexOf("setactive-") > -1) {
            activeImg[fobj.imgGroup] = fobj;
            fobj.src = preloaderActive[fobj.rsrc].src;
        }
        fobj.onclick = function () {
            if (this.src != preloaderActive[this.rsrc].src) {
                this.src = preloaderActive[this.rsrc].src;
                if (activeImg[this.imgGroup]) {
                    activeImg[this.imgGroup].src = preloaderOff[activeImg[this.imgGroup].rsrc].src;
                }
                activeImg[this.imgGroup] = this;
            }
        };
    }
}
function sniffGoto() {
    var fobj = this;
    if (hasClassName(fobj, "showDiv")) {
        addEvent(fobj, "change", function () {
            var _28f = this.options[this.selectedIndex].value.split("#")[1];
            if (this.currentItem) {
                addClassName(this.currentItem, "hidethis");
            }
            if (gebi(_28f)) {
                this.currentItem = gebi(_28f);
                removeClassName(this.currentItem, "hidethis");
            } else {
                this.currentItem = null;
            }
        });
    } else {
        if (this.className.indexOf("hijax-") > -1) {
            addEvent(fobj, "change", function () {
                var link = this.options[this.selectedIndex];
                try {
                    var id = matchClassName(this, /^hijax-(\S*)/)[1];
                    var _292 = gebi(id);
                    var h = _292.offsetHeight;
                    _292.innerHTML = "";
                    _292.style.height = h + "px";
                    addClassName(_292, "hijaxLoading");
                }
                catch(ex) {
                    return;
                }
                if (_292.className.indexOf("hijaxTrue") > -1) {
                    var _294 = (link.value.indexOf("?") > -1) ? "&": "?";
                    var _295 = link.value + _294 + "hijax=true";
                } else {
                    var _295 = link.value;
                }
                if (link.value != "" && link.getAttribute("value")) {
                    xhr(_295, function (_296, obj) {
                        var el = getElementByIdFromString(_296, id);
                        if (!el) {
                            window.location = link.href;
                        }
                        _296 = el.innerHTML;
                        hijaxCache[_295 + " "] = _296;
                        removeClassName(_292, "hijaxLoading");
                        _292.style.height = "auto";
                        _292.innerHTML = _296;
                        reg.rerun(_292);
                        if (gebi("linkToPage")) {
                            gebi("linkToPage").href = link.value;
                        }
                    },
                    function () {
                        window.location = link.value;
                    });
                }
            });
        } else {
            addEvent(fobj, "change", function () {
                if (this.options[this.selectedIndex].value != "" && this.options[this.selectedIndex].getAttribute("value")) {
                    document.location = this.options[this.selectedIndex].value;
                }
            });
        }
    }
}
function sniffGotoUL() {
    var fobj = this;
    var li = getChildNodesByTagName(fobj, "li");
    var _29b = "";
    var _29c = prevElem(fobj);
    if (_29c && hasClassName(_29c, "listTitle") && gebtn("a", _29c)[0]) {
        _29b = _29b + "<option value=\"" + gebtn("a", _29c)[0].href + "\" class=\"gotoHeading\">" + _29c.innerHTML + "</option>\n";
    } else {
        if (_29c && hasClassName(_29c, "listTitle")) {
            _29b = _29b + "<option value=\"\" class=\"gotoHeading\">" + _29c.innerHTML + "</option>\n";
        }
    }
    var _29d = "goto";
    var hi = (this.className.indexOf("hijax-") > -1) ? " " + matchClassName(this, /^(hijax-\S*)/)[1] : "";
    var form = elem("form", {
        "action": ""
    });
    fobj.parentNode.insertBefore(form, fobj);
    if (hasClassName(fobj, "showDiv")) {
        _29d = "showDiv";
        var _2a0 = document.createElement("div");
        fobj.parentNode.insertBefore(_2a0, fobj);
    }
    for (var n = 0; n < li.length; n++) {
        var sel = (li[n].className.indexOf("selected") > -1) ? " selected=\"selected\"": "";
        if (gebtn("a", li[n])[0]) {
            _29b = _29b + "<option" + sel + " value=\"" + gebtn("a", li[n])[0].href + "\">" + gebtn("a", li[n])[0].innerHTML + "</option>";
        } else {
            if (li[n].innerHTML) {
                _29b = _29b + "<option" + sel + " value=\"\">" + li[n].innerHTML + "</option>";
            }
        }
        if (hasClassName(fobj, "showDiv") && gebtn("div", li[n])[0]) {
            _2a0.appendChild(gebtn("div", li[n])[0]);
        }
    }
    var _2a3 = (this.id) ? " id=\"" + this.id + "\"": "";
    form.innerHTML = "<select class=\"" + _29d + hi + "\"" + _2a3 + ">" + _29b + "</select>";
    fobj.parentNode.removeChild(fobj);
    reg.rerun(form);
}
var zimg = 1;
function sniffImgbox() {
    var _2a4 = this;
    var img = gebtn("img", _2a4)[0];
    _2a4.style.background = "url(" + img.src + ") no-repeat";
    _2a4.style.width = img.width + "px";
    _2a4.style.height = img.height + "px";
    img.style.visibility = "hidden";
    if (is.ie56 && hasParent(_2a4, "div", "g20w1")) {
        var _2a6 = hasParent(_2a4, "div", "g20w1");
        _2a6.style.width = ((img.width * 1) + 12) + "px";
        addClassName(_2a6, "showcorners");
    }
    if (hasClassName(_2a4, "imgcorners")) {
        _2a4.innerHTML = "<div class=\"imgw1\"><div class=\"imgw2\"><div class=\"imgw3\"><div class=\"imgw4\" style=\"width:" + img.width + "px;height:" + img.height + "px\">" + _2a4.innerHTML + "</div></div></div></div>";
    }
    if (hasClassName(_2a4, "imgzoom")) {
        var _2a7 = gebtn("a", _2a4)[0].href;
        var _2a8 = document.createElement("div");
        _2a8.className = "zoomimg k2";
        _2a8.id = "zoomimg" + zimg;
        var _2a9 = document.createElement("a");
        _2a9.style.backgroundImage = "none";
        _2a9.onclick = function () {
            return false;
        };
        var _2aa = document.createElement("img");
        _2aa.src = _2a7;
        _2a9.appendChild(_2aa);
        _2a8.appendChild(_2a9);
        _2a4.appendChild(_2a8);
        if (hasClassName(_2a4, "imgright")) {
            _2a4.className = _2a4.className + " hAlignRight x10";
        } else {
            _2a4.className = _2a4.className + " x-10";
        }
        _2a4.className = _2a4.className + " vAlignTopBottom y-10 k2over-zoomimg" + zimg;
        sniffK2.call(_2a4);
        var _2ab = gebtn("a", _2a4)[0];
        _2ab.onclick = function () {
            return false;
        };
        _2ab.style.width = img.width + "px";
        _2ab.style.height = img.height + "px";
        zimg++;
    }
}
function sniffSharePage() {
    var _2ac = this;
    if (typeof sharetxt != "undefined") {
        var _2ad = getSafelyEncodedString(location.href);
        var _2ae = getSafelyEncodedString(document.title);
        var _2af = "\t\t<div class=\"sharepagew1 share-mailto\">\t\t<table summary=\"layout\" cellpadding=\"0\" cellspacing=\"0\"><tr>\t\t<td id=\"share-mailto\"><a href=\"mailto:?subject=" + sharetxt[0] + "{pagetitle}&body=" + sharetxt[1] + "%0A%0A" + _2ad + "\" class=\"sharelink mailto\" title=\"" + sharetxt[2] + "\"></a></td>\t\t<td id=\"share-technorati\"><a href=\"http://technorati.com/search/" + _2ad + "\" class=\"sharelink technorati\" title=\"" + sharetxt[3] + "\"></a></td>\t\t<td id=\"share-delicious\"><a href=\"http://del.icio.us/post?v=4;url=" + _2ad + ";title=" + _2ae + "\" class=\"sharelink delicious\" title=\"" + sharetxt[4] + "\"></a></td>\t\t<td id=\"share-digg\"><a href=\"http://digg.com/submit?phase=2&amp;url=" + _2ad + "&amp;title=" + _2ae + "\" class=\"sharelink digg\" title=\"" + sharetxt[5] + "\"></a></td>\t\t<td id=\"share-slashdot\"><a href=\"http://slashdot.org/bookmark.pl?title=" + _2ae + "&amp;url=" + _2ad + "\" class=\"sharelink slashdot\" title=\"" + sharetxt[6] + "\"></a></td>\t\t";
        var _2b0 = gebtn("link");
        var _2b1 = null;
        var _2b2 = null;
        var _2b3 = 0;
        for (var a = 0; a < _2b0.length; a++) {
            if ("" + _2b0[a].rel.toLowerCase() == "alternate") {
                _2b3++;
                if (!_2b1) {
                    _2b1 = _2b0[a].href;
                    _2b2 = _2b0[a].title;
                }
            }
        }
        if (_2b3 > 1) {
            _2af += "<td id=\"share-multiple-feeds\"><a href=\"#\" title=\"" + sharetxt[7] + "\"></a></td>";
        } else {
            if (_2b3 == 1) {
                _2af += "<td id=\"share-feed\"><a href=\"" + _2b1 + "\" class=\"sharelink feed\" title=\"" + _2b2 + "\"></a></td>";
            } else {
                _2af += "<td id=\"share-blank\"> </td>";
            }
        }
        _2af += "</tr></table></div>";
        if (hasClassName(document.body, "a0v3")) {
            return;
        }
        _2ac.id = "sharepage";
        if (is.ie5) {
            return;
        }
        if (typeof _2af == "undefined") {
            return;
        }
        _2ae = (gebtn("h1", _2ac)[0]) ? elemText(gebtn("h1", _2ac)[0]) : _2ae;
        _2ae = _2ae.normalize();
        _2af = _2af.replace(/{pagetitle}/, _2ae);
        var _2b5 = gebtn("meta");
        for (var a = 0; a < _2b5.length; a++) {
            if ("" + _2b5[a].name.toLowerCase() == "share-this-page" && "" + _2b5[a].content.toLowerCase() == "no") {
                return;
            }
        }
        var _2b6 = document.createElement("div");
        _2b6.className = "sharepage";
        _2ac.appendChild(_2b6);
        _2b6.innerHTML = _2af;
        var mult = gebi("share-multiple-feeds");
        if (mult) {
            var lnk = gebtn("a", mult)[0];
            lnk.titleDiv = _2ac;
            lnk.mult = mult;
            addEvent(lnk, "click", function (e) {
                if (!this.feedListDiv) {
                    var _2ba = gebtn("link");
                    var _2bb = [];
                    var _2bc = "<ul>";
                    for (var a = 0; a < _2ba.length; a++) {
                        if ("" + _2ba[a].rel.toLowerCase() == "alternate") {
                            _2bb[_2bb.length] = _2ba[a];
                        }
                    }
                    for (var a = 0; a < _2bb.length; a++) {
                        _2bc += "<li";
                        if (a == 0) {
                            _2bc += " class=\"first-child\"";
                        } else {
                            if (a == _2bb.length - 1) {
                                _2bc += " class=\"last-child\"";
                            }
                        }
                        _2bc += "><div><a class=\"sharelink feed\" href=\"" + _2bb[a].href + "\">" + _2bb[a].title + "</a></div></li>";
                    }
                    _2bc += "</ul><span class=\"x1\"></span><span class=\"x2\"></span>";
                    var _2be = elem("div", {
                        "id": "share-feed-list"
                    });
                    _2be.innerHTML = _2bc;
                    this.titleDiv.appendChild(_2be);
                    this.feedListDiv = _2be;
                    addClassName(this.mult, "showing");
                    tagOmnitureCustomLinksForSharePage(this.feedListDiv);
                } else {
                    if (hasClassName(this.feedListDiv, "hidethis")) {
                        removeClassName(this.feedListDiv, "hidethis");
                        addClassName(this.mult, "showing");
                    } else {
                        addClassName(this.feedListDiv, "hidethis");
                        removeClassName(this.mult, "showing");
                    }
                }
                cancelDefault(e);
            });
        }
        tagOmnitureCustomLinksForSharePage(_2b6);
    }
}
function tagOmnitureCustomLinksForSharePage(el) {
    if (typeof window.s_co != "undefined") {
        var _2c0 = function (e) {
            var _2c2 = this.className.replace(/sharelink /, "") + ": ";
            s_linkType = "o";
            s_linkName = _2c2 + this.href;
            s_lnk = s_co(this);
            s_gs(s_account);
        };
        var _2c3 = gebtn("a", el);
        for (var a = 0; a < _2c3.length; a++) {
            if (!hasClassName(_2c3[a], "sharelink")) {
                continue;
            }
            addEvent(_2c3[a], "click", _2c0);
        }
    }
}
var imgpreload = [];
function sniffImgswap() {
    var link = this;
    if (link.src) {
        imgpreload[link.id] = new Image();
        imgpreload[link.id].src = link.src;
    } else {
        link.imgref = link.className.replace(/[^ ]* ?([^ ]+_\d).*/, "$1").split("_");
        link.src = gebi(link.imgref[0]).src.replace(/_\d+\./, "_" + link.imgref[1] + ".");
        imgpreload[link.src] = new Image();
        imgpreload[link.src].src = link.src;
        if (!hasClassName(link, "swapOnclick")) {
            link.onmouseover = function () {
                gebi(this.imgref[0]).src = imgpreload[this.src].src;
            };
            link.onmouseout = function () {
                gebi(this.imgref[0]).src = imgpreload[this.imgref[0]].src;
            };
            if (!hasClassName(link, "followLink")) {
                link.onclick = function () {
                    return false;
                };
            }
        } else {
            link.onclick = function () {
                imgpreload[this.imgref[0]].src = gebi(this.imgref[0]).src = imgpreload[this.src].src;
                return false;
            };
        }
    }
}
function sniffMultiswap() {
    var fobj = this;
    if (fobj.src) {
        imgpreload[fobj.id] = new Image();
        imgpreload[fobj.id].src = fobj.src;
        if (fobj.className.indexOf("mswap-") > -1) {
            var aimg = fobj.className.split("mswap-")[1].split("-")[0].split(" ")[0];
            fobj.src = fobj.src.replace(/[^\/]+(\.....?)$/, aimg + "$1");
        }
    }
}
function clickMultiswap() {
    this.targetid = this.className.split("mswap-")[1].split("-")[0].split(" ")[0];
    var _2c8 = this.targetid.replace(/(.*)\d+?/, "$1");
    this.pre = _2c8;
    if (this.className.indexOf("mswap-" + this.targetid + "-") > -1) {
        var _2c9 = this.className.split("mswap-" + this.targetid + "-")[1].split(" ")[0];
    } else {
        var _2c9 = this.href.replace(/.*\/([^\/]+)?/, "$1").split(".")[0];
    }
    this.src = gebi(this.targetid).src.replace(/[^\/]+(\.....?)$/, _2c9 + "$1");
    imgpreload[this] = new Image();
    imgpreload[this].src = this.src;
    var n = 1;
    while (gebi(this.pre + n)) {
        gebi(this.pre + n).src = imgpreload[this.pre + n].src;
        n++;
    }
    gebi(this.targetid).src = this.src;
    if (hasClassName(this, "followLink") || this.target != "") {} else {
        cancelDefault(e);
    }
}
function sniffToggleAllCheckboxesInTable() {
    var lnk = this;
    var pTab = lnk.parentNode;
    while (pTab.nodeName.toLowerCase() != "table") {
        pTab = pTab.parentNode;
    }
    lnk.checkStatus = true;
    lnk.titleSelect = "Select All";
    lnk.titleUnselect = "Unselect All";
    lnk.title = lnk.titleSelect;
    lnk.img = gebtn("img", lnk)[0];
    lnk.img.alt = lnk.titleSelect;
    var _2cd = gebtn("input", pTab);
    lnk.checkboxes = [];
    for (var b = 0; b < _2cd.length; b++) {
        if ("checkbox" == _2cd[b].type) {
            lnk.checkboxes.push(_2cd[b]);
        }
    }
    lnk.onclick = function () {
        for (var c = 0; c < this.checkboxes.length; c++) {
            this.checkboxes[c].checked = this.checkStatus;
        }
        this.title = (this.checkStatus) ? this.titleUnselect: this.titleSelect;
        this.img.alt = (this.checkStatus) ? this.titleUnselect: this.titleSelect;
        this.checkStatus = !this.checkStatus;
        return false;
    };
}
function sniffExpandCollapsePc1() {
    var div = this;
    addClassName(div, "pc1collapsed");
    removeClassName(div, "pc1collapsible");
    var h = gebtn("h2", div)[0];
    var lnk = elem("a", {
        "href": "#"
    },
    " " + elemText(h));
    var im = elem("img", {
        "src": "/im/pc1-expand.gif",
        "alt": "",
        "class": "pc1expand-collapse-icon",
        "border": "0"
    });
    im.srcCollapse = "/im/pc1-collapse.gif";
    im.srcExpand = im.src;
    lnk.titleCollapse = "Collapse this section";
    lnk.titleExpand = "Expand this section";
    lnk.title = lnk.titleExpand;
    lnk.insertBefore(im, lnk.firstChild);
    lnk.im = im;
    lnk.div = div;
    h.innerHTML = "";
    h.appendChild(lnk);
    lnk.onclick = function () {
        if (hasClassName(this.div, "pc1expanded")) {
            addClassName(this.div, "pc1collapsed");
            removeClassName(this.div, "pc1expanded");
            this.title = this.titleExpand;
            this.im.src = this.im.srcExpand;
        } else {
            addClassName(this.div, "pc1expanded");
            removeClassName(this.div, "pc1collapsed");
            this.title = this.titleCollapse;
            this.im.src = this.im.srcCollapse;
        }
        return false;
    };
    var _2d4 = gebcn("cornerBR", div)[0];
    var p = elem("p", {
        "class": "pc1expand-note"
    },
    " Click the plus icon to expand this section.");
    _2d4.appendChild(p);
}
function sniffClassTool() {
    var fobj = this;
    var cls = fobj.className.split(" ");
    for (var v = 0; v < cls.length; v++) {
        if (cls[v].indexOf("cTool-") == 0) {
            var objs = cls[v].split("cTool-")[1].split("-");
            if (objs[objs.length - 1].indexOf("RMV") > -1 || objs[objs.length - 1].indexOf("TGL") > -1 || objs[objs.length - 1].indexOf("ADD") > -1) {
                var _2da = "click";
            } else {
                var _2da = objs[objs.length - 1];
                objs.pop();
            }
            fobj.objs = objs;
            fobj.tid = objs.shift();
            var _2db = fobj.tid;
            if (fobj.tid == "this") {
                fobj.tid = fobj;
            }
            if (_2da == "hover" && !is.ie56 && _2db == "this") {} else {
                if (_2da == "hover") {
                    addEvent(fobj, "mouseout", function (e) {
                        classomatic(this.tid, this.objs);
                    });
                    var _2da = "mouseover";
                    addEvent(fobj, _2da, function (e) {
                        classomatic(this.tid, this.objs);
                        if (_2da == "click") {
                            cancelDefault(e);
                        }
                    });
                } else {
                    addEvent(fobj, _2da, function (e) {
                        classomatic(this.tid, this.objs);
                        if (_2da == "click") {
                            cancelDefault(e);
                        }
                    });
                }
            }
        }
    }
}
function classomatic(id, todo) {
    if (!gebi(id)) {
        var tobj = id;
    } else {
        var tobj = gebi(id);
    }
    for (var v = 0; v < todo.length; v++) {
        if (todo[v].indexOf("RMV") == 0) {
            removeClassName(tobj, todo[v].substring(3, todo[v].length));
        } else {
            if (todo[v].indexOf("ADD") == 0) {
                addClassName(tobj, todo[v].substring(3, todo[v].length));
            } else {
                if (todo[v].indexOf("TGL") == 0) {
                    if (hasClassName(tobj, todo[v].substring(3, todo[v].length))) {
                        removeClassName(tobj, todo[v].substring(3, todo[v].length));
                    } else {
                        if (!hasClassName(tobj, todo[v].substring(3, todo[v].length))) {
                            addClassName(tobj, todo[v].substring(3, todo[v].length));
                        }
                    }
                }
            }
        }
    }
}
function sniffToggler() {
    var fobj = this;
    if (fobj.toggler) {
        return;
    }
    if (hasClassName(fobj, "showThis")) {
        fobj.toggler = fobj.href.split("#")[1];
        addEvent(fobj, "click", function (e) {
            var _2e5 = this.toggler.replace(/\d+?/, "");
            var n = 1;
            while (gebi(_2e5 + n)) {
                if (this.toggler == _2e5 + n) {
                    removeClassName(gebi(this.toggler), "hidethis");
                } else {
                    addClassName(gebi(_2e5 + n), "hidethis");
                }
                n++;
            }
            cancelDefault(e);
        });
    } else {
        var cls = fobj.className.split(" ");
        for (var v = 0; v < cls.length; v++) {
            if (cls[v].indexOf("objects-") == 0) {
                fobj.toggler = cls[v].replace(/objects-/, "");
            }
        }
        addEvent(fobj, "click", function (e) {
            var tid = this.toggler.split("-");
            for (var i in tid) {
                if (tid[i].indexOf("ALL") > -1) {
                    var tAll = [];
                    var x = 1;
                    while (gebi(tid[i].split("ALL")[0] + x)) {
                        tAll.push(tid[i].split("ALL")[0] + x);
                        x++;
                    }
                    var ii;
                    for (ii in tAll) {
                        toggler(this, tAll[ii]);
                    }
                } else {
                    toggler(this, tid[i]);
                }
            }
            cancelDefault(e);
        });
    }
}
function toggler(fobj, id) {
    if (hasClassName(gebi(id), "hidethis") && !hasClassName(fobj, "hideall") || hasClassName(fobj, "showall")) {
        removeClassName(gebi(id), "hidethis");
    } else {
        if (!hasClassName(gebi(id), "hidethis") || hasClassName(fobj, "hideall")) {
            addClassName(gebi(id), "hidethis");
        }
    }
}
var ulid = 0;
function sniffListfade() {
    var fobj = this;
    ulid++;
    var li = gebtn("li", fobj);
    var x = 0;
    while (li[x]) {
        li[x].id = "ulfade" + ulid + (x + 1);
        if (x == 0) {
            addClassName(li[x], "xfadefirst");
            var p = "pause5";
            if (fobj.className.indexOf("pause") > -1) {
                p = getClassContains(fobj, "pause");
            }
            addClassName(li[x], p);
        } else {
            addClassName(li[x], "xfade");
        }
        x++;
    }
    sniffXfade.call(li[0]);
}
function sniffLoadUrl() {
    var fobj = this;
    if (fobj.href.indexOf("#") > -1) {
        var _2f6 = fobj.href.split("#")[0];
        var id = fobj.href.split("#")[1];
        getfile(_2f6, function (_2f8, objs) {
            if (objs[0]) {
                _2f8 = getRequestObject(objs[0], _2f8);
                var _2fa = _2f8.className;
                _2f8 = _2f8.innerHTML;
            }
            if (objs[1].parentNode.className.indexOf("g32auto") > -1 && objs[0]) {
                objs[1].parentNode.className = _2fa;
                objs[1].parentNode.innerHTML = _2f8;
            } else {
                var _2fb = elem("div");
                objs[1].parentNode.insertBefore(_2fb, objs[1]);
                _2fb.innerHTML = _2f8;
                reg.rerun(_2fb);
                objs[1].parentNode.removeChild(objs[1]);
            }
        },
        [id, fobj]);
    }
}
function sniffFormHijax() {
    var fobj = this;
    addEvent(fobj, "submit", function (e) {
        var _2fe = getClassContains(this, "wgform-").split("wgform-")[1];
        if (hasParent(this, _2fe)) {
            var _2ff = gebtn("input", this);
            var _300 = [];
            for (i = 0; i < _2ff.length; i++) {
                if (_2ff[i].type == "submit") {
                    _300.push(_2ff[i]);
                }
            }
            for (i = 0; i < _300.length; i++) {
                addClassName(_300[i], "disabled");
            }
        }
        getfile(this.action + "?" + getFormData(this), function (_301, fvar) {
            if (_301.indexOf(_2fe) > -1) {
                _301 = getRequestObject(_2fe, _301).innerHTML;
            }
            gebi(_2fe).innerHTML = _301;
            reg.rerun(gebi(_2fe));
        });
        cancelDefault(e);
    });
}
var xfade = [];
var xfadeObj = [];
var xfadeLoop = [];
var xfadeStop = [];
function sniffXfade() {
    var fobj = this;
    if ((fobj.id.substring((fobj.id.length - 1), fobj.id.length) * 1) == 1) {
        var _304 = false;
        var _305;
        var _306 = 10000;
        var id = fobj.id.substring(0, (fobj.id.length - 1));
        var cls = fobj.className.split(" ");
        for (var v = 0; v < cls.length; v++) {
            if (cls[v].indexOf("pause") == 0) {
                _306 = cls[v].replace(/pause(.*)$/, "$1");
                _306 = _306 * 1000;
            } else {
                if (cls[v].indexOf("transparent") == 0) {
                    _304 = true;
                } else {
                    if (cls[v].indexOf(".jpg") == 0 || cls[v].indexOf(".gif") == 0) {
                        _305 = cls[v];
                    }
                }
            }
        }
        var xf = 1;
        while (gebi(id + xf)) {
            xfadeObj[id + xf] = [gebi(id + xf), 0];
            xfadeObj[id + xf][0].onmouseover = function () {
                if (xfadeStop[id][0] != -1) {
                    xfadeStop[id][0] = 0;
                }
            };
            xfadeObj[id + xf][0].onmouseout = function () {
                if (xfadeStop[id][0] != -1) {
                    xfadeStop[id][0] = 1;
                }
            };
            if (_304) {
                if (is.oldmoz) {
                    setopacity(xfadeObj[id + xf][0], 1);
                    xfadeObj[id + xf][0].style.visibility = "hidden";
                }
                if (_305 && is.iewin) {
                    xfadeObj[id + xf][0].style.backgroundImage = "url(" + _305 + ")";
                }
                if (is.oldmoz && xf == 1) {
                    xfadeObj[id + xf][0].style.visibility = "visible";
                }
            }
            xf++;
        }
        xf--;
        xfade[id] = [xf, 1, _306];
        if (gebi(id + "Total")) {
            gebi(id + "Total").innerHTML = xf;
        }
        if (gebi(id + "Back")) {
            gebi(id + "Back").onclick = function () {
                xfadeStop[id] = [ - 1, -1];
                clearTimeout(xfadeLoop[id]);
                xfader(id);
                return false;
            };
        }
        if (gebi(id + "Next")) {
            gebi(id + "Next").onclick = function () {
                xfadeStop[id] = [ - 1, 1];
                clearTimeout(xfadeLoop[id]);
                xfader(id);
                return false;
            };
        }
        xfadeStop[id] = [1, 1];
        xfadeLoop[id] = setTimeout("xfader('" + id + "')", _306);
    }
}
function xfader(id) {
    var nx = xfade[id][1] + xfadeStop[id][1];
    if (nx > xfade[id][0]) {
        nx = 1;
    }
    if (nx < 1) {
        nx = xfade[id][0];
    }
    var _30d = false;
    if (xfadeStop[id][0] == 0 && xfadeObj[id + nx][1] != 0) {
        var _30d = true;
    }
    var ox = xfade[id][1];
    if (xfadeObj[id + ox][1] == 0) {
        xfadeObj[id + ox][1] = 1;
    }
    if (xfadeStop[id][0] != 0 || _30d) {
        if (xfadeObj[id + nx][1] == 0) {
            if (!is.oldmoz) {
                setopacity(xfadeObj[id + nx][0], 0.1);
            }
            xfadeObj[id + nx][0].style.visibility = "visible";
            xfadeObj[id + ox][0].style.zIndex = 2;
            xfadeObj[id + nx][0].style.zIndex = 10;
        }
        if (xfadeStop[id][0] == -1) {
            xfadeObj[id + nx][1] = 1;
        } else {
            if (is.safari || is.oldmoz || is.ns6 || is.iemac) {
                xfadeObj[id + nx][1] = 1;
            } else {
                xfadeObj[id + nx][1] = xfadeObj[id + nx][1] + 0.2;
            }
        }
        if (is.anymoz && xfadeObj[id + nx][1] == 1) {
            if (!is.oldmoz) {
                setopacity(xfadeObj[id + nx][0], 0.99);
            }
        } else {
            setopacity(xfadeObj[id + nx][0], xfadeObj[id + nx][1]);
        }
        if (xfadeObj[id + nx][1] < 1) {
            setTimeout("xfader('" + id + "')", 120);
        } else {
            xfade[id][1] = nx;
            xfadeObj[id + ox][0].style.visibility = "hidden";
            xfadeObj[id + ox][1] = 0;
            if (gebi(id + "This")) {
                gebi(id + "This").innerHTML = nx;
            }
            if (xfadeStop[id][0] != 0) {
                xfadeStop[id] = [1, 1];
                xfadeLoop[id] = setTimeout("xfader('" + id + "')", xfade[id][2]);
            }
        }
    }
    if (xfadeStop[id][0] == 0) {
        clearTimeout(xfadeLoop[id]);
        xfadeLoop[id] = setTimeout("xfader('" + id + "')", 200);
    }
}
var hijaxCache = {};
function hijaxLink(ev) {
    var link = this;
    if (hasClassName(link, "noHijax")) {
        return true;
    }
    if (this.target) {
        return true;
    }
    try {
        if (link.className.indexOf("hijax-") > -1) {
            var _311 = this;
        } else {
            var _311 = getParent(link, "@class*='hijax-'");
        }
        var id = matchClassName(_311, /^hijax-(\S*)/)[1];
        var _313 = gebi(id);
        if (_313.className.indexOf("hijaxTrue") > -1) {
            var _314 = (link.href.indexOf("?") > -1) ? "&": "?";
            var _315 = link.href + _314 + "hijax=true";
        } else {
            var _315 = link.href;
        }
        var h = _313.offsetHeight;
        _313.innerHTML = "";
        _313.style.height = h + "px";
        addClassName(_313, "hijaxLoading");
    }
    catch(ex) {
        return true;
    }
    var _317 = _315 + " ";
    if (!hijaxCache[_317]) {
        xhr(_315, function (_318, obj) {
            var el = getElementByIdFromString(_318, id);
            if (!el) {
                window.location = link.href;
            }
            _318 = el.innerHTML;
            hijaxCache[_317] = _318;
            removeClassName(_313, "hijaxLoading");
            _313.style.height = "auto";
            _313.innerHTML = _318;
            reg.rerun(_313);
            if (gebi("linkToPage")) {
                gebi("linkToPage").href = link.href;
            }
        },
        function () {
            window.location = link.href;
        });
        return false;
    } else {
        _313.innerHTML = hijaxCache[_317];
        removeClassName(_313, "hijaxLoading");
        reg.rerun(_313);
        if (gebi("linkToPage")) {
            gebi("linkToPage").href = link.href;
        }
        return false;
    }
}
function spriteOver() {
    this.style.left = (this.width) / 2 * -1 + "px";
}
function spriteOut() {
    this.style.left = 0 + "px";
} (function () {
    var _31b = [];
    function launchCal(e) {
        var id = this.id;
        if (!id) {
            throw "date field missing id attribute";
        }
        if (_31b[id] && _31b[id].parentNode) {
            return;
        }
        for (var oid in _31b) {
            if (id == oid) {
                continue;
            }
            if (_31b[oid] && _31b[oid].parentNode) {
                _31b[oid].parentNode.removeChild(_31b[oid]);
                _31b[oid] = null;
            }
        }
        var _31f = getParent(this, "div.labeled-input");
        if (_31f) {
            addClassName(_31f, "has-jscal");
        }
        if (this.value) {
            var time = Date.parse(this.value);
            var _321 = (!isNaN(time)) ? new Date(time) : new Date();
        } else {
            var _321 = new Date();
        }
        var _322 = matchClassName(this, /^range-(.+)/);
        if (_322) {
            var _323 = gebi(_322[1]);
            if (!_323) {
                throw "no element found with id=\"" + _322[1] + "\"";
            }
            var _324, endDate;
            var _325 = gebcn("jscal-start", _323);
            var _326 = gebcn("jscal-end", _323);
            if (_325.length) {
                var time = Date.parse(elemText(_325[0]));
                if (isNaN(time)) {
                    throw "Date.parse(\"" + elemText(_325[0]) + "\") returns NaN";
                }
                _324 = new Date(time);
            }
            if (_326.length) {
                var time = Date.parse(elemText(_326[0]));
                if (isNaN(time)) {
                    throw "Date.parse(\"" + elemText(_326[0]) + "\") returns NaN";
                }
                endDate = new Date(time);
            }
            if (_324 && _324.getTime() > _321.getTime()) {
                _321 = _324.diffDay(0);
            }
            if (endDate && endDate.getTime() < _321.getTime()) {
                _321 = endDate.diffDay(0);
            }
            if (_324 && endDate && _324.getTime() > endDate.getTime()) {
                throw "whoops! start date is less than end date";
            }
        }
        var _327 = defaultDateFormat;
        var _328 = matchClassName(this, /^format-(.+)/);
        if (_328) {
            var _329 = gebi(_328[1]);
            if (!_329) {
                throw "no element found with id=\"" + _328[1] + "\"";
            }
            _327 = elemText(_329);
        }
        _31b[id] = (new Calendar(_321, _324, endDate)).getCalendarTable();
        _31b[id].inp = this;
        this.parentNode.appendChild(_31b[id]);
        addEvent(_31b[id], "click", function (e) {
            var targ = getTarget(e);
            if (targ.date && getParent(targ, ".jscal-inrange")) {
                this.inp.value = targ.date.format(_327);
                _31b[id].parentNode.removeChild(_31b[id]);
            }
        });
    }
    function closeCal(e) {
        var targ = getTarget(e);
        var _32e = getParent(targ, "div.jscal-x1");
        if (_32e || matches(targ, "input.jscal@type=\"text\", table.jscal, div.jscal-x1")) {
            return;
        }
        for (var id in _31b) {
            if (_31b[id] && _31b[id].parentNode) {
                _31b[id].parentNode.removeChild(_31b[id]);
                _31b[id] = null;
            }
        }
    }
    reg.focus("input.jscal@type=\"text\"", launchCal);
    reg.focus("body", closeCal);
    reg.click("body", closeCal);
})();
(function () {
    function animate(_330, _331) {
        removeClassName(_330, "g39exp");
        removeClassName(_331, "g39coll");
        addClassName(_330, "g39t1");
        addClassName(_331, "g39t6");
        var inc = 20;
        window.setTimeout(function () {
            _330.className = _330.className.replace(/g39t1/, "g39t2");
            _331.className = _331.className.replace(/g39t6/, "g39t5");
        },
        inc * 1);
        window.setTimeout(function () {
            _330.className = _330.className.replace(/g39t2/, "g39t3");
            _331.className = _331.className.replace(/g39t5/, "g39t4");
        },
        inc * 2);
        window.setTimeout(function () {
            _330.className = _330.className.replace(/g39t3/, "g39t4");
            _331.className = _331.className.replace(/g39t4/, "g39t3");
        },
        inc * 3);
        window.setTimeout(function () {
            _330.className = _330.className.replace(/g39t4/, "g39t5");
            _331.className = _331.className.replace(/g39t3/, "g39t2");
        },
        inc * 4);
        window.setTimeout(function () {
            _330.className = _330.className.replace(/g39t5/, "g39t6");
            _331.className = _331.className.replace(/g39t2/, "g39t1");
        },
        inc * 5);
        window.setTimeout(function () {
            _330.className = _330.className.replace(/g39t6/, "g39coll");
            _331.className = _331.className.replace(/g39t1/, "g39exp");
        },
        inc * 6);
    }
    reg.click("div.g39sect", function (e) {
        var _334 = gebs("div.g39sect", this.parentNode);
        for (var i = 0; i < _334.length; i++) {
            var _336 = _334[i];
            if (hasClassName(_336, "g39exp") && _336 != this) {
                animate(_336, this);
                break;
            }
        }
    });
})();
function platformDetect() {
    var _337 = "";
    var _338 = "";
    var _339 = navigator.userAgent.toUpperCase();
    if (_339.indexOf("SUNOS") > -1) {
        _337 = "Solaris";
    } else {
        if (_339.indexOf("MAC OS") > -1) {
            _337 = "Mac OS X";
        } else {
            if (_339.indexOf("LINUX") > -1) {
                _337 = "Linux";
            } else {
                if (_339.indexOf("WINDOWS") > -1) {
                    _337 = "Windows";
                }
            }
        }
    }
    if (_339.indexOf("SUNOS SUN4") > -1) {
        _338 = "Solaris SPARC";
    }
    if (_339.indexOf("SUNOS I86PC") > -1) {
        _338 = "Solaris x86";
    }
    if (_339.indexOf("LINUX") > -1 && _339.indexOf("86;") > -1) {
        _338 = "Linux x86";
    }
    if (_339.indexOf("LINUX") > -1 && _339.indexOf("X86_64") > -1) {
        _338 = "Linux x64";
    }
    if (_339.indexOf("WINDOWS NT 5.0") > -1) {
        _338 = "Windows 2000";
    }
    if (_339.indexOf("WINDOWS NT 5.1") > -1) {
        _338 = "Windows XP";
    }
    if (_339.indexOf("WINDOWS NT 6.0") > -1) {
        _338 = "Windows Vista";
    }
    if (_339.indexOf("INTEL MAC OS") > -1) {
        _338 = "Mac OS X (Intel)";
    }
    if (_339.indexOf("PPC MAC OS") > -1) {
        _338 = "Mac OS X (PowerPC)";
    }
    var _33a = false;
    var _33b = gebtn("option", this);
    for (var n = 0; n < _33b.length; n++) {
        if (_33b[n].innerHTML.toUpperCase() == _338.toUpperCase()) {
            _33b[n].selected = true;
            _33a = true;
            break;
        }
    }
    if (!_33a) {
        for (var n = 0; n < _33b.length; n++) {
            if (_33b[n].innerHTML.toUpperCase() == _337.toUpperCase()) {
                _33b[n].selected = true;
                break;
            }
        }
    }
}
function langDetect() {
    var lang = null;
    if (navigator.language) {
        lang = navigator.language.toUpperCase();
    } else {
        if (navigator.browserLanguage) {
            lang = navigator.browserLanguage.toUpperCase();
        } else {
            if (document.documentElement.lang) {
                lang = document.documentElement.lang.toUpperCase();
            }
        }
    }
    if (lang.indexOf("DA") > -1) {
        lang = "da_Danish";
    } else {
        if (lang.indexOf("NL") > -1) {
            lang = "nl_Dutch";
        } else {
            if (lang.indexOf("FR") > -1) {
                lang = "fr_French";
            } else {
                if (lang.indexOf("DE") > -1) {
                    lang = "de_German";
                } else {
                    if (lang.indexOf("HI") > -1) {
                        lang = "hi_Hindi";
                    } else {
                        if (lang.indexOf("IT") > -1) {
                            lang = "it_Italian";
                        } else {
                            if (lang.indexOf("JA") > -1) {
                                lang = "ja_Japanese";
                            } else {
                                if (lang.indexOf("KO") > -1) {
                                    lang = "ko_Korean";
                                } else {
                                    if (lang.indexOf("PL") > -1) {
                                        lang = "pl_Polish";
                                    } else {
                                        if (lang.indexOf("PT") > -1) {
                                            lang = "pt_Portuguese";
                                        } else {
                                            if (lang.indexOf("RU") > -1) {
                                                lang = "ru_Russian";
                                            } else {
                                                if (lang.indexOf("ZH-CN") > -1 || lang.indexOf("ZH-HANS") > -1) {
                                                    lang = "zh-cn_Simplified Chinese";
                                                } else {
                                                    if (lang.indexOf("ZH-TW") > -1 || lang.indexOf("ZH-HANT") > -1) {
                                                        lang = "zh-tw_Traditional Chinese";
                                                    } else {
                                                        if (lang.indexOf("ES") > -1) {
                                                            lang = "es_Spanish";
                                                        } else {
                                                            if (lang.indexOf("SV") > -1) {
                                                                lang = "sv_Swedish";
                                                            } else {
                                                                if (lang.indexOf("TR") > -1) {
                                                                    lang = "tr_Turkish";
                                                                } else {
                                                                    lang = "en_English";
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    var _33e = gebtn("option", this);
    for (var n = 0; n < _33e.length; n++) {
        if (_33e[n].innerHTML.toUpperCase() == lang.split("_")[1].toUpperCase() || _33e[n].className.indexOf("lang_" + lang.split("_")[0]) > -1) {
            _33e[n].selected = true;
            break;
        }
    }
}
var l6 = (function (s) {
    function openBox(e) {
        reg.toggleClassName(reg.getParent(this, s.box), s.classOpen);
        reg.cancelDefault(e);
    }
    function closeBox(e) {
        reg.removeClassName(reg.getParent(this, s.box), s.classOpen);
        reg.cancelDefault(e);
    }
    function l6() {
        reg.click(s.open, openBox);
        reg.click(s.close, closeBox);
        return l6;
    }
    return l6();
})({
    bg: "div.l6bg",
    box: "div.l6box",
    classOpen: "l6box-open",
    open: "div.l6box a",
    close: "div.l6box div.l6v1 a.al6close"
});
reg.click("@class*='pc11' img", function () {
    if (this.parentNode.nodeName.toLowerCase() != "a" && !hasClassName(this, "fullsized") && !is.ie56) {
        var pdiv = getParent(this, ".pc11");
        this.style.border = "0px";
        var x = 0;
        while (getElementById("imgMax" + x)) {
            x++;
        }
        pdiv.appendChild(elem("div", {
            "id": "imgMax" + x,
            "class": "maximagek5"
        },
        [elem("div", {
            "style": "text-align:center"
        },
        [elem("img", {
            "src": this.src
        })])]));
        var a = elem("a.k5 " + ((getElementById("imgMax" + x).getElementsByTagName("img")[0].offsetWidth)), {
            "href": "#imgMax" + x
        });
        outerWrap(this, a);
        k5Click.call(this.parentNode);
    }
});
reg.hover("@class*='imgMax-' img", function () {
    var imgw = this.offsetWidth;
    var maxw = getParent(this, ".pc11");
    maxw = maxw.className.split("imgMax-")[1].split(" ")[0];
    if (imgw < maxw) {
        addClassName(this, "fullsized");
    } else {
        removeClassName(this, "fullsized");
    }
});
reg.submit("div.a2search form", function (e) {
    oTrack(this, "A2", "Search-" + document.getElementById("searchfield").value);
});
reg.click("a#sunlogo", function () {
    oTrack(this, "A2", "SunLogo");
});
reg.click("div.a2topiclinks > ul > li > a", function () {
    oTrack(this, "A2", this.innerHTML, this.innerHTML, this.innerHTML);
});
reg.click("div.a2m a", function () {
    var p = this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("a")[0].innerHTML;
    oTrack(this, "A2", p + "-" + this.innerHTML, p, this.innerHTML);
});
reg.click("div.a1menu a", function () {
    var p = hasParent(this, "div", "a1menu");
    var p = prevElem(p);
    oTrack(this, "A1", elemText(p) + "-" + elemText(this));
});
reg.click("div.a1 span > a", function () {
    oTrack(this, "A1");
});
reg.click("div#a5 > ul > li > a", function () {
    oTrack(this, "A5");
});
reg.click("div#a5 li li a", function () {
    var p = hasParent(this, "li", "hasmenu");
    oTrack(this, "A5", elemText(p.getElementsByTagName("a")[0]) + "-" + elemText(this));
});
reg.click("div#breadcrumb a", function () {
    oTrack(this, "A4");
});
reg.click("div.gwpadding1 a,td.sectiontitle2 a", function () {
    oTrack(this, "D1/2");
});
reg.click("td.suntab a", function () {
    oTrack(this, "D7-Tab");
});
reg.click("div.suntabsubrow a", function () {
    oTrack(this, "D7-SubTab");
});
reg.click("div.d7v10 a", function () {
    oTrack(this, "D7-TertiaryTab");
});
reg.click("div.d8 a", function () {
    oTrack(this, "D8");
});
reg.click("div.e14 a", function () {
    oTrack(this, "E14");
});
reg.click("div.e15 a", function () {
    oTrack(this, "E15");
});
reg.click("div.e19 a", function () {
    oTrack(this, "E19");
});
reg.click("div.g23x a", function () {
    if (!hasClassName(this, "g23toggler")) {
        oTrack(this, "G23");
    }
});
reg.click("div.g28 a", function () {
    oTrack(this, "G28");
});
reg.click("div.vidtext a,div.vidbox a", function () {
    oTrack(this, "G37");
});
reg.click("div.hb1w1 a,div.hb1v1 a,div.hb1v2 a", function () {
    oTrack(this, "HB1");
});
reg.click("div.i03 a", function () {
    oTrack(this, "I3");
});
reg.click("div.l0v0 a,div.l0v1 area,div.l0v2 area,div.l0v3 a", function () {
    oTrack(this, "L0");
});
reg.click("div.l1 a", function () {
    oTrack(this, "L1");
});
reg.click("div.l2 a", function () {
    oTrack(this, "L2");
});
reg.click("div.l3 a", function () {
    oTrack(this, "L3");
});
reg.click("div.l5 a", function () {
    oTrack(this, "L5");
});
reg.click("div.l6v1 a", function () {
    oTrack(this, "L6");
});
reg.click("div.pm1 a", function () {
    oTrack(this, "PM1");
});
reg.click("div.pc0 a", function () {
    oTrack(this, "PC0");
});
reg.click("div.pc3 a", function () {
    oTrack(this, "PC3");
});
reg.click("div.pc4 a", function () {
    oTrack(this, "PC4");
});
reg.click("div.pc9 a", function () {
    oTrack(this, "PC9");
});
reg.click("div.pn0 a", function () {
    oTrack(this, "PN0");
});
reg.click("div.pn4 a", function () {
    oTrack(this, "PN4");
});
reg.click("div.pn5 a", function () {
    oTrack(this, "PN5");
});
reg.click("div.pn6xnav a,div.pn6 a", function () {
    oTrack(this, "PN6");
});
var omniwhite = {
    "www": ["all"],
    "star-wip.eng": ["all"]
};
function oTrack(a, comp, atxt) {
    var l = (typeof document.location.host.split("sun.com")[0].replace(/\.$/gi, "").split(":")[0] == "undefined") ? navigator.userAgent.toLowerCase().normalize("_") : document.location.host.split("sun.com")[0].replace(/\.$/gi, "").split(":")[0];
    var _350 = false;
    if (omniwhite[l]) {
        for (var i = 0; i < omniwhite[l].length; i++) {
            if (omniwhite[l][i] == comp || omniwhite[l][i] == "all") {
                _350 = true;
            }
        }
    }
    if (window.s_account && _350) {
        if (a.getElementsByTagName("img")[0] && !atxt) {
            if (a.getElementsByTagName("img")[0].alt) {
                atxt = a.getElementsByTagName("img")[0].alt;
            } else {
                if (a.getElementsByTagName("img")[0].title) {
                    atxt = a.getElementsByTagName("img")[0].title;
                } else {
                    atxt = a.getElementsByTagName("img")[0].src.replace(/.*\/([^\/.]+)\..*$/g, "$1");
                }
            }
        } else {
            if (!atxt) {
                atxt = elemText(a);
            }
        }
        atxt = atxt.replace(/\.\.\./gi, "");
        atxt = atxt.normalize();
        s_linkType = "o";
        s_linkTrackVars = "prop13,prop14,prop15,prop16,s_eVar37,s_eVar38";
        s_prop13 = comp;
        s_prop14 = decodeURIComponent(a.href);
        s_prop15 = s_pageName;
        s_prop16 = atxt;
        s_eVar37 = atxt;
        s_eVar38 = comp;
        s_linkName = l + ":" + comp + ":" + atxt;
        if (omniwhite["console"]) {
            console.log("   s_prop13 = " + comp + "\n   s_prop14 = " + decodeURIComponent(a.href) + "\n   s_prop15 = " + s_pageName + "\n   s_prop16 = " + atxt + "\n   s_eVar37 = " + atxt + "\n   s_eVar38 = " + comp + "\n s_linkName = " + l + ":" + comp + ":" + atxt);
        }
        if (s_prop13 && s_prop14 && s_prop15 && s_prop16 && s_eVar37 && s_eVar38) {
            s_lnk = s_co(a);
            s_gs(s_account);
        }
        s_prop13 = s_prop14 = s_prop15 = s_prop16 = s_linkTrackVars = s_eVar37 = s_eVar38 = "";
    }
} (function () {
    var loco = document.location + "";
    if (loco.indexOf("#") > 1) {
        reg.setup("div.hb1w1 a", function () {
            if (loco.split("#")[1] == this.href.split("#")[1]) {
                hb1select(this);
            }
        });
    }
})();
reg.click("div.hb1w1 a,a.hb1trigger", function () {
    hb1select(this);
    return false;
});
function hb1select(a) {
    if (a.href.split("#")[1] && !hasClassName(a, "hb1trigger")) {
        if (!hasClassName(a.parentNode, "hb1selected")) {
            var li = a.parentNode.parentNode.getElementsByTagName("li");
            for (var i = 0; i < li.length; i++) {
                removeClassName(li[i], "hb1selected");
                removeClassName(gebi(li[i].getElementsByTagName("a")[0].href.split("#")[1]), "hb1selectedpanel");
            }
            addClassName(gebi(a.href.split("#")[1]), "hb1selectedpanel");
            gebi(a.href.split("#")[1]).sfade = null;
            setopacity(gebi(a.href.split("#")[1]), 0);
            sfadein(gebi(a.href.split("#")[1]), 0.025);
            addClassName(a.parentNode, "hb1selected");
        }
    } else {
        if (a.href.split("#")[1] && hasClassName(a, "hb1trigger")) {
            hb1s = gebs("div.hb1w1 a");
            for (var i = 0; i < hb1s.length; i++) {
                if (hb1s[i].href.split("#")[1] == a.href.split("#")[1]) {
                    hb1select(hb1s[i]);
                }
            }
        } else {
            return;
        }
    }
}
reg.setup("div.g41", function () {
    var pre = this.getElementsByTagName("pre")[0];
    if (this.className.indexOf("fixed-") > -1) {
        if (this.getElementsByTagName("h5")[0]) {
            addClassName(this, "hasttl");
        }
        var ex = elem("a.g41expand", {
            "href": "#increase"
        });
        var co = elem("a.g41collapse", {
            "href": "#decrease"
        });
        ex.onclick = function () {
            resizeObjectHeight(this.parentNode.getElementsByTagName("div")[0], 80, -20);
            return false;
        };
        co.onclick = function () {
            resizeObjectHeight(this.parentNode.getElementsByTagName("div")[0], -80, 20);
            return false;
        };
        this.appendChild(ex);
        this.appendChild(co);
        this.getElementsByTagName("div")[0].style.height = this.className.split("fixed-")[1].split(" ")[0] + "px";
    }
    var _359 = (is.ie) ? false: true;
    while (_359) {
        pre.innerHTML = pre.innerHTML.replace(/^[ 	]*\n/, "\n");
        if (pre.innerHTML.indexOf("\n") == 0) {
            pre.innerHTML = pre.innerHTML.replace(/^\n/, "");
        } else {
            _359 = false;
            pre.innerHTML = pre.innerHTML.replace(/[ 	\n]*$/, "\n");
        }
    }
    if (typeof prettyPrint == "undefined" && hasClassName(pre, "prettyprint")) {
        document.getElementsByTagName("head")[0].appendChild(elem("script", {
            "src": "/js/g41_codeprettify.js",
            "type": "text/javascript"
        }));
    }
});
function resizeObjectHeight(obj, incr, _35c) {
    var _35d = obj.offsetHeight;
    if (obj.rsize) {
        if ((_35d + incr) <= obj.rsize) {
            obj.style.height = obj.rsize + "px";
        } else {
            obj.style.height = obj.offsetHeight + incr + _35c + "px";
        }
    } else {
        if (incr < 0) {
            obj.rsize = obj.offsetHeight;
        } else {
            obj.rsize = obj.offsetHeight;
            obj.style.height = obj.offsetHeight + incr + _35c + "px";
        }
    }
} (function () {
    var _35e = null;
    reg.click("div.lppkged li > a@href", function () {
        if (!_35e) {
            _35e = gebs("div.lppkged li > a@href");
            for (var i = 0; i < _35e.length; i++) {
                var link = _35e[i];
                var _361 = link.href.indexOf("#");
                if (_361 === -1) {
                    continue;
                }
                var item = gebi(link.href.substring(_361 + 1));
                if (!item) {
                    continue;
                }
                link.item = item;
            }
        }
        if (!this.item) {
            return false;
        }
        if (hcn(this.parentNode, "current")) {
            return false;
        }
        var pkg = getParent(this, ".lppkg");
        for (var i = 0; i < _35e.length; i++) {
            var link = _35e[i];
            if (!pkg.contains(link)) {
                continue;
            }
            rcn(link.parentNode, "current");
            rcn(link.item, "current");
        }
        acn(this.parentNode, "current");
        acn(this.item, "current");
        num();
        return false;
    });
    function setText(el, txt) {
        while (el.nodeType != 3) {
            el = el.firstChild;
        }
        el.data = txt;
    }
    function num(el) {
        var n = 2;
        for (var i = 0; i < allINums.length; i++) {
            var iNum = allINums[i];
            var num = parseInt(elemText(iNum));
            var par = getParent(iNum, ".lppkgitems");
            if (num === 1) {
                n = 2;
            } else {
                if (!par || hcn(par, "current")) {
                    setText(iNum, n++);
                }
            }
        }
    }
    var _36c;
    reg.preSetup(function () {
        if (!gebi("lp")) {
            return;
        }
        _36c = gebcn("lpitemid");
        for (var i = 0; i < _36c.length; i++) {
            var _36e = true;
            var _36f = getParent(_36c[i], ".lpitem");
            if (gebs(".lpfollow", _36f).length > 0) {
                _36e = false;
            } else {
                var pkg = getParent(_36c[i], ".lppkg");
                if (pkg && gebs(".lppkg > .lpfollow", pkg).length > 0) {
                    _36e = false;
                }
            }
            if (_36e) {
                setText(_36c[i], 1);
            }
        }
        num();
    });
})();
function domCrawl(_371, _372) {
    reg.rerun(_371);
}
function catchBodyClicks() {
    if (document.body) {
        addEvent(document.body, "click", function (e) {
            if (!e) {
                var e = window.event;
            }
            if (e.target) {
                var targ = e.target;
            } else {
                if (e.srcElement) {
                    var targ = e.srcElement;
                }
            }
            if (targ.nodeType == 3) {
                targ = targ.parentNode;
            }
            var sel;
            if (typeof bodyClickHandlers != "undefined") {
                selectors: for (sel in bodyClickHandlers) {
                    var el = targ;
                    var _377 = 0;
                    while (el.nodeType == 1) {
                        try {
                            if (matches(el, sel)) {
                                bodyClickHandlers[sel](el, e);
                                break;
                            }
                        }
                        catch(e) {
                            continue selectors;
                        }
                        if (!el.parentNode || _377 > 20) {
                            break;
                        }
                        el = el.parentNode;
                        _377++;
                    }
                }
            }
        });
    } else {
        window.setTimeout("catchBodyClicks()", 100);
    }
}
catchBodyClicks();
window.bodyClickHandlers = {};
function sniffLinkHijax(fobj) {
    if (fobj.nodeName.toLowerCase() == "a") {
        var _379 = new Array(fobj);
    } else {
        if (gebtn("a", fobj)[0]) {
            var _379 = gebtn("a", fobj);
        }
    }
    for (i = 0; i < _379.length; i++) {
        _379[i].targetDiv = fobj.className.split("hijax-")[1];
        addEvent(_379[i], "click", function (e) {
            var _37b = this.targetDiv;
            var _37c = this.href + " ";
            if (!hijaxCache[_37c]) {
                getfile(this.href, function (_37d, fvar) {
                    if (_37d.indexOf("id=\"" + _37b + "\"") > -1) {
                        _37d = getRequestObject(_37b, _37d).innerHTML;
                        hijaxCache[_37c] = _37d;
                        gebi(_37b).innerHTML = _37d;
                        reg.rerun(gebi(_37b));
                    }
                });
                cancelDefault(e);
            } else {
                gebi(_37b).innerHTML = hijaxCache[_37c];
                reg.rerun(gebi(_37b));
                cancelDefault(e);
            }
        });
    }
}
function addOnresizeEvent(func) {
    addEvent(window, "resize", func);
}
if (!String.prototype.strip) {
    String.prototype.strip = function () {
        return this.replace(/^\s+|\s+$/g, "");
    };
}
if (!String.prototype.normalize) {
    String.prototype.normalize = function (sp) {
        sp = (!sp && sp !== "") ? " ": sp;
        return this.strip().replace(/\s+/g, sp);
    };
}
function getfile(_381, _382, fvar, ferr) {
    var _385 = false;
    if (window.XMLHttpRequest) {
        _385 = new XMLHttpRequest();
        if (_385.overrideMimeType && _381.indexOf(".xml") > -1) {
            _385.overrideMimeType("text/xml");
        }
    } else {
        if (window.ActiveXObject) {
            try {
                _385 = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(ex1) {
                try {
                    _385 = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(ex2) {}
            }
        }
    }
    if (!_385) {
        return false;
    }
    _385.onreadystatechange = function () {
        if (_385.readyState == 4) {
            if (_385.status == 200) {
                if (_381.indexOf(".xml") > -1) {
                    var _386 = _385.responseXML.documentElement;
                } else {
                    var _386 = _385.responseText;
                }
                _382(_386, fvar);
            } else {
                if (ferr) {
                    ferr(fvar, _381, _385.status, _385.statusText);
                }
            }
        }
    };
    _385.open("GET", _381, true);
    _385.send(null);
}
function getRequestObject(_387, _388, _389) {
    if (!_389) {
        _389 = "div";
    }
    var _38a = document.createElement(_389);
    _38a.innerHTML = _388;
    var x = gebtn(_389, _38a);
    var _38c;
    for (var i = 0; i < x.length; i++) {
        if (x[i].id == _387) {
            _38c = x[i];
            break;
        }
    }
    return _38c;
}
function getElementByIdFromString(_38e, id) {
    var _390 = document.createElement("div");
    _390.innerHTML = _38e;
    var tags = gebtn("*", _390);
    for (var a = 0, tag; tag = tags[a++];) {
        if (tag.id == id) {
            return tag;
        }
    }
    return null;
}
function xhr(url, _394, _395, obj, _397) {
    var _398 = false;
    if (window.XMLHttpRequest) {
        _398 = new XMLHttpRequest();
    } else {
        if (window.ActiveXObject) {
            try {
                _398 = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e) {
                try {
                    _398 = new ActiveXObject("Msxml3.XMLHTTP");
                }
                catch(ex1) {
                    try {
                        _398 = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch(ex2) {}
                }
            }
        }
    }
    if (!_398) {
        return false;
    }
    if (!_397) {
        _397 = null;
    }
    var _399 = (_397) ? "POST": "GET";
    _398.open(_399, url, true);
    _398.setRequestHeader("User-Agent", "XMLHTTP/1.0");
    if (_397) {
        _398.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    }
    _398.onreadystatechange = function () {
        if (_398.readyState == 4) {
            if (_398.status == 200) {
                _394(_398.responseText, obj);
            } else {
                try {
                    _395(_398.status, _398.statusText, url, obj);
                }
                catch(ex) {
                    _395("", ex, url, obj);
                }
            }
        }
    };
    _398.send(_397);
}
function getFormData(_39a) {
    var _39b = [];
    var inps = reg.getElementsBySelector("input, select, textarea", _39a);
    for (var a = 0; a < inps.length; a++) {
        var inp = inps[a];
        if (matches(inp, "@type=\"text\",@type=\"hidden\",@type=\"password\"")) {
            _39b.push(encodeURIComponent(inp.name) + "=" + encodeURIComponent(inp.value));
        }
        if (inp.type == "checkbox" || inp.type == "radio" && inp.checked) {
            _39b.push(encodeURIComponent(inp.name) + "=" + encodeURIComponent(inp.value));
        }
        if (inp.nodeName.toLowerCase() == "select") {
            var _39f = inp.options[inp.selectedIndex].value;
            _39b.push(encodeURIComponent(inp.name) + "=" + encodeURIComponent(_39f));
        }
        if (inp.nodeName.toLowerCase() == "textarea") {
            _39b.push(encodeURIComponent(inp.name) + "=" + encodeURIComponent(inp.value));
        }
    }
    return _39b.join("&");
}
function hasParent(obj, tag, _3a2) {
    var _3a3 = obj;
    if (_3a2) {
        while (_3a3 = _3a3.parentNode) {
            if (_3a3.nodeName.toLowerCase() == tag && hasClassName(_3a3, _3a2) || tag == "*" && hasClassName(_3a3, _3a2)) {
                return _3a3;
            }
        }
    } else {
        if (typeof tag == "string") {
            while (_3a3 = _3a3.parentNode) {
                if (_3a3.id == tag) {
                    return _3a3;
                }
            }
        } else {
            while (_3a3 = _3a3.parentNode) {
                if (_3a3 == tag) {
                    return _3a3;
                }
            }
        }
    }
}
function getXY(obj) {
    var o = obj;
    obj.X = obj.Y = 0;
    while (o) {
        obj.X = obj.X + o.offsetLeft;
        obj.Y = obj.Y + o.offsetTop;
        o = o.offsetParent;
    }
}
function getClassContains(obj, _3a7) {
    var rcl = false;
    var cls = obj.className.split(" ");
    for (var v = 0; v < cls.length; v++) {
        if (cls[v].indexOf(_3a7) > -1) {
            rcl = cls[v];
        }
    }
    return rcl;
}
function getChildNodesByTagName(el, _3ac) {
    var cn = el.childNodes;
    var nd = [];
    for (var n = 0; n < cn.length; n++) {
        if (_3ac == cn[n].nodeName.toLowerCase()) {
            nd.push(cn[n]);
        }
    }
    return nd;
}
function setopacity(_3b0, opac) {
    if (gebi(_3b0)) {
        var oobj = gebi(_3b0);
    } else {
        if (_3b0) {
            var oobj = _3b0;
        }
    }
    if (oobj) {
        if (oobj.filters && oobj.filters.alpha) {
            oobj.filters.alpha.opacity = opac * 100;
        } else {
            oobj.style.MozOpacity = opac;
            oobj.style.opacity = opac;
        }
    }
}
function sfadein(obj, n) {
    if (!obj.sfade) {
        obj.sfade = 0;
    }
    if (obj.sfade < 1) {
        if (is.safariAll) {
            obj.sfade = obj.sfade + (n * 5);
        } else {
            obj.sfade = obj.sfade + n;
        }
        setopacity(obj, obj.sfade);
        setTimeout(function () {
            sfadein(obj, obj.sfade);
        },
        75);
    } else {
        setopacity(obj, 1);
        obj.sfade = null;
    }
}
Date.prototype.diffDay = function (days) {
    var r = new Date(this.getTime());
    r.setDate(r.getDate() + days);
    return r;
};
Date.prototype.diffMonth = function (_3b7) {
    var r = new Date(this.getTime());
    var num = r.getMonth() + _3b7;
    var _3ba = 0;
    if (num < 0) {
        while (num < 0) {
            num += 12;
            _3ba--;
        }
    } else {
        if (num > 11) {
            while (num > 11) {
                num -= 12;
                _3ba++;
            }
        }
    }
    r.setMonth(num);
    r.setFullYear(r.getFullYear() + _3ba);
    return r;
};
String.prototype.padLeft = function (ch, _3bc) {
    var r = this;
    while (r.length < _3bc) {
        r = ch + r;
    }
    return r;
};
Date.prototype.format = (function () {
    var _3be = /(WEEKDAY)|(Weekday)|(weekday)|(WEE)|(Wee)|(wee)|(WE)|(We)|(we)|(W)|(w)|(MONTH)|(Month)|(month)|(MON)|(Mon)|(mon)|(MM)|(M)|(DD)|(Dth)|(D)|(YYYY)|(YY)|(HH)|(hh)|(H)|(h)|(mm)|(ss)|(A)|(a)|(X)/g;
    var dobj;
    function parser(str, _3c1, _3c2, _3c3, WEE, Wee, wee, WE, We, we, W, w, _3cc, _3cd, _3ce, MON, Mon, mon, MM, M, DD, Dth, D, YYYY, YY, HH, hh, H, h, mm, ss, A, a, X) {
        var _3e2;
        if (ss) {
            return ("" + dobj.getSeconds()).padLeft("0", 2);
        }
        if (mm) {
            return ("" + dobj.getMinutes()).padLeft("0", 2);
        }
        if (H) {
            return dobj.getHours() + "";
        }
        if (HH) {
            return (dobj.getHours() + "").padLeft("0", 2);
        }
        if (h) {
            _3e2 = (dobj.getHours() % 12) + "";
            if (_3e2 == "0") {
                _3e2 = "12";
            }
            return _3e2;
        }
        if (hh) {
            _3e2 = (dobj.getHours() % 12) + "";
            if (_3e2 == "0") {
                _3e2 = "12";
            }
            _3e2 = _3e2.padLeft("0", 2);
            return _3e2;
        }
        if (_3c2) {
            return dayNamesFull[dobj.getDay()];
        }
        if (W) {
            return dayNames1[dobj.getDay()];
        }
        if (We) {
            return dayNames2[dobj.getDay()];
        }
        if (Wee) {
            return dayNames3[dobj.getDay()];
        }
        if (_3c1) {
            return dayNamesFull[dobj.getDay()].toUpperCase();
        }
        if (WE) {
            return dayNames2[dobj.getDay()].toUpperCase();
        }
        if (WEE) {
            return dayNames3[dobj.getDay()].toUpperCase();
        }
        if (_3c3) {
            return dayNamesFull[dobj.getDay()].toLowerCase();
        }
        if (w) {
            return dayNames1[dobj.getDay()].toLowerCase();
        }
        if (we) {
            return dayNames2[dobj.getDay()].toLowerCase();
        }
        if (wee) {
            return dayNames3[dobj.getDay()].toLowerCase();
        }
        if (D) {
            return dobj.getDate() + "";
        }
        if (DD) {
            return (dobj.getDate() + "").padLeft("0", 2);
        }
        if (Dth) {
            _3e2 = dobj.getDate() + "";
            if (_3e2.match(/^1\d$/)) {
                _3e2 += "th";
            } else {
                if (_3e2.match(/1$/)) {
                    _3e2 += "st";
                } else {
                    if (_3e2.match(/2$/)) {
                        _3e2 += "nd";
                    } else {
                        if (_3e2.match(/3$/)) {
                            _3e2 += "rd";
                        } else {
                            _3e2 += "th";
                        }
                    }
                }
            }
            return _3e2;
        }
        if (YYYY) {
            return dobj.getFullYear() + "";
        }
        if (YY) {
            return (dobj.getFullYear() + "").substring(2, 4);
        }
        if (M) {
            return (dobj.getMonth() + 1) + "";
        }
        if (MM) {
            return ((dobj.getMonth() + 1) + "").padLeft("0", 2);
        }
        if (_3cd) {
            return monthNamesFull[dobj.getMonth()];
        }
        if (Mon) {
            return monthNames3[dobj.getMonth()];
        }
        if (_3cc) {
            return monthNamesFull[dobj.getMonth()].toUpperCase();
        }
        if (MON) {
            return monthNames3[dobj.getMonth()].toUpperCase();
        }
        if (_3ce) {
            return monthNamesFull[dobj.getMonth()].toLowerCase();
        }
        if (mon) {
            return monthNames3[dobj.getMonth()].toLowerCase();
        }
        if (X) {
            return (dobj.getTimezoneOffset() / 60) + "";
        }
        if (A) {
            return (dobj.getHours() < 12) ? "AM": "PM";
        }
        if (a) {
            return (dobj.getHours() < 12) ? "am": "pm";
        }
    }
    return function (fmt) {
        dobj = this;
        var _3e4 = fmt.split("'");
        if (_3e4.length % 2 == 0) {
            throw "missing closing single quote in date format \"" + fmt + "\"";
        }
        for (var i = 0; i < _3e4.length; i += 2) {
            _3e4[i] = _3e4[i].replace(_3be, parser);
        }
        return _3e4.join("");
    };
})();
function Calendar(date, _3e7, _3e8, _3e9) {
    this.origDate = (_3e9) ? _3e9: date.diffDay(0);
    this.startDate = _3e7;
    this.endDate = _3e8;
    date.setDate(1);
    this.canonicalMonth = date.diffDay(0);
    this.g = [];
    this.g[0] = [];
    var _3ea = date.getDay();
    var row = this.g[0];
    for (var a = 0; a < _3ea; a++) {
        row[a] = date.diffDay(a - _3ea);
        row[a].dayClass = "jscal-before";
        if (_3e7 && row[a].getTime() < _3e7) {
            row[a].dayClass += " jscal-outofrange";
        } else {
            if (_3e8 && row[a].getTime() > _3e8) {
                row[a].dayClass += " jscal-outofrange";
            } else {
                row[a].dayClass += " jscal-inrange";
            }
        }
    }
    var _3ed = new Date().format("DD/MM/YYYY");
    var _3ee = this.origDate.format("DD/MM/YYYY");
    while (date.getMonth() == this.canonicalMonth.getMonth()) {
        var _3ef = this.g[this.g.length - 1][date.getDay()];
        this.g[this.g.length - 1][date.getDay()] = date;
        this.g[this.g.length - 1][date.getDay()].dayClass = "jscal-during";
        var _3f0 = date.format("DD/MM/YYYY");
        if (_3f0 == _3ed) {
            date.dayClass += " jscal-today";
        }
        if (_3f0 == _3ee) {
            date.dayClass += " jscal-current";
        }
        if (_3e7 && date.getTime() < _3e7) {
            date.dayClass += " jscal-outofrange";
        } else {
            if (_3e8 && date.getTime() > _3e8) {
                date.dayClass += " jscal-outofrange";
            } else {
                date.dayClass += " jscal-inrange";
            }
        }
        date = date.diffDay(1);
        if (date.getDay() == 0 && date.getMonth() == this.canonicalMonth.getMonth()) {
            this.g[this.g.length] = [];
        }
    }
    var row = this.g[this.g.length - 1];
    var _3f1 = row.length;
    for (var a = row.length; a < 7; a++) {
        row[a] = date.diffDay(a - _3f1);
        row[a].dayClass = "jscal-after";
        if (_3e7 && row[a].getTime() < _3e7) {
            row[a].dayClass += " jscal-outofrange";
        } else {
            if (_3e8 && row[a].getTime() > _3e8) {
                row[a].dayClass += " jscal-outofrange";
            } else {
                row[a].dayClass += " jscal-inrange";
            }
        }
    }
}
Calendar.prototype.weeks = function () {
    return this.g.length;
};
Calendar.prototype.getDayAt = function (_3f2, _3f3) {
    return this.g[_3f2][_3f3];
};
Calendar.prototype.diffMonth = function (_3f4) {
    return new Calendar(this.canonicalMonth.diffMonth(_3f4), this.startDate, this.endDate, this.origDate);
};
Calendar.prototype.getCalendarTable = function () {
    var t = elem("table.jscal", {
        "cellSpacing": "0"
    });
    var div = elem("div.jscal-x1", {},
    elem("div.jscal-x2", {},
    t));
    t.createTHead().insertRow(0);
    t.tHead.rows[0].className = "jscal-mname";
    t.tHead.rows[0].appendChild(elem("th")).colSpan = "7";
    t.tHead.insertRow(1).className = "jscal-dname";
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[0]));
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[1]));
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[2]));
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[3]));
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[4]));
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[5]));
    t.tHead.rows[1].appendChild(elem("th")).appendChild(document.createTextNode(dayNames1[6]));
    t.appendChild(elem("tbody"));
    var m = t.tHead.rows[0].cells[0];
    var _3f8 = elem("span.jscal-closer", {
        "href": "#",
        "border": "0"
    },
    elem("img", {
        "alt": "[x]",
        "src": imdir + "/ic_close_win_light.gif",
        "title": "close"
    }));
    var _3f9 = elem("a.jscal-mselect", {
        "title": "previous month"
    },
    "\xab ");
    var _3fa = elem("span.jscal-monthyear", {},
    this.canonicalMonth.format("Mon") + " " + this.canonicalMonth.format("YYYY"));
    var _3fb = elem("a.jscal-mselect", {
        "title": "next month"
    },
    " \xbb");
    _3f9.calendar = _3fb.calendar = div.calendar = this;
    _3f8.div = _3f9.div = _3fb.div = div;
    m.appendChild(_3f8);
    m.appendChild(_3f9);
    m.appendChild(_3fa);
    m.appendChild(_3fb);
    addEvent(_3f9, "click", function (e) {
        getParent(this, "div.jscal-x1").setCalendar(this.calendar.diffMonth( - 1));
        cancelDefault(e);
    });
    addEvent(_3fb, "click", function (e) {
        getParent(this, "div.jscal-x1").setCalendar(this.calendar.diffMonth(1));
        cancelDefault(e);
    });
    addEvent(_3f8, "click", function (e) {
        var _3ff = getParent(this, "div.jscal-x1");
        _3ff.parentNode.removeChild(_3ff);
        cancelDefault(e);
    });
    for (var a = 0; a < this.weeks(); a++) {
        t.tBodies[0].insertRow(a);
        for (var b = 0; b < 7; b++) {
            t.tBodies[0].rows[a].insertCell(b);
            var dt = this.getDayAt(a, b);
            if (!dt) {
                throw "empty month date at " + a + "," + b;
            }
            t.tBodies[0].rows[a].cells[b].className = dt.dayClass;
            var lnk = elem("span", {},
            "" + dt.getDate());
            lnk.date = dt;
            t.tBodies[0].rows[a].cells[b].appendChild(lnk);
        }
    }
    div.setCalendar = function (cal) {
        var _405 = cal.getCalendarTable();
        this.appendChild(_405.firstChild);
        this.removeChild(this.firstChild);
    };
    return div;
};
function getSafelyEncodedString(s) {
    s = encodeURIComponent(s);
    s = s.replace(/&/, "&amp;").replace(/"/, "&quot;").replace(/</, "&lt;").replace(/>/, "&gt;");
    return s;
}