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'); } }