function XmlDom(){
  var xdom;

  this.XmlDom = new function(){
	  
	try {
  	  xdom = new ActiveXObject("Msxml2.DOMDocument");
	  xdom.async = false;
	  xdom.validateOnParse = false;
	  xdom.resolveExternals = false;
	} catch(e){
	  try {
        if( document.implementation && document.implementation.createDocument ){
		  xdom = document.implementation.createDocument('', '', null);  
		  xdom.async = false;
  	      xdom.validateOnParse = false;
	      xdom.resolveExternals = false;
		} 
	  } catch(e) {
	    alert( 'error creating xdom ' + e.description );
	  }
	}  
  }
  
  this.loadXML = function( xml ){
		xdom.loadXML(xml);
  }
  
  this.loaddom = function( filename ){
	try {
  	  xdom.loadXML( filename );
	} catch(e){
		
	  alert( 'couldnt load dom ' + e.message );	
    }
  }
  
  this.getdom = function(){
	return xdom;  
  }
  
  this.setdom = function( dom ){
	 try {
	   if( !xdom.hasChildNodes()) {
  	     var tmpnode = xdom.createElement("tmp");
   	     xdom.appendChild(tmpnode)
	   }
	   xdom.replaceChild(dom.firstChild.parentNode, xdom.documentElement); 
	 } catch(e) {
	   alert( 'error replacing ' + e.message )	 
	 }
  }

}

