function XSLT(xml, xsl, xsl_old, func, id)
{
	var that = this;
	this.xmlurl = xml;
	this.xml = null;	
	this.xslurl = xsl;
	this.xsl_old = null;//xsl_old;
	this.xsl = null;
	this.func = func;
	this.id = id;
    var oXML = new FCKXml();
    oXML.LoadUrl(that.xmlurl, that.loadXML, that);
}

XSLT.prototype.loadXML = function(fckxml, that)
{
   var that = that;
   that.xml = fckxml;
   var oXML = new FCKXml();
  
   if(that.xsl_old)
   {
	   that.loadXSL(that.xsl_old, that);
   }
   else
   {	   
	   oXML.LoadUrl(that.xslurl ,that.loadXSL, that);
   }
   oXML = null;                   
}

XSLT.prototype.loadXSL = function(fckxml, that)
{
   var that = that;
   var fragment;
   
   if(window.ActiveXObject)
   {
      fragment = that.xml.DOMDocument.transformNode(fckxml.DOMDocument);  
      var div = document.createElement('div');
      div.innerHTML = fragment;	
	  fragment = div.innerHTML;	  
   }
   else
   {
      var xsltProcessor = new XSLTProcessor();             
      xsltProcessor.importStylesheet(fckxml.DOMDocument);                                     
      var div = document.createElement('div');
      div.appendChild(xsltProcessor.transformToFragment(that.xml.DOMDocument,document));	
	  fragment = div.innerHTML;
   }      
   that.func(fragment, that.id, that.xml);   
   return that.xml;    
}

function transformSingleXSL(xsl,xml)
{      	
   if(window.ActiveXObject)
   {
      fragment = xml.transformNode(xsl.DOMDocument);  
      var div = document.createElement('div');
      div.innerHTML = fragment;	
	  fragment = div.innerHTML;	  
   }
   else
   {
      var xsltProcessor = new XSLTProcessor();             
      xsltProcessor.importStylesheet(xsl.DOMDocument);                                     
      var div = document.createElement('div');
      div.appendChild(xsltProcessor.transformToFragment(xml,document));	
	  fragment = div.innerHTML;
   }  
   return fragment;
}

// A részletes infó betöltését végző objektum
function listLoader(xml, xsl, parentObj, callback)
{
	this.xml = xml;
	this.xsl = xsl;
	this.parentObj = parentObj;
	this.callback = callback;
	this.loadedXSLT = null;	
}

listLoader.prototype.load = function(id)
{			
	var that = this;	
	$(this.parentObj).style.display = 'none';	
	var obj = new XSLT(this.xml, this.xsl, null, function(fragment){that.callback(fragment, that.parentObj, id)});  	
	this.loadedXSLT = obj.xslt;	
}