Gebruiker:Tomgreep/Zeusmode/toolbox.js
Opmerking: na het publiceren is het wellicht nodig uw browsercache te legen om de veranderingen te zien.
- Firefox / Safari: houd Shift ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
- Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
- Edge: houd Ctrl ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5.
//<pre><nowiki>
// -----------------------------------------------------------------------------
// tools for [[User:Zanaq/Zeusmode]]
// -----------------------------------------------------------------------------
//------------------------------------
// Find an elememt in an array
// (c) Zanaq 2008 - released under GPL
//------------------------------------
//findInArray(['hallo','daaag','hoipipeloi'], '"daa');
function findInArray(elements, searchString, caseSensitive)
{
elementString=elements.toSource().toUpperCase();
a=elementString.indexOf(searchString.toUpperCase());
if (a==-1) return(-1);
b=elementString.substring(a+1).match(/, "/g);
if (!b) return(elements.length-1);
return(elements.length - b.length - 1);
}
//------------------------------------
// Create a pseudo combobox
// (c) Zanaq 2008 - released under GPL
//------------------------------------
function createComboBox(id, width, defaultvalue, values, captions)
{
//return(values[1]);
cmbb='<table CELLSPACING="-2px" CELLPADDING="-2px" BORDER="0" style=display:inline;margin-bottom:-5px;margin-top:50px;padding:0;><tr><td style="">';
cmbb+=' <select style="margin-right:-' + (width) + 'px;width:' + width + 'px;border:0" onChange="JavaScript:changeSelect(this, \'' + id + '\');" id="sel' + id + '" class="dropDown" value="' + defaultvalue +'"/>';
for (iii=0;iii<values.length;iii++)
{
cmbb+='<option value="' + values[iii] +'"/>' + captions[iii] ;
//alert(iii);
//if (iii > 5) break;
}
cmbb+='</select>';
cmbb+='<span style=background:#000;margin-right:22px><input onKeyUp=\'JavaScript:changeTextbox("' + id +'", ' + values.toSource() + ', event)\' style="width:' + (width-22) + 'px" id="' + id + '" class="txtBox"/ value="' + defaultvalue + '"></span></td></tr></table>';
return(cmbb);
}
function changeTextbox(id,elements,e)
{
//if (findInArray(['8','27','36','35','37','38','39','40'], e.keyCode.toString()) !=-1)
if (((e.keyCode < 47) && (e.keyCode != 32) )|| (e.keyCode==91) || (e.keyCode==92) || (e.keyCode==93) || (e.keyCode==144)|| (e.keyCode==145)) return(0);
//alert(e.keyCode);
x=document.getElementById(id);
xx=document.getElementById('sel' + id);
//elements=xx.options;
q=x.selectionStart;
if (q==0) return(0);
val=x.value.substring(0,q);
a=findInArray(elements, '"' + val);
if (a==-1) return(0);
x.value=elements[a];
x.selectionStart=q;
x.selectionEnd=x.value.length;
xx.value=elements[a];
}
function changeSelect(x, id)
{
document.getElementById(id).value=x.value;
}
// -----------------------------------------------------------------------------
// XMLHttpRequest support
// From Sam Hocevar's godmode
// -----------------------------------------------------------------------------
if (document.implementation.createDocument) {
var xmlparser = new DOMParser();
}
function XMLParse(string) {
if (document.implementation.createDocument) {
return xmlparser.parseFromString(string, "text/xml");
} else if (window.ActiveXObject) {
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = "false";
ret = xmldoc.loadXML(string);
if (!ret)
return null;
return xmldoc.documentElement;
}
return null;
}
var xmlhttp;
function HTTPClient() {
var http;
if(window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
http = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
http = false;
}
}
}
return http;
}
/*--------------------------------------
Add a link to a given item
From the collection at the english wikipedia
--------------------------------------*/
function addlilink(tabs, url, name, id, title, key){
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
if(id) li.id = id;
li.appendChild(na);
tabs.appendChild(li);
if(id)
{
if(key && title)
{
ta[id] = [key, title];
}
else if(key)
{
ta[id] = [key, ''];
}
else if(title)
{
ta[id] = ['', title];
}
}
// re-render the title and accesskeys from existing code in wikibits.js
// akeytt();
return li;
}
//</nowiki></pre>