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>