var U_GROUP_TESTER = 1; var U_GROUP_ADMIN = 2; var U_GROUP_EDITOR = 4; var U_GROUP_MOD = 8; var U_GROUP_BUREAU = 16; var U_GROUP_DEV = 32; var U_GROUP_VIP = 64; var U_GROUP_BLOGGER = 128; var U_GROUP_PREMIUM = 256; var U_GROUP_LOCALIZER = 512; var U_GROUP_SALESAGENT = 1024; var U_GROUP_SCREENSHOT = 2048; var U_GROUP_VIDEO = 4096; var U_GROUP_APIONLY = 8192; var U_GROUP_PENDING = 16384; var U_GROUP_STAFF = U_GROUP_ADMIN | U_GROUP_EDITOR | U_GROUP_MOD | U_GROUP_BUREAU | U_GROUP_DEV | U_GROUP_BLOGGER | U_GROUP_LOCALIZER | U_GROUP_SALESAGENT; var U_GROUP_EMPLOYEE = U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_DEV; var U_GROUP_GREEN_TEXT = U_GROUP_MOD | U_GROUP_BUREAU | U_GROUP_DEV; var U_GROUP_MODERATOR = U_GROUP_ADMIN | U_GROUP_MOD | U_GROUP_BUREAU; var U_GROUP_COMMENTS_MODERATOR = U_GROUP_MODERATOR | U_GROUP_LOCALIZER; var U_GROUP_PREMIUM_PERMISSIONS = U_GROUP_PREMIUM | U_GROUP_STAFF | U_GROUP_VIP; function $(z) { if (arguments.length > 1) { var el = []; var len; for (var i = 0, len = arguments.length; i < len; ++i) { el.push($(arguments[i])); } return el; } if (typeof z == 'string') { z = ge(z); } return z; } function $E(e) { if (!e) { if (typeof event != 'undefined') { e = event; } else { return null; } } // Netscape standard (1 = Left, 2 = Middle, 3 = Right) if (e.which) { e._button = e.which; } else { e._button = e.button; // IE8 doesnt have a button set, so add 1 to at least register as a left click if (Browser.ie6789 && e._button) { if (e._button & 4) { e._button = 2; // Middle } else if (e._button & 2) { e._button = 3; // Right } } else { e._button = e.button + 1 } } e._target = e.target ? e.target : e.srcElement; e._wheelDelta = e.wheelDelta ? e.wheelDelta : -e.detail; return e; } function $A(a) { var r = []; for (var i = 0, len = a.length; i < len; ++i) { r.push(a[i]); } return r; } function bindfunc() { args = $A(arguments); var __method = args.shift(); var object = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); }; } if (!Function.prototype.bind) { Function.prototype.bind = function() { var __method = this, args = $A(arguments), object = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); }; }; } if (!String.prototype.ltrim) { String.prototype.ltrim = function() { return this.replace(/^\s*/, ''); } } if (!String.prototype.rtrim) { String.prototype.rtrim = function() { return this.replace(/\s*$/, ''); } } if (!String.prototype.trim) { String.prototype.trim = function() { return this.ltrim().rtrim(); } } if (!String.prototype.removeAllWhitespace) { String.prototype.removeAllWhitespace = function() { return this.replace('/s+/g', ''); } } function strcmp(a, b) { if (a == b) { return 0; } if (a == null) { return -1; } if (b == null) { return 1; } // Natural sorting for strings starting with a number var _a = parseFloat(a), _b = parseFloat(b); if (!isNaN(_a) && !isNaN(_b) && _a != _b) { return _a < _b ? -1 : 1; } // String comparison done with a native JS function that supports accents and non-latin characters if (typeof a == 'string' && typeof b == 'string') { return a.localeCompare(b); } // Other return a < b ? -1 : 1; } function trim(str) { return str.replace(/(^\s*|\s*$)/g, ''); } function rtrim(z, y) { var a = z.length; while (--a > 0 && z.charAt(a) == y) { } z = z.substring(0, a + 1); if (z == y) { z = ''; } return z; } function sprintf(z) { var i; for (i = 1, len = arguments.length; i < len; ++i) { z = z.replace('$' + i, arguments[i]); } return z; } // This version supports multiple occurences of the same token. function sprintfa(z) { var i; for (i = 1, len = arguments.length; i < len; ++i) { z = z.replace(new RegExp('\\$' + i, 'g'), arguments[i]); } return z; } // This version works with an array object as the paremeter. function sprintfo(z) { if (typeof z == 'object' && z.length) { var args = z; z = args[0]; var i; for (i = 1; i < args.length; ++i) { z = z.replace('$' + i, args[i]); } return z; } } function str_replace(z, a, b) { while (z.indexOf(a) != -1) { z = z.replace(a, b); } return z; } // Encode URL for internal use (e.g. Ajax) function urlencode(z) { z = encodeURIComponent(z); z = str_replace(z, '+', '%2B'); return z; } // Encode URL for visible use (e.g. href) function urlencode2(z) { z = encodeURIComponent(z); z = str_replace(z, '%20', '+'); z = str_replace(z, '%3D', '='); return z; } // Group digits (e.g. 1234 --> 1,234) function number_format(z) { x = ('' + parseFloat(z)).split('.'); z = x[0]; x = x.length > 1 ? "." + x[1] : ''; if (z.length <= 3) { return z + x; } return number_format(z.substr(0, z.length - 3)) + ',' + z.substr(z.length - 3) + x; } function is_array(arr) { return !!(arr && arr.constructor == Array); } function in_array(arr, val, func, idx) { if (arr == null) { return -1; } if (func) { return in_arrayf(arr, val, func, idx); } for (var i = idx || 0, len = arr.length; i < len; ++i) { if (arr[i] == val) { return i; } } return -1; } function in_arrayf(arr, val, func, idx) { for (var i = idx || 0, len = arr.length; i < len; ++i) { if (func(arr[i]) == val) { return i; } } return -1; } function rs() { var e = rs.random; var b = ''; for (var a = 0; a < 16; a++) { var d = Math.floor(Math.random() * e.length); if (a == 0 && d < 11) { d += 10; } b += e.substring(d, d + 1); } return b; } rs.random = "0123456789abcdefghiklmnopqrstuvwxyz"; function isset(name) { return typeof window[name] != "undefined"; } function array_filter(a, f) { var res = []; for (var i = 0, len = a.length; i < len; ++i) { if (f(a[i])) { res.push(a[i]); } } return res; } function array_walk(a, f, ud) { var res; for (var i = 0, len = a.length; i < len; ++i) { res = f(a[i], ud, a, i); if (res != null) { a[i] = res; } } } function array_apply(a, f, ud) { var res; for (var i = 0, len = a.length; i < len; ++i) { f(a[i], ud, a, i); } } // Get element function ge(z) { if(typeof z != 'string') { return z; } return document.getElementById(z); } // Get elements by tag name function gE(z, y) { return z.getElementsByTagName(y); } // Create element function ce(z, p, c) { var a = document.createElement(z); if (p) { cOr(a, p); } if (c) { ae(a, c); } return a; } // Delete element function de(z) { if (!z || !z.parentNode) { return; } z.parentNode.removeChild(z); } // Append element function ae(z, y) { if (is_array(y)) { array_apply(y, z.appendChild.bind(z)); return y; } else { return z.appendChild(y); } } // Prepend element function aef(z, y) { return z.insertBefore(y, z.firstChild); } // Empty element function ee(z, y) { if (!y) { y = 0; } while (z.childNodes[y]) { z.removeChild(z.childNodes[y]); } } // Create text element function ct(z) { return document.createTextNode(z); } // Set element's text function st(z, y) { if (z.firstChild && z.firstChild.nodeType == 3) { z.firstChild.nodeValue = y; } else { aef(z, ct(y)); } } // Add "white-space: nowrap" style to element function nw(z) { z.style.whiteSpace = "nowrap"; } // Return false function rf() { return false; } // Return false only if no control key is pressed function rf2(e) { e = $E(e); if (e.ctrlKey || e.shiftKey || e.altKey || e.metaKey) { return; } return false; } // Remove focus from current element function tb() { this.blur(); } function ac(el, fixedPos) { var x = 0, y = 0, el2; while (el) { x += el.offsetLeft; y += el.offsetTop; el2 = el.parentNode; while (el2 && el2 != el.offsetParent && el2.offsetParent) { // Considers scroll position for elements inside an 'overflow: auto' div. if (el2.scrollLeft || el2.scrollTop) { x -= (el2.scrollLeft | 0); y -= (el2.scrollTop | 0); break; } el2 = el2.parentNode; } el = el.offsetParent; } if (isset('Lightbox') && Lightbox.isVisible()) { // Assumes that calls made while the Lightbox is visible are on 'position: fixed' elements. fixedPos = true; } if (fixedPos) { var scroll = g_getScroll(); x += scroll.x; y += scroll.y } var result = [x, y]; result.x = x; result.y = y; return result; } // Attach event function aE(z, y, x) { if (z.addEventListener) { z.addEventListener(y, x, false); } else if (z.attachEvent) { z.attachEvent('on' + y, x); } } // Detach event function dE(z, y, x) { if (z.removeEventListener) { z.removeEventListener(y, x, false); } else if (z.detachEvent) { z.detachEvent('on' + y, x); } } // Stop propagation function sp(z) { if (!z) { z = event; } if (Browser.ie6789) { z.cancelBubble = true } else { z.stopPropagation(); } } // Set cookie function sc(z, y, x, w, v) { var a = new Date(); var b = z + "=" + escape(x) + "; "; a.setDate(a.getDate() + y); b += "expires=" + a.toUTCString() + "; "; if (w) { b += "path=" + w + "; "; } if (v) { b += "domain=" + v + "; "; } document.cookie = b; gc(z); gc.C[z] = x; } // Delete cookie function dc(z) { sc(z, -1); gc.C[z] = null; } // Get all cookies (return value is cached) function gc(z) { if (gc.I == null) { // Initialize cookie table var words = unescape(document.cookie).split("; "); gc.C = {}; for (var i = 0, len = words.length; i < len; ++i) { var pos = words[i].indexOf("="), name, value; if (pos != -1) { name = words[i].substr(0, pos); value = words[i].substr(pos + 1); } else { name = words[i]; value = ""; } gc.C[name] = value; } gc.I = 1; } if (!z) { return gc.C; } else { return gc.C[z]; } } // Prevent element from being selected/dragged (IE only) function ns(a) { if (Browser.ie6789) { a.onfocus = tb; a.onmousedown = a.onselectstart = a.ondragstart = rf; } } // Empty object function eO(z) { for (var p in z) { delete z[p]; } } // Duplicate object function dO(s) { function f(){}; f.prototype = s; return new f; } // Copy object function cO(d, s) { for (var p in s) { if (s[p] !== null && typeof s[p] == "object" && s[p].length) { d[p] = s[p].slice(0); } else { d[p] = s[p]; } } return d; } // Copy object (recursive) function cOr(d, s) { for (var p in s) { if (typeof s[p] == 'object') { if (s[p].length) { d[p] = s[p].slice(0); } else { if (!d[p]) { d[p] = {}; } cOr(d[p], s[p]); } } else { d[p] = s[p]; } } return d; } Browser = { ie: !!(window.attachEvent && !window.opera), opera: !!window.opera, safari: navigator.userAgent.indexOf('Safari') != -1, firefox: navigator.userAgent.indexOf('Firefox') != -1, chrome: navigator.userAgent.indexOf('Chrome') != -1 }; Browser.ie9 = Browser.ie && navigator.userAgent.indexOf('MSIE 9.0') != -1; Browser.ie8 = Browser.ie && navigator.userAgent.indexOf('MSIE 8.0') != -1&& !Browser.ie9; Browser.ie7 = Browser.ie && navigator.userAgent.indexOf('MSIE 7.0') != -1 && !Browser.ie8; Browser.ie6 = Browser.ie && navigator.userAgent.indexOf('MSIE 6.0') != -1 && !Browser.ie7; Browser.ie67 = Browser.ie6 || Browser.ie7; Browser.ie678 = Browser.ie67 || Browser.ie8; Browser.ie6789 = Browser.ie678 || Browser.ie9; navigator.userAgent.match(/Gecko\/([0-9]+)/); Browser.geckoVersion = parseInt(RegExp.$1) | 0; OS = { windows: navigator.appVersion.indexOf('Windows') != -1, mac: navigator.appVersion.indexOf('Macintosh') != -1, linux: navigator.appVersion.indexOf('Linux') != -1 }; var DomContentLoaded = new function() { var _now = []; var _del = []; this.now = function() { array_apply(_now, function(f) { f(); }); }; this.delayed = function() { array_apply(_del, function(f) { f(); }); DomContentLoaded = null; }; this.addEvent = function(f) { _now.push(f); }; this.addDelayedEvent = function(f) { _del.push(f); } }; function g_getWindowSize() { var width = 0, height = 0; if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { // IE 6+ in 'standards compliant mode' width = document.documentElement.clientWidth; height = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { // IE 4 compatible width = document.body.clientWidth; height = document.body.clientHeight; } else if (typeof window.innerWidth == 'number') { // Non-IE width = window.innerWidth; height = window.innerHeight; } return { w: width, h: height }; } function g_getScroll() { var x = 0, y = 0; if (typeof(window.pageYOffset) == "number") { // Netscape compliant x = window.pageXOffset; y = window.pageYOffset } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) { // DOM compliant x = document.body.scrollLeft; y = document.body.scrollTop } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) { // IE6 standards compliant mode x = document.documentElement.scrollLeft; y = document.documentElement.scrollTop } return { x: x, y: y }; } function g_getCursorPos(e) { var x, y; if (window.innerHeight) { // ok, something of a workaround here... MS9+ sends a MSEventObj istead of mouseEvent . whatever // but the properties for that are client[X|Y] DIAF! if (!e.pageX || !e.pageY) { x = e.clientX; y = e.clientY } else { x = e.pageX; y = e.pageY } } else { var scroll = g_getScroll(); x = e.clientX + scroll.x; y = e.clientY + scroll.y } return { x: x, y: y }; } function g_scrollTo(n, p) { var _, windowSize = g_getWindowSize(), scroll = g_getScroll(), bcw = windowSize.w, bch = windowSize.h, bsl = scroll.x, bst = scroll.y; n = $(n); // Padding if (p == null) { p = []; } else if (typeof p == 'number') { p = [p]; } _ = p.length; if (_ == 0) { p[0] = p[1] = p[2] = p[3] = 0; } else if (_ == 1) { p[1] = p[2] = p[3] = p[0]; } else if (_ == 2) { p[2] = p[0]; p[3] = p[1]; } else if (_ == 3) { p[3] = p[1]; } _ = ac(n); var nl = _[0] - p[3], nt = _[1] - p[0], nr = _[0] + n.offsetWidth + p[1], nb = _[1] + n.offsetHeight + p[2]; if (nr - nl > bcw || nl < bsl) { bsl = nl; } else if (nr - bcw > bsl) { bsl = nr - bcw; } if (nb - nt > bch || nt < bst) { bst = nt; } else if (nb - bch > bst) { bst = nb - bch; } scrollTo(bsl, bst); } function g_addCss(b) { var c = ce("style"); c.type = "text/css"; if (c.styleSheet) { c.styleSheet.cssText = b } else { ae(c, ct(b)) } var a = gE(document, "head")[0]; ae(a, c) } function g_setTextNodes(c, b) { if (c.nodeType == 3) { c.nodeValue = b } else { for (var a = 0; a < c.childNodes.length; ++a) { g_setTextNodes(c.childNodes[a], b) } } } function g_setInnerHtml(d, c, a) { if (d.nodeName.toLowerCase() == a) { d.innerHTML = c } else { for (var b = 0; b < d.childNodes.length; ++b) { g_setInnerHtml(d.childNodes[b], c, a) } } } function g_getTextContent(c) { var a = ""; for (var b = 0; b < c.childNodes.length; ++b) { if (c.childNodes[b].nodeValue) { a += c.childNodes[b].nodeValue } else { if (c.childNodes[b].nodeName == "BR") { if (Browser.ie) { a += "\r" } else { a += "\n" } } } a += g_getTextContent(c.childNodes[b]) } return a } function g_pickerWheel(evt) { evt = $E(evt); if (evt._wheelDelta < 0) this.scrollTop += 27; else this.scrollTop -= 27; } function g_setSelectedLink(c, b) { if (!g_setSelectedLink.groups) { g_setSelectedLink.groups = {} } var a = g_setSelectedLink.groups; if (a[b]) { a[b].className = a[b].className.replace("selected", "") } c.className += " selected"; a[b] = c } function g_setCheckedRow(c, b) { if (!g_setCheckedRow.groups) { g_setCheckedRow.groups = {} } var a = g_setCheckedRow.groups; if (a[b]) { a[b].className = a[b].className.replace("checked", "") } c.className += " checked"; a[b] = c } function g_toggleDisplay(a) { if (a.style.display == "none") { a.style.display = ""; return true } else { a.style.display = "none"; return false } } function g_enableScroll(a) { if (!a) { aE(document, "mousewheel", g_enableScroll.F); aE(window, "DOMMouseScroll", g_enableScroll.F) } else { dE(document, "mousewheel", g_enableScroll.F); dE(window, "DOMMouseScroll", g_enableScroll.F) } } g_enableScroll.F = function(a) { if (a.stopPropagation) { a.stopPropagation() } if (a.preventDefault) { a.preventDefault() } a.returnValue = false; a.cancelBubble = true; return false }; function g_getGets() { if (g_getGets.C != null) { return g_getGets.C } var e = {}; if (location.search) { var f = decodeURIComponent(location.search.substr(1)).split("&"); for (var c = 0, a = f.length; c < a; ++c) { var g = f[c].indexOf("="), b, d; if (g != -1) { b = f[c].substr(0, g); d = f[c].substr(g + 1) } else { b = f[c]; d = "" } e[b] = d } } g_getGets.C = e; return e } function g_createRect(d, c, a, b) { return { l: d, t: c, r: d + a, b: c + b } } function g_intersectRect(d, c) { return ! (d.l >= c.r || c.l >= d.r || d.t >= c.b || c.t >= d.b) } function g_createRange(c, a) { range = {}; for (var b = c; b <= a; ++b) { range[b] = b } return range } function g_sortIdArray(a, b, c) { a.sort(c ? function(e, d) { return strcmp(b[e][c], b[d][c]) }: function(e, d) { return strcmp(b[e], b[d]) }) } function g_sortJsonArray(e, d, f, a) { var c = []; for (var b in e) { if (d[b] && (a == null || a(d[b]))) { c.push(b) } } if (f != null) { c.sort(f) } else { g_sortIdArray(c, d) } return c } function g_urlize(str, allowLocales, profile) { var ta = ce('textarea'); ta.innerHTML = str.replace(//g,">"); str = ta.value; str = str_replace(str, ' / ', '-'); str = str_replace(str, "'", ''); if (profile) { str = str_replace(str, '(', ''); str = str_replace(str, ')', ''); var accents = { "ß": "ss", "á": "a", "ä": "a", "à": "a", "â": "a", "è": "e", "ê": "e", "é": "e", "ë": "e", "í": "i", "î": "i", "ì": "i", "ï": "i", "ñ": "n", "ò": "o", "ó": "o", "ö": "o", "ô": "o", "ú": "u", "ü": "u", "û": "u", "ù": "u", "œ": "oe", "Á": "A", "Ä": "A", "À": "A", "Â": "A", "È": "E", "Ê": "E", "É": "E", "Ë": "E", "Í": "I", "Î": "I", "Ì": "I", "Ï": "I", "Ñ": "N", "Ò": "O", "Ó": "O", "Ö": "O", "Ô": "O", "Ú": "U", "Ü": "U", "Û": "U", "Ù": "U", "œ": "Oe" }; for (var character in accents) { str = str.replace(new RegExp(character, "g"), accents[character]); } } str = trim(str); if (allowLocales) { str = str_replace(str, ' ', '-'); } else { str = str.replace(/[^a-z0-9]/ig, '-'); } str = str_replace(str, '--', '-'); str = str_replace(str, '--', '-'); str = rtrim(str, '-'); str = str.replace(/[A-Z]/g, function(x) { return x.toLowerCase(); }); return str; } function g_getLocale(a) { if (a && g_locale.id == 25) { return 0 } return g_locale.id } function g_createReverseLookupJson(b) { var c = {}; for (var a in b) { c[b[a]] = a } return c } function g_isUsernameValid(a) { return (a.match(/[^a-z0-9]/i) == null && a.length >= 4 && a.length <= 16) } function g_createHeader(c) { var k = ce("dl"), p = (c == 5); for (var j = 0, l = mn_path.length; j < l; ++j) { var f = ce("dt"); var q = ce("a"); var m = ce("ins"); var g = ce("big"); var e = ce("span"); var o = mn_path[j][0]; var h = (o == c); var d = (!h && mn_path[j][3]); if (p && o == 5) { d = true; mn_path[j][3] = mn_profiles } if (d) { q.menu = mn_path[j][3]; q.onmouseover = Menu.show; q.onmouseout = Menu.hide } else { q.onmouseover = Menu._hide } if (mn_path[j][2]) { q.href = mn_path[j][2] } else { q.href = "javascript:;"; ns(q); q.style.cursor = "default" } if (h) { q.className = "selected" } ae(g, ct(mn_path[j][1].charAt(0))); ae(m, g); ae(m, ct(mn_path[j][1].substr(1))); ae(q, m); ae(q, e); ae(f, q); ae(k, f) } ae(ge("toptabs-generic"), k); var b = ge("topbar-generic"); if (c != null && c >= 0 && c < mn_path.length) { c = parseInt(c); switch (c) { case 0: // Database Menu.addButtons(b, [ [0, LANG.menu_browse, null, mn_database], // Browse [1, mn_tools[7][1], null, mn_tools[7][3]], // Utilities [2, mn_tools[7][3][1][1], mn_tools[7][3][1][2]] // Random Page ]); break; case 1: Menu.addButtons(b, [ [0, LANG.calculators, null, mn_tools.slice(0,4)], // Calculators [1, mn_tools[4][1], mn_tools[4][2]], // Maps [2, mn_tools[7][1], null, mn_tools[7][3]], // Utilities [3, mn_tools[6][1], null, mn_tools[6][3]] // Guides ]); break; case 2: Menu.addButtons(b, Menu.explode(mn_more)); break; case 3: Menu.addButtons(b, Menu.explode(mn_forums)); break; case 5: pr_initTopBarSearch(); break } } else { ae(b, ct(String.fromCharCode(160))) } } function g_updateHeader(a) { ee(ge("toptabs-generic")); ee(ge("topbar-generic")); g_createHeader(a) } function g_initHeader(a) { g_createHeader(a); var d = ge("livesearch-generic"); var b = d.previousSibling; var c = d.parentNode; ns(b); b.onclick = function() { this.parentNode.onsubmit() }; if (Browser.ie) { setTimeout(function() { d.value = "" }, 1) } if (d.value == "") { d.className = "search-database" } d.onmouseover = function() { if (trim(this.value) != "") { this.className = "" } }; d.onfocus = function() { this.className = "" }; d.onblur = function() { if (trim(this.value) == "") { this.className = "search-database"; this.value = "" } }; c.onsubmit = function() { var e = this.elements[0].value; if (trim(e) == "") { return false } this.submit() } } function g_initHeaderMenus() { var c = ge("toptabs-menu-user"); if (c) { c.menu = [[0, LANG.userpage, "?user=" + g_user.name], [0, LANG.settings, "?account"], [0, LANG.signout, "?account=signout"]]; if (location.href.match(new RegExp("/?user=" + g_user.name + "$", "i"))) { c.menu[0].checked = 1 } else { if (location.href.indexOf("?account") != -1) { c.menu[1].checked = 1 } } c.onmouseover = Menu.show; c.onmouseout = Menu.hide; c.href = "?user=" + g_user.name } c = ge("toptabs-menu-profiles"); if (c) { c.menu = []; if (g_user.characters) { c.menu.push([, LANG.tab_characters]); for (var f = 0, b = g_user.characters.length; f < b; ++f) { var h = g_user.characters[f], e = [0, h.name + " (" + h.realmname + LANG.hyphen + h.region.toUpperCase() + ")", "?profile=" + h.region + "." + h.realm + "." + g_cleanCharacterName(h.name)]; e.smallIcon = h.icon ? h.icon: "chr_" + g_file_races[h.race] + "_" + g_file_genders[h.gender] + "_" + g_file_classes[h.classs] + "0" + (h.level > 59 ? (Math.floor((h.level - 60) / 10) + 2) : 1); c.menu.push(e) } } c.menu.push([, LANG.tab_profiles]); if (g_user.profiles) { for (var f = 0, b = g_user.profiles.length; f < b; ++f) { var h = g_user.profiles[f], e = [0, h.name, "?profile=" + h.id]; e.smallIcon = h.icon ? h.icon: "chr_" + g_file_races[h.race] + "_" + g_file_genders[h.gender] + "_" + g_file_classes[h.classs] + "0" + (h.level > 59 ? (Math.floor((h.level - 60) / 10) + 2) : 1); c.menu.push(e) } } var e = [0, "(" + LANG.button_new + ")", "?profile&new"]; e.smallIcon = "inv_misc_questionmark"; c.menu.push(e); c.menu.rightAligned = 1; c.onmouseover = Menu.show; c.onmouseout = Menu.hide; c.href = "?user=" + g_user.name + (g_user.profiles ? "#profiles": (g_user.characters ? "#characters": "")) } c = ge("toptabs-menu-language"); if (c) { var g = "www", d = location.href, j = location.hostname.indexOf("."); if (j != -1 && j <= 5) { g = location.hostname.substr(0, j) } j = d.indexOf("#"); if (j != -1) { d = d.substr(0, j) } //c.menu = [[0, "Deutsch", (g_locale.id != 3 ? d.replace(g, "de") : null)], [0, "English", (g_locale.id != 0 ? d.replace(g, "www") : null)], [0, "Espa" + String.fromCharCode(241) + "ol", (g_locale.id != 6 ? d.replace(g, "es") : null)], [0, "Fran" + String.fromCharCode(231) + "ais", (g_locale.id != 2 ? d.replace(g, "fr") : null)], [0, String.fromCharCode(1056, 1091, 1089, 1089, 1082, 1080, 1081), (g_locale.id != 8 ? d.replace(g, "ru") : null)]]; var rel = d.match(/()\?((item|quest|spell|achievement|npc|object)=([0-9]+))/); rel = (rel && rel[2]) ? rel[2] : ""; c.menu = [ [0, "Deutsch", (g_locale.id != 3 ? "?locale=3" : null), , {rel: rel + " domain=de"}], [0, "English", (g_locale.id != 0 ? "?locale=0" : null), , {rel: rel + " domain=en"}], [0, "Espa" + String.fromCharCode(241) + "ol", (g_locale.id != 6 ? "?locale=6" : null), , {rel: rel + " domain=es"}], [0, "Fran" + String.fromCharCode(231) + "ais", (g_locale.id != 2 ? "?locale=2" : null), , {rel: rel + " domain=fr"}], [0, String.fromCharCode(1056, 1091, 1089, 1089, 1082, 1080, 1081), (g_locale.id != 8 ? "?locale=8" : null), , {rel: rel + " domain=ru"}] ]; c.menu.rightAligned = 1; if (g_locale.id != 25) { c.menu[{ 0 : 1, 2 : 3, 3 : 0, 6 : 2, 8 : 4 } [g_locale.id]].checked = 1 } c.onmouseover = Menu.show; c.onmouseout = Menu.hide } } function g_initPath(q, f) { var h = mn_path, c = null, k = null, p = 0, l = ge("main-precontents"), o = ce("div"); ee(l); if (g_initPath.lastIt) { g_initPath.lastIt.checked = null } o.className = "path"; if (f != null) { var m = ce("div"); m.className = "path-right"; var r = ce("a"); r.href = "javascript:;"; r.id = "fi_toggle"; ns(r); r.onclick = fi_toggle; if (f) { r.className = "disclosure-on"; ae(r, ct(LANG.fihide)) } else { r.className = "disclosure-off"; ae(r, ct(LANG.fishow)) } ae(m, r); ae(l, m) } for (var g = 0; g < q.length; ++g) { var r, b, t = 0; for (var e = 0; e < h.length; ++e) { if (h[e][0] == q[g]) { t = 1; h = h[e]; h.checked = 1; break } } if (!t) { p = 1; break } r = ce("a"); b = ce("span"); if (h[2]) { r.href = h[2] } else { r.href = "javascript:;"; ns(r); r.style.textDecoration = "none"; r.style.color = "white"; r.style.cursor = "default" } if (g < q.length - 1 && h[3]) { b.className = "menuarrow" } //ae(r, ct(h[4] == null ? h[1] : h[4])); ae(r, ct(h[1])); if (g == 0) { r.menu = mn_path } else { r.menu = c[3] } r.onmouseover = Menu.show; r.onmouseout = Menu.hide; ae(b, r); ae(o, b); k = b; c = h; h = h[3]; if (!h) { p = 1; break } } if (p && k) { k.className = "" } else { if (c && c[3]) { k.className = "menuarrow"; r = ce("a"); b = ce("span"); r.href = "javascript:;"; ns(r); r.style.textDecoration = "none"; r.style.paddingRight = "16px"; r.style.color = "white"; r.style.cursor = "default"; ae(r, ct("...")); r.menu = c[3]; r.onmouseover = Menu.show; r.onmouseout = Menu.hide; ae(b, r); ae(o, b) } } var m = ce("div"); m.className = "clear"; ae(o, m); ae(l, o); g_initPath.lastIt = c } function g_addTooltip(b, c, a) { if (!a && c.indexOf("