function getWidth(element) { var width; if (element.offsetWidth) width = element.offsetWidth; else if (element.clientWidth) width = element.clientWidth; else width = element.scrollWidth; width = parseInt(width); if (isNaN(width)) return 0; else return width; } function getHeight(element) { var height; if (element.offsetHeight) height = element.offsetHeight; else if (element.clientHeight) height = element.clientHeight; else height = element.scrollHeight; height = parseInt(height); if (isNaN(height)) return 0; else return height; } function getLeft(element) { var curLeft = 0; if (element.offsetParent) { while (element.offsetParent) { curLeft += element.offsetLeft; element = element.offsetParent; } } else if (element.x) curLeft = element.x; return curLeft; } function getTop(element) { var curTop = 0; if (element.offsetParent) { while (element.offsetParent) { curTop += element.offsetTop; element = element.offsetParent; } } else if (element.y) curTop = element.y; return curTop; } function getRightAlignOffset(element, target) { var offset = getLeft(target); offset += getWidth(target); offset -= getWidth(element); return offset; } function getStringWidth(string) { if (string == '') return 0; var div = createHiddenDiv(); div.innerHTML = string; return getWidth(div); } function getWindowWidth() { if (window.innerWidth) return window.innerWidth; else if (document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth; else if (document.body && document.body.clientWidth) return document.body.clientWidth; else return -1; } function createHiddenDiv() { var div = getElement('hiddenDiv'); if (div == null) { div = document.createElement('div'); div.style.position = "absolute"; div.style.left = -10000; div.id = 'hiddenDiv'; div.style.padding = '0px'; div.style.margin = '0px'; document.body.appendChild(div); } return div; }