//Tim Harris
//9-16-2008
//This .js controls the XML PARSING of any xml form.
_targetDIV = new String();
_link = new String();
function xmlOBJ(a,b) {
    setobjlink(a);
    setobjdiv(b);
    try{
		var xmlhttp=false;
		/*@cc_on @*/
		/*@if (@_jscript_version >= 5)
		// JScript gives us Conditional compilation, we can cope with old IE versions.
		// and security blocked creation of the objects.
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
			   	xmlhttp = false;
			}
		}
		@end @*/
		if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
			try {
				xmlhttp = new XMLHttpRequest();
			} catch (e) {
				xmlhttp=false;
			}
		}
		if (!xmlhttp && window.createRequest) {
			try {
				xmlhttp = window.createRequest();
			} catch (e) {
				xmlhttp=false;
			}
		}
		//init xmlhttp object
		//netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead")
		var contents = this;
		xmlhttp.open("GET",getobjlink(),true);
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				contents.xmlContent = xmlhttp.responseText;
				drawXML(contents);
			}
		}
		xmlhttp.send(null);
	}catch(err){
		alert("ERROR : " + err);
	}
}
function extractXML(x,y){
	try{
		var _tagcontents = String(y);
		var _extractedContents = new Array();
		//var look_for_tag = new RegExp(x);
		var look_for_tag = new RegExp('<'+x+'[^><]*>|<.'+x+'[^><]*>','g')
		var result = _tagcontents.match(look_for_tag);
		var xmlPointer = new Number();
		var _endtag = "</" + x + ">";
		var tmptag2search = "<" + x + ">";
		if (result != null) {
			for(z=0;z<=result.length;z++){
				if(result[z]){
					//turn string into an array so that I can split out the contents
					if(result[z]!=_endtag){
						var _extractedtag = result[z];
						if(tmptag2search == _extractedtag){
							//parse through form document and extract the proper data
							xmlPointer++;
							var _tagcontent = _tagcontents.split(_extractedtag);
							var _tmpTitle = new String();
							var tag2split = _tagcontent[xmlPointer];
							var tagContents = tag2split.split(_endtag);
							var _tagObj = new Object();
							_tagObj.starttag = result[z];
							_tagObj.contents = tagContents[0];
							_tagObj.endtag = _endtag;
							//increment values
							_extractedContents.push(_tagObj);
						}
					}
				}
			}
		}
		return _extractedContents;
	}catch(e){
		alert(e);
	}
}
function stripChars(x){
	var perfectString = new String();
	var titlecdatastrip = x;
	titlestrip = titlecdatastrip.split("<![CDATA[");
	if(titlestrip.length!=1){
		var titlestrip2 = titlestrip[1];
		titlestrip3 = titlestrip2.split("]]>");
		perfectString = titlestrip3[0];
	}else{
		perfectString = x;
	}
	return perfectString;
}
function setobjlink(x){
	this._link = x;
}
function setobjdiv(x){
	this._targetDIV = x;
}
function getobjdiv(){
	return this._targetDIV;
}
function getobjlink(){
	return this._link;
}