function loadXMLDoc(dname){
	if (window.XMLHttpRequest)  {
  		xhttp=new XMLHttpRequest();
  	}else{
  		xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  	}
	xhttp.open("GET",dname,false);
	xhttp.send("");
	return xhttp.responseXML;
}


function initialize() {
  	var xmlDoc;
  	var xslDoc;	

  	xmlDoc = loadXMLDoc("tree/DCIMicrotree.xml");
  	xslDoc = loadXMLDoc("tree/tree.xsl");
  	
  	// code for IE
	if (window.ActiveXObject){
		folderTree.innerHTML = xmlDoc.documentElement.transformNode(xslDoc)		
	}else if (document.implementation && document.implementation.createDocument){
		var xsltProcessor=new XSLTProcessor();
	  	xsltProcessor.importStylesheet(xslDoc);
		var resultDocument = xsltProcessor.transformToFragment(xmlDoc,document);
		document.getElementById("folderTree").appendChild(resultDocument);
	}

  
  
  	
}

function clickOnEntity(entity) {
  if(entity.open == "false") {
    expand(entity, true)
  }
  else {
    collapse(entity)
  }
  window.event.cancelBubble = true
}

function expand(entity) {
  var oImage

  oImage = entity.childNodes(0).all["image"]
  oImage.src = entity.imageOpen

  for(i=0; i < entity.childNodes.length; i++) {
    if(entity.childNodes(i).tagName == "DIV") {
      entity.childNodes(i).style.display = "block"
    }
  }
  entity.open = "true"
}

function collapse(entity) {
  var oImage
  var i

  oImage = entity.childNodes(0).all["image"]
  oImage.src = entity.image

  // collapse and hide children
  for(i=0; i < entity.childNodes.length; i++) {
      if(entity.childNodes(i).tagName == "DIV") {
        if(entity.id != "folderTree") entity.childNodes(i).style.display = "none"
        collapse(entity.childNodes(i))
      }
    }
  entity.open = "false"
}

function expandAll(entity) {
  var oImage
  var i

  expand(entity, false)

  // expand children
  for(i=0; i < entity.childNodes.length; i++) {
    if(entity.childNodes(i).tagName == "DIV") {
      expandAll(entity.childNodes(i))
    }
  }
}
