var doc, xsldoc, Source, stylesheet, result, sname;
function window_onload()
{
Source = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
Source.async = false;

Source.load("cgi-bin/xml_q/20110429_SELL.xml");

xsldoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
xsldoc.setProperty("SelectionLanguage", "XPath");
xsldoc.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
xsldoc.async = false;
//         xsldoc.load("xsl/xsl_002_NEW_SELL_NOQ.xsl");
xsldoc.load("xsl_002_NEW_SELL_20090130.xsl");
tableBody.innerHTML = Source.transformNode(xsldoc);

}
function onSort()
{
  var node = xsldoc.selectSingleNode("//xsl:sort/@select");
  var columnName = event.srcElement.innerText;
  node.text = columnName;
  if (columnName == "ancestor::ownershipDocument/issuer/issuerTradingSymbol")
  xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "ancestor::ownershipDocument/issuer/issuerName")
  xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "transactionDate/value")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "current()/reportingOwnerId/rptOwnerName")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "current()/transactionAmounts/transactionAcquiredDisposedCode/value")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "current()/transactionAmounts/transactionShares/value")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "number";
  if (columnName == "current()/transactionAmounts/transactionPricePerShare/value")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "number";
  if (columnName == "current()/transactionAmounts/transactionShares/value * current()/transactionAmounts/transactionPricePerShare/value")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "number";
  if (columnName == "current()/ancestor::ownershipDocument/StockQuotes/Stock[Last != 0.00]/Last")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "number";
  if (columnName == "(current()/ancestor::ownershipDocument/StockQuotes/Stock[Last != 0.00]/Last - current()/transactionAmounts/transactionPricePerShare/value) div current()/transactionAmounts/transactionPricePerShare/value")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "number";
  if (columnName == "current()/ancestor::ownershipDocument/StockQuotes/Stock[Last != 0.00]/Date")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "current()/ancestor::ownershipDocument/StockQuotes/Stock[Last != 0.00]/P-E")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "number";
  if (columnName == "current()/ancestor::ownershipDocument/StockQuotes/Stock[Last != 0.00]/MktCap")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "ancestor::ownershipDocument/reportingOwner/reportingOwnerRelationship/officerTitle")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "current()/ancestor::ownershipDocument/off1")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
  if (columnName == "current()/ancestor::ownershipDocument/sic")
    xsldoc.selectSingleNode("//xsl:sort/@data-type").text = "text";
tableBody.innerHTML = Source.transformNode(xsldoc);
}

