

function NewRequest(){

	var request = null;

	try {
		request = new XMLHttpRequest();
	}
	catch(trymicrosoft)
	{
		try{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(othermicrosoft)
		{
			try{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(failed)
			{
				request = null;
			}
		}
	}

	return request;

}


function DOMDocFromXML(xml){

	var doc = null;

	try {
		var parser = new DOMParser();
		doc = parser.parseFromString(xml,"text/xml");		
	}
	catch(trymicrosoft)
	{
		try{
			doc = new ActiveXObject("Microsoft.XMLDOM");
			doc.async = false;
			doc.loadXML(xml);
		}
		catch(failed)
		{
			doc = null;
		}
	}

	
	return doc;

}


function requestReady(request){

	if (request == null){
		return false;
	}

	if (request.readyState==4 && request.status == 200){
		return true;
	}else{
		return false;
	}

}

function transformDomDoc(docXml, docXsl){

	var newDocument = null;

	try {

		var processor = new XSLTProcessor();
		processor.importStylesheet(docXsl);
		newDocument = processor.transformToDocument(docXml);

	}
	catch(trymicrosoft)
	{
		try{
			newDocument = DOMDocFromXML(docXml.transformNode(docXsl));
		}
		catch(failed)
		{
			newDocument = null;
		}

	}

	return newDocument;

}


function setDiv(resultDoc,resultDiv){

	//Cross Browser code set the contents of a Div Tag


	if (document.implementation && document.implementation.createDocument){
				

		try{
	
			//firefox

			var outputDoc; 
			var i; 

			outputDoc = document.getElementById(resultDiv);
			
			for(i=outputDoc.childNodes.length;i>0;i--){
				outputDoc.removeChild(outputDoc.childNodes[i-1]);
			}
			outputDoc.appendChild(resultDoc.firstChild);

		}catch(failed){
			//safari
			document.getElementById(resultDiv).innerHTML = resultDoc.childNodes[0].outerHTML
		}


	}else if(window.ActiveXObject){

		// *** IE
		document.getElementById(resultDiv).innerHTML = resultDoc.xml;
	
	}

}


