var req;
var xmlData;
var fnResponse;

function parseLineBreaks(strString){
	//find formatted line breaks and convert to <p></p>
	strString = String(strString);
	strString = strString.replace(/\n\s*\n/g, "</p><p>");
	strString = strString.replace(/\n/g, "</p><p>");
	strString = "<p>" + strString + "</p>";
	return strString;
}

function loadXMLData(url, whatResponse){
	fnResponse = whatResponse;
	req = false;
	//find available XML object
    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
			
			if (req.overrideMimeType) {
				req.overrideMimeType('text/xml');
				// See note below about this line
			}
        } catch(e) {
			req = false;
        }
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	//if XML capable, set listener, open XML document
	if(req) {
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send("");
	}
}
function processReqChange() {
	//wait for loading to complete
    if (req.readyState == 4) {
		//make sure loading was successful
        if (req.status == 200) {
			xmlData = req.responseXML;
			window[fnResponse]();
			//writeData();
        } else {
			//failure alert
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

function closeXML(){
	req = null;
	xmlData = null;
}