function createAJAXRequest(retrievalURL, responseFunction) {	var ajaxreq;	if (window.XMLHttpRequest) {		ajaxReq = new XMLHttpRequest();	} else if (window.ActiveXObject) {		ajaxReq = new ActiveXObject("Microsoft.XMLHTTP");	}		ajaxReq.open("GET", retrievalURL); 	ajaxReq.onreadystatechange = eval(responseFunction);		return ajaxReq}var reqvar w2Pth  var sessid="";var myIp=""; var w2FAjRq = 0function AjaxSetFields(ob,sl,rl,fld,vl,rs,fn){	var trgDb = ob.OSTrgDB == undefined ? (w2Frm.FnDefTrg == "" ? 'this': w2Frm.FnDefSrc ) :ob.OSTrgDB 	var dbI = new Object();	if(w2Pth != undefined) dbI.APIdbname = w2Pth	dbI.puts = vl + "|"		dbI.obURL = '/WEBAJAXSetField?OpenAgent&' + trgDb.replace(/\//g,"%2f")  + '&' + fld + '&'  + rs	for (var i = 0 ; i<sl.length;i++)dbI.puts += sl[i] + "&"		dbI.puts += "|"	for (var i = 0 ; i<rl.length;i++)dbI.puts += rl[i] + "&"		dbI.obComp = function(ob,strt,err,res,mes){			if(strt) {		}else{						if((res == "" &&  mes == "")  || err != "") alert("Error saving your new setting.\n" + err)			else fn()		}	}		doXMLput(dbI)} function AjaxLoadFormVals(f,did,sid){	dbI = new Object(); 		if(w2Pth != undefined) dbI.APIdbname = w2Pth	dbI.obURL = 'WEBAJAXLoadFormData?OpenAgent&' +did + "&" +sid	dbI.obTag = 'OSDocVals'	w2Frm.body =""	dbI.obHand = function(tag,val) { 			if(tag == "W2FBODY" )				w2Frm.body += val 		else if (tag == "ERROR") {			alert("ERROR: " + val + "\n" )			return		}else{			for(var i=0; i<	fLst.length; i++){				if(fLst[i].N== tag){					fLst[i].V = val					try{						if(fLst[i].T == 25){							var o = fLst[i].O.appendChild(nDOMObj(null,"img")) 							o.mes = fLst[i].O.appendChild(nDOMObj(null,"p","","","","","","","","color:red"))						newEvent(o,"onload", "this.mes.innerHTML= 'Height:' + this.height + ' Width:'+ this.width; ")							if(this.height > 300 || this.width> 300) alert('The SIZE of this image is out of spec.\nPlease replace with one of the correct size.\nHeight:' + this.height + ' Width:' + this.width) 								o.src = "/" + w2Frm.FnDefTrg + "/(Images)/" + val						}else if(fLst[i].T == 20){							 fLst[i].O.innerHTML= val								}else if(fLst[i].T == 64){							var Ob = document.getElementsByName(tag)  // do it this way so as not to exposes bugs in IE								for(var j = 0; j < Ob.length;  j++){ if(Ob[j].value ==  val) Ob[j].checked = true};						}else fLst[i].O.value = val							}catch(e){alert("Error setting value " + fLst[i].T + " " + val) }						}			}		}		}	dbI.obComp = function(ob,strt){				if(!strt){ 				refreshForm()					if( w2Frm.bodyObj != undefined) loadTinyMCE(w2Frm.bodyObj,w2Frm.body   )				else  w2FormSetState(false)			}	}	doXMLget(dbI)}function AjaxLoadForm(nm,modal,docID){	dbI = new Object();	if(w2Pth != undefined) dbI.APIdbname = w2Pth	dbI.obURL = 'WEBAJAXLoadForm?OpenAgent&' + nm	dbI.obTag = 'NewForm';	dbI.mod = modal == true ? true: false	if(docID != undefined && docID != ""){		isNewDoc = false;		w2Frm.FnSrcDoc  = docID;	}else{		isNewDoc = true;		w2Frm.FnSrcDoc  = ""	}	dbI.obComp = function(ob,strt){			if(strt) w2Frm.w2fClose()		else w2Frm.w2fLoad(nm)	}	dbI.obHand = function(tag,val) { 			if(tag == "ERROR") {			alert("ERROR: " + val + "\n" )			return		}else if(tag == "NMI") {eval(val)	}	}	doXMLget(dbI)		return(false)	function objGetValue(Obj){		for(var i = 0; i < Obj.length; i++) if(Obj[i].checked) return Obj[i].value;  //radio		return("")	}}function AjaxDBGetVals(ob,key,view,rq,fn){	var srcDb = ob.OSsrcDB == undefined ? (w2Frm.FnDefSrc == "" ? 'this': w2Frm.FnDefSrc ) :ob.OSsrcDB 	var flds = rq.split("&")	var kkey = objVal(key)	if(kkey == "") return	if( ob.OSKey == kkey )return(true);   //cached		ob.OSKey = kkey		dbI = new Object();	dbI.res =  new Array();		if(w2Pth != undefined) dbI.APIdbname = w2Pth	dbI.obURL = 'WEBProcessAJAXQuery?OpenAgent&' + srcDb.replace(/\//g,"%2f") +  '&' + view + "&" + kkey + "&"+ rq	dbI.obTag = 'DBLookUp';		dbI.obLocate = ""  //"mainMenu"	dbI.obHand = function(tag,val) { 			if(tag == "ERROR") {			alert("ERROR: " + val + "\n" )			return		}		this.res.push({t:tag,v:val})	}	dbI.obComp = fn;	doXMLget(dbI)}function AjaxDBLookUp(cObj,key,view,rq){	var srcDb = cObj.OSsrcDB == undefined ? (w2Frm.FnDefSrc == "" ? 'this': w2Frm.FnDefSrc ) :cObj.OSsrcDB 	var flds = rq.split("&")	if(key!= "*") var kkey = objVal(key)	else kkey=key	if(kkey == "") return	if( cObj.OSKey == kkey   &&  cObj.P1 != null)return(true);   //cached			cObj.OSKey = kkey		dbI = new Object();	if(w2Pth != undefined) dbI.APIdbname = w2Pth	dbI.obURL = 'WEBProcessAJAXQuery?OpenAgent&' +srcDb.replace(/\//g,"%2f") +  '&' + view + "&" + kkey + "&"+ rq	dbI.obTag = 'DBLookUp';	dbI.obObj = cObj	dbI.obComp  =cObj.obComp	dbI.obHand  = cObj.obHand 	doXMLget(dbI)	return(false)		dbI.obLocate = ""  //"mainMenu"		dbI.res =  new Array(new Array(),new Array());	dbI.obComp = function(ob,strt){			if(strt) {	//	doLoad()		}else{					cObj.P1 = this.res[0]			cObj.P2 = this.res[1]			if(cObj.T == 10) {			 popPicker(cObj.O,cObj.O.OSFIdx) 			}else{				cObj.O.innerHTML = ""						newFormObj(cObj,cObj.O)					cObj.O.style.visibility = "visible"			}		}	}	dbI.obHand = function(tag,val) { 			if(tag == "ERROR") {			alert("ERROR: " + val + "\n" )			return		}		for (var i = 0 ;i<flds.length;i++){	if(tag == flds[i]) { this.res[i][dbI.res[i].length] = val; break;}	} 	}	doXMLget(dbI)		return(false)	function objGetValue(Obj){		for(var i = 0; i < Obj.length; i++) if(Obj[i].checked) return Obj[i].value;  //radio		return("")	}}throbber = document.createElement("img")throbber.style.visibility= "hidden"throbber.src = "/" + w2Pth + "/OSThrobber.gif?OpenImageResource"function doXMLget(ob) {	if(ob.obComp != undefined  && ob.obComp(ob,true) )	 return	var URL = "/" + (ob.APIdbname == undefined ?  dbname : ob.APIdbname)  + "/" + ob.obURL   //+ "&" + Math.floor(Math.random()*1111)	ob.URL = URL	if (window.XMLHttpRequest) req = new XMLHttpRequest();	else if (window.ActiveXObject) req = new ActiveXObject("Microsoft.XMLHTTP");	if(! req) return false	req.open("GET",  URL, true);	req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");	req.setRequestHeader("Cache-Control", "no-cache"); 	req.onreadystatechange = processReqChange	req.send(null);	AjaxQ(1)	function processReqChange() {		var tt = req				var fi = -1		if (req.readyState == 4) {				var est = "Status Text"+ tt.status + "\nStatus" + tt.statusText;			if (req.status == 200) {				AjaxQ(-1)				var sst="";   				try{   					var x = req.responseXML.getElementsByTagName("ERROR")[0].firstChild   					alert("Server side error\n" + req.responseText)   					return false   				}catch(e){					try{var x = req.responseXML.getElementsByTagName(ob.obTag)[0].firstChild}					catch(e) {"XML error \n" + alert(e.message + "\n" +  req.responseText + "\nTag=" +ob.obTag ) ;return false}					processChildren(x,ob,x.nodeName) 	  				if(ob.obComp != undefined) ob.obComp(ob,false)									hit(ob.obTag , ob.Lab)				}			}else {				alert("Error " + est)			//	alert("There was a problem .\nreadyState=4\nStatus Text"+ tt.status + "\nStatus" + tt.statusText);			}		}else{	//		alert("Ajax Req Status " + req.readyState)		}			}	var cnt = 0	function processChildren(node,ob,nname){			var x = node;			cnt += 1;			while (x != null) {				if(x.nodeType == 3){   						if(x.nodeValue != "\n") 	ob.obHand ( nname , x.nodeValue,ob)						else if(nname != "#text") 	var dd = x.nodeValue + " " + nname 						x=x.nextSibling;				}else{					if(x.firstChild != null) processChildren(x.firstChild,ob,x.nodeName)					else {						var dd= nname						ob.obHand ( nname ,"",ob)					}												x=x.nextSibling;				}			}			return	}	function getInnerText (node) {		if (typeof node.textContent != 'undefined') return node.textContent;		else if (typeof node.innerText != 'undefined') return node.innerText;		else if (typeof node.text != 'undefined') return node.text;		else {			switch (node.nodeType) {				case 3:				case 4:					return node.nodeValue;				break;				case 1:				case 11:					var innerText = '';					for (var i = 0; i < node.childNodes.length; i++) innerText += getInnerText(node.childNodes[i]);					return innerText;					break;				default:				return '';			}		}	}		function hit(v1,v2) {	if(sessid == "" || myIp =="") return 	try{			var url = "/" + dbname+ "/(WEBHit)?OpenAgent&" + sessid +"&" + myIp + "&" + v1+ "&"  +   v2			url += "&" + Math.floor(Math.random()*1111)			if (window.XMLHttpRequest) {				req = new XMLHttpRequest();				req.onreadystatechange = processReqChange;				req.open("GET",  url, true);				req.send(null);				// branch for IE/Windows ActiveX version			} else if (window.ActiveXObject) {				req = new ActiveXObject("Microsoft.XMLHTTP");				if (req) {					req.onreadystatechange = processReqChange;					req.open("GET", url, true);					req.send();				}	else 					return false			}			}catch(e){		return false		}		function processReqChange() { // nothing to process handle onreadystatechange event of req object			return true		}	}}function AjaxQ(i){	if(i==0) return w2FAjRq 	w2FAjRq += i	throbber.style.visibility =  w2FAjRq > 0 ? "visible" : "hidden"	document.body.style.cursor = w2FAjRq > 0 ?  "wait" :  "default"	return w2FAjRq }