function byId(id) {

	return document.getElementById(id);

}

function formEl(form, name) {

        if (!IE) return form.elements[name];

        elements = form.elements;
        for (i = 0; i < elements.length; i++)
                if (elements[i].name == name) return form.elements[i];

}

function mk(id) {

        return document.createElement(id);

}

function getChildren (ob, label) {

        nodes = new Array();
        child = ob.childNodes;
        if (label == undefined) label = '';

        for (z = 0; z < child.length; z++)
                if (child[z].nodeName.toLowerCase() == label.toLowerCase())
                        nodes.push(child[z]);

        return nodes;

}

function go2(url) {

        document.location.href = url;

}

function xmlhttp (func, url, ob) {

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
                ob = new XMLHttpRequest();
                if (ob.overrideMimeType) {
                        ob.overrideMimeType('text/xml');
                        // See note below about this line
                }
        } else if (window.ActiveXObject) { // IE
                try {
                        ob = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                        try {
                                ob = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {}
                }
        }

        if (!ob) {
                alert('Giving up :( Cannot create an XMLHTTP instance');
                return false;
        }

        ob.onreadystatechange = function(e) {

                if (
                        ob.readyState == 4 &&
                        ob.status == 200
                ) func(ob);

        }

        ob.open('GET', url, true);
        ob.send(null);

        return ob;

}

function xwin (
	url,
	name,
	width,
	height,
	features
) {

	var l = (window.screen.availWidth)	? (window.screen.availWidth - width)/2		: 0;
	var t = (window.screen.availHeight)	? (window.screen.availHeight - height)/2	: 0;

	if (typeof(features) == 'string')
		features = ',' + features;

	var w = window.open (
		url,
		name,
		'top='		+ t		+ ',' +
		'left='		+ l		+ ',' +
		'height='	+ height	+ ',' +
		'width='	+ width		+ ',' +
		features
	);

	if (!w) return;
	w.resizeTo (width, height);
	return w;

}

function debugElement (elem) {

	str	= "";
	j	= 0;
	for (i in elem) {
		//str+="<center><big>" + i + "</big></center><br/>\n";
		str+=i + "\n";
		j++;
		if (j==20) {
			//document.write(str);
			alert(str);
			str="";
			j = 0;
		}

	}
}

function isInt (str) {

	var i = parseInt (str);

	if (isNaN (i)) return false;

	i = i . toString ();
	if (i != str) return false;

	return true;

}

function num_format (x) {

        var str = new String (x);
        var newstr = "";
        var nr_caractere = str.length;

        if (nr_caractere <= 3)
                return str;

        for (var i = 0; i < nr_caractere; i++) {
                if (! ((nr_caractere - i) % 3) && i > 0)
                        newstr = newstr + ".";
                newstr = newstr + str.charAt(i);
        }

        return (newstr);

}

function forceNum (number) {

	return number.length ? number : 0;

}