Add space before comments in javascript

This commit is contained in:
Saivann 2014-11-16 00:51:47 -05:00
parent d64416ef51
commit 409396ebdd

View file

@ -1,32 +1,32 @@
function addEvent(a, b, c) {
//Attach event to a DOM node.
//Ex. addEvent(node,'click',function);
// 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);
// 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);
// 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);
// 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');
// 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);
@ -34,8 +34,8 @@ return a.currentStyle[b];
}
function getWidth(a) {
//Return the integer value of the computed width of a DOM node.
//Ex. getWidth(node);
// Return the integer value of the computed width of a DOM node.
// Ex. getWidth(node);
var w = getStyle(a, 'width');
if (w.indexOf('px') !== -1) return parseInt(w.replace('px', ''));
var p = [getStyle(a, 'padding-top'), getStyle(a, 'padding-right'), getStyle(a, 'padding-bottom'), getStyle(a, 'padding-left')];
@ -47,8 +47,8 @@ return Math.max(0, a.offsetWidth - p[1] - p[3]);
}
function getHeight(a) {
//Return the integer value of the computed height of a DOM node.
//Ex. getHeight(node);
// Return the integer value of the computed height of a DOM node.
// Ex. getHeight(node);
var h = getStyle(a, 'height');
if (h.indexOf('px') !== -1) return parseInt(h.replace('px', ''));
var p = [getStyle(a, 'padding-top'), getStyle(a, 'padding-right'), getStyle(a, 'padding-bottom'), getStyle(a, 'padding-left')];
@ -60,8 +60,8 @@ return Math.max(0, a.offsetHeight - p[0] - p[2]);
}
function getLeft(a) {
//Return the integer value of the computed distance between given node and the browser window.
//Ex. getLeft(node);
// Return the integer value of the computed distance between given node and the browser window.
// Ex. getLeft(node);
var b = a.offsetLeft;
while (a.offsetParent) {
a = a.offsetParent;
@ -71,8 +71,8 @@ return b;
}
function getTop(a) {
//Return the integer value of the computed distance between given node and the browser window.
//Ex. getTop(node);
// Return the integer value of the computed distance between given node and the browser window.
// Ex. getTop(node);
var b = a.offsetTop;
while (a.offsetParent) {
a = a.offsetParent;
@ -82,33 +82,33 @@ return b;
}
function getPageYOffset() {
//Return the integer value for the vertical position of the scroll bar.
// Return the integer value for the vertical position of the scroll bar.
return (window.pageYOffset) ? window.pageYOffset : document.documentElement.scrollTop;
}
function getPageXOffset() {
//Return the integer value for the horizontal position of the scroll bar.
// Return the integer value for the horizontal position of the scroll bar.
return (window.pageXOffset) ? window.pageXOffset : document.documentElement.scrollLeft;
}
function getWindowY() {
//Return the integer value for the browser window height.
// Return the integer value for the browser window height.
return (window.innerHeight) ? window.innerHeight : document.documentElement.clientHeight;
}
function getWindowX() {
//Return the integer value for the browser window width.
// Return the integer value for the browser window width.
return (window.innerWidth) ? window.innerWidth : document.documentElement.clientWidth;
}
function isMobile() {
//Return true if the mobile CSS stylesheet is used.
// Return true if the mobile CSS stylesheet is used.
if (getStyle(document.getElementById('detectmobile'), 'display') != 'none') return true;
return false;
}
function addClass(node, data) {
//Add class to node.
// Add class to node.
var cl = node.className.split(' ');
for (var i = 0, n = cl.length; i < n; i++) {
if (cl[i] == data) return;
@ -118,7 +118,7 @@ node.className = cl.join(' ');
}
function removeClass(node, data) {
//Remove class from node.
// Remove class from node.
var ocl = node.className.split(' ');
var ncl = [];
for (var i = 0, n = ocl.length; i < n; i++) {
@ -128,7 +128,7 @@ node.className = ncl.join(' ');
}
function scrollToNode(t) {
//Scroll to any node on the page.
// Scroll to any node on the page.
if (document.body.getAttribute('data-scrollstatus') != null) {
clearInterval(document.body.getAttribute('data-scrollstatus'));
document.body.removeAttribute('data-scrollstatus');
@ -154,7 +154,7 @@ document.body.setAttribute('data-scrollstatus', setInterval(function() {
}
function supportCSS(id) {
//Return true if the browser supports given CSS feature.
// Return true if the browser supports given CSS feature.
var x = domPrefixes = 'Webkit Moz ms O'.split(' ');
var nd = document.createElement('DIV');
id = id.toLowerCase();
@ -167,13 +167,13 @@ 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
// 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;
@ -181,7 +181,7 @@ return true;
}
function fallbackSVG() {
//Replace all images extensions from .svg to .png if browser doesn't support SVG files.
// 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';
@ -191,7 +191,7 @@ for (var i = 0, nd = document.getElementsByTagName('*'), n = nd.length; i < n; i
}
function mobileMenuShow(e) {
//Show the mobile menu when the visitors touch the menu icon.
// 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');
@ -207,7 +207,7 @@ cancelEvent(e);
}
function mobileMenuHover(e) {
//Add a delay before hiding menu for mobiles to prevent accidental clicks
// 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;
@ -226,7 +226,7 @@ setTimeout(function() {
}
function boxShow(e) {
//Display the box content when the user click a box on the "Secure your wallet" page.
// Display the box content when the user click a box on the "Secure your wallet" page.
var p = t = getEventTarget(e);
while (p.nodeName != 'DIV') p = p.parentNode;
var sh = getHeight(p);
@ -248,7 +248,7 @@ cancelEvent(e);
}
function faqShow(e) {
//Display the content of a question in the FAQ at user request.
// Display the content of a question in the FAQ at user request.
var p = t = getEventTarget(e);
while (p.nodeType != 1 || p.nodeName != 'DIV') p = p.nextSibling;
var pp = p.cloneNode(true);
@ -263,7 +263,7 @@ cancelEvent(e);
}
function materialShow(e) {
//Display more materials on the "Press center" page at user request.
// Display more materials on the "Press center" page at user request.
var p = t = getEventTarget(e);
while (p.nodeType != 1 || p.nodeName != 'DIV') p = p.previousSibling;
var pp = p.cloneNode(true);
@ -279,7 +279,7 @@ cancelEvent(e);
}
function librariesShow(e) {
//Display more open source projects on the "Development" page at user request.
// Display more open source projects on the "Development" page at user request.
var p = t = getEventTarget(e);
while (p.nodeType != 1 || p.nodeName != 'UL') p = p.parentNode;
var sh = getHeight(p);
@ -299,13 +299,13 @@ cancelEvent(e);
}
function freenodeShow(e) {
//Display freenode chat window on the "Development" page at user request.
// Display freenode chat window on the "Development" page at user request.
document.getElementById('chatbox').innerHTML = '<iframe style=width:98%;min-width:400px;height:600px src="http://webchat.freenode.net/?channels=bitcoin-dev" />';
cancelEvent(e);
}
function updateToc() {
//Update table of content active entry and browser url on scroll
// Update table of content active entry and browser url on scroll.
var pageoffset;
var windowy;
var toc;
@ -317,7 +317,7 @@ var init = function() {
updatehistory();
updatetoc();
}
//Set variables
// Set variables.
var setenv = function() {
pageoffset = getPageYOffset();
windowy = getWindowY();
@ -326,13 +326,13 @@ var setenv = function() {
first = [fallback, getTop(fallback)];
last = [fallback, getTop(fallback)];
closer = [fallback, getTop(fallback)];
//Find all titles
// Find all titles.
var nodes = [];
var tags = ['H2', 'H3', 'H4', 'H5', 'H6'];
for (var i = 0, n = tags.length; i < n; i++) {
for (var ii = 0, t = document.getElementsByTagName(tags[i]), nn = t.length; ii < nn; ii++) nodes.push(t[ii]);
}
//Find first title, last title and closer title
// Find first title, last title and closer title.
for (var i = 0, n = nodes.length; i < n; i++) {
if (!nodes[i].id) continue;
var top = getTop(nodes[i]);
@ -340,33 +340,33 @@ var setenv = function() {
if (top > last[1]) last = [nodes[i], top];
if (top < pageoffset + 10 && top > closer[1]) closer = [nodes[i], top];
}
//Set closer title to first or last title if at the top or bottom of the page
// Set closer title to first or last title if at the top or bottom of the page.
if (pageoffset < first[1]) closer = [first[0], first[1]];
if (windowy + pageoffset >= getHeight(document.body)) closer = [last[0], last[1]];
}
//Update toc position and set active toc entry
// Update toc position and set active toc entry.
var updatetoc = function() {
//Set bottom and top to fit within window and not overflow its parent node
// Set bottom and top to fit within window and not overflow its parent node.
var div = toc.getElementsByTagName('DIV')[0];
if (pageoffset > getTop(toc)) {
addClass(div, 'scroll');
div.style.top = '20px';
div.style.bottom = Math.max((pageoffset + windowy) - (getHeight(toc.parentNode) + getTop(toc.parentNode)), 20) + 'px';
} else removeClass(div, 'scroll');
//Remove .active class from toc and find new active toc entry
// Remove .active class from toc and find new active toc entry.
var a = false;
for (var i = 0, t = toc.getElementsByTagName('*'), n = t.length; i < n; i++) {
removeClass(t[i], 'active');
if (t[i].nodeName == 'A' && t[i].getAttribute('href') == '#' + closer[0].id) a = t[i];
}
if (a === false) return;
//Set .active class on new active toc entry
// Set .active class on new active toc entry.
var nd = a;
while (nd.parentNode.nodeName == 'LI' || nd.parentNode.nodeName == 'UL') {
addClass(nd, 'active');
nd = nd.parentNode;
}
//Auto-scroll in toc to keep active toc entry visible
// Auto-scroll in toc to keep active toc entry visible.
var nd = a;
var otop = nd.offsetTop;
while (nd.offsetParent != div && nd.offsetParent) {
@ -377,25 +377,25 @@ var updatetoc = function() {
var tdiff = getHeight(a) - otop + div.scrollTop;
if (tdiff > 0 || bdiff > 0) div.scrollTop -= tdiff;
}
//Update browser url
// Update browser url.
var updatehistory = function() {
//Don't call window.history if not supported
// Don't call window.history if not supported.
if (!window.history || !window.history.replaceState) return;
//Don't update window url when it doesn't need to be updated
// Don't update window url when it doesn't need to be updated.
if (new RegExp('#' + closer[0].id + '$').test(window.location.href.toString())) return;
//Don't update window url when the window is over the first title in the page
// Don't update window url when the window is over the first title in the page.
if (pageoffset < first[1]) return;
//Don't update window url when page is not loaded, or user just clicked a url
// Don't update window url when page is not loaded, or user just clicked a url.
if (!toc.hasAttribute('data-timestamp') || toc.getAttribute('data-timestamp') > new Date().getTime() - 1000) return;
window.history.replaceState(null, null, '#' + closer[0].id);
}
//Update the toc when the page stops scrolling
// Update the toc when the page stops scrolling.
var evtimeout = function() {
toc = document.getElementById('toc');
clearTimeout(toc.getAttribute('data-timeout'));
toc.setAttribute('data-timeout', setTimeout(init, 1));
}
//Reset timestamp on page load and each time the user clicks a url
// Reset timestamp on page load and each time the user clicks a url.
var evtimestamp = function() {
toc = document.getElementById('toc');
document.getElementById('toc').setAttribute('data-timestamp', new Date().getTime());
@ -407,7 +407,7 @@ init();
}
function addAnchorLinks() {
//Apply anchor links icon on each title displayed on CSS hover
// Apply anchor links icon on each title displayed on CSS hover.
var nodes = [];
var tags = ['H2', 'H3', 'H4', 'H5', 'H6'];
for (var i = 0, n = tags.length; i < n; i++) {
@ -424,13 +424,13 @@ for (var i = 0, n = nodes.length; i < n; i++) {
}
function updateIssue(e) {
//Update GitHub issue link with pre-filled with current page location
// Update GitHub issue link with pre-filled with current page location.
var t = getEventTarget(e);
t.href = 'https://github.com/bitcoin/bitcoin.org/issues/new?body=' + encodeURIComponent('Location: ' + window.location.href.toString() + "\n\n");
}
function disclaimerClose(e) {
//Auto close temporary disclaimer in devel-docs
// Auto close temporary disclaimer in devel-docs.
if (e) cancelEvent(e);
var t = document.getElementById('develdocdisclaimer')
t.parentNode.removeChild(t);
@ -439,13 +439,13 @@ sessionStorage.setItem('develdocdisclaimerclose', '1');
}
function disclaimerAutoClose() {
//Auto close temporary disclaimer in devel-docs if session says so
// Auto close temporary disclaimer in devel-docs if session says so.
if (typeof(Storage) === 'undefined') return;
if (sessionStorage.getItem('develdocdisclaimerclose') === '1') disclaimerClose();
}
function walletListener(e) {
//Listen events on the wallets categories menu and hide / show / select wallets accordingly.
// Listen events on the wallets categories menu and hide / show / select wallets accordingly.
var t = getEventTarget(e);
switch (e.type) {
case 'click':
@ -463,7 +463,7 @@ switch (e.type) {
}
function walletSelectPlatform(t) {
//Select wallets platform when the mouse clicks on the menu.
// Select wallets platform when the mouse clicks on the menu.
var p = t;
while (p.nodeName != 'DIV') p = p.parentNode;
for (var i = 0, nds = p.getElementsByTagName('A'), n = nds.length; i < n; i++) {
@ -480,7 +480,7 @@ if (isMobile() && t.parentNode.getElementsByTagName('UL').length == 0) {
}
function walletFallbackPlatform() {
//Show back wallets for selected platform when the mouse leaves the menu without selecting another platform.
// Show back wallets for selected platform when the mouse leaves the menu without selecting another platform.
var select = null;
var active = null;
for (var i = 0, nds = document.getElementById('walletmenu').getElementsByTagName('A'), n = nds.length; i < n; i++) {
@ -492,9 +492,9 @@ walletShowPlatform(select.getAttribute('data-walletcompat'));
}
function walletShowPlatform(platform) {
//Show wallets for given platform in the menu.
// Show wallets for given platform in the menu.
var fallback = '';
//Update menu and set fallback category if hovering in a submenu.
// Update menu and set fallback category if hovering in a submenu.
for (var i = 0, nds = document.getElementById('walletmenu').getElementsByTagName('A'), n = nds.length; i < n; i++) {
if (nds[i].getAttribute('data-walletcompat') != platform) continue;
if (nds[i].getAttribute('data-active') == 1) return;
@ -509,7 +509,7 @@ for (var i = 0, nds = document.getElementById('walletmenu').getElementsByTagName
t.setAttribute('data-active', '1');
addClass(t.parentNode, 'active');
if (t.parentNode.parentNode.parentNode.nodeName == 'LI') addClass(t.parentNode.parentNode.parentNode, 'active');
//Replace wallets by those for given platform and rotate.
// Replace wallets by those for given platform and rotate.
var p = document.getElementById('wallets');
var ti = 200;
if (p.getAttribute('timeout') === null || p.getAttribute('timeout') === '' || !supportCSS('transition')) ti = 1;
@ -536,7 +536,7 @@ p.setAttribute('timeout', setTimeout(function() {
}
function walletRotate() {
//Rotate wallets once a day.
// Rotate wallets once a day.
var ar = {
1: [],
2: [],
@ -556,7 +556,7 @@ for (var k in ar) {
}
function walletShow(e) {
//Show wallet on click on mobile or desktop.
// Show wallet on click on mobile or desktop.
var t = getEventTarget(e);
if (t.id == 'wallets') return;
while (t.parentNode.id != 'wallets') t = t.parentNode;
@ -576,7 +576,7 @@ if (isMobile()) {
}
function walletHide(e) {
//Disable wallet when the mouse leaves the wallet bubble.
// Disable wallet when the mouse leaves the wallet bubble.
var t = getEventTarget(e);
if (t.id == 'wallets') return;
while (t.parentNode.id != 'wallets') t = t.parentNode;
@ -591,8 +591,8 @@ t.setAttribute('data-disabletimeout', setTimeout(function() {
}
function makeEditable(e) {
//An easter egg that makes the page editable when user click on the page and hold their mouse button for one second.
//This trick allows translators and writers to preview their work.
// An easter egg that makes the page editable when user click on the page and hold their mouse button for one second.
// This trick allows translators and writers to preview their work.
if (!e) var e = window.event;
switch (e.type) {
case 'mousedown':
@ -624,7 +624,7 @@ switch (e.type) {
}
}
//Add makeEditable event listener
// Add makeEditable event listener
var xint = setInterval(function() {
if (!document.body) return;
addEvent(document.body, 'mousedown', makeEditable);