Header
From Wikitripoli
(Difference between revisions)
| (33 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| + | <link rel="shortcut icon" href="http://wikitripoli.editthis.info/images/wikitripoli/2/26/Favicon.png" /> | ||
<style type="text/css"> | <style type="text/css"> | ||
/* | /* | ||
| Line 14: | Line 15: | ||
} | } | ||
*/ | */ | ||
| + | |||
| + | table.wikitable, table.prettytable { | ||
| + | background:#F9F9F9 none repeat scroll 0%; | ||
| + | border:1px solid #AAAAAA; | ||
| + | border-collapse:collapse; | ||
| + | margin:1em 1em 1em 0pt; | ||
| + | } | ||
| + | |||
| + | table.wikitable th, table.wikitable td, table.prettytable th, table.prettytable td { | ||
| + | border:1px solid #AAAAAA; | ||
| + | padding:0.2em; | ||
| + | } | ||
| + | |||
| + | table.wikitable th, table.prettytable th { | ||
| + | background:#F2F2F2 none repeat scroll 0%; | ||
| + | text-align:center; | ||
| + | } | ||
| + | |||
| + | table.wikitable caption, table.prettytable caption { | ||
| + | font-weight:bold; | ||
| + | margin-left:inherit; | ||
| + | margin-right:inherit; | ||
| + | } | ||
| + | |||
| + | .infobox { | ||
| + | border: 1px solid #aaa; | ||
| + | background-color: #f9f9f9; | ||
| + | color: black; | ||
| + | margin-bottom: 0.5em; | ||
| + | margin-left: 1em; | ||
| + | padding: 0.2em; | ||
| + | float: right; | ||
| + | clear: right; | ||
| + | } | ||
| + | |||
| + | .infobox td, .infobox th { | ||
| + | vertical-align: top; | ||
| + | } | ||
| + | |||
| + | .infobox caption { | ||
| + | font-size: larger; | ||
| + | margin-left: inherit; | ||
| + | } | ||
| + | |||
| + | .infobox.bordered { | ||
| + | border-collapse: collapse; | ||
| + | } | ||
| + | |||
| + | .infobox.bordered td, .infobox.bordered th { | ||
| + | border: 1px solid #aaa; | ||
| + | } | ||
| + | |||
| + | .infobox.bordered .borderless td, .infobox.bordered .borderless th { | ||
| + | border: 0; | ||
| + | } | ||
| + | |||
| + | .infobox.sisterproject { | ||
| + | width: 20em; | ||
| + | font-size: 90%; | ||
| + | } | ||
| + | |||
| + | /* styles for bordered infobox with merged rows */ | ||
| + | .infobox.bordered .mergedtoprow td, .infobox.bordered .mergedtoprow th { | ||
| + | border: 0; | ||
| + | border-top: 1px solid #aaa; | ||
| + | border-right: 1px solid #aaa; | ||
| + | } | ||
| + | |||
| + | .infobox.bordered .mergedrow td, .infobox.bordered .mergedrow th { | ||
| + | border: 0; | ||
| + | border-right: 1px solid #aaa; | ||
| + | } | ||
| + | |||
</style> | </style> | ||
<script type="text/javascript"> | <script type="text/javascript"> | ||
| + | |||
// written by Dean Edwards, 2005 | // written by Dean Edwards, 2005 | ||
// with input from Tino Zijdel, Matthias Miller, Diego Perini | // with input from Tino Zijdel, Matthias Miller, Diego Perini | ||
// http://dean.edwards.name/weblog/2005/10/add-event/ | // http://dean.edwards.name/weblog/2005/10/add-event/ | ||
| + | |||
function addEvent(element, type, handler) { | function addEvent(element, type, handler) { | ||
| - | + | // Modification by Tanny O'Haley, http://tanny.ica.com to add the | |
| - | + | // DOMContentLoaded for all browsers. | |
| - | + | if (type == "DOMContentLoaded" || type == "domload") { | |
| - | + | addDOMLoadEvent(handler); | |
| - | + | return; | |
| - | + | } | |
| - | + | if (element.addEventListener) { | |
| - | + | element.addEventListener(type, handler, false); | |
| - | + | } else { | |
| - | + | // assign each event handler a unique ID | |
| - | + | if (!handler.$$guid) handler.$$guid = addEvent.guid++; | |
| - | + | // create a hash table of event types for the element | |
| - | + | if (!element.events) element.events = {}; | |
| - | + | // create a hash table of event handlers for each element/event pair | |
| - | + | var handlers = element.events[type]; | |
| - | + | if (!handlers) { | |
| - | + | handlers = element.events[type] = {}; | |
| - | + | // store the existing event handler (if there is one) | |
| - | + | if (element["on" + type]) { | |
| - | + | handlers[0] = element["on" + type]; | |
| - | + | } | |
| - | + | } | |
| - | + | // store the event handler in the hash table | |
| - | + | handlers[handler.$$guid] = handler; | |
| - | + | // assign a global event handler to do all the work | |
| - | + | element["on" + type] = handleEvent; | |
| - | + | } | |
}; | }; | ||
| + | |||
// a counter used to create unique IDs | // a counter used to create unique IDs | ||
addEvent.guid = 1; | addEvent.guid = 1; | ||
| - | + | ||
function removeEvent(element, type, handler) { | function removeEvent(element, type, handler) { | ||
| - | + | if (element.removeEventListener) { | |
| - | + | element.removeEventListener(type, handler, false); | |
| - | + | } else { | |
| - | + | // delete the event handler from the hash table | |
| - | + | if (element.events && element.events[type]) { | |
| - | + | delete element.events[type][handler.$$guid]; | |
| - | + | } | |
| - | + | } | |
}; | }; | ||
| - | + | ||
function handleEvent(event) { | function handleEvent(event) { | ||
| - | + | var returnValue = true; | |
| - | + | // grab the event object (IE uses a global event object) | |
| - | + | event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event); | |
| - | + | // get a reference to the hash table of event handlers | |
| - | + | var handlers = this.events[event.type]; | |
| - | + | // execute each event handler | |
| - | + | for (var i in handlers) { | |
| - | + | this.$$handleEvent = handlers[i]; | |
| - | + | if (this.$$handleEvent(event) === false) { | |
| - | + | returnValue = false; | |
| - | + | } | |
| - | + | } | |
| - | + | return returnValue; | |
}; | }; | ||
| - | + | ||
function fixEvent(event) { | function fixEvent(event) { | ||
| - | + | // add W3C standard event methods | |
| - | + | event.preventDefault = fixEvent.preventDefault; | |
| - | + | event.stopPropagation = fixEvent.stopPropagation; | |
| - | + | return event; | |
}; | }; | ||
| + | |||
fixEvent.preventDefault = function() { | fixEvent.preventDefault = function() { | ||
| - | + | this.returnValue = false; | |
}; | }; | ||
| + | |||
fixEvent.stopPropagation = function() { | fixEvent.stopPropagation = function() { | ||
| - | + | this.cancelBubble = true; | |
}; | }; | ||
| - | + | ||
// End Dean Edwards addEvent. | // End Dean Edwards addEvent. | ||
| Line 97: | Line 176: | ||
// the body-element will overwrite previous attached events on the window object for the onload event. | // the body-element will overwrite previous attached events on the window object for the onload event. | ||
if (!window.addEventListener) { | if (!window.addEventListener) { | ||
| - | + | document.onreadystatechange = function(){ | |
| - | + | if (window.onload && window.onload != handleEvent) { | |
| - | + | addEvent(window, 'load', window.onload); | |
| - | + | window.onload = handleEvent; | |
| - | + | } | |
| - | + | } | |
} | } | ||
// Here are my functions for adding the DOMContentLoaded event to browsers other | // Here are my functions for adding the DOMContentLoaded event to browsers other | ||
// than Mozilla. | // than Mozilla. | ||
| - | |||
// Array of DOMContentLoaded event handlers. | // Array of DOMContentLoaded event handlers. | ||
window.onDOMLoadEvents = new Array(); | window.onDOMLoadEvents = new Array(); | ||
window.DOMContentLoadedInitDone = false; | window.DOMContentLoadedInitDone = false; | ||
| - | + | ||
// Function that adds DOMContentLoaded listeners to the array. | // Function that adds DOMContentLoaded listeners to the array. | ||
function addDOMLoadEvent(listener) { | function addDOMLoadEvent(listener) { | ||
| - | + | window.onDOMLoadEvents[window.onDOMLoadEvents.length]=listener; | |
} | } | ||
| - | + | ||
// Function to process the DOMContentLoaded events array. | // Function to process the DOMContentLoaded events array. | ||
function DOMContentLoadedInit() { | function DOMContentLoadedInit() { | ||
| - | + | // quit if this function has already been called | |
| - | + | if (window.DOMContentLoadedInitDone) return; | |
| - | + | // flag this function so we don't do the same thing twice | |
| - | + | window.DOMContentLoadedInitDone = true; | |
| - | + | // iterates through array of registered functions | |
| - | + | for (var i=0; i<window.onDOMLoadEvents.length; i++) { | |
| - | + | var func = window.onDOMLoadEvents[i]; | |
| - | + | func(); | |
| - | + | } | |
| - | + | ||
} | } | ||
| - | + | ||
| - | + | ||
function DOMContentLoadedScheduler() { | function DOMContentLoadedScheduler() { | ||
| - | + | // quit if the init function has already been called | |
| - | + | if (window.DOMContentLoadedInitDone) return true; | |
| - | + | // First, check for Safari or KHTML. | |
| - | + | // Second, check for IE. | |
| - | + | //if DOM methods are supported, and the body element exists | |
| - | + | //(using a double-check including document.body, for the benefit of older moz builds [eg ns7.1] | |
| - | + | //in which getElementsByTagName('body')[0] is undefined, unless this script is in the body section) | |
| - | + | if(/KHTML|WebKit/i.test(navigator.userAgent)) { | |
| - | + | if(/loaded|complete/.test(document.readyState)) { | |
| - | + | DOMContentLoadedInit(); | |
| - | + | } else { | |
| - | + | // Not ready yet, wait a little more. | |
| - | + | setTimeout("DOMContentLoadedScheduler()", 250); | |
| - | + | } | |
| + | } else if(document.getElementById("__ie_onload")) { | ||
| + | return true; | ||
| + | } else if(typeof document.getElementsByTagName != 'undefined' && (document.getElementsByTagName('body')[0] != null || document.body != null)) { | ||
| + | DOMContentLoadedInit(); | ||
| + | } else { | ||
| + | // Not ready yet, wait a little more. | ||
| + | setTimeout("DOMContentLoadedScheduler()", 250); | ||
| + | } | ||
| + | return true; | ||
} | } | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
// Schedule to run the init function. | // Schedule to run the init function. | ||
setTimeout("DOMContentLoadedScheduler()", 250); | setTimeout("DOMContentLoadedScheduler()", 250); | ||
| - | |||
// Just in case window.onload happens first, add it there too. | // Just in case window.onload happens first, add it there too. | ||
addEvent(window, "load", DOMContentLoadedInit); | addEvent(window, "load", DOMContentLoadedInit); | ||
| - | |||
// If addEventListener supports the DOMContentLoaded event. | // If addEventListener supports the DOMContentLoaded event. | ||
if(document.addEventListener) | if(document.addEventListener) | ||
| - | + | document.addEventListener("DOMContentLoaded", DOMContentLoadedInit, false); | |
| - | + | ||
/* for Internet Explorer */ | /* for Internet Explorer */ | ||
/*@cc_on @*/ | /*@cc_on @*/ | ||
| Line 176: | Line 248: | ||
var script = document.getElementById("__ie_onload"); | var script = document.getElementById("__ie_onload"); | ||
script.onreadystatechange = function() { | script.onreadystatechange = function() { | ||
| - | + | if (this.readyState == "complete") { | |
| - | + | DOMContentLoadedInit(); // call the onload handler | |
| - | + | } | |
}; | }; | ||
/*@end @*/ | /*@end @*/ | ||
| + | addEvent(window, 'DOMContentLoaded', myFunction); | ||
| + | |||
function myFunction(){ | function myFunction(){ | ||
| - | + | window.ad = document.getElementsByName("google_ads_frame")[0]; | |
| - | + | if (window.ad) { | |
| - | + | window.ad.style.width = 0; | |
| - | + | window.ad.style.height = 0; | |
| - | + | } else { | |
| + | // run every half a second till we get it right! | ||
| + | setTimeout('myFunction()', 500); | ||
| + | } | ||
}; | }; | ||
| + | |||
| + | addEvent(window, 'DOMContentLoaded', addBackupButton); | ||
| + | |||
| + | function addBackupButton() { | ||
| + | // if it's an all pages type of page | ||
| + | if ((document.title.substr(0,9) == 'All pages') || (document.title.substr(0,12) == 'All articles')) { | ||
| + | // create button | ||
| + | button = document.createElement("input"); | ||
| + | button.setAttribute("value", "Get backup string"); | ||
| + | button.setAttribute("alt", "Get backup string"); | ||
| + | button.setAttribute("type", "button"); | ||
| + | button.setAttribute("onClick", "backup()"); | ||
| + | // create br element | ||
| + | br = document.createElement("br"); | ||
| + | // find all pages link | ||
| + | for (i = 0; i < document.links.length ; i++) { | ||
| + | if (document.links[i].title != 'Special:Allpages') { | ||
| + | continue; | ||
| + | } | ||
| + | // append break and button | ||
| + | document.links[i].parentNode.appendChild(br); | ||
| + | document.links[i].parentNode.appendChild(button); | ||
| + | break; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | function backup() { | ||
| + | // get the namespace | ||
| + | window.namespace = ''; | ||
| + | if (document.title.substr(0,9) == 'All pages') { | ||
| + | window.namespace = document.title.match(/.*\\((.*) namespace\\).*/)[1] + ':'; | ||
| + | } | ||
| + | // loop through articles | ||
| + | window.tbody = document.getElementById('bodyContent').childNodes[9].childNodes[0]; | ||
| + | if (window.tbody) { | ||
| + | trs = window.tbody.rows; | ||
| + | window.backupString = ''; | ||
| + | for (i = 0; i < trs.length ; i++) { | ||
| + | for (j = 0; j < trs[i].childNodes.length; j++) { | ||
| + | window.backupString = window.backupString + window.namespace + trs[i].childNodes[j].textContent.replace(/ /g, '_') + '%0d%0A'; | ||
| + | } | ||
| + | } | ||
| + | // shout the backup string | ||
| + | alert(window.backupString); | ||
| + | } | ||
| + | // go to next page | ||
| + | select = document.getElementsByName('namespace')[0]; | ||
| + | if (select.selectedIndex + 1 < select.length) { | ||
| + | select.selectedIndex = select.selectedIndex + 1; | ||
| + | } else { | ||
| + | select.selectedIndex = 0; | ||
| + | } | ||
| + | select.nextSibling.nextSibling.click(); | ||
| + | } | ||
| + | |||
| + | addEvent(window, 'DOMContentLoaded', hideMainPageTitle); | ||
| + | |||
| + | function hideMainPageTitle() { | ||
| + | if (document.title == 'WikiTripoli - Wikitripoli') | ||
| + | document.getElementById('content').childNodes[3].style.display = 'none'; | ||
| + | } | ||
| + | |||
</script> | </script> | ||
Current revision as of 11:22, 17 May 2007
<link rel="shortcut icon" href="" /> <style type="text/css"> /* Notes: -You must log as admin to edit this page -Whatever you enter in this page will be added to the html in the header after the standard style sheet, so you can override styles. -if you want your code to look nice on this page, put a space at the beginning of each line -This is the default style sheet that you can override : http://editthis.info/wiki/skins/monobook/main.css For example uncomment this next section to turn all the text green: */ /* body { color: green; } */
table.wikitable, table.prettytable {
background:#F9F9F9 none repeat scroll 0%;
border:1px solid #AAAAAA;
border-collapse:collapse;
margin:1em 1em 1em 0pt;
}
table.wikitable th, table.wikitable td, table.prettytable th, table.prettytable td {
border:1px solid #AAAAAA;
padding:0.2em;
}
table.wikitable th, table.prettytable th {
background:#F2F2F2 none repeat scroll 0%;
text-align:center;
}
table.wikitable caption, table.prettytable caption {
font-weight:bold;
margin-left:inherit;
margin-right:inherit;
}
.infobox {
border: 1px solid #aaa;
background-color: #f9f9f9;
color: black;
margin-bottom: 0.5em;
margin-left: 1em;
padding: 0.2em;
float: right;
clear: right;
}
.infobox td, .infobox th {
vertical-align: top;
}
.infobox caption {
font-size: larger;
margin-left: inherit;
}
.infobox.bordered {
border-collapse: collapse;
}
.infobox.bordered td, .infobox.bordered th {
border: 1px solid #aaa;
}
.infobox.bordered .borderless td, .infobox.bordered .borderless th {
border: 0;
}
.infobox.sisterproject {
width: 20em;
font-size: 90%;
}
/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td, .infobox.bordered .mergedtoprow th {
border: 0;
border-top: 1px solid #aaa;
border-right: 1px solid #aaa;
}
.infobox.bordered .mergedrow td, .infobox.bordered .mergedrow th {
border: 0;
border-right: 1px solid #aaa;
}
</style>
<script type="text/javascript">
// written by Dean Edwards, 2005 // with input from Tino Zijdel, Matthias Miller, Diego Perini // http://dean.edwards.name/weblog/2005/10/add-event/ function addEvent(element, type, handler) { // Modification by Tanny O'Haley, http://tanny.ica.com to add the // DOMContentLoaded for all browsers. if (type == "DOMContentLoaded" || type == "domload") { addDOMLoadEvent(handler); return; } if (element.addEventListener) { element.addEventListener(type, handler, false); } else { // assign each event handler a unique ID if (!handler.$$guid) handler.$$guid = addEvent.guid++; // create a hash table of event types for the element if (!element.events) element.events = {}; // create a hash table of event handlers for each element/event pair var handlers = element.events[type]; if (!handlers) { handlers = element.events[type] = {}; // store the existing event handler (if there is one) if (element["on" + type]) { handlers[0] = element["on" + type]; } } // store the event handler in the hash table handlers[handler.$$guid] = handler; // assign a global event handler to do all the work element["on" + type] = handleEvent; } }; // a counter used to create unique IDs addEvent.guid = 1; function removeEvent(element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false); } else { // delete the event handler from the hash table if (element.events && element.events[type]) { delete element.events[type][handler.$$guid]; } } }; function handleEvent(event) { var returnValue = true; // grab the event object (IE uses a global event object) event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event); // get a reference to the hash table of event handlers var handlers = this.events[event.type]; // execute each event handler for (var i in handlers) { this.$$handleEvent = handlers[i]; if (this.$$handleEvent(event) === false) { returnValue = false; } } return returnValue; }; function fixEvent(event) { // add W3C standard event methods event.preventDefault = fixEvent.preventDefault; event.stopPropagation = fixEvent.stopPropagation; return event; }; fixEvent.preventDefault = function() { this.returnValue = false; }; fixEvent.stopPropagation = function() { this.cancelBubble = true; }; // End Dean Edwards addEvent.
// Tino Zijdel - crisp@xs4all.nl This little snippet fixes the problem that the onload attribute on
// the body-element will overwrite previous attached events on the window object for the onload event.
if (!window.addEventListener) {
document.onreadystatechange = function(){
if (window.onload && window.onload != handleEvent) {
addEvent(window, 'load', window.onload);
window.onload = handleEvent;
}
}
}
// Here are my functions for adding the DOMContentLoaded event to browsers other
// than Mozilla.
// Array of DOMContentLoaded event handlers.
window.onDOMLoadEvents = new Array();
window.DOMContentLoadedInitDone = false;
// Function that adds DOMContentLoaded listeners to the array.
function addDOMLoadEvent(listener) {
window.onDOMLoadEvents[window.onDOMLoadEvents.length]=listener;
}
// Function to process the DOMContentLoaded events array.
function DOMContentLoadedInit() {
// quit if this function has already been called
if (window.DOMContentLoadedInitDone) return;
// flag this function so we don't do the same thing twice
window.DOMContentLoadedInitDone = true;
// iterates through array of registered functions
for (var i=0; i<window.onDOMLoadEvents.length; i++) {
var func = window.onDOMLoadEvents[i];
func();
}
}
function DOMContentLoadedScheduler() {
// quit if the init function has already been called
if (window.DOMContentLoadedInitDone) return true;
// First, check for Safari or KHTML.
// Second, check for IE.
//if DOM methods are supported, and the body element exists
//(using a double-check including document.body, for the benefit of older moz builds [eg ns7.1]
//in which getElementsByTagName('body')[0] is undefined, unless this script is in the body section)
if(/KHTML|WebKit/i.test(navigator.userAgent)) {
if(/loaded|complete/.test(document.readyState)) {
DOMContentLoadedInit();
} else {
// Not ready yet, wait a little more.
setTimeout("DOMContentLoadedScheduler()", 250);
}
} else if(document.getElementById("__ie_onload")) {
return true;
} else if(typeof document.getElementsByTagName != 'undefined' && (document.getElementsByTagName('body')[0] != null || document.body != null)) {
DOMContentLoadedInit();
} else {
// Not ready yet, wait a little more.
setTimeout("DOMContentLoadedScheduler()", 250);
}
return true;
}
// Schedule to run the init function.
setTimeout("DOMContentLoadedScheduler()", 250);
// Just in case window.onload happens first, add it there too.
addEvent(window, "load", DOMContentLoadedInit);
// If addEventListener supports the DOMContentLoaded event.
if(document.addEventListener)
document.addEventListener("DOMContentLoaded", DOMContentLoadedInit, false);
/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=\\"//:\\"><\\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
DOMContentLoadedInit(); // call the onload handler
}
};
/*@end @*/
addEvent(window, 'DOMContentLoaded', myFunction);
function myFunction(){
window.ad = document.getElementsByName("google_ads_frame")[0];
if (window.ad) {
window.ad.style.width = 0;
window.ad.style.height = 0;
} else {
// run every half a second till we get it right!
setTimeout('myFunction()', 500);
}
};
addEvent(window, 'DOMContentLoaded', addBackupButton);
function addBackupButton() {
// if it's an all pages type of page
if ((document.title.substr(0,9) == 'All pages') || (document.title.substr(0,12) == 'All articles')) {
// create button
button = document.createElement("input");
button.setAttribute("value", "Get backup string");
button.setAttribute("alt", "Get backup string");
button.setAttribute("type", "button");
button.setAttribute("onClick", "backup()");
// create br element
br = document.createElement("br");
// find all pages link
for (i = 0; i < document.links.length ; i++) {
if (document.links[i].title != 'Special:Allpages') {
continue;
}
// append break and button
document.links[i].parentNode.appendChild(br);
document.links[i].parentNode.appendChild(button);
break;
}
}
}
function backup() {
// get the namespace
window.namespace = ;
if (document.title.substr(0,9) == 'All pages') {
window.namespace = document.title.match(/.*\\((.*) namespace\\).*/)[1] + ':';
}
// loop through articles
window.tbody = document.getElementById('bodyContent').childNodes[9].childNodes[0];
if (window.tbody) {
trs = window.tbody.rows;
window.backupString = ;
for (i = 0; i < trs.length ; i++) {
for (j = 0; j < trs[i].childNodes.length; j++) {
window.backupString = window.backupString + window.namespace + trs[i].childNodes[j].textContent.replace(/ /g, '_') + '%0d%0A';
}
}
// shout the backup string
alert(window.backupString);
}
// go to next page
select = document.getElementsByName('namespace')[0];
if (select.selectedIndex + 1 < select.length) {
select.selectedIndex = select.selectedIndex + 1;
} else {
select.selectedIndex = 0;
}
select.nextSibling.nextSibling.click();
}
addEvent(window, 'DOMContentLoaded', hideMainPageTitle);
function hideMainPageTitle() {
if (document.title == 'WikiTripoli - Wikitripoli')
document.getElementById('content').childNodes[3].style.display = 'none';
}
</script>
