
function capsule(tag, content){
    var t = document.createElement(tag);
    t.appendChild(content);
    return t;
}
function echo(theStr){
    return document.createTextNode(theStr);
}

function DescribeElement(srcElement, dstElement, clearFirst){
    if(!dstElement){ alert("dstElement does not exists"); return; }
    if(clearFirst == true){
	while(dstElement.hasChildNodes()){
	    dstElement.removeChild(dstElement.firstChild);
	}
    }

    dstElement.appendChild(capsule("h3", echo("Describing: "+srcElement)));
    
    var current = "";
    for(var j=0; j<2; j++){
	if(j==0){ current = "attributes"; }
	else if(j==1){ current = "childNodes"; }
	if(srcElement[current]){
	    dstElement.appendChild(capsule("b", capsule("u", echo(current+": ("+srcElement[current].length+")"))));
	    var t = document.createElement("table");
	    dstElement.appendChild(t);
	    t.border=1;
	    for(var i=0; i<srcElement[current].length; i++){
		var tr = t.insertRow(-1);
		var td = tr.insertCell(-1);
		td.appendChild(echo(srcElement[current].item(i).nodeName));
		td = tr.insertCell(-1);
		td.appendChild(echo(srcElement[current].item(i).nodeValue));
	    }
	}
    }

}
