smode ="Abstract"
pagename="browse"
imagename="_MG_4747"


result = parseQueryString(location.search);

if (result.smode)
	smode=result.smode
   
if (result.pagename)
	pagename=result.pagename
   
if (result.ImageName)
	imagename=result.ImageName

outputgroup(smode,pagename,imagename);

	
function outputgroup(subject,pagename,imagename){

// load the xsl file

try {
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
var xslProc;
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load("xsl/" + pagename + ".xsl");
xslt.stylesheet = xslDoc;
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.load("xml/GalleryConfig.xml");
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
xslProc.addParameter("smode", subject);
xslProc.addParameter("simage",imagename);

xslProc.transform();

//document.getElementById("wrapper").innerHTML=xslProc.output;

document.write(xslProc.output)

}
catch(e) {
try{
var xslStylesheet;
var xsltProcessor = new XSLTProcessor();
var myDOM;
var xmlDoc;
  var myXMLHTTPRequest = new XMLHttpRequest();
  myXMLHTTPRequest.open("GET", "xsl/" + pagename + ".xsl", false);
  myXMLHTTPRequest.send(null);
  xslStylesheet = myXMLHTTPRequest.responseXML;
  xsltProcessor.importStylesheet(xslStylesheet);

  // load the xml file
  myXMLHTTPRequest = new XMLHttpRequest();
  myXMLHTTPRequest.open("GET", "xml/GalleryConfig.xml", false);
  myXMLHTTPRequest.send(null);
  xmlDoc = myXMLHTTPRequest.responseXML;

  // set the parameter using the parameter passed to the outputgroup function
  xsltProcessor.setParameter(null,"smode",subject);
  xsltProcessor.setParameter(null,"simage",imagename);
  
  var fragment = xsltProcessor.transformToFragment(xmlDoc,document);
  document.getElementById("wrapper").innerHTML = "";
   myDOM = fragment;
  document.getElementById("wrapper").appendChild(fragment);

	}
	catch(e) {
		alert("Unable to do xml/xsl processing");
			}
	}
}



function parseQueryString(queryString) {
    if(queryString == 'undefined' || queryString == '') {
        return false;
    } else {
        // Get rid of a leading '?' so that you can pass 'location.search' to this function
        if(queryString.substr(0, 1) == '?') { queryString = queryString.substr(1); }

        // Split up the querystring
        var components = queryString.split('&');

        // Assign each variable of the querystring to a new property of the final object
        var finalObject = new Object();
        var parts;
        for (var i = 0; i < components.length; i++) {
            parts = components[i].split('=');
            finalObject[parts[0]] = decodeURI(parts[1]);
        }

        return finalObject;
    }
}
