function dumpError(id)
{
codeHTML ="<BR/>file :   "+id.parseError.url+"<BR/>";
codeHTML+="line :   "+id.parseError.line+"<BR/>";
codeHTML+="column : "+id.parseError.linepos+"<BR/>";
codeHTML+="error :  "+id.parseError.reason+"<BR/>";
return codeHTML;
}

function TransformationXML(xmlFic,xslFic,layer,language,malus)
{
	if (document.implementation && document.implementation.createDocument) //Mozilla ou Netscape ou Firefox
	{
	try{
		var xslProc = new XSLTProcessor();

		var xmlDoc= document.implementation.createDocument("","",null);
  		xmlDoc.async=false; 
  		xmlDoc.load(xmlFic); 

		var xslDoc = document.implementation.createDocument("","",null);
		xslDoc.async=false;
		xslDoc.load(xslFic);
		
		if (!xslProc.importStylesheet)	// Netscape 
		{
			alert('Your browser does not support recent client-side XSL transformations.');		}
		else				// Mozilla et Firefox
		{
			xslProc.importStylesheet(xslDoc);
			xslProc.setParameter(null,"URL",document.location.search);
			xslProc.setParameter(null,"LANG",language);
			xslProc.setparameter(null,"MALUS",malus);
			htmlDoc = xslProc.transformToFragment(xmlDoc,document);
			var serie = new XMLSerializer();
			var codeHTML = serie.serializeToString(htmlDoc);
			document.getElementById(layer).appendChild(htmlDoc);
	

		}}
	catch(erreur)
	{
		document.write('La version de votre navigateur ne permet pas l affichage de cette page, Nous recommendons la mise à jour de votre navigateur.');
	}
	}
	else if (window.ActiveXObject) // Internet Explorer
	{
	try{
		var xslDoc = new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");
		var xmlDoc=new ActiveXObject("MSXML2.DOMDocument"); 
		xmlDoc.async=false; 
  		xmlDoc.load(xmlFic); 

		xslDoc.async = false;
		xslDoc.load(xslFic);

		var xslTemplate = new ActiveXObject("MSXML2.XSLTemplate.3.0");

		if ( xmlDoc.parseError.errorCode!=0) 
		{
			codeHTML=dumpError(xmlDoc);
			document.getElementById(layer).innerHTML = codeHTML;
		}
		else
		{
			if ( xslDoc.parseError.errorCode!=0) 
			{
				codeHTML=dumpError(xslDoc);
				document.getElementById(layer).innerHTML = codeHTML;
			}
			else
			{
				xslTemplate.stylesheet = xslDoc;

				var xslProc = xslTemplate.createProcessor();
				xslProc.input = xmlDoc;
				xslProc.addParameter("URL",document.location.search);
				xslProc.addParameter("LANG",language);
				xslProc.addParameter("MALUS",malus);
				xslProc.transform();
				codeHTML = xslProc.output;
			}
		}
		document.getElementById(layer).innerHTML = codeHTML ;
	}
	catch(erreur)
	{
		document.write('La version de votre navigateur ne permet pas l affichage de cette page, Nous recommendons la mise à jour de votre navigateur.');
	}
	}
	else
	{
	alert('Your browser does not support client-side XSL transformations.'); //unsupported browser
	}

}
