// JavaScript Document

function loadXMLDoc(fname)
{
	var xmlDoc;
	
	if (window.ActiveXObject)
	  xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); // code for IE
	else if (document.implementation && document.implementation.createDocument)
	  xmlDoc=document.implementation.createDocument("","",null); // code for Mozilla, Firefox, Opera, etc.
	else
	  alert('Your browser cannot handle this script');

	xmlDoc.async=false;
	xmlDoc.load(fname);
	return (xmlDoc);
}

function replaceWithXMLContent(targetObject,xmlFile,xsltFile)
{
	try {
		xml=loadXMLDoc(xmlFile);
		xsl=loadXMLDoc(xsltFile);
		if (window.ActiveXObject)
			document.getElementById("body").innerHTML = xml.transformNode(xsl); // code for IE
		else if (document.implementation && document.implementation.createDocument)
		{
			xsltProcessor=new XSLTProcessor(); // code for Mozilla, Firefox, Opera, etc.
			xsltProcessor.importStylesheet(xsl);
			var resultDocument = xsltProcessor.transformToFragment(xml,document);
			targetObject.parentNode.replaceChild(resultDocument.childNodes[0].childNodes[1], targetObject); 			
		}
	}
	catch (e) {
		alert ("error: "+e);	
	}
}

function getFromXML (xmlFile,xsltFile) {
	try {
		xml=loadXMLDoc(xmlFile);
		xsl=loadXMLDoc(xsltFile);
		if (window.ActiveXObject)
			return xml.transformNode(xsl); // code for IE
		else if (document.implementation && document.implementation.createDocument)
		{
			xsltProcessor=new XSLTProcessor(); // code for Mozilla, Firefox, Opera, etc.
			xsltProcessor.importStylesheet(xsl);
			return xsltProcessor.transformToFragment(xml,document);
		}
	}
	catch (e) {
		alert ("error: "+e);	
	}	
	return null;
}

function setContent (target, data) {
	if (window.ActiveXObject)
			target.innerHTML = xml.transformNode(xsl); // code for IE
		else if (document.implementation && document.implementation.createDocument)
		{
			xsltProcessorcument = xsltProcessor.transformToFragment(xml,document);
			target.appendChild(data); 
		}
}

function combine (xml, xsl) {
	try {
		if (window.ActiveXObject)
			return xml.transformNode(xsl); // code for IE
		else if (document.implementation && document.implementation.createDocument)
		{
			xsltProcessor=new XSLTProcessor(); // code for Mozilla, Firefox, Opera, etc.
			xsltProcessor.importStylesheet(xsl);
			return xsltProcessor.transformToFragment(xml,document);
		}
	}
	catch (e) {
		alert ("error: "+e);	
	}	
	return null;
}