String.prototype.camelize = function(){ var arrThis = this.split('-'); if(arrThis.length == 1){ return this; }else{ var wordCamelized = arrThis[0]; var firstSymbol; for(var i = 1; i < arrThis.length; i++){ firstSymbol = arrThis[i].substr(0, 1); arrThis[i] = arrThis[i].substr(1); arrThis[i] = firstSymbol.toUpperCase() + arrThis[i]; wordCamelized+=arrThis[i]; } return wordCamelized; } } var Style = { _check_browser: function(){ if(window.getComputedStyle){ if(window.opera) { return "Opera"; }else{ return "Gecko"; } }else{ return "IE"; } }, _browser_version: function(){ return this["_" + this._browser + "_version"](); }, _IE_version: function(){ var i = navigator.appVersion.indexOf("MSIE") + 5; var version = ""; while(navigator.appVersion.charAt(i) != ";"){ version += navigator.appVersion.charAt(i); i++; } return version; }, _Gecko_version: function(){ if(navigator.userAgent.indexOf("Firefox") == -1){ return "unknown"; } var i = navigator.userAgent.indexOf("Firefox\/") + 8; return navigator.userAgent.substr(navigator.userAgent.indexOf("Firefox\/") + 8); }, _Opera_version: function(){ return navigator.appVersion.substring(0, navigator.appVersion.indexOf(" ")); }, getElementStyle: function(elem, property){ var ME = arguments.callee; var value = null; if(window.getComputedStyle) { var compStyle = window.getComputedStyle(elem, ''); value = compStyle.getPropertyValue(property); }else if(elem.currentStyle){ if(property == "float") property = "style-float"; value = elem.currentStyle[property.camelize()]; //!!String.camelize() } if(typeof value != "undefined") return value; }, setElementStyle: function(objElem, propName, propVal, usePx){ var elem = (typeof objElem == "string") ? document.getElementById(objElem) : objElem; if(typeof propName == "string"){ if(usePx && (typeof propVal == "number")){ propVal += "px"; } elem.style[propName] = propVal; }else if(typeof propName == "object"){ for(var i in propName){ var val = propName[i]; if(typeof val == "number" && usePx){ val += "px"; }//if elem.style[i] = val; }//for }//if-else-if //End of FUCNTION } } Style._getParents = function(elem){ var pars = []; elem = elem.parentNode; while(elem.tagName.toUpperCase() != "BODY"){ pars.push(elem); elem = elem.parentNode; } return pars; } Style._getRelativeParent = function(elem){ var pars = this._getParents(elem); var relItem; for(var i = 0; i < pars.length; i++){ var item = pars[i]; if(Style.getElementStyle(item, "position") == "relative"){ return item; } } } Style._browser = Style._check_browser(); Style._br_version = Style._browser_version();