var xmlDoc,xslt,xslDoc,xslProc,processor,xsltobj,result,output,xmls;
var curQuestion,PrevNodeID,divObj;

var varID = "0";
var varCat = "";

var xmlDocFile = "/faqs/faqs.xml";
var xslDocFile = "/faqs/faqs.xsl";

   /**
   *	To load the XML file
   */
      
    function loadXMLDoc()
    {
    
         // Code for IE
        if (window.ActiveXObject)
             {
             xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
             xmlDoc.async = false;
             xmlDoc.resolveExternals = false;
             xmlDoc.load(xmlDocFile);
             }
             
        // Code for Firefox, Opera etc.
        else if (document.implementation && document.implementation.createDocument)
            {
            xmlDoc = document.implementation.createDocument("","", null); 
            xmlDoc.async = false; 
            xmlDoc.load(xmlDocFile); 
            }
        else
            {        
               alert("Your browser cannot handle this script");
            }
               
    }


   /**
   *	To load the XSL file
   */

  function loadXSLDoc()
    {
        
        // Code for IE
        if (window.ActiveXObject)
        
        {
            xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
            xslDoc.async = false;
            xslDoc.resolveExternals = false;
            xslDoc.load(xslDocFile);
        }
        
        // Code for Firefox, Opera, etc.
        else if (document.implementation && document.implementation.createDocument)
           
        {
            xslDoc = document.implementation.createDocument("", "", null); 
            xslDoc.async = false; 
            xslDoc.load(xslDocFile); 
            
        }
        
        else
         
        {
           alert("Your browser cannot handle this script");
        }
            
            
    }

/* Function for initial loading of the page */

    function loadXML()
    {		
		
      	// Code for IE
        if (window.ActiveXObject)
        {
          
           loadXSLDoc();
           loadXMLDoc();        
           xslt = new ActiveXObject("Msxml2.XSLTemplate");
           xslt.stylesheet = xslDoc;
           xslProc = xslt.createProcessor();
           xslProc.input = xmlDoc;
           xslProc.addParameter("varID",varID);
           xslProc.addParameter("varCat",varCat);
           xslProc.transform();
                      
            //if (NodeID == "1")
            //    {					
                   divObj = document.getElementById("placeContent");
                   divObj.innerHTML = xslProc.output;
            //    }  
       }
       
       
        // Code for Firefox, Opera, etc.
        else if (document.implementation && document.implementation.createDocument)
           
        {
			
               loadXSLDoc();
               loadXMLDoc();
               processor = new XSLTProcessor();            

               processor.importStylesheet(xslDoc); 

               processor.setParameter(null,"varID",varID);
               processor.setParameter(null,"varCat",varCat);
               result = processor.transformToDocument(xmlDoc); 
               xmls = new XMLSerializer(); 
               output = xmls.serializeToString(result); 
                
              //      if (NodeID == "1")
              //      {
                        
						divObj = document.getElementById("placeContent");
                        divObj.innerHTML = output;
               //     }
            
        }
        
        else
          {
           alert("Your browser cannot handle this script");
          }
            
    }
    
  
   /**
    *	To Reload the XSL with NodeID and nodeType parameters set and load it in the browser
   */ 
  
   function loadXSL(varID,varCat)
    {      
		
       loadXML();
       // Code for IE
        if (window.ActiveXObject)
       {
           
           xslt = new ActiveXObject("Msxml2.XSLTemplate");
           xslt.stylesheet = xslDoc;
           xslProc = xslt.createProcessor();
           xslProc.input = xmlDoc;
           xslProc.addParameter("varID",varID);
           xslProc.addParameter("varCat",varCat);
           xslProc.transform();
           
           divObj = document.getElementById("placeContent");
           divObj.innerHTML = xslProc.output;
         
       }
       
      // Code for Firefox, Opera, etc.
        else if (document.implementation && document.implementation.createDocument)
           
        { 
           processor = new XSLTProcessor();            
           processor.importStylesheet(xslDoc); 
           processor.setParameter(null,"varID",varID);
           processor.setParameter(null,"varCat",varCat);
           result = processor.transformToDocument(xmlDoc); 
           xmls = new XMLSerializer(); 
           output = xmls.serializeToString(result); 
           
           divObj = document.getElementById("placeContent");
           divObj.innerHTML = output;
       
       }
    
       else
          {
           alert("Your browser cannot handle this script");
          }
                     
    }
 
 
 
  /**
  	To parse the XML and fetch the NodeID and the NodeType of the next question and 
        pass it to loadXSL() function
  */
 
