//<script language="JavaScript"> 
function sniffer(){
//debugger
	var xml = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><cjb></cjb>";
	//var xsl = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><x:stylesheet version=\"1.0\" xmlns:x=\"http://www.w3.org/1999/XSL/Transform\"></x:stylesheet>";
	var xsl = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><x:stylesheet version=\"1.0\" xmlns:x=\"http://www.w3.org/1999/XSL/Transform\" xmlns:m=\"urn:schemas-microsoft-com:xslt\"><x:template match=\"/\"><x:value-of select=\"system-property('m:version')\" /></x:template></x:stylesheet>";
	var x = null;
	var gt2 = "";
	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument"); 
	    x.async = false;
	    if (x.loadXML(xml))
	   		{gt2 = "2.0";}
	}catch(e){}
	
	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument.2.6"); 
	    x.async = false;
	    if (x.loadXML(xml))
	   		{gt2 = "2.6";}
	}catch(e){}
	
	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument.3.0"); 
	    x.async = false;
	    if (x.loadXML(xml))
	   		{gt2 = "3.0";}
	}catch(e){}
	
	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
	    x.async = false;
	    if (x.loadXML(xml)) 
	        {gt2 = "4.0";}
	}catch(e){}

	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument.5.0"); 
	    x.async = false;
	    if (x.loadXML(xml)) 
	        {gt2 = "5.0";}
	}catch(e){}

	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument.6.0"); 
	    x.async = false;
	    if (x.loadXML(xml)) 
	        {gt2 = "6.0";}
	}catch(e){}

	try{ 
	    x = new ActiveXObject("Msxml2.DOMDocument.7.0"); 
	    x.async = false;
	    if (x.loadXML(xml)) 
	        {gt2 = "7.0";}
	}catch(e){}

	try{ 
	    x = new ActiveXObject("Microsoft.XMLDOM");  
	    x.async = false;
	    if (x.loadXML(xml))
	    	  {checked = true;}
	}catch(e){} 

	try{
		var s = new ActiveXObject("Microsoft.XMLDOM"); 
		s.async = false;
		if (s.loadXML(xsl)){
			try{
				var op = x.transformNode(s);
				if (op.indexOf("stylesheet") == -1){
					return ("version " + op.substr(op.lastIndexOf(">")+1) + " of MSXML2 in \"Replace\" mode.");
				}else
					if (gt2 != "")
						return ("version " + gt2 + " of MSXML2 in \"Side-By-Side\" mode.");
			}catch(e){
				return ("version " + gt2 + " of MSXML2 in \"Side-By-Side\" mode.");
			}
		}
	}catch(e){}
	return ("An old version of MSXML.");
}
//</script> 
