diff options
Diffstat (limited to 'phpBB/gym_sitemaps/style/gym_js.js')
-rw-r--r-- | phpBB/gym_sitemaps/style/gym_js.js | 317 |
1 files changed, 317 insertions, 0 deletions
diff --git a/phpBB/gym_sitemaps/style/gym_js.js b/phpBB/gym_sitemaps/style/gym_js.js new file mode 100644 index 0000000000..a8c6f0e53e --- /dev/null +++ b/phpBB/gym_sitemaps/style/gym_js.js @@ -0,0 +1,317 @@ +/* +* New function for handling multiple calls to window.onload and window.unload by pentapenguin ( phpBB3 ) +*/ +var onload_functions = new Array(); +var onunload_functions = new Array(); +window.onload = function() { + BrowserDetect.init(); + if (BrowserDetect.browser == 'Firefox') { + var elements = document.getElementsByTagName('span'); + for (var i = 0; i < elements.length; i++) { + var el = elements[i]; + if (el.className == 'html') { + el.innerHTML = el.firstChild.data; + } + } + } + for (i = 0; i <= onload_functions.length; i++) { + eval(onload_functions[i]); + } +} +window.onunload = function() { + for (i = 0; i <= onunload_functions.length; i++) { + eval(onunload_functions[i]); + } +} +// phpBB3 bbcodes +function selectCode(a) { + // Get ID of code block + var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0]; + if (window.getSelection) { // Not IE + var s = window.getSelection(); + if (s.setBaseAndExtent) { // Safari + s.setBaseAndExtent(e, 0, e, e.innerText.length - 1); + } else { // Firefox and Opera + var r = document.createRange(); + r.selectNodeContents(e); + s.removeAllRanges(); + s.addRange(r); + } + } else if (document.getSelection) { // Some older browsers + var s = document.getSelection(); + var r = document.createRange(); + r.selectNodeContents(e); + s.removeAllRanges(); + s.addRange(r); + } else if (document.selection) { // IE + var r = document.body.createTextRange(); + r.moveToElementText(e); + r.select(); + } +} +// phpBB3 styleswitcher.js +function fontsizeup() +{ + var active = getActiveStyleSheet(); + + switch (active) + { + case 'A--': + setActiveStyleSheet('A-'); + break; + + case 'A-': + setActiveStyleSheet('A'); + break; + + case 'A': + setActiveStyleSheet('A+'); + break; + + case 'A+': + setActiveStyleSheet('A++'); + break; + + case 'A++': + setActiveStyleSheet('A'); + break; + + default: + setActiveStyleSheet('A'); + break; + } +} + +function fontsizedown() +{ + active = getActiveStyleSheet(); + + switch (active) + { + case 'A++' : + setActiveStyleSheet('A+'); + break; + + case 'A+' : + setActiveStyleSheet('A'); + break; + + case 'A' : + setActiveStyleSheet('A-'); + break; + + case 'A-' : + setActiveStyleSheet('A--'); + break; + + case 'A--' : + break; + + default : + setActiveStyleSheet('A--'); + break; + } +} + +function setActiveStyleSheet(title) +{ + var i, a, main; + + for (i = 0; (a = document.getElementsByTagName('link')[i]); i++) + { + if (a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) + { + a.disabled = true; + if (a.getAttribute('title') == title) + { + a.disabled = false; + } + } + } +} + +function getActiveStyleSheet() +{ + var i, a; + + for (i = 0; (a = document.getElementsByTagName('link')[i]); i++) + { + if (a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title') && !a.disabled) + { + return a.getAttribute('title'); + } + } + + return null; +} + +function getPreferredStyleSheet() +{ + return ('A-'); +} + +function createCookie(name, value, days) +{ + if (days) + { + var date = new Date(); + date.setTime(date.getTime() + (days*24*60*60*1000)); + var expires = '; expires=' + date.toGMTString(); + } + else + { + expires = ''; + } + + document.cookie = name + '=' + value + expires + '; path=/'; +} + +function readCookie(name) +{ + var nameEQ = name + '='; + var ca = document.cookie.split(';'); + + for (var i = 0; i < ca.length; i++) + { + var c = ca[i]; + + while (c.charAt(0) == ' ') + { + c = c.substring(1, c.length); + } + + if (c.indexOf(nameEQ) == 0) + { + return c.substring(nameEQ.length, c.length); + } + } + + return null; +} + +function load_cookie() +{ + var cookie = readCookie('style_cookie'); + var title = cookie ? cookie : getPreferredStyleSheet(); + setActiveStyleSheet(title); +} + +function unload_cookie() +{ + var title = getActiveStyleSheet(); + createCookie('style_cookie', title, 365); +} +// Browser detect http://www.quirksmode.org/js/detect.html +var BrowserDetect = { + init: function () { + this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; + this.version = this.searchVersion(navigator.userAgent) + || this.searchVersion(navigator.appVersion) + || "an unknown version"; + this.OS = this.searchString(this.dataOS) || "an unknown OS"; + }, + searchString: function (data) { + for (var i=0;i<data.length;i++) { + var dataString = data[i].string; + var dataProp = data[i].prop; + this.versionSearchString = data[i].versionSearch || data[i].identity; + if (dataString) { + if (dataString.indexOf(data[i].subString) != -1) + return data[i].identity; + } + else if (dataProp) + return data[i].identity; + } + }, + searchVersion: function (dataString) { + var index = dataString.indexOf(this.versionSearchString); + if (index == -1) return; + return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); + }, + dataBrowser: [ + { string: navigator.userAgent, + subString: "OmniWeb", + versionSearch: "OmniWeb/", + identity: "OmniWeb" + }, + { + string: navigator.vendor, + subString: "Apple", + identity: "Safari" + }, + { + prop: window.opera, + identity: "Opera" + }, + { + string: navigator.vendor, + subString: "iCab", + identity: "iCab" + }, + { + string: navigator.vendor, + subString: "KDE", + identity: "Konqueror" + }, + { + string: navigator.userAgent, + subString: "Firefox", + identity: "Firefox" + }, + { + string: navigator.vendor, + subString: "Camino", + identity: "Camino" + }, + { // for newer Netscapes (6+) + string: navigator.userAgent, + subString: "Netscape", + identity: "Netscape" + }, + { + string: navigator.userAgent, + subString: "MSIE", + identity: "Explorer", + versionSearch: "MSIE" + }, + { + string: navigator.userAgent, + subString: "Gecko", + identity: "Mozilla", + versionSearch: "rv" + }, + { // for older Netscapes (4-) + string: navigator.userAgent, + subString: "Mozilla", + identity: "Netscape", + versionSearch: "Mozilla" + } + ], + dataOS : [ + { + string: navigator.platform, + subString: "Win", + identity: "Windows" + }, + { + string: navigator.platform, + subString: "Mac", + identity: "Mac" + }, + { + string: navigator.platform, + subString: "Linux", + identity: "Linux" + } + ] + +}; +// Browser detect http://www.quirksmode.org/js/detect.html +onload_functions.push('load_cookie()'); +onunload_functions.push('unload_cookie()'); + + +var cookie = readCookie("style"); +var title = cookie ? cookie : getPreferredStyleSheet(); +setActiveStyleSheet(title); + |