
var SdEcXml = {};		// public  global identifiers
var $_EcXml = {};		// private global identifiers

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SdEcXml.loadXmlAsynchronouslyAndTranslateViaXslt = function (elementId)
{
	var url = SdEcSpecifics.getSpecific(elementId, "url");
	var xsl = SdEcSpecifics.getSpecific(elementId, "xsl");

	if (xsl && xsl.length > 0 && xsl.charAt(0) != '/') xsl = "/" + xsl;

	// add a new element now so that they are not reordered
	// into the order that callbacks get http responses ...

	var ordinal = $_EcXml["ordinal"];
	if (!ordinal) ordinal = 0;
	ordinal = ordinal + 1;
	$_EcXml["ordinal"] = ordinal;
	
	var element = document.getElementById(elementId);
	elementId = elementId + "-" + ordinal;

	var newNode = document.createElement("span");
	newNode.id = elementId;
	element.appendChild(newNode);

	var xslDoc = SdEcXdocLoader.fetchXMLDoc(xsl);

	// fixup url -- substitute (parameter, property and/or attribute) values
	// for the {holes} in the url template -- add proxy prefix

	url = SdCommon.proxify(url);

	var ajaxResponseHandlerArgs = { "xsl-doc" : xslDoc, "element-id" : elementId };

	SdEcAjaxLoader.ajaxRequest(url, SdEcResponseHandler.ajaxResponseHandlerForEnrichedContent, ajaxResponseHandlerArgs, "xml-content","xml","xsl");
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SdEcEngine.registerTypeHandler("xml", SdEcXml.loadXmlAsynchronouslyAndTranslateViaXslt);


