function loadXMLDoc(fname)
{
var xmlDoc;
// code for IE
if (window.ActiveXObject)
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
  {
  xmlDoc=document.implementation.createDocument("","",null);
  }
else
  {
  alert('Your browser cannot handle this script');
  }
xmlDoc.async=false;
xmlDoc.load(fname); 
//alert("loadXMLDoc() loaded: " + fname); ///
return(xmlDoc);
}


function loadXMLString(strXML)
//Creates XML/XSL object from passed string
{
var xmlDoc;
// code for IE
if (window.ActiveXObject) 
  { 
  	xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
	xmlDoc.async=false;
	xmlDoc.loadXML(strXML);
  }
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
  {
//  	xmlDoc=document.implementation.createDocument("","",null); 
	var objParser=new DOMParser();
	xmlDoc=objParser.parseFromString(strXML, "text/xml");
  }
else
  { alert('Your browser cannot handle this script'); }
return(xmlDoc);
}
//====================================================================================
/* unmolested:
<?xml version="1.0" encoding="ISO-8859-1"?> \
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> \
<xsl:template match="/"> \
<h1><xsl:value-of select="data/country/countryname"/></h1> \
    <table class="tbl_basic" width="80%" align="center"> \
      <tr> \
        <th>Place</th> \
        <th>Player</th> \
        <th>State</th> \
        <th>Points</th> \
      </tr> \
      <xsl:for-each select="data/country/rowdata"> \
        <tr> \
          <td><xsl:value-of select="place"/></td> \
          <td><xsl:value-of select="player"/></td> \
          <td><xsl:value-of select="state"/></td> \
          <td><xsl:value-of select="points"/></td> \
        </tr> \
      </xsl:for-each> \
    </table> \
</xsl:template> \
</xsl:stylesheet> \
*/

/*
Works:
Re table, no state in spain
<?xml version="1.0" encoding="ISO-8859-1"?> \
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> \
<xsl:template match="/"> \
<xsl:for-each select="./data/country"> \
  <h1><xsl:value-of select="./countryname"/></h1> \
  <table class="tbl_basic" width="80%" align="center"> \
    <tr> \
        <th>Place</th> \
        <th>Player</th> \
        <th>Points</th> \
    </tr> \
    <xsl:for-each select="rowdata"> \
       <tr> \
          <td><xsl:value-of select="place"/></td> \
          <td><xsl:value-of select="player"/></td> \
          <td><xsl:value-of select="points"/></td> \
        </tr> \
    </xsl:for-each> \
  </table> \
</xsl:for-each> \
</xsl:template> \
</xsl:stylesheet> \
*/

function createXSL(strCountry)
{
	var strXSL, objXSL;	

strXSL='\
<?xml version="1.0" encoding="ISO-8859-1"?> \
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> \
<xsl:template match="/"> \
<xsl:for-each select="data/country">';
strXSL = strXSL + '<xsl:if test="countryname=\'' + strCountry + '\'"> \
<h1><xsl:value-of select="name"/></h1> \
  <table class="tbl_basic" width="80%" align="center"> \
    <tr> \
        <th>Place</th> \
        <th>Player</th> \
        <th>State</th> \
        <th>Points</th> \
    </tr> \
    <xsl:for-each select="rowdata"> \
       <tr> \
          <td><xsl:value-of select="place"/></td> \
          <td><xsl:value-of select="player"/></td> \
          <td><xsl:value-of select="state"/></td> \
          <td><xsl:value-of select="points"/></td> \
        </tr> \
    </xsl:for-each> \
  </table> \
</xsl:if> \
</xsl:for-each> \
</xsl:template> \
</xsl:stylesheet> \
';  
//	alert("createXSL() createstrXSL=" + strXSL); ///
	objXSL=loadXMLString(strXSL);
	return objXSL;
}



//====================================================================================

function getParameter(strParamName) 
{ 
  var query = window.location.search.substring(1); 
  var vars = query.split("&"); 
  for (var i=0;i<vars.length;i++) 
  { 
    var pair = vars[i].split("="); 
    if (pair[0] == strParamName) 
		{ return pair[1]; } 
  } 
} 

function displayResult()
{
var strCountry;
var strTemp; ///
var xml,xsl,xsltProcessor;

strCountry=getParameter("country");
//	strCountry="BE"; /// Not getting option value correctly
//xml=loadXMLDoc("es.xml");
//xml=loadXMLDoc("all.xml");
xml=loadXMLDoc("table.xml");
//xsl=loadXMLDoc("tableRK2.xsl");
//alert("displayResult() country: " + strCountry); ///
xsl=createXSL(strCountry);

// code for IE
if (window.ActiveXObject)
  {
  ex=xml.transformNode(xsl);
//	alert("displayResult(), final HTML:" + ex); ///
  document.getElementById("results").innerHTML=ex;
  }
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
  {
  xsltProcessor=new XSLTProcessor();
  xsltProcessor.importStylesheet(xsl);
  resultDocument = xsltProcessor.transformToFragment(xml,document);
  document.getElementById("results").appendChild(resultDocument);
  }
}
