

// Class for replacing HTML using XSL transformation

function BxContent ()
{
}

BxContent.prototype.replace = function (elem, sXML, sXSL)
{
    if (!sXML.length) sXML = aBxConfig['urlRoot'] + "Util/empty_xml/";
    if (!sXSL) return false;

	showScreen();

	var $this = this;
  
    var e = 'string' == (typeof elem) ? $(elem) : elem;
    if (!e) return false;

	var h = function (r)
	{		
		e.innerHTML = r;
		
		hideScreen();

        $this.onLoadComplete (e);
	}

	new BxXslTransform (sXML, sXSL, h);

	return false;
}

BxContent.prototype.add = function (rElement, sXML, sXSL)
{	
    if (!sXML.length) sXML = aBxConfig['urlRoot'] + "Util/empty_xml/";
    if (!sXSL) return false;    
    
	showScreen();
	var $this = this;
 
    var oElement = (typeof rElement) == 'string' ? $(rElement) : rElement;    
    if (!oElement) return false;    

	var responseHandler = function (sContent)
	{					
		oElement.innerHTML += sContent;		
		hideScreen();
        $this.onLoadComplete (oElement);
	}

	new BxXslTransform (sXML, sXSL, responseHandler);
	return false;
}

BxContent.prototype.remove = function (rParentElement, rChildElement)
{
    var oParentElement = (typeof rParentElement) == 'string' ? $(rParentElement) : rParentElement;
    if (!oParentElement) return false;		
	var oChildElement = (typeof rChildElement) == 'string' ? $(rChildElement) : rChildElement;
    if (!oChildElement) return false;		
    
    oParentElement.removeChild(oChildElement);    
	return false;
}

BxContent.prototype.onLoadComplete = function (e)
{
    return true;
}
