User:Sean Fennel/monobook.js: Difference between revisions
Jump to navigation
Jump to search
Sean Fennel (talk | contribs) (maybe I need some of this mess?) |
Sean Fennel (talk | contribs) (maybe this mess?) |
||
Line 1: | Line 1: | ||
/* generated javascript */var skin = 'monobook'; | |||
var stylepath = '/skins-1.5';/* MediaWiki:Monobook */ | |||
/* | |||
<pre> | |||
*/ | |||
/* tooltips and access keys */ | |||
ta = new Object(); | |||
ta['pt-userpage'] = new Array('.','My user page'); | |||
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); | |||
ta['pt-mytalk'] = new Array('n','My talk page'); | |||
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); | |||
ta['pt-preferences'] = new Array('','My preferences'); | |||
ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); | |||
ta['pt-mycontris'] = new Array('y','List of my contributions'); | |||
ta['pt-login'] = new Array('o','Logging in is not required, but brings many benefits.'); | |||
ta['pt-anonlogin'] = new Array('o','Logging in is not required, but brings many benefits.'); | |||
ta['pt-logout'] = new Array('o','Log out'); | |||
ta['ca-talk'] = new Array('t','Discussion about the content page'); | |||
ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.'); | |||
ta['ca-addsection'] = new Array('+','Start a new discussion'); | |||
ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.'); | |||
ta['ca-history'] = new Array('h','Past versions of this page.'); | |||
ta['ca-protect'] = new Array('=','Protect this page'); | |||
ta['ca-unprotect'] = new Array('','Unprotect this page'); | |||
ta['ca-delete'] = new Array('d','Delete this page'); | |||
ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted'); | |||
ta['ca-move'] = new Array('m','Move this page'); | |||
ta['ca-nomove'] = new Array('','You don\'t have the permissions to move this page'); | |||
ta['ca-watch'] = new Array('w','Add this page to your watchlist'); | |||
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); | |||
ta['search'] = new Array('f','Search Wikipedia'); | |||
ta['p-logo'] = new Array('','Main Page'); | |||
ta['n-mainpage'] = new Array('z','Visit the Main Page'); | |||
ta['n-portal'] = new Array('','About the project, what you can do, where to find things'); | |||
ta['n-Featured-articles'] = new Array('','Featured articles - the best of Wikipedia'); | |||
ta['n-currentevents'] = new Array('','Find background information on current events'); | |||
ta['n-recentchanges'] = new Array('r','List of recent changes in Wikipedia'); | |||
ta['n-randompage'] = new Array('x','Load a random page'); | |||
ta['n-help'] = new Array('','The place to find out about Wikipedia'); | |||
ta['n-contact'] = new Array('','How to contact Wikipedia'); | |||
ta['n-sitesupport'] = new Array('','Support us'); | |||
ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here'); | |||
ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page'); | |||
ta['feed-rss'] = new Array('','RSS feed for this page'); | |||
ta['feed-atom'] = new Array('','Atom feed for this page'); | |||
ta['t-contributions'] = new Array('','View the list of contributions of this user'); | |||
ta['t-emailuser'] = new Array('','Send a mail to this user'); | |||
ta['t-upload'] = new Array('u','Upload images or media files'); | |||
ta['t-specialpages'] = new Array('q','List of all special pages'); | |||
ta['t-print'] = new Array('','Printable version of this page'); | |||
ta['t-permalink'] = new Array('','Permanent link to this version of the page'); | |||
ta['t-cite'] = new Array('','Cite this Wikipedia article'); | |||
ta['ca-nstab-main'] = new Array('c','View the content page'); | |||
ta['ca-nstab-user'] = new Array('c','View the user page'); | |||
ta['ca-nstab-media'] = new Array('c','View the media page'); | |||
ta['ca-nstab-special'] = new Array('','This is a special page; you can\'t edit the page itself.'); | |||
ta['ca-nstab-wp'] = new Array('c','View the project page'); | |||
ta['ca-nstab-image'] = new Array('c','View the image page'); | |||
ta['ca-nstab-mediawiki'] = new Array('c','View the system message'); | |||
ta['ca-nstab-template'] = new Array('c','View the template'); | |||
ta['ca-nstab-help'] = new Array('c','View the help page'); | |||
ta['ca-nstab-category'] = new Array('c','View the category page'); | |||
if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat") | |||
{ | |||
var oldWidth; | |||
var docEl = document.documentElement; | |||
function fixIEScroll() | |||
{ | |||
if (!oldWidth || docEl.clientWidth > oldWidth) | |||
doFixIEScroll(); | |||
else | |||
setTimeout(doFixIEScroll, 1); | |||
oldWidth = docEl.clientWidth; | |||
} | |||
function doFixIEScroll() { | |||
docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : ""; | |||
} | |||
document.attachEvent("onreadystatechange", fixIEScroll); | |||
attachEvent("onresize", fixIEScroll); | |||
} | |||
function addLoadEvent(func) | |||
{ | |||
if (window.addEventListener) | |||
window.addEventListener("load", func, false); | |||
else if (window.attachEvent) | |||
window.attachEvent("onload", func); | |||
} | |||
function LinkFA() | |||
{ | |||
// iterate over all <span>-elements | |||
for(var i=0; a = document.getElementsByTagName("span")[i]; i++) { | |||
// if found a FA span | |||
if(a.className == "FA") { | |||
// iterate over all <li>-elements | |||
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) { | |||
// if found a FA link | |||
if(b.className == "interwiki-" + a.id) { | |||
b.style.padding = "0 0 0 16px"; | |||
b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')"; | |||
b.style.backgroundRepeat = "no-repeat"; | |||
b.title = "This article has gained featured status"; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
addLoadEvent(LinkFA); | |||
// ============================================================ | |||
// BEGIN Dynamic Navigation Bars (experimantal) | |||
// set up the words in your language | |||
var NavigationBarHide = '[ Hide ]'; | |||
var NavigationBarShow = '[ Show ]'; | |||
// set up max count of Navigation Bars on page, | |||
// if there are more, all will be hidden | |||
// NavigationBarShowDefault = 0; // all bars will be hidden | |||
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden | |||
var NavigationBarShowDefault = 1; | |||
// shows and hides content and picture (if available) of navigation bars | |||
// Parameters: | |||
// indexNavigationBar: the index of navigation bar to be toggled | |||
function toggleNavigationBar(indexNavigationBar) | |||
{ | |||
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); | |||
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); | |||
if (!NavFrame || !NavToggle) { | |||
return false; | |||
} | |||
// if shown now | |||
if (NavToggle.firstChild.data == NavigationBarHide) { | |||
for ( | |||
var NavChild = NavFrame.firstChild; | |||
NavChild != null; | |||
NavChild = NavChild.nextSibling | |||
) { | |||
if (NavChild.className == 'NavPic') { | |||
NavChild.style.display = 'none'; | |||
} | |||
if (NavChild.className == 'NavContent') { | |||
NavChild.style.display = 'none'; | |||
} | |||
} | |||
NavToggle.firstChild.data = NavigationBarShow; | |||
// if hidden now | |||
} else if (NavToggle.firstChild.data == NavigationBarShow) { | |||
for ( | |||
var NavChild = NavFrame.firstChild; | |||
NavChild != null; | |||
NavChild = NavChild.nextSibling | |||
) { | |||
if (NavChild.className == 'NavPic') { | |||
NavChild.style.display = 'block'; | |||
} | |||
if (NavChild.className == 'NavContent') { | |||
NavChild.style.display = 'block'; | |||
} | |||
} | |||
NavToggle.firstChild.data = NavigationBarHide; | |||
} | |||
} | |||
// adds show/hide-button to navigation bars | |||
function createNavigationBarToggleButton() | |||
{ | |||
var indexNavigationBar = 0; | |||
// iterate over all < div >-elements | |||
for( | |||
var i=0; | |||
NavFrame = document.getElementsByTagName("div")[i]; | |||
i++ | |||
) { | |||
// if found a navigation bar | |||
if (NavFrame.className == "NavFrame") { | |||
indexNavigationBar++; | |||
var NavToggle = document.createElement("a"); | |||
NavToggle.className = 'NavToggle'; | |||
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | |||
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | |||
var NavToggleText = document.createTextNode(NavigationBarHide); | |||
NavToggle.appendChild(NavToggleText); | |||
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) | |||
for( | |||
var j=0; | |||
j < NavFrame.childNodes.length; | |||
j++ | |||
) { | |||
if (NavFrame.childNodes[j].className == "NavHead") { | |||
NavFrame.childNodes[j].appendChild(NavToggle); | |||
} | |||
} | |||
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); | |||
} | |||
} | |||
// if more Navigation Bars found than Default: hide all | |||
if (NavigationBarShowDefault < indexNavigationBar) { | |||
for( | |||
var i=1; | |||
i<=indexNavigationBar; | |||
i++ | |||
) { | |||
toggleNavigationBar(i); | |||
} | |||
} | |||
} | |||
addLoadEvent(createNavigationBarToggleButton); | |||
// END Dynamic Navigation Bars | |||
// ============================================================ | |||
var mpTitle = "Main Page"; | |||
var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle); | |||
var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1)); | |||
if (isMainPage && !isDiff) | |||
{ | |||
document.write('<style type="text/css">/*<![CDATA[*/ #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>'); | |||
var mpSmallEnabled; | |||
var mpMinWidth = 700; | |||
function mainPageTransform() | |||
{ | |||
var mpContentEl = document.getElementById("bodyContent"); | |||
var mpBrowseEl = document.getElementById("EnWpMpBrowse"); | |||
var mpContainEl = document.getElementById("EnWpMpBrowseContainer"); | |||
var mpMarginEl = document.getElementById("EnWpMpMargin"); | |||
var mpEl = document.getElementById("EnWpMainPage"); | |||
if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl) | |||
return; | |||
if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth) | |||
{ | |||
mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild); | |||
mpBrowseEl.className = "EnWpMpBrowseBottom"; | |||
mpMarginEl.style.marginRight = 0; | |||
mpSmallEnabled = true; | |||
} | |||
else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth) | |||
{ | |||
mpEl.insertBefore(mpBrowseEl, mpEl.firstChild); | |||
mpBrowseEl.className = "EnWpMpBrowseRight"; | |||
mpMarginEl.style.marginRight = "13.8em"; | |||
mpSmallEnabled = false; | |||
} | |||
} | |||
var onloadFuncts = [ mainPageTransform ]; | |||
if (window.addEventListener) | |||
window.addEventListener("resize", mainPageTransform, false); | |||
else if (window.attachEvent) | |||
window.attachEvent("onresize", mainPageTransform); | |||
} | |||
//Main page tab no longer says article | |||
addOnloadHook(mainpg); | |||
function mainpg() | |||
{ | |||
var site = location.href; | |||
if (site == 'http://en.wikipedia.org/wiki/Main_Page') | |||
{ | |||
if(document.getElementById('ca-nstab-main')) | |||
{ | |||
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'main page'; | |||
} | |||
} | |||
else if(document.title.indexOf("Main Page") != -1) | |||
{ | |||
if(document.getElementById('ca-nstab-main')) | |||
{ | |||
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'main page'; | |||
} | |||
} | |||
} | |||
/* add a redirect button to the edit page toolbar */ | |||
if (mwCustomEditButtons) { | |||
mwCustomEditButtons[mwCustomEditButtons.length] = { | |||
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png", | |||
"speedTip": "Redirect", | |||
"tagOpen": "#REDIRECT [[", | |||
"tagClose": "]]", | |||
"sampleText": "Insert text"}; | |||
}; | |||
/* | |||
</pre> | |||
*/ | |||
// Wikipedia JavaScript support functions | // Wikipedia JavaScript support functions | ||
Revision as of 21:03, 18 April 2006
/* generated javascript */var skin = 'monobook';
var stylepath = '/skins-1.5';/* MediaWiki:Monobook */
/*
<pre>
*/
/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','My user page');
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as');
ta['pt-mytalk'] = new Array('n','My talk page');
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address');
ta['pt-preferences'] = new Array('','My preferences');
ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.');
ta['pt-mycontris'] = new Array('y','List of my contributions');
ta['pt-login'] = new Array('o','Logging in is not required, but brings many benefits.');
ta['pt-anonlogin'] = new Array('o','Logging in is not required, but brings many benefits.');
ta['pt-logout'] = new Array('o','Log out');
ta['ca-talk'] = new Array('t','Discussion about the content page');
ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.');
ta['ca-addsection'] = new Array('+','Start a new discussion');
ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.');
ta['ca-history'] = new Array('h','Past versions of this page.');
ta['ca-protect'] = new Array('=','Protect this page');
ta['ca-unprotect'] = new Array('','Unprotect this page');
ta['ca-delete'] = new Array('d','Delete this page');
ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted');
ta['ca-move'] = new Array('m','Move this page');
ta['ca-nomove'] = new Array('','You don\'t have the permissions to move this page');
ta['ca-watch'] = new Array('w','Add this page to your watchlist');
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist');
ta['search'] = new Array('f','Search Wikipedia');
ta['p-logo'] = new Array('','Main Page');
ta['n-mainpage'] = new Array('z','Visit the Main Page');
ta['n-portal'] = new Array('','About the project, what you can do, where to find things');
ta['n-Featured-articles'] = new Array('','Featured articles - the best of Wikipedia');
ta['n-currentevents'] = new Array('','Find background information on current events');
ta['n-recentchanges'] = new Array('r','List of recent changes in Wikipedia');
ta['n-randompage'] = new Array('x','Load a random page');
ta['n-help'] = new Array('','The place to find out about Wikipedia');
ta['n-contact'] = new Array('','How to contact Wikipedia');
ta['n-sitesupport'] = new Array('','Support us');
ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here');
ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page');
ta['feed-rss'] = new Array('','RSS feed for this page');
ta['feed-atom'] = new Array('','Atom feed for this page');
ta['t-contributions'] = new Array('','View the list of contributions of this user');
ta['t-emailuser'] = new Array('','Send a mail to this user');
ta['t-upload'] = new Array('u','Upload images or media files');
ta['t-specialpages'] = new Array('q','List of all special pages');
ta['t-print'] = new Array('','Printable version of this page');
ta['t-permalink'] = new Array('','Permanent link to this version of the page');
ta['t-cite'] = new Array('','Cite this Wikipedia article');
ta['ca-nstab-main'] = new Array('c','View the content page');
ta['ca-nstab-user'] = new Array('c','View the user page');
ta['ca-nstab-media'] = new Array('c','View the media page');
ta['ca-nstab-special'] = new Array('','This is a special page; you can\'t edit the page itself.');
ta['ca-nstab-wp'] = new Array('c','View the project page');
ta['ca-nstab-image'] = new Array('c','View the image page');
ta['ca-nstab-mediawiki'] = new Array('c','View the system message');
ta['ca-nstab-template'] = new Array('c','View the template');
ta['ca-nstab-help'] = new Array('c','View the help page');
ta['ca-nstab-category'] = new Array('c','View the category page');
if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat")
{
var oldWidth;
var docEl = document.documentElement;
function fixIEScroll()
{
if (!oldWidth || docEl.clientWidth > oldWidth)
doFixIEScroll();
else
setTimeout(doFixIEScroll, 1);
oldWidth = docEl.clientWidth;
}
function doFixIEScroll() {
docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
}
document.attachEvent("onreadystatechange", fixIEScroll);
attachEvent("onresize", fixIEScroll);
}
function addLoadEvent(func)
{
if (window.addEventListener)
window.addEventListener("load", func, false);
else if (window.attachEvent)
window.attachEvent("onload", func);
}
function LinkFA()
{
// iterate over all <span>-elements
for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
// if found a FA span
if(a.className == "FA") {
// iterate over all <li>-elements
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
// if found a FA link
if(b.className == "interwiki-" + a.id) {
b.style.padding = "0 0 0 16px";
b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')";
b.style.backgroundRepeat = "no-repeat";
b.title = "This article has gained featured status";
}
}
}
}
}
addLoadEvent(LinkFA);
// ============================================================
// BEGIN Dynamic Navigation Bars (experimantal)
// set up the words in your language
var NavigationBarHide = '[ Hide ]';
var NavigationBarShow = '[ Show ]';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 1;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (NavFrame.className == "NavFrame") {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(
var j=0;
j < NavFrame.childNodes.length;
j++
) {
if (NavFrame.childNodes[j].className == "NavHead") {
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
addLoadEvent(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
// ============================================================
var mpTitle = "Main Page";
var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle);
var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1));
if (isMainPage && !isDiff)
{
document.write('<style type="text/css">/*<![CDATA[*/ #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>');
var mpSmallEnabled;
var mpMinWidth = 700;
function mainPageTransform()
{
var mpContentEl = document.getElementById("bodyContent");
var mpBrowseEl = document.getElementById("EnWpMpBrowse");
var mpContainEl = document.getElementById("EnWpMpBrowseContainer");
var mpMarginEl = document.getElementById("EnWpMpMargin");
var mpEl = document.getElementById("EnWpMainPage");
if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl)
return;
if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth)
{
mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseBottom";
mpMarginEl.style.marginRight = 0;
mpSmallEnabled = true;
}
else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth)
{
mpEl.insertBefore(mpBrowseEl, mpEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseRight";
mpMarginEl.style.marginRight = "13.8em";
mpSmallEnabled = false;
}
}
var onloadFuncts = [ mainPageTransform ];
if (window.addEventListener)
window.addEventListener("resize", mainPageTransform, false);
else if (window.attachEvent)
window.attachEvent("onresize", mainPageTransform);
}
//Main page tab no longer says article
addOnloadHook(mainpg);
function mainpg()
{
var site = location.href;
if (site == 'http://en.wikipedia.org/wiki/Main_Page')
{
if(document.getElementById('ca-nstab-main'))
{
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'main page';
}
}
else if(document.title.indexOf("Main Page") != -1)
{
if(document.getElementById('ca-nstab-main'))
{
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'main page';
}
}
}
/* add a redirect button to the edit page toolbar */
if (mwCustomEditButtons) {
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png",
"speedTip": "Redirect",
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": "Insert text"};
};
/*
</pre>
*/
// Wikipedia JavaScript support functions
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('applewebkit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
if (clientPC.indexOf('opera') != -1) {
var is_opera = true;
var is_opera_preseven = (window.opera && !document.childNodes);
var is_opera_seven = (window.opera && document.childNodes);
}
// add any onload functions in this hook (please don't hard-code any events in the xhtml source)
var doneOnloadHook;
if (!window.onloadFuncts)
var onloadFuncts = [];
function addOnloadHook(hookFunct) {
// Allows add-on scripts to add onload functions
onloadFuncts[onloadFuncts.length] = hookFunct;
}
function runOnloadHook() {
// don't run anything below this for non-dom browsers
if (doneOnloadHook || !(document.getElementById && document.getElementsByTagName))
return;
histrowinit();
unhidetzbutton();
tabbedprefs();
akeytt();
scrollEditBox();
setupCheckboxShiftClick();
// Run any added-on functions
for (var i = 0; i < onloadFuncts.length; i++)
onloadFuncts[i]();
doneOnloadHook = true;
}
function hookEvent(hookName, hookFunct) {
if (window.addEventListener)
addEventListener(hookName, hookFunct, false);
else if (window.attachEvent)
attachEvent("on" + hookName, hookFunct);
}
hookEvent("load", runOnloadHook);
// document.write special stylesheet links
if (typeof stylepath != 'undefined' && typeof skin != 'undefined') {
if (is_opera_preseven) {
document.write('<link rel="stylesheet" type="text/css" href="'+stylepath+'/'+skin+'/Opera6Fixes.css">');
} else if (is_opera_seven) {
document.write('<link rel="stylesheet" type="text/css" href="'+stylepath+'/'+skin+'/Opera7Fixes.css">');
} else if (is_khtml) {
document.write('<link rel="stylesheet" type="text/css" href="'+stylepath+'/'+skin+'/KHTMLFixes.css">');
}
}
// Un-trap us from framesets
if (window.top != window)
window.top.location = window.location;
// for enhanced RecentChanges
function toggleVisibility(_levelId, _otherId, _linkId) {
var thisLevel = document.getElementById(_levelId);
var otherLevel = document.getElementById(_otherId);
var linkLevel = document.getElementById(_linkId);
if (thisLevel.style.display == 'none') {
thisLevel.style.display = 'block';
otherLevel.style.display = 'none';
linkLevel.style.display = 'inline';
} else {
thisLevel.style.display = 'none';
otherLevel.style.display = 'inline';
linkLevel.style.display = 'none';
}
}
// page history stuff
// attach event handlers to the input elements on history page
function histrowinit() {
var hf = document.getElementById('pagehistory');
if (!hf)
return;
var lis = hf.getElementsByTagName('li');
for (i = 0; i < lis.length; i++) {
var inputs = historyRadios(lis[i]);
if (inputs[0] && inputs[1]) {
inputs[0].onclick = diffcheck;
inputs[1].onclick = diffcheck;
}
}
diffcheck();
}
function historyRadios(parent) {
var inputs = parent.getElementsByTagName('input');
var radios = [];
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].name == "diff" || inputs[i].name == "oldid")
radios[radios.length] = inputs[i];
}
return radios;
}
// check selection and tweak visibility/class onclick
function diffcheck() {
var dli = false; // the li where the diff radio is checked
var oli = false; // the li where the oldid radio is checked
var hf = document.getElementById('pagehistory');
if (!hf)
return;
var lis = hf.getElementsByTagName('li');
for (i=0;i<lis.length;i++) {
var inputs = historyRadios(lis[i]);
if (inputs[1] && inputs[0]) {
if (inputs[1].checked || inputs[0].checked) { // this row has a checked radio button
if (inputs[1].checked && inputs[0].checked && inputs[0].value == inputs[1].value)
return false;
if (oli) { // it's the second checked radio
if (inputs[1].checked) {
oli.className = "selected";
return false
}
} else if (inputs[0].checked) {
return false;
}
if (inputs[0].checked)
dli = lis[i];
if (!oli)
inputs[0].style.visibility = 'hidden';
if (dli)
inputs[1].style.visibility = 'hidden';
lis[i].className = "selected";
oli = lis[i];
} else { // no radio is checked in this row
if (!oli)
inputs[0].style.visibility = 'hidden';
else
inputs[0].style.visibility = 'visible';
if (dli)
inputs[1].style.visibility = 'hidden';
else
inputs[1].style.visibility = 'visible';
lis[i].className = "";
}
}
}
}
// generate toc from prefs form, fold sections
// XXX: needs testing on IE/Mac and safari
// more comments to follow
function tabbedprefs() {
var prefform = document.getElementById('preferences');
if (!prefform || !document.createElement)
return;
if (prefform.nodeName.toLowerCase() == 'a')
return; // Occasional IE problem
prefform.className = prefform.className + 'jsprefs';
var sections = new Array();
children = prefform.childNodes;
var seci = 0;
for (i = 0; i < children.length; i++) {
if (children[i].nodeName.toLowerCase() == 'fieldset') {
children[i].id = 'prefsection-' + seci;
children[i].className = 'prefsection';
if (is_opera || is_khtml)
children[i].className = 'prefsection operaprefsection';
legends = children[i].getElementsByTagName('legend');
sections[seci] = new Object();
legends[0].className = 'mainLegend';
if (legends[0] && legends[0].firstChild.nodeValue)
sections[seci].text = legends[0].firstChild.nodeValue;
else
sections[seci].text = '# ' + seci;
sections[seci].secid = children[i].id;
seci++;
if (sections.length != 1)
children[i].style.display = 'none';
else
var selectedid = children[i].id;
}
}
var toc = document.createElement('ul');
toc.id = 'preftoc';
toc.selectedid = selectedid;
for (i = 0; i < sections.length; i++) {
var li = document.createElement('li');
if (i == 0)
li.className = 'selected';
var a = document.createElement('a');
a.href = '#' + sections[i].secid;
a.onmousedown = a.onclick = uncoversection;
a.appendChild(document.createTextNode(sections[i].text));
a.secid = sections[i].secid;
li.appendChild(a);
toc.appendChild(li);
}
prefform.parentNode.insertBefore(toc, prefform.parentNode.childNodes[0]);
document.getElementById('prefsubmit').id = 'prefcontrol';
}
function uncoversection() {
oldsecid = this.parentNode.parentNode.selectedid;
newsec = document.getElementById(this.secid);
if (oldsecid != this.secid) {
ul = document.getElementById('preftoc');
document.getElementById(oldsecid).style.display = 'none';
newsec.style.display = 'block';
ul.selectedid = this.secid;
lis = ul.getElementsByTagName('li');
for (i = 0; i< lis.length; i++) {
lis[i].className = '';
}
this.parentNode.className = 'selected';
}
return false;
}
// Timezone stuff
// tz in format [+-]HHMM
function checkTimezone(tz, msg) {
var localclock = new Date();
// returns negative offset from GMT in minutes
var tzRaw = localclock.getTimezoneOffset();
var tzHour = Math.floor( Math.abs(tzRaw) / 60);
var tzMin = Math.abs(tzRaw) % 60;
var tzString = ((tzRaw >= 0) ? "-" : "+") + ((tzHour < 10) ? "0" : "") + tzHour + ((tzMin < 10) ? "0" : "") + tzMin;
if (tz != tzString) {
var junk = msg.split('$1');
document.write(junk[0] + "UTC" + tzString + junk[1]);
}
}
function unhidetzbutton() {
tzb = document.getElementById('guesstimezonebutton')
if (tzb)
tzb.style.display = 'inline';
}
// in [-]HH:MM format...
// won't yet work with non-even tzs
function fetchTimezone() {
// FIXME: work around Safari bug
var localclock = new Date();
// returns negative offset from GMT in minutes
var tzRaw = localclock.getTimezoneOffset();
var tzHour = Math.floor( Math.abs(tzRaw) / 60);
var tzMin = Math.abs(tzRaw) % 60;
var tzString = ((tzRaw >= 0) ? "-" : "") + ((tzHour < 10) ? "0" : "") + tzHour +
":" + ((tzMin < 10) ? "0" : "") + tzMin;
return tzString;
}
function guessTimezone(box) {
document.getElementsByName("wpHourDiff")[0].value = fetchTimezone();
}
function showTocToggle() {
if (document.createTextNode) {
// Uses DOM calls to avoid document.write + XHTML issues
var linkHolder = document.getElementById('toctitle')
if (!linkHolder)
return;
var outerSpan = document.createElement('span');
outerSpan.className = 'toctoggle';
var toggleLink = document.createElement('a');
toggleLink.id = 'togglelink';
toggleLink.className = 'internal';
toggleLink.href = 'javascript:toggleToc()';
toggleLink.appendChild(document.createTextNode(tocHideText));
outerSpan.appendChild(document.createTextNode('['));
outerSpan.appendChild(toggleLink);
outerSpan.appendChild(document.createTextNode(']'));
linkHolder.appendChild(document.createTextNode(' '));
linkHolder.appendChild(outerSpan);
var cookiePos = document.cookie.indexOf("hidetoc=");
if (cookiePos > -1 && document.cookie.charAt(cookiePos + 8) == 1)
toggleToc();
}
}
function changeText(el, newText) {
// Safari work around
if (el.innerText)
el.innerText = newText;
else if (el.firstChild && el.firstChild.nodeValue)
el.firstChild.nodeValue = newText;
}
function toggleToc() {
var toc = document.getElementById('toc').getElementsByTagName('ul')[0];
var toggleLink = document.getElementById('togglelink')
if (toc && toggleLink && toc.style.display == 'none') {
changeText(toggleLink, tocHideText);
toc.style.display = 'block';
document.cookie = "hidetoc=0";
} else {
changeText(toggleLink, tocShowText);
toc.style.display = 'none';
document.cookie = "hidetoc=1";
}
}
mwEditButtons = [];
mwCustomEditButtons = []; // eg to add in MediaWiki:Common.js
// this function generates the actual toolbar buttons with localized text
// we use it to avoid creating the toolbar where javascript is not enabled
function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText) {
// Don't generate buttons for browsers which don't fully
// support it.
mwEditButtons[mwEditButtons.length] =
{"imageFile": imageFile,
"speedTip": speedTip,
"tagOpen": tagOpen,
"tagClose": tagClose,
"sampleText": sampleText};
}
// this function generates the actual toolbar buttons with localized text
// we use it to avoid creating the toolbar where javascript is not enabled
function mwInsertEditButton(parent, item) {
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = item.imageFile;
image.border = 0;
image.alt = item.speedTip;
image.title = item.speedTip;
image.style.cursor = "pointer";
image.onclick = function() {
insertTags(item.tagOpen, item.tagClose, item.sampleText);
return false;
}
parent.appendChild(image);
}
function mwSetupToolbar() {
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
// Don't generate buttons for browsers which don't fully
// support it.
if (!document.selection && textbox.selectionStart == null)
return false;
for (var i in mwEditButtons) {
mwInsertEditButton(toolbar, mwEditButtons[i]);
}
for (var i in mwCustomEditButtons) {
mwInsertEditButton(toolbar, mwCustomEditButtons[i]);
}
}
function escapeQuotes(text) {
var re = new RegExp("'","g");
text = text.replace(re,"\\'");
re = new RegExp("\\n","g");
text = text.replace(re,"\\n");
return escapeQuotesHTML(text);
}
function escapeQuotesHTML(text) {
var re = new RegExp('&',"g");
text = text.replace(re,"&");
var re = new RegExp('"',"g");
text = text.replace(re,""");
var re = new RegExp('<',"g");
text = text.replace(re,"<");
var re = new RegExp('>',"g");
text = text.replace(re,">");
return text;
}
// apply tagOpen/tagClose to selection in textarea,
// use sampleText instead of selection if there is none
// copied and adapted from phpBB
function insertTags(tagOpen, tagClose, sampleText) {
if (document.editform)
var txtarea = document.editform.wpTextbox1;
else {
// some alternate form? take the first one we can find
var areas = document.getElementsByTagName('textarea');
var txtarea = areas[0];
}
// IE
if (document.selection && !is_gecko) {
var theSelection = document.selection.createRange().text;
if (!theSelection)
theSelection=sampleText;
txtarea.focus();
if (theSelection.charAt(theSelection.length - 1) == " ") { // exclude ending space char, if any
theSelection = theSelection.substring(0, theSelection.length - 1);
document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
} else {
document.selection.createRange().text = tagOpen + theSelection + tagClose;
}
// Mozilla
} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
var replaced = false;
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd;
if (endPos-startPos)
replaced = true;
var scrollTop = txtarea.scrollTop;
var myText = (txtarea.value).substring(startPos, endPos);
if (!myText)
myText=sampleText;
if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any
subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
} else {
subst = tagOpen + myText + tagClose;
}
txtarea.value = txtarea.value.substring(0, startPos) + subst +
txtarea.value.substring(endPos, txtarea.value.length);
txtarea.focus();
//set new selection
if (replaced) {
var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
txtarea.selectionStart = cPos;
txtarea.selectionEnd = cPos;
} else {
txtarea.selectionStart = startPos+tagOpen.length;
txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
}
txtarea.scrollTop = scrollTop;
// All other browsers get no toolbar.
// There was previously support for a crippled "help"
// bar, but that caused more problems than it solved.
}
// reposition cursor if possible
if (txtarea.createTextRange)
txtarea.caretPos = document.selection.createRange().duplicate();
}
function akeytt() {
if (typeof ta == "undefined" || !ta)
return;
var pref = 'alt-';
if (is_safari || navigator.userAgent.toLowerCase().indexOf('mac') + 1
|| navigator.userAgent.toLowerCase().indexOf('konqueror') + 1 )
pref = 'control-';
if (is_opera)
pref = 'shift-esc-';
for (var id in ta) {
var n = document.getElementById(id);
if (n) {
var a = null;
var ak = '';
// Are we putting accesskey in it
if (ta[id][0].length > 0) {
// Is this object a object? If not assume it's the next child.
if (n.nodeName.toLowerCase() == "a") {
a = n;
} else {
a = n.childNodes[0];
}
if (a) {
a.accessKey = ta[id][0];
ak = ' ['+pref+ta[id][0]+']';
}
} else {
// We don't care what type the object is when assigning tooltip
a = n;
ak = '';
}
if (a) {
a.title = ta[id][1]+ak;
}
}
}
}
function setupRightClickEdit() {
if (document.getElementsByTagName) {
var divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
var el = divs[i];
if(el.className == 'editsection') {
addRightClickEditHandler(el);
}
}
}
}
function addRightClickEditHandler(el) {
for (var i = 0; i < el.childNodes.length; i++) {
var link = el.childNodes[i];
if (link.nodeType == 1 && link.nodeName.toLowerCase() == 'a') {
var editHref = link.getAttribute('href');
// find the following a
var next = el.nextSibling;
while (next.nodeType != 1)
next = next.nextSibling;
// find the following header
next = next.nextSibling;
while (next.nodeType != 1)
next = next.nextSibling;
if (next && next.nodeType == 1 &&
next.nodeName.match(/^[Hh][1-6]$/)) {
next.oncontextmenu = function() {
document.location = editHref;
return false;
}
}
}
}
}
function setupCheckboxShiftClick() {
if (document.getElementsByTagName) {
var uls = document.getElementsByTagName('ul');
var len = uls.length;
for (var i = 0; i < len; ++i) {
addCheckboxClickHandlers(uls[i]);
}
}
}
function addCheckboxClickHandlers(ul, start, finish) {
if (ul.checkboxHandlersTimer) {
clearInterval(ul.checkboxHandlersTimer);
}
if ( !ul.childNodes ) {
return;
}
var len = ul.childNodes.length;
if (len < 2) {
return;
}
start = start || 0;
finish = finish || start + 250;
if ( finish > len ) { finish = len; }
ul.checkboxes = ul.checkboxes || [];
ul.lastCheckbox = ul.lastCheckbox || null;
for (var i = start; i<finish; ++i) {
var child = ul.childNodes[i];
if ( child && child.childNodes && child.childNodes[0] ) {
var cb = child.childNodes[0];
if ( !cb.nodeName || cb.nodeName.toLowerCase() != 'input' ||
!cb.type || cb.type.toLowerCase() != 'checkbox' ) {
return;
}
cb.index = ul.checkboxes.push(cb) - 1;
cb.container = ul;
cb.onmouseup = checkboxMouseupHandler;
}
}
if (finish < len) {
var f=function(){ addCheckboxClickHandlers(ul, finish, finish+250); };
ul.checkboxHandlersTimer=setInterval(f, 200);
}
}
function checkboxMouseupHandler(e) {
if (typeof e == 'undefined') {
e = window.event;
}
if ( !e.shiftKey || this.container.lastCheckbox === null ) {
this.container.lastCheckbox = this.index;
return true;
}
var endState = !this.checked;
if ( is_opera ) { // opera has already toggled the checkbox by this point
endState = !endState;
}
var start, finish;
if ( this.index < this.container.lastCheckbox ) {
start = this.index + 1;
finish = this.container.lastCheckbox;
} else {
start = this.container.lastCheckbox;
finish = this.index - 1;
}
for (var i = start; i <= finish; ++i ) {
this.container.checkboxes[i].checked = endState;
}
this.container.lastCheckbox = this.index;
return true;
}
function fillDestFilename() {
if (!document.getElementById)
return;
var path = document.getElementById('wpUploadFile').value;
// Find trailing part
var slash = path.lastIndexOf('/');
var backslash = path.lastIndexOf('\\');
var fname;
if (slash == -1 && backslash == -1) {
fname = path;
} else if (slash > backslash) {
fname = path.substring(slash+1, 10000);
} else {
fname = path.substring(backslash+1, 10000);
}
// Capitalise first letter and replace spaces by underscores
fname = fname.charAt(0).toUpperCase().concat(fname.substring(1,10000)).replace(/ /g, '_');
// Output result
var destFile = document.getElementById('wpDestFile');
if (destFile)
destFile.value = fname;
}
function considerChangingExpiryFocus() {
if (!document.getElementById)
return;
var drop = document.getElementById('wpBlockExpiry');
if (!drop)
return;
var field = document.getElementById('wpBlockOther');
if (!field)
return;
var opt = drop.value;
if (opt == 'other')
field.style.display = '';
else
field.style.display = 'none';
}
function scrollEditBox() {
var editBoxEl = document.getElementById("wpTextbox1");
var scrollTopEl = document.getElementById("wpScrolltop");
var editFormEl = document.getElementById("editform");
if (editBoxEl && scrollTopEl) {
if (scrollTopEl.value) editBoxEl.scrollTop = scrollTopEl.value;
editFormEl.onsubmit = function() {
document.getElementById("wpScrolltop").value = document.getElementById("wpTextbox1").scrollTop;
}
}
}
hookEvent("load", scrollEditBox);
function allmessagesfilter() {
text = document.getElementById('allmessagesinput').value;
k = document.getElementById('allmessagestable');
if (!k) { return;}
var items = k.getElementsByTagName('span');
if ( text.length > allmessages_prev.length ) {
for (var i = items.length-1, j = 0; i >= 0; i--) {
j = allmessagesforeach(items, i, j);
}
} else {
for (var i = 0, j = 0; i < items.length; i++) {
j = allmessagesforeach(items, i, j);
}
}
allmessages_prev = text;
}
function allmessagesforeach(items, i, j) {
var hItem = items[i].getAttribute('id');
if (hItem.substring(0,17) == 'sp-allmessages-i-') {
if (items[i].firstChild && items[i].firstChild.nodeName == '#text' && items[i].firstChild.nodeValue.indexOf(text) != -1) {
var itemA = document.getElementById( hItem.replace('i', 'r1') );
var itemB = document.getElementById( hItem.replace('i', 'r2') );
if ( itemA.style.display != '' ) {
var s = "allmessageshider(\"" + hItem.replace('i', 'r1') + "\", \"" + hItem.replace('i', 'r2') + "\", '')";
var k = window.setTimeout(s,j++*5);
}
} else {
var itemA = document.getElementById( hItem.replace('i', 'r1') );
var itemB = document.getElementById( hItem.replace('i', 'r2') );
if ( itemA.style.display != 'none' ) {
var s = "allmessageshider(\"" + hItem.replace('i', 'r1') + "\", \"" + hItem.replace('i', 'r2') + "\", 'none')";
var k = window.setTimeout(s,j++*5);
}
}
}
return j;
}
function allmessageshider(idA, idB, cstyle) {
var itemA = document.getElementById( idA );
var itemB = document.getElementById( idB );
if (itemA) { itemA.style.display = cstyle; }
if (itemB) { itemB.style.display = cstyle; }
}
function allmessagesmodified() {
allmessages_modified = !allmessages_modified;
k = document.getElementById('allmessagestable');
if (!k) { return;}
var items = k.getElementsByTagName('tr');
for (var i = 0, j = 0; i< items.length; i++) {
if (!allmessages_modified ) {
if ( items[i].style.display != '' ) {
var s = "allmessageshider(\"" + items[i].getAttribute('id') + "\", null, '')";
var k = window.setTimeout(s,j++*5);
}
} else if (items[i].getAttribute('class') == 'def' && allmessages_modified) {
if ( items[i].style.display != 'none' ) {
var s = "allmessageshider(\"" + items[i].getAttribute('id') + "\", null, 'none')";
var k = window.setTimeout(s,j++*5);
}
}
}
}
function allmessagesshow() {
k = document.getElementById('allmessagesfilter');
if (k) { k.style.display = ''; }
allmessages_prev = '';
allmessages_modified = false;
}
hookEvent("load", allmessagesshow);
hookEvent("load", mwSetupToolbar);
// Add time to your monobook "personal menu" list at the very top of the page.
// Created by [[User:Mathwiz2020]]
//
// Indicate where you would like the time to appear:
// pt-userpage, pt-mytalk, pt-preferences,
// pt-watchlist, pt-mycontris, pt-logout
//
gsTimeInsertBefore = 'pt-userpage'; // leave blank to append after "logout"
//
function makeTime()
{
var li = document.createElement( 'li' );
li.id = 'pt-time';
var mySpan = document.createElement( 'span' );
mySpan.appendChild( document.createTextNode( '00:00:00' ) );
li.appendChild( mySpan );
if ( ! gsTimeInsertBefore ) // append to end (right) of list
{ document.getElementById( 'pt-logout' ).parentNode.appendChild( li );
}
else
{ var before = document.getElementById( gsTimeInsertBefore );
before.appendChild( li, before );
}
doTime = window.setTimeout("getTime()", 1000);
}
if ( window.addEventListener ) window.addEventListener( 'load', makeTime, false );
else if ( window.attachEvent ) window.attachEvent ( 'onload', makeTime );
function getTime()
{
var time = new Date();
var hours = time.getUTCHours();
if (hours < 10) { hours = "0" + hours; }
var minutes = time.getUTCMinutes();
if (minutes < 10) { minutes = "0" + minutes; }
var seconds = time.getUTCSeconds();
if (seconds < 10) { seconds = "0" + seconds; }
var currentTime = hours + ":" + minutes + ":" + seconds;
document.getElementById('pt-time').childNodes[0].childNodes[0].replaceData(0, 8, currentTime);
doTime = window.setTimeout("getTime()", 1000);
}