function showHide(domain)
{
    var node = document.getElementById(domain);
    var link = document.getElementById('l-' + domain);
    if (!node || !link) {
        return;
    }
    
    if (node.style.display == 'none') {
        node.style.display = 'block';
        link.innerHTML = 'Hide';
    } else {
        node.style.display = 'none';
        link.innerHTML = 'Show';
    }   
}

/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
	Author says "The credit comment is all it takes, no license. Go crazy with it!:-)"
	From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
*/
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames[arrRegExpClassNames.length] =
				new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)");
		}
	}
	else{
		arrRegExpClassNames[arrRegExpClassNames.length] =
			new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)");
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements[arrReturnElements.length] = oElement;
		}
	}
	return (arrReturnElements)
}

function showHideLinks()
{
    link = document.getElementById('showHideLinks');
    
    if (link.innerHTML == 'show') {
        var value = 'inline';
        link.innerHTML = 'hide';
    } else {
        var value = 'none';
        link.innerHTML = 'show';
    }
    nodes = getElementsByClassName(document, 'span', 'removespam')
    
    for(var i = 0; i < nodes.length; i++) {
        nodes[i].style.display = value;
    }
}

function setOptions() {
    var report = query_get('report');
    var targ = '*.' + report.split('/').reverse()[0];
    var tag = prompt('Please insert a link (without http://) to remove from\nall pages listed here. Example (and default if textbox is blank):\n'+targ);
    if(tag == null) { alert('Action canceled.'); return; }
    if(tag == "") tag = targ;
    var options = prompt('Please enter the option modes you would want.\nEnter each one in the textbox (without any seperation marker)\ne=Remove lines that contain the link\ni=Remove links inline in text\nc=Remove Cite_web templates using the link\nExample: ci\nLeave the box blank for all modes');
    if(options == null) { alert('Action canceled.'); return; }
    if(options == "") options = 'eic';
    options = options.split(new RegExp(''));
    var opt = '';
    for(var x in options) {
        var y = options[x];
        if(y == 'c') opt += ',citeweb';
        if(y == 'i') opt += ',inline';
        if(y == 'e') opt += ',lines';
    }
    opt = opt.substring(1);
    options = opt;
    var usesummary = prompt('Please enter a summary to use\nDefault: Removing external link: ' + tag + ' per [[:m:' + report + ']]');
    if(usesummary == null) { alert('Action canceled.'); return; }
    if(usesummary == '') usesummary = 'Removing external link: ' + tag + ' -- per [[:m:' + report + ']]';
    var links = getElementsByClassName(document, 'a', 'removelink')
    for(var i=0; i<links.length; i++) {
        var link = links[i];
        link.href = link.href.split('linkmodified=yes')[0];
        link.href += 'linkmodified=yes&remspam='+escape(tag)+'&options='+escape(options)+'&usesummary='+escape(usesummary);
    }
    document.getElementById('remspam').innerHTML = tag;
    document.getElementById('options').innerHTML = options;
    document.getElementById('usesummary').innerHTML = usesummary;
}

//parse paramName out of query string
//stolen from Lupin's popups
function query_get(paramName) {
  var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
  var h=document.location;
  var m;
  if (m=cmdRe.exec(h)) {
    try { 
      return unescape(m[1]);
    } catch (someError) {}
  }
  return null;
};