/* window 'load' attachment */
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

/* grab Elements from the DOM by className */
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

/* convert external links to open in new window */
function externalLinks()
{
    if ( !document.getElementsByTagName)
    {
        return;
    }
    var a = document.getElementsByTagName('a');
    for (var i=0; i<a.length; i++)
    {
        if ( a[i].getAttribute('href') && (a[i].getAttribute('rel') == 'external' || a[i].getAttribute('rel') == 'popup') )
        {
            a[i].target = '_blank';
        }
    }
}

addLoadEvent(externalLinks);

function toggle(el) {
    ele = document.getElementById(el);
    if (!ele) return false;
    if (ele.style.display != 'block') {
        ele.style.display = 'block';
    }
    else {
        ele.style.display = 'none';
    }
    
    return true;
}

function please_confirm(str, mode) {
    if (confirm(str)) {
        document.forms.forma.action = '?' + mode;
        document.forms.forma.submit();
    }
    else {
        return false;
    }
}

function selectAll() {
    var formblock  = document.getElementById('forma');
    var select_all = document.getElementById('select_all');
    var forminputs = formblock.getElementsByTagName('input');
    var val = select_all.checked;
    for (i = 0; i < forminputs.length; i++) {
        if (forminputs[i].getAttribute('class') == 'checkbox') {
            forminputs[i].checked = val;
        }
    }
}

/* author Markos: http://markos.gaivo.net/ */
function mangle() {
	if (!document.getElementsByTagName && !document.createElement &&
		!document.createTextNode) return;
	var nodes = document.getElementsByTagName("span");
	for(var i=nodes.length-1;i>=0;i--) {
		if (nodes[i].className=="change") {
			var at = / at /;
			var dot = / dot /g;
			var node = document.createElement("a");
			var address = nodes[i].firstChild.nodeValue;

			address = address.replace(at, "@");
			address = address.replace(dot, ".");

			node.setAttribute("href", "mailto:"+address);
			node.appendChild(document.createTextNode(address));
			
			var prnt = nodes[i].parentNode;
			for(var j=0;j<prnt.childNodes.length;j++)
				if (prnt.childNodes[j] == nodes[i]) {
					if (!prnt.replaceChild) return;
					prnt.replaceChild(node, prnt.childNodes[j]);
					break;
				}
		}
	}
}

addLoadEvent(mangle);