module.exports = { getPageYOffset: function () { if (document.documentElement.scrollTop) return document.documentElement.scrollTop; else return document.body.scrollTop; }, getPageXOffset: function () { if (document.documentElement.scrollLeft) return document.documentElement.scrollLeft; else return document.body.scrollLeft; }, getInnerHeight: function () { if (document.documentElement.clientHeight) return document.documentElement.clientHeight; else return document.body.clientHeight; }, getInnerWidth: function () { if (document.documentElement.clientWidth) return document.documentElement.clientWidth; else return document.body.clientWidth; }, createRadio: function (radioName) { var radio; try { radio = document.createElement (''); } catch (e) { radio = document.createElement ('input'); radio.type = 'radio'; radio.name = radioName; } return radio; }, setInputTypeNumber: function (input) { input.type = 'text'; } }; if (!Function.bind) { Function.prototype.bind = function () { var bindFunc = this; var bindThis = arguments[0]; var bindArgs = arguments; var IE_bind = function () { var args = new Array (); for (var i = 1; i < bindArgs.length; i++) args.push (bindArgs[i]); for (var i = 0; i < arguments.length; i++) args.push (arguments[i]); bindFunc.apply (bindThis, args); } return IE_bind; } } // attachEvent -> addEventListener if (window.attachEvent && !window.addEventListener) { function IE_addEventListener (signal, func, capture) { var obj = this; func.IE_eventHandler = function (event) { event.target = event.srcElement; event.layerY = event.clientY; event.layerX = event.clientX; event.pageX = event.offsetX; event.pageY = event.offsetY; event.stopPropagation = function () { this.cancelBubble = true; } func.call (obj, event); } this.attachEvent ('on' + signal, func.IE_eventHandler); } function IE_removeEventListener (signal, func, capture) { this.detachEvent ('on' + signal, func.IE_eventHandler); } window.addEventListener = IE_addEventListener; window.removeEventListener = IE_removeEventListener; document.addEventListener = IE_addEventListener; document.removeEventListener = IE_removeEventListener; var IE_createElement = document.createElement; document.createElement = function (tagName) { var node = IE_createElement (tagName); node.addEventListener = IE_addEventListener; node.removeEventListener = IE_removeEventListener; return node; } } // ActiveXObject ('Microsoft.XMLHTTP') -> XMLHttpRequest if (!window.XMLHttpRequest && window.ActiveXObject) { function XMLHttpRequest () { return new ActiveXObject ('Microsoft.XMLHTTP'); } }