if (typeof(SESSIONURL) == "undefined") { var SESSIONURL = ""; } // ensure vbphrase exists if (typeof(vbphrase) == "undefined") { var vbphrase = new Array(); } // Array of message editor objects var vB_Editor = new Array(); // Ignore characters within [quote] tags in messages for length check var ignorequotechars = false; // Number of pagenav items dealt with so far var pagenavcounter = 0; var userAgent = navigator.userAgent.toLowerCase(); var is_opera = ((userAgent.indexOf('opera') != -1) || (typeof(window.opera) != 'undefined')); var is_saf = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.')); var is_webtv = (userAgent.indexOf('webtv') != -1); var is_ie = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv)); var is_ie4 = ((is_ie) && (userAgent.indexOf('msie 4.') != -1)); var is_ie7 = ((is_ie) && (userAgent.indexOf('msie 7.') != -1)); var is_moz = ((navigator.product == 'Gecko') && (!is_saf)); var is_kon = (userAgent.indexOf('konqueror') != -1); var is_ns = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf)); var is_ns4 = ((is_ns) && (parseInt(navigator.appVersion) == 4)); var is_mac = (userAgent.indexOf('mac') != -1); // Catch possible bugs with WebTV and other older browsers var is_regexp = (window.RegExp) ? true : false; var pointer_cursor = (is_ie ? 'hand' : 'pointer'); String.prototype.vBlength = function() { return (is_ie && this.indexOf('\n') != -1) ? this.replace(/\r?\n/g, '_').length : this.length; } if ('1234'.substr(-2, 2) == '12') // (which would be incorrect) { String.prototype.substr_orig = String.prototype.substr; String.prototype.substr = function(start, length) { return this.substr_orig( (start < 0 ? this.length + start : start), length); }; } function fetch_object(idname) { if (document.getElementById) { return document.getElementById(idname); } else if (document.all) { return document.all[idname]; } else if (document.layers) { return document.layers[idname]; } else { return null; } } function fetch_tags(parentobj, tag) { if (parentobj == null) { return new Array(); } else if (typeof parentobj.getElementsByTagName != 'undefined') { return parentobj.getElementsByTagName(tag); } else if (parentobj.all && parentobj.all.tags) { return parentobj.all.tags(tag); } else { return new Array(); } } function do_an_e(eventobj) { if (!eventobj || is_ie) { window.event.returnValue = false; window.event.cancelBubble = true; return window.event; } else { eventobj.stopPropagation(); eventobj.preventDefault(); return eventobj; } } /** * Handles the different event models of different browsers and prevents event bubbling in a lesser way than do_an_e() * * @param event Event object * * @return event */ function e_by_gum(eventobj) { if (!eventobj || is_ie) { window.event.cancelBubble = true; return window.event; } else { if (eventobj.target.type == 'submit') { // naughty safari eventobj.target.form.submit(); } eventobj.stopPropagation(); return eventobj; } } function vB_PHP_Emulator() { } // initialize the PHP emulator var PHP = new vB_PHP_Emulator(); function vbmenu_register(controlid, noimage, datefield) { if (typeof(vBmenu) == "object") { return vBmenu.register(controlid, noimage); } else { return false; } } function img_alt_2_title(img) { if (!img.title && img.alt != '') { img.title = img.alt; } } function vBulletin_init() { // don't bother doing any exciting stuff for WebTV if (is_webtv) { return false; } // set 'title' tags for image elements var imgs = fetch_tags(document, 'img'); for (var i = 0; i < imgs.length; i++) { img_alt_2_title(imgs[i]); } // finalize popup menus if (typeof vBmenu == 'object') { // close all menus on document click or resize if (typeof(YAHOO) != "undefined") { YAHOO.util.Event.on(document, "click", vbmenu_hide); YAHOO.util.Event.on(window, "resize", vbmenu_hide); } else if (window.attachEvent && !is_saf) { document.attachEvent('onclick', vbmenu_hide); window.attachEvent('onresize', vbmenu_hide); } else if (document.addEventListener && !is_saf) { document.addEventListener('click', vbmenu_hide, false); window.addEventListener('resize', vbmenu_hide, false); } else { window.onclick = vbmenu_hide; window.onresize = vbmenu_hide; } // add popups to pagenav elements var pagenavs = fetch_tags(document, 'td'); for (var n = 0; n < pagenavs.length; n++) { if (pagenavs[n].hasChildNodes() && pagenavs[n].firstChild.name && pagenavs[n].firstChild.name.indexOf('PageNav') != -1) { var addr = pagenavs[n].title; pagenavs[n].title = ''; pagenavs[n].innerHTML = ''; pagenavs[n].id = 'pagenav.' + n; var pn = vBmenu.register(pagenavs[n].id); if (is_saf) { pn.controlobj._onclick = pn.controlobj.onclick; pn.controlobj.onclick = vBpagenav.prototype.controlobj_onclick; } } } // process the pagenavs popup form if (typeof addr != 'undefined') { fetch_object('pagenav_form').addr = addr; fetch_object('pagenav_form').gotopage = vBpagenav.prototype.form_gotopage; fetch_object('pagenav_ibtn').onclick = vBpagenav.prototype.ibtn_onclick; fetch_object('pagenav_itxt').onkeypress = vBpagenav.prototype.itxt_onkeypress; } // activate the menu system vBmenu.activate(true); } // the new init system vBulletin.init(); return true; } // ############################################################################# // deal with Firebug console calls if (!console) { var console = function() { var moo = 1 + 1; }; console.log = function(str) { var moo = 1 + 1; }; } // ############################################################################# function vBulletin_Framework() { this.elements = new Array(); this.ajaxurls = new Array(); this.events = new Array(); this.regexp = "(^|[^a-z0-9_])([a-z0-9_]+)\\[([^\\]]*)\\]"; this.add_event("systemInit"); this.time = new Date(); } vBulletin_Framework.prototype.init = function() { this.events.systemInit.fire(); } vBulletin_Framework.prototype.register_element = function(element, classmatch) { for (var i = 0; i < classmatch.length; i++) { if (!this.elements[classmatch[i][2]]) { this.elements[classmatch[i][2]] = new Array(); } this.elements[classmatch[i][2]][this.elements[classmatch[i][2]].length] = new Array(element, classmatch[i][3]); } } vBulletin_Framework.prototype.add_event = function(eventname) { this.events[eventname] = (typeof YAHOO != 'undefined' ? new YAHOO.util.CustomEvent(eventname) : new null_event()); } vBulletin_Framework.prototype.console = function() { if (is_moz && console) { var args = new Array(); for (var i = 0; i < arguments.length; i++) { args[args.length] = arguments[i]; } try { eval("console.log('" + args.join("','") + "');"); } catch(e) {} } } if (typeof YAHOO == 'undefined') { function null_event() { this.fire = function() {}; this.subscribe = function() {}; }; } vBulletin = new vBulletin_Framework();