diff --git a/_layouts/base.html b/_layouts/base.html
index 15b4e5e2..afeb9079 100644
--- a/_layouts/base.html
+++ b/_layouts/base.html
@@ -14,7 +14,8 @@
{% if page.lang == 'ar' or page.lang == 'fa' %}{% lesscss rtl.less %}{% endif %}
{% if page.lang == 'bg' or page.lang == 'el' or page.lang == 'ko' or page.lang == 'hi' or page.lang == 'pl' or page.lang == 'sl' or page.lang == 'ro' or page.lang == 'ru' or page.lang == 'tr' or page.lang == 'uk' or page.lang == 'zh_CN' or page.lang == 'zh_TW' %}{% lesscss sans.less %}{% endif %}
-
+
+{% if page.id != 'download' %}{% endif %}
diff --git a/_templates/download.html b/_templates/download.html
index 8d224dfc..04cc62a2 100755
--- a/_templates/download.html
+++ b/_templates/download.html
@@ -30,21 +30,21 @@ lin64: "linux64.tar.gz"
Windows
- 64 bit - 32 bit
+ 64 bit - 32 bit
@@ -53,7 +53,7 @@ lin64: "linux64.tar.gz"
Linux (tgz)
- 64 bit - 32 bit
+ 64 bit - 32 bit
@@ -93,28 +93,36 @@ var but = document.getElementById('downloadbutton');
var linkwinexe = document.getElementById('downloadwinexe');
var linkwinzip = document.getElementById('downloadwinzip');
var linklin = document.getElementById('downloadlin');
+var hrefwin64exe = document.getElementById('win64exe').href;
+var hrefwin32exe = document.getElementById('win32exe').href;
+var hrefwin64zip = document.getElementById('win64zip').href;
+var hrefwin32zip = document.getElementById('win32zip').href;
+var hrefmacdmg = document.getElementById('macdmg').href;
+var hrefmactar = document.getElementById('mactar').href;
+var hreflin64 = document.getElementById('lin64').href;
+var hreflin32 = document.getElementById('lin32').href;
switch (os) {
case 'windows64':
but.getElementsByTagName('IMG')[0].src = '/img/os/but_windows.svg';
- but.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.win64exe }}';
- linkwinexe.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.win64exe }}';
- linkwinzip.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.win64zip }}';
+ but.href = hrefwin64exe;
+ linkwinexe.href = hrefwin64exe;
+ linkwinzip.href = hrefwin64zip;
break;
case 'windows32':
but.getElementsByTagName('IMG')[0].src = '/img/os/but_windows.svg';
- but.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.win32exe }}';
- linkwinexe.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.win32exe }}';
- linkwinzip.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.win32zip }}';
+ but.href = hrefwin32exe;
+ linkwinexe.href = hrefwin32exe;
+ linkwinzip.href = hrefwin32zip;
break;
case 'linux64':
but.getElementsByTagName('IMG')[0].src = '/img/os/but_linux.png';
- but.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.lin64 }}';
- linklin.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.lin64 }}';
+ but.href = hreflin64;
+ linklin.href = hreflin64;
break;
case 'linux32':
but.getElementsByTagName('IMG')[0].src = '/img/os/but_linux.png';
- but.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.lin32 }}';
- linklin.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}-{{ page.lin32 }}';
+ but.href = hreflin32;
+ linklin.href = hreflin32;
break;
case 'ubuntu':
but.getElementsByTagName('IMG')[0].src = '/img/os/but_ubuntu.svg';
@@ -122,7 +130,7 @@ case 'ubuntu':
break;
case 'mac':
but.getElementsByTagName('IMG')[0].src = '/img/os/but_mac.svg';
- but.href = '{{ PATH_PREFIX }}/{{ FILE_PREFIX }}{{ page.macdmg }}';
+ but.href = hrefmacdmg;
break;
}
diff --git a/js/base.js b/js/base.js
new file mode 100644
index 00000000..26340231
--- /dev/null
+++ b/js/base.js
@@ -0,0 +1,113 @@
+// This file is licensed under the MIT License (MIT) available on
+// http://opensource.org/licenses/MIT.
+
+// This file should be used only for javascript code
+// necessary for all pages to work properly.
+
+function addEvent(a, b, c) {
+// Attach event to a DOM node.
+// Ex. addEvent(node,'click',function);
+return (a.addEventListener) ? a.addEventListener(b, c, false) : (a.attachEvent) ? a.attachEvent('on' + b, c) : false;
+}
+
+function removeEvent(a, b, c) {
+// Detach event from a DOM node.
+// Ex. removeEvent(node,'click',function);
+return (a.removeEventListener) ? a.removeEventListener(b, c, false) : (a.detachEvent) ? a.detachEvent('on' + b, c) : false;
+}
+
+function cancelEvent(e) {
+// Cancel current event.
+// Ex. cancelEvent(event);
+if (!e) var e = window.event;
+(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
+}
+
+function getEventTarget(e) {
+// Return target DOM node on which the event is triggered.
+// Ex. getEventTarget(event);
+if (!e) var e = window.event;
+return (e.target && e.target.nodeType == 3) ? e.target.parentNode : (e.target) ? e.target : e.srcElement;
+}
+
+function getStyle(a, b) {
+// Return the value of the computed style on a DOM node.
+// Ex. getStyle(node,'padding-bottom');
+if (window.getComputedStyle) return document.defaultView.getComputedStyle(a, null).getPropertyValue(b);
+var n = b.indexOf('-');
+if (n !== -1) b = b.substr(0, n) + b.substr(n + 1, 1).toUpperCase() + b.substr(n + 2);
+return a.currentStyle[b];
+}
+
+function addClass(node, data) {
+// Add class to node.
+var cl = node.className.split(' ');
+for (var i = 0, n = cl.length; i < n; i++) {
+ if (cl[i] == data) return;
+}
+cl.push(data);
+node.className = cl.join(' ');
+}
+
+function removeClass(node, data) {
+// Remove class from node.
+var ocl = node.className.split(' ');
+var ncl = [];
+for (var i = 0, n = ocl.length; i < n; i++) {
+ if (ocl[i] != data) ncl.push(ocl[i]);
+}
+node.className = ncl.join(' ');
+}
+
+function supportsSVG() {
+// Return true if the browser supports SVG.
+// Ex. if(!supportsSVG()){..apply png fallback..}
+// Old FF 3.5 and Safari 3 versions have svg support, but a very poor one
+// http://www.w3.org/TR/SVG11/feature#Image Defeat FF 3.5 only
+// http://www.w3.org/TR/SVG11/feature#Animation Defeat Saf 3 but also returns false in IE9
+// http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute Defeat Saf 3 but also returns false in Chrome and safari4
+// http://www.w3.org/TR/SVG11/feature#Text Defeat Saf 3 but also returns false in FF and safari4
+if (!document.createElementNS || !document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect) return false;
+if (!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1")) return false;
+if (!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute", "1.1") && !document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Animation", "1.1") && !document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Text", "1.1")) return false;
+return true;
+}
+
+function fallbackSVG() {
+// Replace all images extensions from .svg to .png if browser doesn't support SVG files.
+if (supportsSVG()) return;
+for (var i = 0, nd = document.getElementsByTagName('*'), n = nd.length; i < n; i++) {
+ if (nd[i].nodeName == 'IMG' && /.*\.svg$/.test(nd[i].src)) nd[i].src = nd[i].src.slice(0, -3) + 'png';
+ if (/\.svg/.test(getStyle(nd[i], 'background-image'))) nd[i].style.backgroundImage = getStyle(nd[i], 'background-image').replace('.svg', '.png');
+ if (/\.svg/.test(getStyle(nd[i], 'background'))) nd[i].style.background = getStyle(nd[i], 'background').replace('.svg', '.png');
+}
+}
+
+function mobileMenuShow(e) {
+// Show the mobile menu when the visitors touch the menu icon.
+var mm = document.getElementById('menusimple');
+var ml = document.getElementById('langselect');
+var t = document.getElementById('menumobile');
+mm.style.display = ml.style.display = (mm.style.display == 'block') ? '' : 'block';
+t.parentNode.removeChild(t);
+cancelEvent(e);
+}
+
+function mobileMenuHover(e) {
+// Add a delay before hiding menu for mobiles to prevent accidental clicks.
+var p = t = getEventTarget(e);
+if (t.nodeName != 'A') return;
+while (p.parentNode.nodeName != 'DIV') p = p.parentNode;
+while (t.nodeName != 'LI' || t.parentNode != p) t = t.parentNode;
+var ul = null;
+if (t.getElementsByTagName('UL').length > 0) {
+ var ul = t.getElementsByTagName('UL')[0];
+ addClass(ul, 'hover');
+}
+setTimeout(function() {
+ for (var i = 0, nd = p.getElementsByTagName('UL'), n = nd.length; i < n; i++) {
+ if (nd[i] == ul) continue;
+ removeClass(nd[i], 'hover');
+ }
+}, 1);
+}
diff --git a/js/main.js b/js/main.js
index 831a79a3..0192b870 100644
--- a/js/main.js
+++ b/js/main.js
@@ -1,40 +1,8 @@
// This file is licensed under the MIT License (MIT) available on
// http://opensource.org/licenses/MIT.
-function addEvent(a, b, c) {
-// Attach event to a DOM node.
-// Ex. addEvent(node,'click',function);
-return (a.addEventListener) ? a.addEventListener(b, c, false) : (a.attachEvent) ? a.attachEvent('on' + b, c) : false;
-}
-
-function removeEvent(a, b, c) {
-// Detach event from a DOM node.
-// Ex. removeEvent(node,'click',function);
-return (a.removeEventListener) ? a.removeEventListener(b, c, false) : (a.detachEvent) ? a.detachEvent('on' + b, c) : false;
-}
-
-function cancelEvent(e) {
-// Cancel current event.
-// Ex. cancelEvent(event);
-if (!e) var e = window.event;
-(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
-}
-
-function getEventTarget(e) {
-// Return target DOM node on which the event is triggered.
-// Ex. getEventTarget(event);
-if (!e) var e = window.event;
-return (e.target && e.target.nodeType == 3) ? e.target.parentNode : (e.target) ? e.target : e.srcElement;
-}
-
-function getStyle(a, b) {
-// Return the value of the computed style on a DOM node.
-// Ex. getStyle(node,'padding-bottom');
-if (window.getComputedStyle) return document.defaultView.getComputedStyle(a, null).getPropertyValue(b);
-var n = b.indexOf('-');
-if (n !== -1) b = b.substr(0, n) + b.substr(n + 1, 1).toUpperCase() + b.substr(n + 2);
-return a.currentStyle[b];
-}
+// This file is used for javascript code
+// necessary for some pages to work properly.
function getWidth(a) {
// Return the integer value of the computed width of a DOM node.
@@ -71,7 +39,7 @@ while (a.offsetParent) {
return b;
}
-function getTop(a) {
+function getTop (a) {
// Return the integer value of the computed distance between given node and the browser window.
// Ex. getTop(node);
var b = a.offsetTop;
@@ -108,26 +76,6 @@ if (getStyle(document.getElementById('detectmobile'), 'display') != 'none') retu
return false;
}
-function addClass(node, data) {
-// Add class to node.
-var cl = node.className.split(' ');
-for (var i = 0, n = cl.length; i < n; i++) {
- if (cl[i] == data) return;
-}
-cl.push(data);
-node.className = cl.join(' ');
-}
-
-function removeClass(node, data) {
-// Remove class from node.
-var ocl = node.className.split(' ');
-var ncl = [];
-for (var i = 0, n = ocl.length; i < n; i++) {
- if (ocl[i] != data) ncl.push(ocl[i]);
-}
-node.className = ncl.join(' ');
-}
-
function scrollToNode(t) {
// Scroll to any node on the page.
if (document.body.getAttribute('data-scrollstatus') != null) {
@@ -167,59 +115,6 @@ for (var i = 0, n = domPrefixes.length; i < n; i++) {
return false;
}
-function supportsSVG() {
-// Return true if the browser supports SVG.
-// Ex. if(!supportsSVG()){..apply png fallback..}
-// Old FF 3.5 and Safari 3 versions have svg support, but a very poor one
-// http://www.w3.org/TR/SVG11/feature#Image Defeat FF 3.5 only
-// http://www.w3.org/TR/SVG11/feature#Animation Defeat Saf 3 but also returns false in IE9
-// http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute Defeat Saf 3 but also returns false in Chrome and safari4
-// http://www.w3.org/TR/SVG11/feature#Text Defeat Saf 3 but also returns false in FF and safari4
-if (!document.createElementNS || !document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect) return false;
-if (!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1")) return false;
-if (!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute", "1.1") && !document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Animation", "1.1") && !document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Text", "1.1")) return false;
-return true;
-}
-
-function fallbackSVG() {
-// Replace all images extensions from .svg to .png if browser doesn't support SVG files.
-if (supportsSVG()) return;
-for (var i = 0, nd = document.getElementsByTagName('*'), n = nd.length; i < n; i++) {
- if (nd[i].nodeName == 'IMG' && /.*\.svg$/.test(nd[i].src)) nd[i].src = nd[i].src.slice(0, -3) + 'png';
- if (/\.svg/.test(getStyle(nd[i], 'background-image'))) nd[i].style.backgroundImage = getStyle(nd[i], 'background-image').replace('.svg', '.png');
- if (/\.svg/.test(getStyle(nd[i], 'background'))) nd[i].style.background = getStyle(nd[i], 'background').replace('.svg', '.png');
-}
-}
-
-function mobileMenuShow(e) {
-// Show the mobile menu when the visitors touch the menu icon.
-var mm = document.getElementById('menusimple');
-var ml = document.getElementById('langselect');
-var t = document.getElementById('menumobile');
-mm.style.display = ml.style.display = (mm.style.display == 'block') ? '' : 'block';
-t.parentNode.removeChild(t);
-cancelEvent(e);
-}
-
-function mobileMenuHover(e) {
-// Add a delay before hiding menu for mobiles to prevent accidental clicks.
-var p = t = getEventTarget(e);
-if (t.nodeName != 'A') return;
-while (p.parentNode.nodeName != 'DIV') p = p.parentNode;
-while (t.nodeName != 'LI' || t.parentNode != p) t = t.parentNode;
-var ul = null;
-if (t.getElementsByTagName('UL').length > 0) {
- var ul = t.getElementsByTagName('UL')[0];
- addClass(ul, 'hover');
-}
-setTimeout(function() {
- for (var i = 0, nd = p.getElementsByTagName('UL'), n = nd.length; i < n; i++) {
- if (nd[i] == ul) continue;
- removeClass(nd[i], 'hover');
- }
-}, 1);
-}
-
function boxShow(e) {
// Display the box content when the user click a box on the "Secure your wallet" page.
var p = t = getEventTarget(e);