aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/gym_sitemaps/style/gym_js.js
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/gym_sitemaps/style/gym_js.js')
-rw-r--r--phpBB/gym_sitemaps/style/gym_js.js317
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);
+