
/*Ext.XMLParser = function(){
	var aResults = Array();
	
	function process(responseText){
		aResults['result'] = "success";
		
		return aResults;
	}

}*/
function XMLParser() {
	var req = new Object();
	var aResults = Array();
	//req.debuggingAJAX = false;
	//req.debuggingLevels = "all";
	
	
	/**
	 * lcb 6/20/2008
	 * XMLParse returns an array.  If there is an error
	 * it will put error in index 0
	 */
	req.XMLParse = 
		function(responseText) {
			//req.AJAX_debug("debugging: XMLParse responseText: "+req.responseText,"XMLParse");
	
			
			var aVars = Array();
			var textstr;
			if(!responseText){
				textstr = req.responseText;
			} else {
				textstr = responseText;
			}
			var len = 0;
			var label = null;
			var varvalue = null;
			var x=0;
			//req.AJAX_debug("debugging: XMLParse textstr "+textstr,"XMLParse");
			//req.AJAX_debug("debugging: XMLParse 3 atemp.length "+atemp.length,"XMLParse");
			//
			
			// check to see if there is a <CData> tag
			//req.AJAX_debug("debugging: XMLParse CDATA test","XMLParse");
			var datatemp = textstr.split("<![CDATA["); 
			var datatemp2;
			var cdata_pre;
			var cdata_post;
			var cdata = "";
			var cdata_array = Array();
			//req.AJAX_debug("debugging: XMLParse CDATA datatemp[0] "+datatemp[0],"XMLParse");			
			if(datatemp[1]){
				var cdataflag = true;
				cdata_pre = datatemp[0];					
				for(cdata_x=1;cdata_x<datatemp.length;cdata_x++){
					cdata = datatemp[cdata_x];						
					datatemp2 = cdata.split("]]>"); 
					if(datatemp2[1]){
						cdata_array[cdata_x] = datatemp2[0];
						cdata = datatemp2[0];						
						cdata_post = datatemp2[1];
					}
					textstr = cdata_pre + "[cdata]" + cdata_post;					
					cdata_pre = textstr;
				}			
				//req.AJAX_debug("debugging: XMLParse CDATA textstr "+textstr,"XMLParse");	
			}
			
			var atemp = textstr.split("<"); 
			if(atemp[1]){
				len = atemp[1].length -1;
				label = atemp[1].substring(0,len);
			}
			//req.AJAX_debug("debugging: XMLParse label: "+label,"XMLParse");
			if(label != "AjaxRequestResults"){
				// error, it did not return the proprt xml data
				aResults['status'] = "XML nonstandard data";
				return aResults;
			}
			aResults['status'] = "XML";
			//req.AJAX_debug("debugging: XMLParse atemp.length= "+atemp.length,"XMLParse");
			cdata_x = 1;
			for(x=2;x<atemp.length-1;x+=2){
				//req.AJAX_debug("debugging: XMLParse atemp["+x+"]="+atemp[x],"XMLParse");	
				
				aVars = atemp[x].split(">");
				label = aVars[0];
				//req.AJAX_debug("debugging: XMLParse label= "+label,"XMLParse");
				varvalue = aVars[1];
				//if(label == "CDATA"){
				if(varvalue == "[cdata]"){
					if(cdata_array.length >=cdata_x){
						cdata = cdata_array[cdata_x++];
					}
					//req.AJAX_debug("debugging: XMLParse cdata "+cdata,"XMLParse");
					varvalue = cdata;
				}
				//req.AJAX_debug("debugging: XMLParse varvalue= "+varvalue,"XMLParse");
				if(label == "Result"){
					varvalue = varvalue.toLowerCase();
				}
				aResults[label] = varvalue;
				//req.AJAX_debug("debugging: XMLParse aResults["+label+"]= "+aResults[label],"XMLParse");
			}
			//req.AJAX_debug("debugging: XMLParse post loop aResults['status']= "+aResults['status'],"XMLParse");
			
			return aResults;
		}
		
		req.XMLTagExists = 
			function(tag) {
				var rtn = false;
				var value = "";
				try
				  {
				  value = aResults[tag];
				  rtn = true;
				  if(value == undefined)rtn=false;
				  }
				catch(err)
				  {
				  rtn = false;
				  }
				return rtn;
			}
		req.XMLValue = 
			function(tag) {
				var rtn = "";
				rtn = aResults[tag];
				return rtn;
			}
		
return req;
}

		