This tests that functions of the window object and it's prototype have precedence in lookup over elements with id's of the same name.

PASS: typeof window.getSelection should be function and is.
PASS: typeof window.focus should be function and is.
PASS: typeof window.blur should be function and is.
PASS: typeof window.close should be function and is.
PASS: typeof window.print should be function and is.
PASS: typeof window.stop should be function and is.
PASS: typeof window.alert should be function and is.
PASS: typeof window.confirm should be function and is.
PASS: typeof window.prompt should be function and is.
PASS: typeof window.find should be function and is.
PASS: typeof window.scrollBy should be function and is.
PASS: typeof window.scrollTo should be function and is.
PASS: typeof window.scroll should be function and is.
PASS: typeof window.moveBy should be function and is.
PASS: typeof window.moveTo should be function and is.
PASS: typeof window.resizeBy should be function and is.
PASS: typeof window.resizeTo should be function and is.
PASS: typeof window.getComputedStyle should be function and is.
PASS: typeof window.getMatchedCSSRules should be function and is.
PASS: typeof window.openDatabase should be function and is.
FAIL: typeof window.postMessage should be function but instead is object
PASS: typeof window.atob should be function and is.
PASS: typeof window.btoa should be function and is.
PASS: typeof window.open should be function and is.
PASS: typeof window.setTimeout should be function and is.
PASS: typeof window.clearTimeout should be function and is.
PASS: typeof window.setInterval should be function and is.
PASS: typeof window.clearInterval should be function and is.
PASS: typeof window.addEventListener should be function and is.
PASS: typeof window.removeEventListener should be function and is.
FAIL: typeof window.showModalDialog should be function but instead is undefined
PASS: typeof window.captureEvents should be function and is.
PASS: typeof window.releaseEvents should be function and is.
PASS: typeof window.eval should be function and is.
PASS: typeof window.parseInt should be function and is.
PASS: typeof window.parseFloat should be function and is.
PASS: typeof window.isNaN should be function and is.
PASS: typeof window.isFinite should be function and is.
PASS: typeof window.escape should be function and is.
PASS: typeof window.unescape should be function and is.
PASS: typeof window.decodeURI should be function and is.
PASS: typeof window.decodeURIComponent should be function and is.
PASS: typeof window.encodeURI should be function and is.
PASS: typeof window.encodeURIComponent should be function and is.
FAIL: typeof window.toString should be function but instead is object
FAIL: typeof window.toLocaleString should be function but instead is object
FAIL: typeof window.valueOf should be function but instead is object
FAIL: typeof window.hasOwnProperty should be function but instead is object
FAIL: typeof window.propertyIsEnumerable should be function but instead is object
FAIL: typeof window.isPrototypeOf should be function but instead is object
FAIL: typeof window.__defineGetter__ should be function but instead is object
FAIL: typeof window.__defineSetter__ should be function but instead is object
FAIL: typeof window.__lookupGetter__ should be function but instead is object
FAIL: typeof window.__lookupSetter__ should be function but instead is object
PASS: typeof window.myFunction should be function and is.
PASS: typeof window.myPrototypeFunction should be function and is.
