//var request = false;
//var tempResults;

// global flag
var isIE = false;

function createRequest(mimeType) {
var request = false;
	if (typeof(mimeType) == 'undefined') {mimeType = 'text/html';}

	if (window.XMLHttpRequest) { // Mozilla/Safari/IE7+
		request = new XMLHttpRequest();
		if (request.overrideMimeType) { // IE7 doesn't support overrideMimeType
			request.overrideMimeType(mimeType);
		}
	} 
	else if (window.ActiveXObject) { // IE6-
		isIE = true;
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
            
	if (!request) {
		alert('Error initializing XMLHttpRequest!');
		return false;
	} 

	return request;
}

function showTxt(strURL,id,frameDoc,txtFront,txtBack,txtmethod){
 var request = createRequest();
 request.open(txtmethod, strURL+"&sid="+Math.random(), true);
 request.onreadystatechange = function(){showTxtFill(request,id,frameDoc,txtFront,txtBack)};
 request.send(null);
}

function showTxtFill(request,id,frameDoc,txtFront,txtBack){
	if (frameDoc != null) {docObj = frameDoc;}
	else {docObj = this.document;}
	docObj.getElementById(id).innerHTML="Please wait while loading...";
 	if (request.readyState == 4){
		var result= (request.status == 200 || request.status == 0) ? request.responseText : "Error occurred while loading the modules icons. Error code: " + request.status+" "+request.statusText;
		docObj.getElementById(id).innerHTML = txtFront + result + txtBack;
	}
}

// retrieve XML document (reusable generic function);
// parameter is URL string (relative or complete) to
// an .xml file whose Content-Type is a valid XML
// type, such as text/xml; XML source must be from
// same domain as HTML file
function loadXML(urlAddr) {
// code for IE
	if (window.ActiveXObject) {
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(urlAddr);

		// code for Mozilla, Firefox, Opera, etc.
	} else 
		if (document.implementation && document.implementation.createDocument) {
			xmlDoc=document.implementation.createDocument("","",null);
			xmlDoc.async=false;
			xmlDoc.load(urlAddr);
	} else {
		alert('Your browser cannot handle this script');
	}
	return xmlDoc;
}

// retrieve text of an XML document element, including
// elements using namespaces
function getElementTextNS(prefix, local, parentElem, index) {
    var result = "";
    if (prefix && isIE) {
        // IE/Windows way of handling namespaces
        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    } else {
        // the namespace versions of this method 
        // (getElementsByTagNameNS()) operate
        // differently in Safari and Mozilla, but both
        // return value with just local name, provided 
        // there aren't conflicts with non-namespace element
        // names
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        // get text, accounting for possible
        // whitespace (carriage return) text nodes 
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;    		
        }
    } else {
        return "n/a";
    }
}

//Pass in URL and method, return String
function getTxt2(strURL,txtmethod){
 var request = createRequest();
	request.open(txtmethod, strURL, false);
 request.onreadystatechange = function(){getTxtContent(request)};
 request.send(null);
 return request.responseText;
}

//Pass in URL and method, return String
function getTxt(strURL,txtmethod, sid){
 var request = createRequest();
 if (typeof(sid) == "undefined") {strURL = strURL+"&sid="+Math.random();} 
 else if (sid) {strURL = strURL+"?sid="+Math.random();}
 request.open(txtmethod, strURL, false);
 request.onreadystatechange = function(){getTxtContent(request)};
 request.send(null);
 return request.responseText;
}

function getTxtContent(request){
	if (request.readyState == 4){
		if (request.status == 200 || request.status == 0) {}
		else {alert("Error occurred while loading the module. Error code: " + request.status+" "+request.statusText);}
	}
}