var md8e0252393710f054af6a9329b5936f85 = 'document.addEvent(\'domready\',function(){\n if(!Browser.ie6 && !Browser.ie7 && !Browser.ie8) {\n function getMq(pos)\n {\n return window.getComputedStyle(document[pos],\':after\').getPropertyValue(\'content\').replace(/\"/g, \'\');\n }\n\n var mqa = getMq(\'body\'),\n prefix = \'mq-\';\n\n bcBase.mq = mqa.replace(/\\D/g, \'\').toInt();\n\n fbBase.docEl.addClass(prefix + mqa);\n\n window.addEvent(\'resize\', function(){\n var newMqa = getMq(\'body\');\n\n if(mqa !== newMqa && newMqa != \'none\') {\n fbBase.docEl.swapClass(prefix + mqa, prefix + newMqa);\n mqa = newMqa;\n bcBase.mq = mqa.replace(/\\D/g, \'\').toInt();\n bcBase.fireEvent(\'mq:change\');\n }\n });\n }\n\n\n if(!fbBase.docEl.hasClass(\'mobile\')) {\n var oldschool = function()\n {\n var wx = window.getSize().x;\n\n\n if(Browser.ie6 || Browser.ie7 || Browser.ie8) {\n //Old desktop max-width media queries...\n\n bcBase.$mqMax = [1024, 1040, 1120, 1160, 1185, 1240, 1250, 1370];\n\n for (var i = bcBase.$mqMax.length - 1; i >= 0 ; i--) {\n var mqMax = bcBase.$mqMax[i];\n\n if(wx <= mqMax) {\n fbBase.docEl.addClass(\'mq-max-\' + mqMax);\n bcBase.mqMax = mqMax;\n } else {\n fbBase.docEl.removeClass(\'mq-max-\' + mqMax);\n }\n };\n }\n\n // Add screen classes here before domready / load to prevent reflow\n if(wx > 1024) {\n $(document.documentElement).addClass(\'widescreen\').removeClass(\'narrowscreen\');\n } else {\n $(document.documentElement).removeClass(\'widescreen\').addClass(\'narrowscreen\');\n }\n };\n\n window.addEvent(\'resize\', function(){\n oldschool();\n });\n\n oldschool();\n }\n});\n;window.__obj = {\n ipb: {\n garbage: {}\n },\n UI : {},\n Creation: {}\n};\n\nif(!bcBase) {\n var bcBase = window.__obj;\n} else {\n Object.append(bcBase, window.__obj);\n}\n\nwindow.__obj = null;\n\nObject.append(bcBase, new Events());\n;bcBase.UI = {\n /**\n * Toggle boxes\n */\n toggleboxes: {\n base: new Class({\n Extends: fbBase.UI.toggleboxes.base,\n\n options: {},\n\n events: function()\n {\n this.parent();\n\n this.element.addEvent(\'click:relay(.btn-delete)\', function(e, i){\n if(i.getParent(\'ul\').getChildren().length > 1){\n i.getParent(\'li\').nix();\n } else {\n i.getParent(\'dl\').nix();\n }\n }.bind(this));\n }\n })\n },\n\n /**\n * Interactive Lists\n */\n interactiveLists: {\n base: new Class({\n Extends: fbBase.base,\n\n options: {},\n\n events: function()\n {\n this.element.addEvent(\'click:relay(.btn-delete)\', function(e, i){\n if(i.getParent(\'ul\').getChildren().length > 1){\n i.getParent(\'li\').nix();\n } else {\n i.getParent(\'ul\').nix();\n }\n }.bind(this));\n }\n })\n },\n\n /**\n * Paginators\n */\n paginators: {\n standard: new Class({\n Extends: fbBase.base,\n\n options: {},\n\n setup: function(element, options)\n {\n this.parent(element, options);\n\n this.jump = this.element.getElement(\'.jump\');\n this.jumpInput = this.jump.getElement(\'input\');\n this.text = this.element.getElement(\'.text\');\n\n this.events();\n },\n\n events: function()\n {\n this.text.addEvent(\'click\', function(e){\n this.open();\n }.bind(this));\n\n this.jump.addEvent(\'keyup\', this.bound(\'keyup\'));\n this.jumpInput.addEvent(\'blur\', this.bound(\'blur\'));\n },\n\n keyup: function(e)\n {\n if(this.jumpInput.get(\'value\') > this.options.max) this.jumpInput.set(\'value\', this.options.max);\n if(fbBase.Forms.Input.isEnter(e)) this.location();\n },\n\n blur: function(e)\n {\n this.location();\n },\n\n location: function()\n {\n if(this.jumpInput.get(\'value\') == \'\') return;\n\n if(this.jumpInput.get(\'value\') !== \'\'){\n var url = this.options.baseUrl + \'&st=\' + (this.jumpInput.get(\'value\') - 1) * this.options.perPage;\n document.location = url;\n }\n },\n\n open: function()\n {\n this.jump.onScreen(\'relative\');\n this.text.hide();\n this.jumpInput.focus();\n fbBase.OuterClickStack.push(this.bound(\'close\'), this.element);\n },\n\n close: function()\n {\n this.jump.offScreen();\n this.text.show();\n fbBase.OuterClickStack.erase(this.bound(\'close\'));\n }\n }),\n\n basic: new Class({\n Extends: fbBase.base,\n\n options: {},\n\n setup: function(element, options)\n {\n this.parent(element, options);\n\n this.selectEl = this.element.getElement(\'select\');\n\n this.events();\n },\n\n events: function()\n {\n this.selectEl.addEvent(\'change\' , this.bound(\'change\'));\n },\n\n change: function()\n {\n var url = this.options.baseUrl + \'&st=\' + (this.selectEl.get(\'value\'));\n document.location = url;\n }\n })\n },\n\n /**\n * Togglers\n */\n togglers: {\n slideToggle: new Class({\n Extends: fbBase.base,\n\n options: {\n toggle: \'.bc-toggler-head\',\n panel: \'.bc-toggler-body\',\n collapsedClass: \'collapsed\',\n setText: true,\n nestedToggle: true\n },\n\n setup: function(element, options)\n {\n this.parent(element, options);\n\n this.element.getElements(this.options.toggle).each(function(el){\n var t = el.getParent();\n\n if(!this.options.nestedToggle) {\n t = el;\n }\n\n var panel = el.retrieve(\'$panel\', t.getNext(this.options.panel));\n\n if(t.hasClass(this.options.collapsedClass)) {\n if(this.options.setText) el.set(\'text\', \'+\');\n panel.slide(\'hide\');\n }\n }, this);\n\n this.events();\n },\n\n events: function()\n {\n this.element.addEvent(\'click:relay(\' + this.options.toggle + \')\', this.bound(\'toggle\'));\n },\n\n toggle: function(e, i)\n {\n var el = i.retrieve(\'$panel\');\n el.slide(\'toggle\');\n i.toggleClass(this.options.collapsedClass);\n if(this.options.setText) i.set(\'text\', (el.getParent(\'div\').getStyle(\'height\').toInt() === 0 ? \'-\' : \'+\'));\n }\n })\n },\n\n /**\n * Inline Noitfications\n *\n * Show message to user and remove after delay\n */\n inlineNoitfication: new Class({\n Extends: fbBase.base,\n\n options: {\n delay: 6000\n },\n\n setup: function(element, options)\n {\n this.parent(element, options);\n\n (function() {\n this.element.nix();\n }.bind(this)).delay(this.options.delay);\n }\n }),\n\n accordion: new Class({\n Extends: fbBase.base,\n\n options: {\n alwaysHide: true,\n show: -1,\n handle: \'dt.bc-accordion-head\',\n body: \'dd.bc-accordion-body\'\n },\n\n setup: function(element, options)\n {\n this.parent(element, options);\n\n var activeClass = this.element.get(\'id\') + \'-accordion-active\';\n\n new Fx.Accordion(this.element.getElements(this.options.handle), this.element.getElements(this.options.body), Object.merge(this.options, {\n onActive: function(t, e)\n {\n t.addClass(activeClass);\n },\n onBackground: function(t, e)\n {\n t.removeClass(activeClass);\n }\n }));\n }\n })\n};\n\nbcBase.addEvent(\'ready\', function() {\n // Being nice to IE and chaining\n // our element augmentations\n\n var chain = new Chain();\n\n chain.chain(\n function(){\n // ENHANCED SELECTS\n // Queue selects and process\n //\n // IE IS AS SLOW AS A FORD KA, SO DON\'T\n // LET IT RACE ;)\n if(!Browser.ie7 && !Browser.ie8 && !bcBase.isMobile()) {\n $$(\'.bc-select\').each(function(el){\n new fbBase.UI.forms.select(el);\n });\n //bcBase.bcSelects = $$(\'.bc-select\');\n //if(bcBase.bcSelects.length != 0) new fbBase.UI.forms.select(bcBase.bcSelects.shift());\n }\n chain.callChain();\n },\n function(){\n $$(\'input.overtext\').each(function(el){\n new OverText(el);\n });\n chain.callChain();\n },\n function(){\n // TOGGLEBOXES\n $$(\'.bc-toggle-boxes\').each(function(element){\n new bcBase.UI.toggleboxes.base(element);\n });\n chain.callChain();\n },\n function(){\n // INTERACTIVE LISTS\n $$(\'.bc-list\').each(function(dropdown){\n new bcBase.UI.interactiveLists.base(dropdown);\n });\n chain.callChain();\n },\n function(){\n // JUMP PAGINATORS\n $$(\'.bc-paginator\').each(function(paginator){\n new bcBase.UI.paginators.standard(paginator);\n });\n chain.callChain();\n },\n function(){\n // BASIC PAGINATORS\n $$(\'.bc-paginator-basic\').each(function(paginator){\n new bcBase.UI.paginators.basic(paginator);\n });\n chain.callChain();\n },\n function(){\n $$(\'.bc-toggler\').each(function(toggler){\n new bcBase.UI.togglers.slideToggle(toggler, {\n setText: false,\n nestedToggle: false\n });\n });\n chain.callChain();\n },\n function(){\n $$(\'.bc-accordion\').each(function(el){\n new bcBase.UI.accordion(el);\n });\n chain.callChain();\n },\n function(){\n // INLINE NOTIFICATIONS\n $$(\'.bc-inline-notice\').each(function(el){\n new bcBase.UI.inlineNoitfication(el);\n });\n chain.callChain();\n },\n function(){\n //new fbBase.MQ();\n\n window.addEvent(\'orientationchange\', function(){\n if (Math.abs(window.orientation) === 90) {\n fbBase.docEl.addClass(\'orientation_landscape\').removeClass(\'orientation_portrait\');\n } else {\n fbBase.docEl.addClass(\'orientation_portrait\').removeClass(\'orientation_landscape\');\n }\n });\n\n window.fireEvent(\'orientationchange\');\n\n chain.callChain();\n }\n );\n\n chain.callChain();\n});\n;bcBase.addEvent(\'ready\', function()\n{\n var fc = fbBase.docEl.getElement(\'.bc-forum-category\'),\n stats = $(\'bc-board-stats\'),\n legend = $(\'bc-legend\'),\n activeUsers = $(\'bc-active-users\');\n\n if(fc) new bcBase.UI.togglers.slideToggle(fc.getParent(), {\n toggle: \'.bc-category-header .btn\',\n panel: \'table\'\n });\n\n if(stats) new bcBase.UI.togglers.slideToggle(stats, {\n toggle: \'.bc-stats-header .btn\',\n panel: \'table\'\n });\n\n if(legend) new bcBase.UI.togglers.slideToggle(legend, {\n toggle: \'.bc-toggle .btn\',\n panel: \'table\'\n });\n\n if(activeUsers) new bcBase.UI.togglers.slideToggle(activeUsers, {\n toggle: \'.bc-toggle .btn\',\n panel: \'div\'\n });\n});\n;bcBase.addEvent(\'ready\', function(){\n var pf = $(\'postingform\'),\n makesEl = $(\'makes\'),\n modelEl = $(\'modelsel\'),\n self;\n\n if(modelEl) modelCloneEl = modelEl.clone();\n\n self = bcBase.cvLinks = new cvLinkSelect({\n select_class: \'.cvlinked\', //the class for the linked select boxes\n url: (pf ? \'/forums/jscripts/ajax.php\' : \'/forums/jscripts/ajax.search.php\'),\n multiple_var: true, //use multiple get variables or only one\n loadClass: \'cvloading\', //the css class that is added when a request is made\n disable: false,\n isLast: function(){\n },\n hasnoSub: function(){\n self.select.each(function(s){\n if(s.hasClass(\'fbSelect-enhanced\')) return;\n\n if(self.select.indexOf(s) >= self.select.indexOf(self.current)){ //if the select depends on the parent\n s.hide();\n }\n });\n },\n hasSub: function(){\n self.select.each(function(s){\n if(s.hasClass(\'fbSelect-enhanced\')) return;\n\n if(self.select.indexOf(s) >= self.select.indexOf(self.current)){ //if the select depends on the parent\n s.show();\n }\n });\n },\n addToQuery: (pf ? [\'yearsel\', \'category\', \'f\'] : [\'f\'])\n });\n\n if(pf) {\n var f = pf.getElement(\'select[name=f]\');\n if(f) f.fireEvent(\'change\');\n }\n\n if(makesEl) {\n // Restore model options when selecting all makes\n makesEl.addEvent(\'change\', function(){\n if(this.get(\'value\') !== \'\') return;\n\n self.destroyOptions(modelEl);\n modelCloneEl.clone().getChildren().inject(modelEl);\n modelEl.fireEvent(\'refresh\');\n });\n\n // Request models for current make.\n // Firefox remebers the selected make on refresh\n if(makesEl.get(\'value\') !== \'\') {\n makesEl.fireEvent(\'change\');\n }\n }\n});\n;bcBase.UI.splitButton = new Class({\n Extends: fbBase.base,\n\n options: {},\n\n setup: function(element, options)\n {\n this.parent(element, options);\n\n this.optionsEl = this.element.getElement(\'.btn-split-options\');\n this.optionsEl.setStyle(\'min-width\', this.element.getSize().x);\n\n $(document.body).adopt(this.optionsEl);\n\n this.events();\n },\n\n events: function()\n {\n this.element.addEvent(\'click\', this.bound(\'toggle\'));\n },\n\n toggle: function()\n {\n if(this.optionsEl.isDisplayed()) {\n this.hide();\n } else {\n this.show();\n }\n },\n\n show: function()\n {\n $$(\'.btn-split-options\').hide();\n\n this.optionsEl.show().position({\n relativeTo: this.element,\n position: \'bottomLeft\',\n edge: \'upperLeft\'\n });\n\n fbBase.OuterClickStack.push(this.bound(\'hide\'), this.element);\n },\n\n hide: function()\n {\n this.optionsEl.hide();\n fbBase.OuterClickStack.erase(this.bound(\'hide\'));\n }\n});\n\nbcBase.addEvent(\'ready\', function() {\n $$(\'.btn-split\').each(function(el){\n new bcBase.UI.splitButton(el);\n });\n});';