﻿function decodeHTML(str)
{
	var repstr = str;
	repstr = repstr.replace(/&quot;/gi, '"');
	repstr = repstr.replace(/&lt;/gi, '<');
	repstr = repstr.replace(/&gt;/gi, '>');
	repstr = repstr.replace(/&amp;/gi, '&');

	return(repstr);
}

function displayEvents(period)
{
	var sourceXML="http://calendar.naperville-lib.org/evanced/lib/eventsxml.asp?lib=all&" + period;
	var sourceXSL="http://calendar.naperville-lib.org/evanced/lib/eventsxml/eventsxml.xsl";
	//var container='xmlData';
	
	//Load XML:
	// code for IE
	if (window.ActiveXObject)
  	{
  		//load XML document
  		var clientXMLDOM=new ActiveXObject("Microsoft.XMLDOM");
  		clientXMLDOM.async=false;
  		clientXMLDOM.load(sourceXML);
  		
  		//load XSL stylesheet document
  		var clientXSL =new ActiveXObject("Microsoft.XMLDOM");
  		clientXSL.async=false;
  		clientXSL.load(sourceXSL);
  		
  		//transform
		var htmloutput = clientXMLDOM.transformNode(clientXSL);
		document.write(decodeHTML(htmloutput));	
	}
	// code for Mozilla, Firefox, etc.
	else 
	if (window.XMLHttpRequest && window.XSLTProcessor)
	{
	  	//Load the XML
		xmlhttpXSL = new XMLHttpRequest();
		xmlhttpXSL.open("GET", sourceXSL, false);
		xmlhttpXSL.setRequestHeader("Content-Type", "text/css")
		xmlhttpXSL.send(null);
		loadedStyle = xmlhttpXSL.responseXML;	  
			
		//Load the XSL
		xmlhttpXML = new XMLHttpRequest();
		xmlhttpXML.open("GET", sourceXML, false);
		xmlhttpXML.setRequestHeader("Content-Type", "text/xml")
		xmlhttpXML.send(null);
		var xmlDoc = xmlhttpXML.responseXML;
			
		//Transform
		//var writeObj = document.getElementById(container);
		var xsltProcessor = new XSLTProcessor();
		var xmls = new XMLSerializer();
		xsltProcessor.importStylesheet(loadedStyle);
		var xmlDoc = xsltProcessor.transformToDocument(xmlhttpXML.responseXML);
		//writeObj.innerHTML = xmls.serializeToString(xmlDoc);
		document.write(decodeHTML(xmls.serializeToString(xmlDoc)));
	}
}