function loadXMLDoc(fname)
{
    xmlhttp=null;
    if (window.XMLHttpRequest)
    {// code for all new browsers
        xmlhttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {// code for IE5 and IE6
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlhttp!=null)
    {
        xmlhttp.open("GET",fname,false);
        xmlhttp.send(null);
    }
    else
    {
        alert("Your browser does not support XMLHTTP.");
    }

    return xmlhttp;
}

function createFacesTable(xml, numPics, picsLoc, tableClass, divID, width, height, border)
{
    var html = "<img src=\'" + picsLoc;
    var fNodes;
    var aNodes;
    var cNodes;

    var doc = loadXMLDoc(xml).responseXML;
    var seqNumber = Math.floor(Math.random() * numPics) + 1;

    var file_query = "//cppfaces/faceitem[@seqnumber = '" + seqNumber + "']/filename";
    var alttext_query = "//cppfaces/faceitem[@seqnumber = '" + seqNumber + "']/alttext";
    var caption_query = "//cppfaces/faceitem[@seqnumber = '" + seqNumber + "']/caption";

    var imgSrc;
    var altSrc;
    var captionSrc;
    var fResult;
    var aResult;
    var cResult;

    // code for IE
    if (window.ActiveXObject)
    {
        fNodes = doc.selectNodes(file_query);
        aNodes = doc.selectNodes(alttext_query);
        cNodes = doc.selectNodes(caption_query);

        imgSrc = fNodes[0].childNodes[0].nodeValue;
        altSrc = aNodes[0].childNodes[0].nodeValue;
        captionSrc = cNodes[0].childNodes[0].nodeValue;

    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
        fNodes = doc.evaluate(file_query, doc, null, XPathResult.ANY_TYPE, null);
        aNodes = doc.evaluate(alttext_query, doc, null, XPathResult.ANY_TYPE, null);
        cNodes = doc.evaluate(caption_query, doc, null, XPathResult.ANY_TYPE, null);

        fResult = fNodes.iterateNext();
        aResult = aNodes.iterateNext();
        cResult = cNodes.iterateNext();

        imgSrc = fResult.childNodes[0].nodeValue;
        altSrc = aResult.childNodes[0].nodeValue;
        captionSrc = cResult.childNodes[0].nodeValue;
    }
    html += "/" + imgSrc + "\' alt=\'" + altSrc + "\' width=\'" + width + "\' height=\'" + height + "\' border=\'" + border + "\' />";

    document.getElementById(divID).innerHTML = html;
}
