// JS Version 5.0+ (IE 5.0+, Opera 7+, Mozilla 1+) // partially JS 3.0 compatible Object.createPackage = function(path) { var root = window, parts = path.split('.'), part; for (var i = 0; i < parts.length; i++) { part = parts[i]; if (!root[part]) { root[part] = {}; } root = root[part]; } root.getInstance = function() { return this; } return root; } Object.findObject = function(path) { var root = window, parts = path.split('.'), part; for (var i = 0; i < parts.length; i++) { part = parts[i]; root = root[part]; if (!root) { return null; } } return root; } Object.createPackage('js.vars'); js.vars.ua = navigator.userAgent.toLowerCase(); Object.createPackage('js.ui.BrowserCaps'); js.ui.BrowserCaps.isIE = (js.vars.ua.indexOf('msie') != -1); js.ui.BrowserCaps.isOpera = (js.vars.ua.indexOf('opera') != -1); js.ui.BrowserCaps.isIE = js.ui.BrowserCaps.isIE && !js.ui.BrowserCaps.isOpera; js.ui.BrowserCaps.isGecko = (js.vars.ua.indexOf('gecko') != -1); js.ui.Image = new function() { this.create = function() { var res = []; for (var i = 0; i < arguments.length; i++) { var img = new Image(); img.src = arguments[i]; res[res.length] = img; } return res; } } Object.createPackage('js.ui.WebForms'); js.ui.WebForms.GetScrollY = function() { if (js.ui.BrowserCaps.isIE) { if (document.documentElement && document.documentElement.scrollTop) { return document.documentElement.scrollTop; } else if (document.body) { return document.body.scrollTop; } } else { return window.pageYOffset; } return 0; }