// JScript source code

  
// Load XML file w/o XSLT
function jsLoadXML(p_strXMLFile)
{    
    var l_xmlReturnDoc;

	if( isIE )
	{
		l_xmlReturnDoc = new ActiveXObject('Microsoft.XMLDOM');
		l_xmlReturnDoc.async = false;
		l_xmlReturnDoc.load( p_strXMLFile )
	}	

	if( isSaf || isMoz )
	{		
		var l_req = new XMLHttpRequest();	
		l_req.onreadystatechange=function(){	if( l_req.readyState == 4 && !(l_req.status == 404 || l_req.status == 500 )) { l_xmlReturnDoc = l_req.responseXML;  }};
		l_req.open('GET', p_strXMLFile,false);
		l_req.send(null);
	}

	return(l_xmlReturnDoc); 
}

// Load XML file with XSLT
function jsLoadXMLwXSLT( p_strXMLFile, p_strXMLTransformFile )
{
    var l_xmlReturnDoc;
    var l_xmlDoc;
    var l_xsltDoc; 
    
    
    if( isMoz )
    {					
	    var l_xsltProcessor = new XSLTProcessor();    
	
	    l_xmlReturnDoc = document.implementation.createDocument("", "", null);
	    l_xmlReturnDoc.async = false;
	
    	l_xsltDoc = document.implementation.createDocument("", "", null);
    	l_xsltDoc.async = false;
	    l_xsltDoc.onload= function () {l_xsltProcessor.importStylesheet(l_xsltDoc);};
	    l_xsltDoc.load( p_strXMLTransformFile );
		
	    l_xmlDoc = document.implementation.createDocument("", "", null);
	    l_xmlDoc.async = false;
	    l_xmlDoc.onload = function (){l_xmlReturnDoc = l_xsltProcessor.transformToDocument(l_xmlDoc);};
	    l_xmlDoc.load( p_strXMLFile );
	
    }
    if( isIE )
    {	
	    var l_xmlDoc;
	    var l_xsltDoc;	
	
	    l_xmlReturnDoc = new ActiveXObject('Microsoft.XMLDOM');
	    l_xmlReturnDoc.async=false;
	
	    l_xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
	    l_xmlDoc.async = false;
	    l_xmlDoc.load( p_strXMLFile );
	
	    l_xsltDoc = new ActiveXObject('Microsoft.XMLDOM');
	    l_xsltDoc.async = false;
	    l_xsltDoc.load( p_strXMLTransformFile );		
	
	    l_xmlDoc.transformNodeToObject( l_xsltDoc, l_xmlReturnDoc );	
	}
	if( isSaf )
	{		
		var l_req = new XMLHttpRequest();	
		l_req.onreadystatechange=function(){	if( l_req.readyState == 4 && !(l_req.status == 404 || l_req.status == 500 )) { l_xmlReturnDoc = l_req.responseXML ; }};
		l_req.open('GET', 'http://www.cetconnect.org/xmlres/safxslt.aspx?xml='+p_strXMLFile+'&xslt='+p_strXMLTransformFile,false);
		l_req.send(null);
	}
	
	return( l_xmlReturnDoc );
}


function jsXPath( p_xmlSource, p_strCondition )
{
    var l_xmlResults;
    
    if (isMoz)
    {    
        var l_strXPathExpression    = "//"+p_strCondition;
        var l_objXPathResults       = p_xmlSource.evaluate( l_strXPathExpression,
                                                            p_xmlSource,
                                                            null,
                                                            XPathResult.ORDERED_NODE_ITERATOR_TYPE,
                                                            null);
        var l_objResultElement;
        
        
        l_xmlResults = [];
        while ((l_objResultElement=l_objXPathResults.iterateNext())) l_xmlResults.push(l_objResultElement);
    }
    if( isIE  )
        l_xmlResults = p_xmlSource.getElementsByTagName( p_strCondition );    
	

    return( l_xmlResults );
}