User:HansJie/global.js

/*Here is my user Global.css page,please don't put any of articles or discussion in it*/ /*Any JavaScript here will be loaded for my account on every page load*/ importArticles({   type: 'script',    articles: [        'u:dev:ShowHide/code.js',        'u:dev:DisplayTimer/code.js',        'w:c:dev:ReferencePopups/code.js'    ] }); //******************************************** //Experimental javascript countdown timer (Splarka) //Version:0.0.3 // //  Only January 01 2007 00:00:00 PST until New years. // //  Javascript disabled. function updatetimer(i) { var now = new Date; var then = timers[i].eventdate; var diff = count = Math.floor((then.getTime - now.getTime) / 1000); // catch bad date strings if (isNaN(diff)) { timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **'; return; }   // determine plus/minus if (diff < 0) { diff = -diff; var tpm = ' '; } else { var tpm = ' '; }   // calcuate the diff var left = (diff % 60) + ' seconds'; diff = Math.floor(diff / 60); if (diff > 0) left = (diff % 60) + ' minutes ' + left; diff = Math.floor(diff / 60); if (diff > 0) left = (diff % 24) + ' hours ' + left; diff = Math.floor(diff / 24); if (diff > 0) left = diff + ' days ' + left; timers[i].firstChild.nodeValue = tpm + left; // a setInterval is more efficient, but calling setTimeout // makes errors break the script rather than infinitely recurse timeouts[i] = setTimeout('updatetimer(' + i + ')', 1000); } function checktimers { //hide 'nocountdown' and show 'countdown' var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown'); for (var i in nocountdowns) nocountdowns[i].style.display = 'none'; var countdowns = getElementsByClassName(document, 'span', 'countdown'); for (var i in countdowns) countdowns[i].style.display = 'inline'; //set up global objects timers and timeouts. timers = getElementsByClassName(document, 'span', 'countdowndate'); //global timeouts = new Array; // generic holder for the timeouts, global if (timers.length === 0) return; for (var i in timers) { timers[i].eventdate = new Date(timers[i].firstChild.nodeValue); updatetimer(i); //start it up   } } addOnloadHook(checktimers); // ************************************************** // - end -  Experimental javascript countdown timer // ************************************************** /*Clearsandbox*/ var content = window.clearSandboxContent || ''; var summary = window.clearSandboxSummary || 'Cleanup'; if ( wgPageName.indexOf("/sandbox") >= 0 || wgPageName.indexOf("/Sandbox") >= 0 ) { $('.page-header__contribution-buttons .wds-list').append('Clear sandbox'); } $('#clear-sandbox').click(function{   $.post(mw.util.wikiScript( 'api' ), { format: 'json', action: 'edit', title: wgPageName, text: content, minor: false, bot: true, summary: summary, token: mw.user.tokens.get("editToken") }, function( data ) { if (!data.error) { console.log('Sandbox cleaned successfully.'); location.reload(true); } else { alert('Cannot into cleanings!\n' + data.error.info); console.log('Failed:' + data.error.info); }   }); });