JavaScript - http://en.wikipedia.org/wiki/Main_Page User Javascript thread Error: name: TypeError message: Statement on line 966: Type mismatch (usually a non-object value used where an object is required) Backtrace: Line 966 of User JS script HTMLObjectElement.prototype.__defineGetter__("launch", (function () { } )); Line 2306 of User JS script (function (opera) { function addCssToDocument(cssText,doc,mediaType) { getElementsByTagName.call = addEventListener.call = createElement.call = createTextNode.call = insertBefore.call = setAttribute.call = appendChild.call = version.call = call; doc = doc || document; mediaType = mediaType || ""; addCssToDocument.styleObj = addCssToDocument.styleObj || {}; var styles = addCssToDocument.styleObj[mediaType]; if (! styles) { var head = (getElementsByTagName.call(doc, "head"))[0]; if (! head) { var docEl = (getElementsByTagName.call(doc, "html"))[0]; if (! docEl) { addEventListener.call(doc, opera && version.call(opera) >= 9 ? "DOMContentLoaded" : "load", (function () { addCssToDocument(cssText, doc); } ), false); return ; } head = createElement.call(doc, "head"); if (head) insertBefore.call(docEl, head, docEl.firstChild); else head = docEl; } addCssToDocument.styleObj[mediaType] = styles = createElement.call(doc, "style"); setAttribute.call(styles, "type", "text/css"); if (mediaType) setAttribute.call(styles, "media", mediaType); appendChild.call(styles, createTextNode.call(doc, " ")); appendChild.call(head, styles); } styles.firstChild.nodeValue += cssText + "\n"; return true; } function addPreprocessHandler(search,replacement,onceonly,conditional) { opera.addEventListener("BeforeScript", (function (e) { indexOf.call = replace.call = removeEventListener.call = call; if (conditional && ! conditional(e.element)) { return ; } e.element.text = replace.call(e.element.text, search, replacement); if (onceonly) { removeEventListener.call(opera, "BeforeScript", arguments.callee, false); } } ), false); } function avoidDocumentWriteAbuse(contentRegexp) { var dw = document.write; contentRegexp = contentRegexp || /(^$|^\[object Object\]$)/i; document.write = (function (s) { if (String(s).match(contentRegexp)) { opera.postError("Warning: scripts on " + window.location + " were changed by the s_code patch. See browser.js for details."); } else { dw.apply(document, arguments); } } ); } function avoidMagicBodyCreation() { document.createElement = (function (createElement) { var tmpDoc = document.implementation.createDocument("http://www.w3.org/1999/xhtml/", "html", null); return (function (tagName) { if (! document.body) { return createElement.call(tmpDoc, tagName); } else { document.createElement = createElement; return createElement.call(this, tagName); } } ); } )(document.createElement); } function emulateIECapturingEvents() { function capturingListener(evt) { if (! capturingEl) return ; if (ignoreEvent == evt) return ; if (parseFloat(opera.version(), 10) >= 9.5 && evt.type != "mousemove" && evt.type != "mouseout") { document.execCommand("unselect", null, true); } if (mouseDownEl && evt.type == "click" && mouseDownEl.contains(evt.target)) { mouseDownEl = null; evt.stopPropagation(); evt.preventDefault(); return ; } var currentCapturingEl = capturingEl; var originalEvent = evt; var originalTarget = originalEvent.target; if (typeof loseCaptureEventsTable[originalEvent.type] != "undefined") { loseCaptureEl = currentCapturingEl; } if (! capturingContainer && originalTarget != currentCapturingEl && currentCapturingEl.contains(originalTarget)) { return ; } var fakeEvent = document.createEvent("MouseEvent"); fakeEvent.initMouseEvent(originalEvent.type, originalEvent.bubbles, originalEvent.cancelable, window, originalEvent.detail, originalEvent.screenX, originalEvent.screenY, originalEvent.clientX, originalEvent.clientY, originalEvent.ctrlKey, originalEvent.altKey, originalEvent.shiftKey, originalEvent.metaKey, originalEvent.button, originalEvent.relatedTarget); ignoreEvent = fakeEvent; if (fakeEvent.__defineGetter__) fakeEvent.__defineGetter__("srcElement", (function () { return originalTarget; } )); var retVal = currentCapturingEl.dispatchEvent(fakeEvent); if (currentCapturingEl != loseCaptureEl) { originalEvent.stopPropagation(); if (! retVal) { originalEvent.preventDefault(); } } if (originalEvent.type == "mousedown") { mouseDownEl = originalTarget; } else if (originalEvent.type == "mouseup") { if (! currentCapturingEl.contains(originalTarget) || currentCapturingEl.contains(mouseDownEl) || mouseDownEl && ! mouseDownEl.contains(originalTarget)) { fakeEvent = document.createEvent("MouseEvent"); fakeEvent.initMouseEvent("click", originalEvent.bubbles, originalEvent.cancelable, window, originalEvent.detail, originalEvent.screenX, originalEvent.screenY, originalEvent.clientX, originalEvent.clientY, originalEvent.ctrlKey, originalEvent.altKey, originalEvent.shiftKey, originalEvent.metaKey, originalEvent.button, originalEvent.relatedTarget); if (fakeEvent.__defineGetter__) fakeEvent.__defineGetter__("srcElement", (function () { return originalTarget; } )); ignoreEvent = fakeEvent; currentCapturingEl.dispatchEvent(fakeEvent); } if (! currentCapturingEl.contains(mouseDownEl)) { mouseDownEl = null; } } ignoreEvent = null; } var capturingEventsTable = {mousedown : "", mouseup : "", mousemove : "", click : "", dblclick : "", mouseover : "", mouseout : "", contextmenu : ""}; var loseCaptureEventsTable = {contextmenu : ""}; var capturingEl = null; var capturingContainer; var cachedSelection; var cachedSelectionCollapsed; var loseCaptureEl; HTMLElement.prototype.setCapture = (function (isCapturingContainer) { if (capturingEl && capturingEl != this) { capturingEl.releaseCapture(); } capturingEl = this; var sel = window.getSelection(); cachedSelection = sel.rangeCount ? sel.getRangeAt(0) : null; cachedSelectionCollapsed = ! (cachedSelection && ! cachedSelection.collapsed); loseCaptureEl = null; capturingContainer = isCapturingContainer !== false; } ); HTMLElement.prototype.releaseCapture = (function () { if (capturingEl != this) return ; capturingEl = null; if (cachedSelection) { var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(cachedSelection); cachedSelection = null; } else { document.execCommand("unselect", null, true); } var loseCaptureEvent; try { loseCaptureEvent = document.createEvent("CustomEvent"); } catch (e) { loseCaptureEvent = document.createEvent("Event"); } loseCaptureEvent.initEvent("losecapture", false, false); this.dispatchEvent(loseCaptureEvent); } ); document.releaseCapture = (function () { if (! capturingEl) return ; capturingEl.releaseCapture(); } ); var ignoreEvent; var mouseDownEl; var loseCaptureAfterEvent = (function (evt) { if (! loseCaptureEl) return ; loseCaptureEl.releaseCapture(); loseCaptureEl = null; } ); for (event in capturingEventsTable) { window.addEventListener(event, capturingListener, true); } for (event in loseCaptureEventsTable) { window.addEventListener(event, loseCaptureAfterEvent, false); } if (document.selection) document.selection.empty = (function () { if (! capturingEl) return document.execCommand("unselect", null, true); cachedSelection = null; } ); var getCommonAncestor = (function (a,b) { var range = document.createRange(); try { range.setStart(a, 0); range.setEnd(b, 0); return range.commonAncestorContainer; } catch (e) { return document; } } ); window.addEventListener("mouseover", (function (originalEvent) { if (capturingEl) return ; var fakeEvent = document.createEvent("MouseEvent"); fakeEvent.initMouseEvent("mouseenter", originalEvent.bubbles, originalEvent.cancelable, window, originalEvent.detail, originalEvent.screenX, originalEvent.screenY, originalEvent.clientX, originalEvent.clientY, originalEvent.ctrlKey, originalEvent.altKey, originalEvent.shiftKey, originalEvent.metaKey, originalEvent.button, originalEvent.relatedTarget); var commonAncestor = getCommonAncestor(originalEvent.target, originalEvent.relatedTarget); var listener = (function (evt) { if (evt == fakeEvent) { commonAncestor.removeEventListener("mouseenter", arguments.callee, false); evt.stopPropagation(); } } ); commonAncestor.addEventListener("mouseenter", listener, false); originalEvent.target.dispatchEvent(fakeEvent); commonAncestor.removeEventListener("mouseenter", listener, false); } ), false); window.addEventListener("mouseout", (function (originalEvent) { if (capturingEl) return ; var fakeEvent = document.createEvent("MouseEvent"); fakeEvent.initMouseEvent("mouseleave", originalEvent.bubbles, originalEvent.cancelable, window, originalEvent.detail, originalEvent.screenX, originalEvent.screenY, originalEvent.clientX, originalEvent.clientY, originalEvent.ctrlKey, originalEvent.altKey, originalEvent.shiftKey, originalEvent.metaKey, originalEvent.button, originalEvent.relatedTarget); var commonAncestor = getCommonAncestor(originalEvent.target, originalEvent.relatedTarget); var listener = (function (evt) { if (evt == fakeEvent) { commonAncestor.removeEventListener("mouseleave", arguments.callee, false); evt.stopPropagation(); } } ); commonAncestor.addEventListener("mouseleave", listener, false); originalEvent.target.dispatchEvent(fakeEvent); commonAncestor.removeEventListener("mouseleave", listener, false); } ), false); } function fakeCSSFilters() { var filterObj = {apply : (function () { } ), play : (function () { } ), Apply : (function () { } ), Play : (function () { } )}; HTMLElement.prototype.filters = [filterObj, filterObj, filterObj]; HTMLElement.prototype.filters["blendTrans"] = filterObj; } function fakeOncontextmenu(useAltClick,clickAndHold) { function cloneObject(src,dest) { dest = dest || {}; for (prop in src) dest[prop] = src[prop]; return dest; } function prepareContextMenuEvent(e,node) { var ev = cloneObject(e); ev.currentTarget = node; ev.type = "contextmenu"; ev.returnValue = true; ev.cancelBubble = false; ev.preventDefault = (function (ev) { this.returnValue = false; } ); ev.stopPropagation = (function (ev) { this.cancelBubble = false; } ); return ev; } function ctxClickHandler(e) { var node = e.target, foundAnything = false; do { if (typeof node.oncontextmenu == "function") { var ev = prepareContextMenuEvent(e, node); try { node.oncontextmenu(ev); if (! ev.returnValue) e.preventDefault(); if (ev.cancelBubble) { e.stopPropagation(); return true; } } catch (ex) { setTimeout((function () { throw ex; } ), 1); } foundAnything = true; } else if (node.getAttribute && (js = node.getAttribute("oncontextmenu"))) { var ev = prepareContextMenuEvent(e, node); try { var retVal = eval("(function(){" + js + ";}).call(node,ev);") || ev.returnValue; if (! retVal && retVal !== undefined) e.preventDefault(); if (ev.cancelBubble) { e.stopPropagation(); return true; } } catch (ex) { setTimeout((function () { throw ex; } ), 1); } foundAnything = true; } } while (node = node.parentNode); return foundAnything; } function dispatchCtxMenuEvent(e) { var doc = e.target.ownerDocument || (e.view ? e.view.document : null) || e.target; var newEv = doc.createEvent("MouseEvent"); newEv.initMouseEvent("contextmenu", true, true, doc.defaultView, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, 2, e.relatedTarget); if (newEv.__defineGetter__) { newEv.__defineGetter__("offsetX", (function () { return this.clientX; } )); newEv.__defineGetter__("offsetY", (function () { return this.clientY; } )); } e.target.dispatchEvent(newEv); } function clearCtxTimeout() { clearTimeout(ctxMenuTimeout); ctxMenuTimeout = eventCopy = null; } if ("oncontextmenu" in document.createElement("foo")) return ; var isRightClick = false; addEventListener("mousedown", (function (e) { if (e && e.button == 2) { isRightClick = true; setTimeout((function () { isRightClick = false; } ), 1000); } } ), true); addEventListener("mouseup", (function (e) { if (e && e.button == 2 && isRightClick) { dispatchCtxMenuEvent(e); } clearCtxTimeout(); } ), true); addEventListener("contextmenu", (function (e) { ctxClickHandler(e); } ), true); if (useAltClick) addEventListener("click", (function (e) { if (e && e.button == 0 && e.altKey) { dispatchCtxMenuEvent(e); } } ), true); var eventCopy, ctxMenuTimeout; var pixelThreshold = 3; var msecCtxValue = clickAndHold; if (clickAndHold && typeof clickAndHold == "number") { addEventListener("mousedown", (function (e) { if (e && e.button != 2) { eventCopy = cloneObject(e); eventCopy.preventDefault = (function () { } ); eventCopy.stopPropagation = (function () { } ); ctxMenuTimeout = setTimeout((function () { if (eventCopy) dispatchCtxMenuEvent(eventCopy); } ), msecCtxValue); } } ), true); addEventListener("mousemove", (function (e) { if (ctxMenuTimeout && eventCopy && e) if (Math.abs(e.clientX - eventCopy.clientX) > pixelThreshold || Math.abs(e.clientY - eventCopy.clientY) > pixelThreshold) { clearCtxTimeout(); } } ), true); } } function fixCoolmenus(name) { if (fixed) { return ; } fixed = true; defineMagicVariable.call = call; navRestore["userAgent"] = navigator.userAgent; navigator.userAgent += " msie 6"; shouldRestore = true; defineMagicVariable.call(opera, "bw", (function (o) { o.filter = o.op7 = o.op = o.usedom = o.ns6 = 0; o.ie = o.ie6 = 1; return o; } ), (function (o) { return o; } )); addPreprocessHandler("this.win.document.body.appendChild(oNS)", "try{this.win.document.body.appendChild(oNS)}catch(e){oNS=this.win.document.body.appendChild(this.win.document.importNode(oNS, true))}"); addPreprocessHandler("oNS.appendChild(oNS2)", "try{oNS.appendChild(oNS2);}catch(e){oNS2=oNS.appendChild(oNS.document.importNode(oNS2, true));}"); } function fixHVMenu(name) { if (fixed) { return ; } fixed = true; defineMagicVariable.call = match.call = call; defineMagicVariable.call(opera, "PosStrt", (function () { return true; } ), null); defineMagicVariable.call(opera, "NavYes", (function () { return true; } ), null); defineMagicVariable.call(opera, "DomNav", (function () { return true; } ), null); defineMagicVariable.call(opera, "Trigger", (function () { return window; } ), null); defineMagicVariable.call(opera, "Fltr", (function () { return false; } ), (function () { return ; } )); if (match.call(name, /var\.js$/) || match.call(name, /compact\.js$/)) { navRestore["userAgent"] = navigator.userAgent; navigator.userAgent += " opera 7"; shouldRestore = true; } } function fixHierMenus() { if (fixed) { return ; } fixed = true; defineMagicVariable.call = call; defineMagicVariable.call(opera, "HM_IsMenu", (function () { return true; } ), (function () { return true; } )); if (! document.all) defineMagicVariable.call(opera, "HM_IE", (function () { return true; } ), (function () { return true; } )); defineMagicVariable.call(opera, "HM_BrowserString", (function () { return "DOM"; } ), (function () { return "DOM"; } )); if (HTMLBodyElement.prototype.__defineGetter__) HTMLBodyElement.prototype.__defineGetter__("clientHeight", (function () { return this.ownerDocument.documentElement.clientHeight; } )); } function fixIFrameSSIscriptII(name,iFrameId) { if (typeof name === "string" && ! arguments.callee.name) opera.defineMagicFunction(name, (function (a,b,frameid) { frameid = frameid || iFrameId; var currentfr = document.getElementById(frameid); if (currentfr) { currentfr.height = currentfr.contentDocument.documentElement.scrollHeight; if (! arguments.callee._listenerAdded) { currentfr.addEventListener("load", arguments.callee, false); arguments.callee._listenerAdded = true; } } } )); fixIFrameSSIscriptII[name] = 1; } function fixLiknoAllWebMenus(ev) { indexOf.call = match.call = defineMagicVariable.call = postError.call = removeEventListener.call = appendChild.call = createElement.call = preventDefault.call = replace.call = call; if (fixed) return ; fixed = true; if (indexOf.call(ev.element.text, "AllWebMenus Libraries Version # ") > - 1) { var awmVersion = parseInt((match.call(ev.element.text, /AllWebMenus Libraries Version # (\d*)/))[1]); if (awmVersion <= 531) { defineMagicVariable.call(opera, "scriptNo", (function () { return 2; } ), null); defineMagicVariable.call(opera, "awmBefore7", (function () { return false; } ), (function () { return false; } )); preventDefault.call(ev); var script = appendChild.call(document.body, createElement.call(document, "script")); script.src = replace.call(ev.element.src, /awmlib\d*\.js/, "awmlib2.js"); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (AllWebMenus fix). See browser.js for details."); } removeEventListener.call(opera, "BeforeScript", arguments.callee, false); } } function fixMilonicMenu(name) { if (fixed) { return ; } fixed = true; defineMagicVariable.call = defineMagicFunction.call = addEventListener.call = call; defineMagicVariable.call(opera, "opera", (function () { return false; } ), (function () { } )); defineMagicVariable.call(opera, "opra", (function () { return false; } ), (function () { } )); defineMagicVariable.call(opera, "ie55", (function () { return false; } ), (function () { } )); defineMagicVariable.call(opera, "dom", (function () { return true; } ), (function () { } )); defineMagicFunction.call(opera, "fixForm", (function () { } )); defineMagicVariable.call(opera, "mac", (function () { return false; } ), (function () { } )); if (! window.scrollX) { opera.defineMagicVariable("scrollY", (function () { return document.body.scrollTop; } ), null); opera.defineMagicVariable("scrollX", (function () { return document.body.scrollLeft; } ), null); } } function fixOpenCube(name) { if (fixed) return ; match.call = addEventListener.call = defineMagicVariable.call = indexOf.call = call; window.vxml = window.vxml || {}; addEventListener.call(window, "load", (function () { if (typeof q99 == "undefined") window.q99 = (function () { } ); } ), false); fakeCSSFilters(); if (indexOf.call(navigator.appVersion, "Mac") != - 1) { navigator.appVersion = replace.call(navigator.appVersion, "Mac", "M A C"); addEventListener.call(opera, "AfterExternalScript", (function () { replace.call = removeEventListener.call = call; navigator.appVersion = replace.call(navigator.appVersion, "M A C", "Mac"); removeEventListener.call(opera, "AfterExternalScript", arguments.callee, false); } ), false); q20 = q21 = []; } if (match.call(name, /dqm_script\d*\.js$/)) { defineMagicVariable.call(opera, "brn", (function (val) { return "ie"; } ), (function (val) { return "ie"; } )); defineMagicVariable.call(opera, "ie6", (function (val) { return true; } ), (function (val) { return true; } )); defineMagicVariable.call(opera, "DQM_sub_menu_effect", (function () { return "none"; } ), null); if (document.evaluate) { addEventListener.call(window, "load", (function () { var nodes = document.evaluate("//a/child::img[substring(@id, 0, 4)='qmim']", document.body, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null), node; while (node = nodes.iterateNext()) { node.parentElement.parentElement.replaceChild(node, node.parentElement); } } ), false); } fixed = true; return true; } else if (indexOf.call(name, "dqm_loader.js") > - 1) { defineMagicVariable.call(opera, "brn", (function (val) { return "opera7"; } ), (function (val) { return "opera7"; } )); defineMagicVariable.call(opera, "DQM_sub_menu_effect", (function () { return "none"; } ), null); fixed = true; return true; } else if (indexOf.call(name, "dnm_script.js") > - 1) { defineMagicVariable.call(opera, "ie5", (function (val) { return true; } ), (function (val) { return true; } )); defineMagicVariable.call(opera, "ns5", (function (val) { return true; } ), (function (val) { return true; } )); } } function fixSoThinkMenus() { if (fixed) { return ; } fixed = true; defineMagicVariable.call = addEventListener.call = call; defineMagicVariable.call(opera, "nOP", (function () { return false; } ), null); defineMagicVariable.call(opera, "nIE", (function () { return false; } ), null); defineMagicVariable.call(opera, "nNN6", (function () { return true; } ), null); addEventListener.call(window, "load", (function (e) { if (window.st_onload) st_onload(e); } ), false); } function fixTransmenus() { opera.addEventListener("BeforeScript", (function (ev) { indexOf.call = replace.call = removeEventListener.call = call; var js = ev.element.text; if (indexOf.call(js, "TransMenu") != - 1) { js = replace.call(js, /return\s+r(\b)/, "return true$1"); js = replace.call(js, /mac/g, "xpto"); js = replace.call(js, "el.scrollLeft", "0"); js = replace.call(js, "el.scrollTop", "0"); ev.element.text = js; removeEventListener.call(opera, "BeforeScript", arguments.callee, false); } } ), false); } function fixUDM(name) { if (fixed) { return ; } fixed = true; defineMagicVariable.call = call; defineMagicVariable.call(opera, "op5", (function () { return 0; } ), null); defineMagicVariable.call(opera, "ns6", (function () { return 1; } ), null); defineMagicVariable.call(opera, "um", (function (o) { o.ss = false; return o; } ), null); } function ignoreCancellationOfCertainKeyEvents(type,list) { opera.addEventListener("BeforeEventListener." + type, (function (e) { preventDefault.call = call; if (e.event.keyCode in list) { preventDefault.call(e); } } ), false); } function ignoreRequiredAttributes() { document.addEventListener("invalid", (function (e) { if (e.target.validity.valueMissing) { e.target.removeAttribute("required"); e.preventDefault(); opera.postError("Warning: overriding built-in \"required\" attribute validation on page. See browser.js for details."); } } ), true); } function removeClosingHTMLComments() { opera.addEventListener("BeforeScript", (function (e) { replace.call = call; e.element.text = replace.call(e.element.text, /\r\n\s*-->\s*\r\n/, ""); } ), false); } function sendOperaEvent(name,target) { initEvent.call = createEvent.call = dispatchEvent.call = call; var evt = createEvent.call(document, "Event"); initEvent.call(evt, name, false, false); evt.element = target; dispatchEvent.call(opera, evt); } function setTinyMCEVersion(e) { if (tinyMCEVersionInfo.majorVersion) return ; indexOf.call = match.call = call; if (e && indexOf.call(e.element.text, "majorVersion") > - 1) { if (match.call(e.element.text, /majorVersion\s*[:=]+\s*["']?(\d)/)) { tinyMCEVersionInfo.majorVersion = RegExp.$1; } if (match.call(e.element.text, /minorVersion\s*[:=]+\s*["']?(\d(\.\d|))/)) { tinyMCEVersionInfo.minorVersion = RegExp.$1; } } var tinyInstance = "tinyMCE" in window ? window.tinyMCE : "tinymce" in window ? window.tinymce : "tiny_mce" in window ? window.tiny_mce : null; if (tinyInstance && tinyInstance.majorVersion) tinyMCEVersionInfo = {majorVersion : tinyInstance.majorVersion, minorVersion : tinyInstance.minorVersion}; } function solveEventOrderBugs() { function fireDelayedEvents(evts) { evts = evts && evts.shift ? evts : delayedMouseMoveEvents; var ev; while (ev = evts.shift()) { ev.__opFakeEvent = true; ev.cancelBubble = false; ev.target.dispatchEvent(ev); } } var delayedMouseMoveEvents = []; var delayedMouseOutEvents = []; var delayedMouseOutTimeout = null; var lastMouseTarget = null; opera.addEventListener("BeforeEventListener.mouseover", (function (e) { lastMouseTarget = e.event.target; if (delayedMouseOutEvents.length) { fireDelayedEvents(delayedMouseOutEvents); clearTimeout(delayedMouseOutTimeout); } } ), false); opera.addEventListener("BeforeEventListener.mousemove", (function (e) { if (e.event.__opFakeEvent) return ; if (lastMouseTarget != e.event.target) { delayedMouseMoveEvents.push(e.event); e.preventDefault(); } else if (delayedMouseOutEvents.length && delayedMouseOutEvents[0].relatedTarget != e.event.target) { fireDelayedEvents(delayedMouseOutEvents); clearTimeout(delayedMouseOutTimeout); } lastMouseTarget = e.event.target; } ), false); opera.addEventListener("AfterEventListener.mouseover", fireDelayedEvents, false); opera.addEventListener("BeforeEventListener.mouseout", (function (e) { if (e.event.__opFakeEvent) return ; if (delayedMouseMoveEvents[0]) { delayedMouseOutEvents.push(e.event); e.preventDefault(); e.event.cancelBubble = true; clearTimeout(delayedMouseOutTimeout); delayedMouseOutTimeout = setTimeout((function () { fireDelayedEvents(delayedMouseOutEvents); } ), 650); } } ), false); } function adjustHeight() { var tmp, grcsr = (tmp = document.getElementById("grcsr")) && tmp.firstChild, threadHeader = (tmp = document.getElementById("thread_header")) && tmp.parentNode; if (! grcsr || ! threadHeader) return ; var height = parseInt(getComputedStyle(grcsr, null).getPropertyValue("height")) - parseInt(getComputedStyle(threadHeader, null).getPropertyValue("height")); (document.getElementById("index_splitter_pane")).style.height = height - 1 + "px"; (document.getElementById("data_splitter_pane")).style.height = height + "px"; } function fixButton(e) { if (e.button == 1) { e.__defineGetter__("button", (function () { return 0; } )); } } function allowNull(styleProp) { CSSStyleDeclaration.prototype.__defineGetter__(styleProp, (function () { return this.getPropertyValue(styleProp); } )); CSSStyleDeclaration.prototype.__defineSetter__(styleProp, (function (v) { return this.setProperty(styleProp, v || "", ""); } )); } if (! opera || opera && opera._browserjsran) return ; opera._browserjsran = true; var bjsversion = " Opera Desktop 10.00 core , April 29, 2010 "; var navRestore = {}; var shouldRestore = false; var hostname = location.hostname; var href = location.href; var pathname = location.pathname; var fixed = false; if (! opera.postError) opera.postError = (function () { } ); var postError = opera.postError, call = Function.prototype.call, indexOf = String.prototype.indexOf, lastIndexOf = String.prototype.lastIndexOf, replace = String.prototype.replace, match = String.prototype.match, toLowerCase = String.prototype.toLowerCase, getAttribute = Element.prototype.getAttribute, setAttribute = Element.prototype.setAttribute, insertBefore = Node.prototype.insertBefore, insertAdjacentHTML = Element.prototype.insertAdjacentHTML, defineMagicVariable = opera.defineMagicVariable, defineMagicFunction = opera.defineMagicFunction, version = opera.version, getElementById = Document.prototype.getElementById, appendChild = Node.prototype.appendChild, removeChild = Node.prototype.removeChild, replaceChild = Node.prototype.replaceChild, evaluate = Document.prototype.evaluate, getElementsByTagName = Document.prototype.getElementsByTagName, createElement = Document.prototype.createElement, createEvent = Document.prototype.createEvent, dispatchEvent = Document.prototype.dispatchEvent, initEvent = Event.prototype.initEvent, createTextNode = Document.prototype.createTextNode, stopPropagation = Event.prototype.stopPropagation, preventDefault = Event.prototype.preventDefault, getComputedStyle = window.getComputedStyle, slice = Array.prototype.slice, shift = Array.prototype.shift, setTimeout = window.setTimeout, removeAttribute = Element.prototype.removeAttribute, addEventListener = Document.prototype.addEventListener, isNaN = window.isNaN, RegExp = window.RegExp, unescape = window.unescape, func_toString = Function.prototype.toString, parseFloat = window.parseFloat, random = Math.random; var opera_version = parseFloat.call(window, opera.version()); var tinyMCEVersionInfo = {}; opera.addEventListener("BeforeEventListener.readystatechange", (function (e) { var element = e.event.target; preventDefault.call = random.call = postError.call = call; var elId = element.sourceIndex; if (! elId) element.__operaReadyStateFakeID__ = elId = element.__operaReadyStateFakeID__ || random.call(Math); if (element.readyState == "loaded" && element.tagName == "SCRIPT") { if (e.listener[("__operaReadyStateAlreadyCalled" + elId + "__")]) { preventDefault.call(e); postError.call(opera, "Opera applied workaround against double readystate events. See browser.js for details"); } else { e.listener["__operaReadyStateAlreadyCalled" + elId + "__"] = true; } } } ), false); window.addEventListener("load", (function () { try { var obj = document.evaluate("//input[translate(@required, \"FALSE\", \"false\")=\"false\"]", document.documentElement, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null), el, i = 0; while (el = obj.snapshotItem(i)) { el.removeAttribute("required"); i++; } } catch (e) {} } ), false); Element.prototype.constructor = Element; Event.prototype.constructor = Event; opera.addEventListener("bjsOnTinyMCEScript", (function (e) { if (tinyMCEVersionInfo.majorVersion < 3 || tinyMCEVersionInfo.majorVersion == 3 && (tinyMCEVersionInfo.minorVersion == 0 || tinyMCEVersionInfo.minorVersion == "X")) { e.element.text = e.element.text.replace(/if\s*\((tinyMCE\.|)isOpera\)\s*\{(\s*(\w{1,}\.normalize\(\);|)\s*\w{1,}\.insertNode\(\s*\w{1,}\s*\);)/g, "if(false){$2"); } } ), false); opera.addEventListener("bjsOnTinyMCEScript", (function (e) { if (e.element.src.indexOf("popup") > - 1 && (tinyMCEVersionInfo && tinyMCEVersionInfo.majorVersion < 3 && tinyMCEVersionInfo.minorVersion < 1.3 || ! tinyMCEVersionInfo.majorVersion)) { var name = tinyMCEVersionInfo.minorVersion == 0 ? "TinyMCEPopup" : "TinyMCE_Popup"; opera.defineMagicVariable(name, (function (o) { o.prototype.resizeToInnerSize = (function () { } ); o.prototype.executeOnLoad = (function (str) { eval(str); } ); return o; } ), null); } } ), false); opera.addEventListener("BeforeExternalScript", (function (ev) { match.call = replace.call = indexOf.call = toLowerCase.call = postError.call = addEventListener.call = removeEventListener.call = version.call = parseFloat.call = call; var name = ev.element.src; if (! name) { return ; } name = toLowerCase.call(name); if (indexOf.call(name, "dqm_") > - 1 || indexOf.call(name, "dnm_") > - 1 || indexOf.call(name, "cbrowser_opera.js") > - 1) { if (fixOpenCube(name)) { postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (OpenCube fix). See browser.js for details."); } return ; } else if (indexOf.call(name, "hm_loader") > - 1) { addEventListener.call(opera, "BeforeScript", (function (ev) { match.call = removeEventListener.call = postError.call = call; if (ev.element.text && ! match.call(ev.element.text, /hm_browserversion/i)) { fixHierMenus(name); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (HierMenus fix). See browser.js for details."); } removeEventListener.call(opera, "BeforeScript", arguments.callee, false); } ), false); return ; } else if (indexOf.call(name, "mmenu") > - 1 || indexOf.call(name, "milonic") > - 1) { fixMilonicMenu(name); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Milonic fix). See browser.js for details."); return ; } else if (match.call(name, /menu\d*_(com|build|var|program|compact)\.js$/)) { fixHVMenu(name); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (HVMenu fix). See browser.js for details."); return ; } else if (match.call(name, /coolmenus\d?.js$/)) { fixCoolmenus(name); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Coolmenus fix). See browser.js for details."); return ; } else if (match.call(name, /udm[_-]/) || match.call(name, /(sniffer|control)\.js$/)) { addEventListener.call(opera, "BeforeScript", (function (ev) { match.call = postError.call = call; if (match.call(name, /udm[_-]/) || indexOf.call(ev.element.text, "UDM") > - 1 || indexOf.call(ev.element.text, "um.ov=um.ov.split(/opera[\\/ ]7./);um.ov=um.pi(um.ov[1].charAt(0));") > - 1) { fixUDM(name); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (UDM fix). See browser.js for details."); } } ), false); return ; } else if (indexOf.call(name, "dynapi/api/browser.js") > - 1 || indexOf.call(name, "dynlayer.js") > - 1) { navRestore["appName"] = navigator.appName; navigator.appName = "Microsoft Internet Explorer"; shouldRestore = true; postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (DynAPI fix). See browser.js for details."); } else if (match.call(name, /stm(\d+|_menu).js$/)) { fixSoThinkMenus(); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (SoThink fix). See browser.js for details."); } else if (indexOf.call(name, "transmenu") > - 1) { fixTransmenus(); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Transmenu fix). See browser.js for details."); } else if (indexOf.call(name, "xaramenu") > - 1) { addPreprocessHandler(new RegExp("if\\(navigator.userAgent.indexOf\\('Opera'\\)!=-1\\)\\s*NS4=1;", ""), "if(navigator.userAgent.indexOf('Opera')!=-1){IE5=1;NS6=0;}"); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Xaramenu fix). See browser.js for details."); } else if (parseFloat.call(window, version.call()) < 9.5 && indexOf.call(name, "/novell/webaccess/images/msglist.js") > - 1) { defineMagicFunction.call(opera, "fixContentHeight", (function (oF,oT) { document.documentElement.clientHeight = window.innerHeight; oF.apply(oT, slice.call(arguments, 2)); } )); postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Height function fix). See browser.js for details"); } else if (indexOf.call(name, "awmlib") > - 1) { opera.addEventListener("BeforeScript", fixLiknoAllWebMenus, false); } else if (indexOf.call(name, "tiny_mce") > - 1 && "designMode" in document && ! fixed) { postError.call(opera, "TinyMCE detected. Various fixes applied. See browser.js for details"); addEventListener.call(opera, "BeforeScript", (function (e) { indexOf.call = removeEventListener.call = call; if (indexOf.call(e.element.src, "tiny_mce" > - 1)) { setTinyMCEVersion(e); sendOperaEvent("bjsOnTinyMCEScript", e.element); } } ), false); addEventListener.call(opera, "BeforeEvent.load", (function (e) { match.call = call; if (match.call(e.event.target.tagName, /iframe/i) && (match.call(e.event.target.name, /^mce_editor_\d/) || match.call(e.event.target.id, /^mce_editor_\d/))) { setTinyMCEVersion(); sendOperaEvent("bjsOnTinyMCEInstance", e.event.target); } } ), false); fixed = true; } else if (indexOf.call(name, "dev.virtualearth.net/mapcontrol/mapcontrol.ashx") > - 1 && window.SVGDocument) { navRestore.userAgent = navigator.userAgent; navigator.userAgent += "KHTML"; shouldRestore = true; } else if (indexOf.call(name, "s_code") > - 1 || indexOf.call(name, "omniture") > - 1) { avoidDocumentWriteAbuse(); } else if (indexOf.call(name, "setdomain.js") > - 1) { navRestore.userAgent = navigator.userAgent; navigator.userAgent += " Gecko"; shouldRestore = true; } if (shouldRestore) { addEventListener.call(opera, "AfterExternalScript", (function (ev) { removeEventListener.call = call; var prop; for (prop in navRestore) navigator[prop] = navRestore[prop]; removeEventListener.call(opera, "AfterExternalScript", arguments.callee, false); } ), false); } } ), false); HTMLObjectElement.prototype.__defineGetter__("launch", (function () { } )); HTMLObjectElement.prototype.__defineGetter__("installJRE", (function () { } )); HTMLEmbedElement.prototype.__defineGetter__("launch", (function () { } )); HTMLEmbedElement.prototype.__defineGetter__("installJRE", (function () { } )); opera.addEventListener("BeforeJavaScriptURL", (function (e) { unescape.call = toLowerCase.call = indexOf.call = preventDefault.call = call; var pathname = unescape.call(self, toLowerCase.call(self.location.pathname)); var hash = unescape.call(self, toLowerCase.call(self.location.hash)); if (hash && indexOf.call(hash, "javascript:") > - 1) preventDefault.call(e); } ), false); if (typeof window.scrollX == "undefined") opera.defineMagicVariable("scrollX", (function () { return window.pageXOffset; } ), null); if (typeof window.scrollY == "undefined") opera.defineMagicVariable("scrollY", (function () { return window.pageYOffset; } ), null); opera.addEventListener("BeforeExternalScript", (function (ev) { var name = ev.element.src; if (! name) { return ; } if (name.indexOf("http://api.e-map.ne.jp/jsapi.cgi") != - 1 && name.indexOf("zdccommon.js") != - 1) { Event.prototype.__defineGetter__("layerX", (function () { return this.offsetX; } )); Event.prototype.__defineGetter__("layerY", (function () { return this.offsetY; } )); } else if (name.indexOf("expapi/authentication") != - 1 || name.indexOf("rosen/authentication") != - 1) { opera.defineMagicFunction("_ch", (function () { return true; } )); } else if (name.indexOf("expapi/suggest") != - 1 || name.indexOf("rosen/suggest") != - 1) { opera.defineMagicFunction("checkBrowser", (function () { return true; } )); } else if (name.indexOf("http://ebook.webcatalog.jp/engine/java/7net/common/sCommonLib.js") != - 1) { opera.defineMagicFunction("funcGetBrowser", (function () { return 2; } )); } } ), false); if (hostname.indexOf("expedia.com") > - 1 || hostname.indexOf("expediaweb.com") > - 1) { if (location.pathname.indexOf("/pub/agent.dll") > - 1) { window.opera.defineMagicFunction("writeCarRow2", (function (oRealFunc,oThis,str) { str = str.replace(/</g, "<").replace(/>/g, ">"); return result = oRealFunc.apply(oThis, arguments.slice(2)); } )); } if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Expedia fix car rental list). See browser.js for details"); } else if ((hostname == "www.opera.com" || hostname == "jp.opera.com") && pathname.indexOf("/docs/browserjs/") == 0) { document.addEventListener(parseFloat(opera.version()) > 9 ? "DOMContentLoaded" : "load", (function () { if (document.getElementById("browserjs_active")) { (document.getElementById("browserjs_active")).style.display = ""; (document.getElementById("browserjs_active").getElementsByTagName("span"))[0].appendChild(document.createTextNode(bjsversion)); (document.getElementById("browserjs_status_message")).style.display = "none"; } else if (document.getElementById("browserjs_status_message")) { (document.getElementById("browserjs_status_message")).firstChild.data = "Browser.js is enabled! " + bjsversion; } } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Browser.js status and version reported on browser.js documentation page). See browser.js for details"); } else if (hostname.indexOf("fileplanet.com") > - 1 && href.indexOf("/sp_downloadmanager.aspx") > - 1) { opera.defineMagicVariable("agt", (function () { return "win"; } ), null); addPreprocessHandler(/(\b)window\s*.\s*opera(\b)/g, "$1undefined$2"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Fileplanet.com sniffing blocks Opera). See browser.js for details"); } else if (hostname.indexOf("nmviewogc.cr.usgs.gov") != - 1) { navigator.appName = "Netscape"; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (National Map Viewer on USGS relies on Netscape detection for functionality). See browser.js for details"); } else if (hostname.indexOf("cang.baidu.com") != - 1) { window.opera.defineMagicFunction("top", (function (originalFunction,oThis,oParam1,oParam2) { return originalFunction(); } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (cang.baidu.com for Baidu SouCang can't display saved items). See browser.js for details"); } else if (hostname.indexOf("tianya.cn") > - 1) { addCssToDocument(".wmfcCSS{ table-layout:auto !important;} .wrapper{height:auto !important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (layout issues). See browser.js for details"); } else if (hostname.indexOf(".aaa.com") > - 1) { opera.defineMagicVariable("NS6", (function () { return true; } ), null); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Sniffing on aaa.com prevents zip code search). See browser.js for details"); } else if (hostname.indexOf(".aol.") > - 1) { if (hostname.indexOf(".aol.jp") > - 1) { document.addEventListener("DOMContentLoaded", (function () { document.documentElement.className = "SAF"; } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (AOL.jp sniffing prevents styling). See browser.js for details"); } if (hostname.indexOf("aol.com") > - 1) { avoidDocumentWriteAbuse(); document.addEventListener("DOMContentLoaded", (function () { document.documentElement.className = "SAF"; } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Making sure AOL pages are not overwritten by ad script\nAOL browser sniffing causes missing styling). See browser.js for details"); } if (hostname.indexOf("news.aol.com") > - 1) { opera.defineMagicVariable("isPopUpParent", (function () { return ! /pgPopUp/.test(window.name); } ), null); opera.defineMagicVariable("swfobject", null, (function (obj) { var orig_embedSWF = obj.embedSWF; obj.embedSWF = (function (swfUrlStr,replaceElemIdStr,widthStr,heightStr,swfVersionStr,xiSwfUrlStr,flashvarsObj,parObj,attObj) { if (! document.getElementById(replaceElemIdStr)) { (function (T,A) { setTimeout((function () { A.callee.apply(T, A); } ), 100); } )(this, arguments); } return orig_embedSWF.apply(this, arguments); } ); return obj; } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (AOL popup slideshow does not load because of script execution timing issue). See browser.js for details"); } if (hostname.indexOf("webmail.aol.com") > - 1) { addCssToDocument(".containerNode .wsButton.rightBorder:first-child, .containerNode .wsButton.rightBorder:first-child .content { min-height: 100px; min-width: 5em }"); if (CSSStyleDeclaration && CSSStyleDeclaration.prototype && CSSStyleDeclaration.prototype.__defineGetter__) { var CSSStyleDeclaration_color = getComputedStyle(document.documentElement, "").__lookupGetter__("color"); CSSStyleDeclaration.prototype.__defineGetter__("color", (function () { var color = CSSStyleDeclaration_color.apply(this, arguments); return color == "#1f293b" ? "rgb(31,41,59)" : color; } )); } if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Send button does not appear\nConverting RGB to Hex confuses \"high contrast mode\" detection). See browser.js for details"); } if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (AOL). See browser.js for details"); } else if (hostname.indexOf(".dell.") != - 1 && hostname.indexOf("support.") != - 1) { opera.defineMagicVariable("ig_shared", null, (function (o) { o.IsNetscape6 = true; return o; } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " ( browser sniffing on support.dell.com). See browser.js for details"); } else if (hostname.indexOf(".dfdsseaways.") > - 1) { Date.prototype.getYear = (function () { return this.getFullYear() - 1900; } ); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (DFDS calendar is 1900 years in the future). See browser.js for details"); } else if (hostname.indexOf(".ems.com.cn") > - 1) { solveEventOrderBugs(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Menus on ems.com.cn disappear too quickly). See browser.js for details"); } else if (hostname.indexOf(".google.") > - 1 && href.indexOf("/reader/view") > - 1) { addCssToDocument(".scroll-tree .name { display: block;}"); (function (wo) { window.open = (function () { if (arguments[0] == "about:blank") { arguments[0] = ""; } return wo.apply(window, arguments); } ); } )(window.open); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Google Reader wraps long feed titles\nV shortcut in Google reader opens blank page). See browser.js for details"); } else if (hostname.indexOf(".ibm.com") > - 1) { removeClosingHTMLComments(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (IBM driver download has HTML comments inside SCRIPT tag, breaks parsing). See browser.js for details"); } else if (hostname.indexOf(".picsearch.com") > - 1) { avoidMagicBodyCreation(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Avoid bug that breaks frameset on picsearch.com). See browser.js for details"); } else if (hostname.indexOf(".t-online.de") > - 1) { if (hostname.indexOf("onunterhaltung") > - 1) { opera.defineMagicFunction("allResultsOK", (function () { return true; } )); opera.defineMagicVariable("fHasWMP64", (function () { return navigator.mimeTypes["application/x-mplayer2"].enabledPlugin ? true : false; } ), null); opera.defineMagicVariable("fHasWMP7", (function () { return navigator.mimeTypes["application/x-mplayer2"].enabledPlugin ? true : false; } ), null); opera.defineMagicVariable("WMPVer", (function () { try { return fHasWMP64 ? "6.4" : "unknown"; } catch (e) { return "6.4"; } } ), null); opera.addEventListener("BeforeScript", (function (e) { replace.call = call; e.element.text = replace.call(e.element.text, "playerframe.Player.url=url;", "playerframe.Player.url=url;nplayerframe.Player.Open(url);"); } ), false); var objId = "Player"; var objref = null; document.addEventListener("DOMContentLoaded", (function (e) { if (! (objref = document.getElementById(objId))) return ; if (objref.getAttribute("classid") == "CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6") objref.type = "application/x-mplayer2"; } ), false); document.addEventListener("DOMContentLoaded", (function (e) { var pb = document.getElementById("playBtn"); var wmp = document.getElementById("playerframe"); if (pb && wmp) { pb.parentNode.style.visibility = "hidden"; wmp.style.visibility = "visible"; try { document.images.tonaus.height = 0; document.images.tonaus.width = 0; } catch (e) {} } } ), false); } if (hostname.indexOf("vod") > - 1) { navigator.userAgent += " Firefox"; } if (href.indexOf("__license=delivered") > - 1) { location.replace(location.href.replace(/__license=delivered/, "?license=delivered")); } window.external = window.external || {}; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " ( video problems on T-online.de\n video problems on T-online.de, VOD section\n video problems on T-on...). See browser.js for details"); } else if (hostname.indexOf(".ulead.") > - 1) { fixMilonicMenu("mmenu.js"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Ulead.com old Milonic menu). See browser.js for details"); } else if (hostname.indexOf(".wimbledon.org") > - 1) { avoidMagicBodyCreation(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Avoid bug that breaks frameset on wimbledon.org). See browser.js for details"); } else if (hostname.indexOf(".yahoo.") > - 1) { if (hostname.indexOf("rec.feeds.yahoo.") == 0) { navigator.product = "Gecko"; addCssToDocument("#FeedTabs div.panel{overflow:auto!important}body{overflow:hidden!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Make \"add feeds\" dialog work in Y!Mail beta). See browser.js for details"); } if (hostname.indexOf(".mail.yahoo.") > - 1 && (href.indexOf("/dc/system_requirements?browser=blocked") > - 1 || href.indexOf("/dc/system_requirements?browser=unsupported") > - 1)) { location.href = "/dc/launch?sysreq=ignore"; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Y!Mail work around browser blocking). See browser.js for details"); } if (hostname.indexOf(".mail.yahoo.") >= 0 && pathname.indexOf("/dc/") == 0) { document.addEventListener("DOMContentLoaded", (function () { for (var link_count = 0, element;element = document.links[link_count];link_count++) { if (element.getAttribute("href") == "/dc/launch?consentLW=1") element.setAttribute("href", "/dc/launch?consentLW=1&sysreq=ignore"); } } ), false); HTMLButtonElement.prototype.__defineSetter__("action", (function (o) { this._action = o; } )); HTMLButtonElement.prototype.__defineGetter__("action", (function () { return this._action; } )); addPreprocessHandler("oEl.XMLDocument=oNewDOM;", "oEl.XMLDocument=oNewDOM;oEl.documentElement=oNewDOM.documentElement;"); opera.addEventListener("BeforeEventListener.load", (function (e) { if (e.event.target.tagName === "IFRAME" && /imcBody/.test(e.event.target.className)) { e.event.target.contentWindow.focus = (function () { } ); var execCom = e.event.target.contentDocument.execCommand; e.event.target.contentDocument.execCommand = (function (command) { if (command == "ForeColor") return ; execCom.apply(this, arguments); } ); e.event.target.contentDocument.__defineGetter__("designMode", (function () { return this.body.contentEditable == "true" ? "on" : "off"; } )); e.event.target.contentDocument.__defineSetter__("designMode", (function (v) { this.body.contentEditable = v == "on"; } )); } } ), false); document.__defineGetter__("designMode", (function () { return this.documentElement.contentEditable ? "on" : "off"; } )); document.__defineSetter__("designMode", (function (v) { this.documentElement.contentEditable = v == "on"; } )); window.addEventListener("mousedown", (function (evt) { var target = evt.target; var cursor = (getComputedStyle(target, null)).cursor; if (/move/i.test(cursor) || /size/i.test(cursor)) { evt.preventDefault(); } else if (! ("value" in target)) { for (var node = target;node;node = node.parentNode) { if (node.hasAttribute && node.hasAttribute("tabindex")) { evt.preventDefault(); break ; } } } } ), true); var docCreateElement = Document.prototype.createElement; if (window.XMLDocument) { XMLDocument.prototype.createElement = (function (n) { return n.indexOf(":") == - 1 ? this.createElementNS(null, n) : docCreateElement.call(this, n); } ); } else { Document.prototype.createElement = (function (n) { return n.indexOf(":") == - 1 ? this.createElementNS(null, n) : docCreateElement.call(this, n); } ); } addCssToDocument("[unselectable]::selection, [unselectable] ::selection { background-color: transparent; color: inherit }"); addCssToDocument(".dialogFooterCenter { font-size: 0; line-height: 0 } "); document.addEventListener("DOMContentLoaded", (function (e,img,addHeight) { if (img = document.getElementById("sbInner_24")) { addHeight = parseInt(img.style.height) - 32767; while (addHeight > 0) { if (addHeight > 32767) { var thisHeight = 32767; } else { thisHeight = addHeight; } var tmp = img.cloneNode(true); img.parentNode.appendChild(document.createElement("br")); (img.parentNode.appendChild(tmp)).style.height = thisHeight + "px"; addHeight -= thisHeight; } } } ), false); if (! CSSStyleSheet.prototype.addRule) CSSStyleSheet.prototype.addRule = (function (selector,css) { try { this.insertRule(selector + " { " + css + " }", this.cssRules.length); } catch (ex) {} } ); HTMLInputElement.prototype.createTextRange = HTMLTextAreaElement.prototype.createTextRange = null; fakeOncontextmenu(false, 500); HTMLElement.prototype.__defineGetter__("XMLDocument", (function () { if (this._XMLDocument) return this._XMLDocument; } )); HTMLElement.prototype.__defineSetter__("XMLDocument", (function (D) { if (D && D.firstChild) { var contents = D.firstChild.cloneNode(true); D = document.implementation.createDocument("", "", null); D.appendChild(contents); } if (D) D.loadXML = (function (xml) { var obj = new DOMParser().parseFromString(xml, "text/xml"); if (this.documentElement) this.replaceChild(obj, this.documentElement); else this.appendChild(obj); } ); return this._XMLDocument = D; } )); opera.addEventListener("BeforeEvent.mousewheel", (function (e) { var d = e.event.wheelDelta * - 1; e.event.__defineGetter__("wheelDelta", (function () { return d; } )); } ), false); Node.prototype.selectSingleNode = undefined; Node.prototype.selectNodes = undefined; addCssToDocument(".transparent_attach_btn{ left:60px !important; width: 60px !important }"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (can't get past \"new features\" screen due to redirect\nY!Mail button attribute \"action\" is a URL in W...). See browser.js for details"); } if (hostname.indexOf("auctions.yahoo.co.jp") > - 1 && pathname.indexOf("/jp/show/submit") > - 1) { opera.defineMagicFunction("auction_tos", (function (oRealFunc,oThis) { var value = oRealFunc.apply(oThis, arguments.slice(2)); div = document.getElementById("auc_insert_form"); if (div) { div.insertBefore(document.createElement("form"), div.firstChild); div.firstChild.appendChild(document.getElementById("auc_insertion_ok")); div.firstChild.appendChild(document.getElementById("auc_insertion_cancel")); } return value; } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Yahoo! Japan Auction sell item disclaimer buttons not shown). See browser.js for details"); } if (hostname.indexOf("mail") == - 1) { addPreprocessHandler(/d\.location\.href = ".*?\/browser_upgrade\.html";/g, ""); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Yahoo ISP portal blocks Opera users). See browser.js for details"); } if (hostname.indexOf("mail.yahoo") > - 1) { opera.addEventListener("BeforeEvent.keypress", (function (e) { if (e.event.keyCode > 36 && e.event.keyCode < 41) { e.event.charCode = 0; } } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Keyboard navigation of autocomplete menu fails). See browser.js for details"); } if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Yahoo!). See browser.js for details"); } else if (hostname.indexOf("adf.ly") == 0) { avoidMagicBodyCreation(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Avoid bug that breaks frameset on adf.ly). See browser.js for details"); } else if (hostname.indexOf("allrecipes.com") > - 1) { opera.addEventListener("BeforeScript", (function (e) { replace.call = indexOf.call = call; e.element.text = replace.call(e.element.text, /\u00ef\u00bb\u00bf/g, ""); } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (remove byte order marks (BOMs) that should not occur in the middle of JavaScript files). See browser.js for details"); } else if (hostname.indexOf("amazon.com.cn") > - 1) { solveEventOrderBugs(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Menus on amazon.com.cn disappear too quickly). See browser.js for details"); } else if (hostname.indexOf("ameba.jp") != - 1) { navigator.product = "Gecko"; navigator.userAgent = navigator.userAgent.replace("Opera", "0pera (spoofing as Firefox)"); addPreprocessHandler(/editor\.insertNodeAtSelection\(link\);\s*editor\.insertNodeAtSelection\(document\.createElement\('br'\)\);/, "editor.insertNodeAtSelection(link);"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Enable blog post editor on ameba.jp\nWork around Opera bug where second BR tag overwrites newly inse...). See browser.js for details"); } else if (hostname.indexOf("asahi.com") > - 1) { var docFragment = document.createDocumentFragment(); var loadingComplete = false; opera.addEventListener("BeforeScript", (function (e) { if (! loadingComplete && e.element.text.indexOf("contentsLoader.load(") > - 1) { docFragment.appendChild(e.element.cloneNode(true)); e.preventDefault(); } } ), false); window.addEventListener("DOMContentLoaded", (function (e) { loadingComplete = true; document.body.appendChild(docFragment); } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Asahi.com never stops loading). See browser.js for details"); } else if (hostname.indexOf("athome.co.jp") > - 1) { opera.defineMagicFunction("checkTargetBrowser", (function () { } )); opera.defineMagicFunction("checkTargetCookie", (function () { } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (athome.co.jp Hide warning messages because of Browser UA). See browser.js for details"); } else if (hostname.indexOf("att.com") != - 1) { opera.defineMagicVariable("isDHTML", (function () { return true; } ), null); opera.defineMagicFunction("checkBrowser", (function () { } )); navigator.appName = "Microsoft Internet Explorer"; navigator.appVersion = "MSIE" + navigator.appVersion; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (ATT / Bellsouth browser sniffing). See browser.js for details"); } else if (hostname.indexOf("barnesandnoble.com") > - 1) { window.addEventListener("load", (function () { var nodes = document.evaluate("//input[@required]", document.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null), node = null, i = 0; while (node = nodes.snapshotItem(i)) { node.removeAttribute("required"); i++; } } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Barnes&Noble uses \"required\" attributes on elements that aren't required). See browser.js for details"); } else if (hostname.indexOf("bbs.pcpop.com") > - 1) { addCssToDocument(" #wrapper {width: auto !important} "); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Page loads blank due to misnested forms). See browser.js for details"); } else if (hostname.indexOf("bcbssc.com") > - 1) { (function (gEBI) { document.getElementById = (function (idOrName) { return gEBI.call(document, arguments) || (document.getElementsByName(idOrName))[0] || null; } ); } )(document.getElementById); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Blue Cross SC looks up named elements with getElementById()). See browser.js for details"); } else if (hostname.indexOf("bioware.com") > - 1) { fixHierMenus(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (bioware.com uses outdated HierMenus). See browser.js for details"); } else if (hostname.indexOf("blogger.com") > - 1) { navigator.product = "Gecko"; navigator.userAgent = navigator.userAgent.replace(/Opera/, "Firefox") + " ( rv:1.9.0.3)"; opera.defineMagicVariable("Detect", (function (obj) { return obj; } ), (function (obj) { obj.OPERA = (function () { return false; } ); obj.MOZILLA = (function () { return true; } ); obj.IE = (function () { return false; } ); obj.IE_5_5_newer = (function () { return false; } ); return obj; } )); opera.defineMagicFunction("isCtrlKeyPressed", (function (f,t,e) { return e.ctrlKey && ! e.altKey; } )); opera.defineMagicVariable("IE_KEYSET", (function () { return true; } ), null); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Blogger: browser detection prevents WYSIWYG editing\nBlogger: Should distinguish AltGr and Ctrl). See browser.js for details"); } else if (hostname.indexOf("bookryanair.com") > - 1) { ignoreRequiredAttributes(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Make Opera's built-in WF2 validation ignore required attributes on bookryanair.com). See browser.js for details"); } else if (hostname.indexOf("britannica.com") > - 1) { avoidDocumentWriteAbuse(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Prevent overwriting document with stats graphic on britannica.com). See browser.js for details"); } else if (hostname.indexOf("britishairways.") != - 1) { opera.defineMagicFunction("resizeHandler", (function () { } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Prevent britishairways.com from reloading the page on resize). See browser.js for details"); } else if (hostname.indexOf("cajamadrid.es") != - 1) { addCssToDocument("body:last-child .clearfix {content:normal!important;}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Caja Madrid hides login form by CSS mistake). See browser.js for details"); } else if (hostname.indexOf("capitalone.com") > - 1 && location.protocol == "https:") { document.domain = "capitalone.com"; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (CapitalOne login fails - cross-domain access on https disallows setting location). See browser.js for details"); } else if (hostname.indexOf("cdec-sic.cl") != - 1) { fixHierMenus(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Old HierMenus on cdec-sic.cl). See browser.js for details"); } else if (hostname.indexOf("cdon.") > - 1) { addCssToDocument("ul#article-list li { position: inherit !important; }"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Shopping cart not displayed). See browser.js for details"); } else if (hostname.indexOf("chaseonline.chase.com") != - 1) { opera.defineMagicFunction("handleTabs", (function (oT,oF,name) { function jumpToNext(el) { var i = 0; if (el.form) { while (el != el.form[i]) i++; } else { return ; } if (el.form[(i + 1)]) el.form[(i + 1)].focus(); } var el = document.getElementById(name); if (el && el.value.length + 1 >= el.maxLength && ! (event.keyCode == 8 || event.keyCode == 46)) { setTimeout((function () { jumpToNext(el); } ), 100); } } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (chase.com field refocus from onkeypress-problem). See browser.js for details"); } else if (hostname.indexOf("china-pub.com") > - 1) { opera.defineMagicFunction("src", (function (func,realThis,ev) { try { var returnValue = func.apply(realThis, arguments.slice(2)); } catch (e) { if (ev && ev.target && returnValue == undefined) return ev.target; } return returnValue; } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Work around window.event getter bug). See browser.js for details"); } else if (hostname.indexOf("cs.kddi.com") > - 1) { window.close = (function () { } ); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Prevent KDDI site's \"anti-multiple-tabs\" script from closing window randomly). See browser.js for details"); } else if (hostname.indexOf("danawa.com") != - 1 && href.indexOf("danawa.com/product/item.html") != - 1) { HTMLBodyElement.prototype.__defineGetter__("offsetHeight", (function () { return this.scrollHeight; } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Iframe content height is too small and not expanded on danawa.com). See browser.js for details"); } else if (hostname.indexOf("deviantart.com") > - 1) { opera.addEventListener("BeforeEventListener.mousedown", (function (e) { func_toString.call = preventDefault.call = call; if (func_toString.call(e.listener) == "function(){return false}" && e.event.target.tagName == "INPUT") { preventDefault.call(e); } } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " ( deviantart.com prevents mousedown on file inputs, making it impossible to select files). See browser.js for details"); } else if (hostname.indexOf("digg.com") != - 1) { Element.prototype.appendChild = (function (ac) { return (function (newChild) { var parent = this; var addIt = (function () { return ac.call(parent, newChild); } ); if (newChild.tagName == "SCRIPT") { setTimeout(addIt, 1); return newChild; } else { return addIt(); } } ); } )(Element.prototype.appendChild); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (script scheduling trouble on digg.com). See browser.js for details"); } else if (hostname.indexOf("ebay") > - 1) { if (hostname.indexOf(".ebay.") > - 1) { HTMLSelectElement.prototype.remove = (function (child) { if (typeof child === "number" && this.options[child]) { child = this.options[child]; } else if (! (typeof child === "object" && child.parentNode === this)) { return ; } Element.prototype.removeChild.call(this, child); } ); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (ebay.fr hangs, Opera doesn't support option node passed to SELECT.remove()). See browser.js for details"); } if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (eBay). See browser.js for details"); } else if (hostname.indexOf("ent.sina.com.cn") > - 1) { addCssToDocument(".NewStars .NS_right{float:left}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Wrapping content in NewStars section). See browser.js for details"); } else if (hostname.indexOf("enter.nifmail.jp") > - 1) { opera.defineMagicFunction("checkBrowser", (function () { return 1; } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Nifmail web mail bypass browser blocking). See browser.js for details"); } else if (hostname.indexOf("etour.co.jp") > - 1) { navigator.appName = "Netscape"; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (etour.co.jp fix non-disappearing overlapping image). See browser.js for details"); } else if (hostname.indexOf("fedex.com") != - 1) { document.addEventListener("DOMContentLoaded", (function () { for (var els = document.getElementsByTagName("td"), el, i = 0;el = els[i];i++) if (el.style.display == "block") el.style.display = ""; } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (FedEx.com mangles tables by turning TDs into block elements). See browser.js for details"); } else if (hostname.indexOf("forums.xbox.com") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on XBox forum). See browser.js for details"); } else if (hostname.indexOf("fotki.com") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on some fotki.com pages). See browser.js for details"); } else if (hostname.indexOf("fujifilm.ch") > - 1) { addCssToDocument("#navigation ul#primary li ul.secondary_drop_down li {display: inline !important }"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Working around a bug that hides menu entries). See browser.js for details"); } else if (hostname.indexOf("geoaccess.com") != - 1) { opera.defineMagicVariable("is_nav", (function () { return true; } ), null); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " ( BlueCross browser sniffing prevents insurance search). See browser.js for details"); } else if (hostname.indexOf("github.com") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on github.com). See browser.js for details"); } else if (hostname.indexOf("grainger.com") > - 1) { document.__defineSetter__("onload", (function () { } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (ignore document.onload on grainger.com). See browser.js for details"); } else if (hostname.indexOf("groups.google.") > - 1 && pathname.indexOf("/browse_frm/thread/") > - 1) { document.addEventListener("DOMContentLoaded", adjustHeight, false); window.addEventListener("resize", adjustHeight, false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Opera's interpretation of 100% height isn't high enough for Google Groups). See browser.js for details"); } else if (hostname.indexOf("ibank.isb.ru") != - 1) { navigator.__defineGetter__("family", (function () { return "gecko"; } )); navigator.__defineSetter__("family", (function () { } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (browser sniffing breaks ibank.isb.ru). See browser.js for details"); } else if (hostname.indexOf("ingdirect.com.au") > - 1) { ignoreRequiredAttributes(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Make Opera's built-in WF2 validation ignore required attributes on ingdirect.com.au). See browser.js for details"); } else if (hostname.indexOf("investordaily.com.au") > - 1) { opera.defineMagicFunction("minmax_scan", (function () { } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Override minmax IE helper script). See browser.js for details"); } else if (hostname.indexOf("ironmaiden.com") > - 1) { solveEventOrderBugs(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (fix disappearing menu on ironmaiden.com). See browser.js for details"); } else if (hostname.indexOf("isbank.com.tr") > - 1) { opera.addEventListener("BeforeScript", (function (e) { replace.call = call; e.element.text = replace.call(e.element.text, "SaklaGoster(sFrameAdi, 0, i.sMenuAd);};else if", "SaklaGoster(sFrameAdi, 0, i.sMenuAd);}else if"); } ), false); var ignoreKeypressCodes = {8 : "", 9 : "", 16 : "", 17 : "", 35 : "", 36 : "", 37 : "", 38 : "", 39 : "", 40 : "", 45 : "", 46 : ""}; opera.addEventListener("BeforeEventListener.keypress", (function (e) { preventDefault.call = call; if (e.event.keyCode in ignoreKeypressCodes) preventDefault.call(e); } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " ( fixing navigation menu on isbank.com.tr\nfixing keypress handler on isbank.com.tr). See browser.js for details"); } else if (hostname.indexOf("kasyouen.com") > - 1) { opera.defineMagicFunction("minmax_scan", (function () { } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Override minmax IE helper script). See browser.js for details"); } else if (hostname.indexOf("kr.msn.com") != - 1) { addCssToDocument("li:after, ul:after{display:none!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (head layout broken on kr.msn.com). See browser.js for details"); } else if (hostname.indexOf("livejournal.com") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on some livejournal pages with many entries). See browser.js for details"); } else if (hostname.indexOf("lovdata.no") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on lovdata.no). See browser.js for details"); } else if (hostname.indexOf("mail.google") > - 1) { if (navigator.userAgent.indexOf("PPC Mac") > - 1) { opera.addEventListener("PluginInitialized", (function (e) { if (/application\/x-shockwave-flash/i.test(e.element.type)) e.element.parentNode.removeChild(e.element); } ), false); } if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Avoid Flash content on mail.google.com due to crasher). See browser.js for details"); } else if (hostname.indexOf("mail.google.") > - 1) { opera.addEventListener("BeforeEventListener.keypress", (function (e) { preventDefault.call = call; if (e.event.keyCode == 35 && ! e.event.shiftKey) { preventDefault.call(e); } } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (GMail deletes messages on End key presses). See browser.js for details"); } else if (hostname.indexOf("mail.live.com") != - 1) { window.addEventListener("mousedown", fixButton, true); window.addEventListener("mousemove", fixButton, true); window.addEventListener("mouseup", fixButton, true); if (document.selection) document.selection.empty = (function () { var sel = getSelection(); if (! sel.isCollapsed) { sel.removeAllRanges(); } } ); opera.defineMagicVariable("_dapUtils", (function (obj) { obj.is_ff_closeIfrm = false; return obj; } ), null); addCssToDocument(".c_is { display: inline-block }"); CSSStyleDeclaration.prototype.__defineGetter__("filter", (function () { return undefined; } )); var styleDec = document.documentElement ? document.documentElement.style : null; if (styleDec) { var getBorderColor = styleDec.__lookupGetter__("borderColor"); var setBorderColor = styleDec.__lookupSetter__("borderColor"); CSSStyleDeclaration.prototype.__defineGetter__("borderColor", (function () { if (parseFloat(this.borderWidth, 10)) { return getBorderColor.apply(this, arguments); } return ""; } )); CSSStyleDeclaration.prototype.__defineSetter__("borderColor", setBorderColor); } allowNull("left"); allowNull("top"); addCssToDocument("html .SplitterBarH { cursor: s-resize } html .SplitterBarV { cursor: e-resize } #masterSplitter { cursor: e-resize }"); if (! /EditMessageLight/.test(location.pathname)) { var browser = undefined; window.__defineGetter__("Browser", (function () { return browser; } )); window.__defineSetter__("Browser", (function (v) { browser = v; if (browser) { delete browser.isFF; delete browser.isFF2; delete browser.isFF3; } return browser; } )); } var stuff = ((navigator.userAgent.split("("))[1].split(")"))[0].split(";"); stuff.pop(); navigator.userAgent = "Opera/" + opera.version() + " (" + stuff.join(";") + ") Presto/" + (parseFloat(opera.version()) < 10 ? "2.1" : "2.2"); if (/Mac OS X/.test(navigator.userAgent)) { addCssToDocument("html .EditArea, html .ExternalClass { font-family: Verdana }"); } var getCssText = (function () { if (! this.href) { return this.ownerNode.textContent; } else { try { var xhr = new XMLHttpRequest(); xhr.open("GET", this.href, false); xhr.send(); return xhr.responseText; } catch (e) { return ""; } } } ); if (window.__defineGetter__) { CSSStyleSheet.prototype.__defineGetter__("cssText", getCssText); CSSStyleSheet.prototype.__defineSetter__("cssText", (function (v) { if (! this.href) { this.ownerNode.innerHTML = ""; return this.ownerNode.appendChild(document.createTextNode(v)); } } )); } else { window.addEventListener("load", (function () { for (var i = 0;i < document.styleSheets.length;i++) { if (document.styleSheets[i]) document.styleSheets[i].cssText = {_styleRef : document.styleSheets[i], toString : (function () { return this._styleRef.ownerNode.textContent; } )}; } } ), false); } window.getComputedStyle = (function () { var result = getComputedStyle.apply(this, arguments); if (/ContactPicker/.test(arguments[0].id)) { result.__defineGetter__("height", (function () { return "300px"; } )); } return result; } ); var newMailSource = ""; opera.addEventListener("AfterScript", (function () { if ((document.getElementsByName("fMessageBody"))[0] && newMailSource === "") { newMailSource = (document.getElementsByName("fMessageBody"))[0].value; opera.removeEventListener("AfterScript", arguments.callee, false); } } ), false); HTMLAnchorElement.prototype.getAttribute = (function (n) { if (n == "aNewWin" && getAttribute.call(this, "aIdx") != null) return "true"; return getAttribute.call(this, n); } ); var window_open = window.open; window.open = (function () { if (/ScanAttachment\.aspx/.test(arguments[0])) { var url = arguments[0]; arguments[0] = ""; } var w = window_open.apply(this, arguments); if (url) { w.location.href = "data:text/html," + encodeURIComponent("

Downloading attachment...
Close window

"); setTimeout((function () { w.location.href = url; } ), 1); } return w; } ); fakeOncontextmenu(false, 300); var styleSetterLookupMethod = (document.createElement("span")).style.__lookupSetter__; CSSStyleDeclaration.prototype.__lookupSetter__ = (function (prop) { return styleSetterLookupMethod.call((document.createElement("span")).style, prop); } ); var realHTMLElementDefineGetter = HTMLElement.prototype.__defineGetter__; HTMLElement.prototype.__defineGetter__ = (function (name,func) { if (name in {document : ""}) return ; realHTMLElementDefineGetter.call(this, name, func); } ); opera.defineMagicFunction("dap_Resize", (function () { } )); document.addEventListener("load", (function (e) { function fakeOnselectionchange() { var b = doc.createEvent("Event"); b.initEvent("selectionchange", true, false); doc.dispatchEvent(b); } if (e.target instanceof HTMLIFrameElement && e.target.id == "RichTextEditor_surface") { try { var doc = e.target.contentDocument; var win = doc.defaultView; var fakeHotmailSelectionObject; win.HTMLDocument.prototype.__defineSetter__("selection", (function (obj) { fakeHotmailSelectionObject = obj; } )); doc.__defineGetter__("selection", (function () { return fakeHotmailSelectionObject; } )); setTimeout((function () { doc.addEventListener("mouseup", fakeOnselectionchange, false); doc.addEventListener("DOMCharacterDataModified", fakeOnselectionchange, false); doc.addEventListener("keydown", fakeOnselectionchange, false); doc.addEventListener("keyup", fakeOnselectionchange, false); } ), 500); } catch (e) {} } } ), true); addCssToDocument(".RTE .Container iframe{width: 100% !important; height: 100% !important}"); addCssToDocument(".ContactPicker_AutoComplete img{position:static!important;}"); opera.addEventListener("BeforeEventListener.load", (function (e) { var target = e.event.target; if (target.tagName == "IFRAME" && target.src.indexOf(location.hostname) > - 1 && target.src.indexOf(location.hostname) < target.src.indexOf("/", 8)) { var delayLoadEvent = false; try { target.contentWindow.document.body; } catch (e) { delayLoadEvent = true; } if (delayLoadEvent) { e.preventDefault(); var interval = setInterval((function () { try { target.contentWindow.document.body; e.listener.call(target, e.event); if (typeof newMailSource != "undefined" && newMailSource != "" && (document.getElementsByName("fMessageBody"))[0].value.match(/^[\r\n\s]*$/) && target.contentWindow.document.body.innerText.match(/^[\r\n\s]*$/)) { target.contentWindow.document.body.innerHTML = newMailSource; } clearInterval(interval); } catch (e) {} } ), 200); } } } ), false); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Fix drag and drop in Hotmail\ndefine document.selection.empty in Hotmail (part of drag-and-drop fix)...). See browser.js for details"); } else if (hostname.indexOf("mail.ru") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on some mail.ru pages with many comments). See browser.js for details"); } else if (hostname.indexOf("maps.google.") > - 1) { fakeOncontextmenu(true, 500); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Enable click-and-hold to show context menu in map). See browser.js for details"); } else if (hostname.indexOf("mb.softbank.jp") != - 1) { if (location.protocol.indexOf("https:") != - 1 && location.pathname.indexOf("/scripts/japanese/mysoftbank/login.jsp") != - 1) { document.addEventListener("DOMContentLoaded", (function () { var els = document.getElementsByTagName("meta"); for (var i = 0;i < els.length;i++) { if (els[i].getAttribute("http-equiv") == "Refresh") { document.write(""); var timestamp = new Date().getTime(); var url = (els[i].getAttribute("content").match(/.*URL=([^;]*)/))[1]; location.href = location.protocol + "//" + location.hostname + url + (url.indexOf("?") != - 1 ? "&" : "?") + timestamp; } } } ), false); } (function () { var the_parent; opera.defineMagicVariable("parent", (function () { return the_parent; } ), (function (o) { the_parent = o; } )); } )(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (My SoftBank login redirection fix\nSoftbank shop uses reserved variable name parent). See browser.js for details"); } else if (hostname.indexOf("moneta.co.kr") != - 1) { addCssToDocument("#stocking{position:relative}#stocking>div{position:absolute}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " ( moneta.co.kr relies on IE quirks for CSS positioning). See browser.js for details"); } else if (hostname.indexOf("msdn.microsoft.com") != - 1) { HTMLBodyElement.prototype.__defineGetter__("scrollWidth", (function () { return this.document.documentElement.scrollWidth; } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (MSDN menus are invisible, should appear). See browser.js for details"); } else if (hostname.indexOf("msnbc.com") > - 1) { opera.defineMagicVariable("oSniff", (function (o) { return o; } ), (function () { window["oSniff"].nn = 5; } )); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (MSNBC sniffing hides Flash content). See browser.js for details"); } else if (hostname.indexOf("namooya.com") > - 1) { document.attachEvent = undefined; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Namooya.com main flash does not appear). See browser.js for details"); } else if (hostname.indexOf("nasdaq.com") > - 1) { addCssToDocument("#content{clear: none !important;}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Fix Nasdaq overlapping content). See browser.js for details"); } else if (hostname.indexOf("nationalgeographic.com") > - 1) { addCssToDocument("ul#navigation_tophat_primary > li > h3 > a, ul#navigation_tophat_primary > li > ul > li > a {display: inline !important; }"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Work around layout bug that breaks navigation menu on nationalgeographic.com). See browser.js for details"); } else if (hostname.indexOf("nbc.com") > - 1) { navigator.userAgent += " Chrome/5.0.375.9 Safari/533.4"; if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Make NBC videos work). See browser.js for details"); } else if (hostname.indexOf("ncbi.nlm.nih.gov") > - 1) { addCssToDocument("body,html{height:auto!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (No scrollbars on certain ncbi.nlm.nih.gov query pages). See browser.js for details"); } else if (hostname.indexOf("news.msn.co.kr") > - 1) { addCssToDocument("#home{position:relative!important}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (news.msn.co.kr navigation bar is offset from the page). See browser.js for details"); } else if (hostname.indexOf("news.naver.com") > - 1) { addCssToDocument("div.snb li div {overflow: visible !important;}"); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Make menus visible on news.naver.com). See browser.js for details"); } else if (hostname.indexOf("news.qq.com") > - 1) { HTMLSelectElement.prototype.add = (function () { this.appendChild.apply(this, arguments); } ); var gEBI = document.getElementById; document.getElementById = (function () { var result = gEBI.apply(this, arguments); if (! result) result = (document.getElementsByName.apply(this, arguments))[0]; return result; } ); opera.defineMagicVariable("ie4", (function () { return true; } ), null); fakeCSSFilters(); if (self == top) postError.call(opera, "Opera has modified the JavaScript on " + hostname + " (Requires add() method on SELECT elements\nweather.news.qq.com expects getElementById() to find named...). See browser.js for details"); } else if (hostname.indexOf("news.sina.com.cn") > - 1) { opera.addEventListener("BeforeScript", (function (e) { var regexp = /^\s*