<!--
		function ActivateAutoSuggest() {
		var txtsourcetitle = new AutoSuggestControl(document.getElementById("txtsourcetitle"), new RemoteSearchSuggestions("object","sourcetitle"));
		var txtdocauthorname = new AutoSuggestControl(document.getElementById("txtdocauthorname"), new RemoteSearchSuggestions("object","docauthorname"));				
		
		}
		function AutoSuggestControl(oTextbox, oProvider) {
			this.cur = -1;
			this.layer = null;
			this.provider = oProvider;
			this.textbox = oTextbox;
			// add this.onclickSrc = oTextbox.onclick.toString()
			// remove oTextbox.onclick = ""
			// this is so hitting enter inputs the value and doesn't submit the form
			this.init();
		}
		AutoSuggestControl.prototype.nextSuggestion = function () {
			var cSuggestionNodes = this.layer.childNodes;
			
			if (cSuggestionNodes.length > 0 && this.cur < cSuggestionNodes.length - 1) {
				var oNode = cSuggestionNodes[++this.cur];
				this.highlightSuggestion(oNode);
				this.textbox.value = oNode.firstChild.nodeValue;
			}
		};
		AutoSuggestControl.prototype.previousSuggestion = function () {
			var cSuggestionNodes = this.layer.childNodes;
			
			if (cSuggestionNodes.length > 0 && this.cur > 0) {
			    var oNode = cSuggestionNodes[--this.cur];
			    this.highlightSuggestion(oNode);
			    this.textbox.value = oNode.firstChild.nodeValue;   
			} // else if this.cur = 0 then hideSuggestions
		};
		AutoSuggestControl.prototype.hideSuggestions = function () {
			this.cur = -1;
			this.layer.style.visibility = "hidden";
		};
		AutoSuggestControl.prototype.highlightSuggestion = function (oSuggestionNode) {
			for (var i=0; i < this.layer.childNodes.length; i++) {
				var oNode = this.layer.childNodes[i];
				if (oNode == oSuggestionNode) {
					oNode.className = "current";
				} else if (oNode.className == "current") {
					oNode.className = "";
				}
			}
		};
		AutoSuggestControl.prototype.createDropDown = function () {
			this.layer = document.createElement("div");
			this.layer.className = "suggestions";
			this.layer.style.visibility = "hidden";
			this.layer.style.width = (this.textbox.offsetWidth-2)+"px";
			document.body.appendChild(this.layer);
			
			var oThis = this;
			this.layer.onmousedown = this.layer.onmouseup =
			this.layer.onmouseover = function (oEvent) {
				oEvent = oEvent || window.event;
				oTarget = oEvent.target || oEvent.srcElement;
				
				if (oEvent.type == "mousedown") {
					oThis.textbox.value = oTarget.firstChild.nodeValue;
					oThis.hideSuggestions();
				} else if (oEvent.type == "mouseover") {
					oThis.highlightSuggestion(oTarget);
				} else {
					oThis.textbox.focus();
				}
			};
		};
		AutoSuggestControl.prototype.getLeft = function () {
			var oNode = this.textbox;
			var iLeft = 0;
			
			while(oNode.tagName != "BODY") {
				iLeft += oNode.offsetLeft;
				oNode = oNode.offsetParent;
			}
			
			return iLeft;
		};
		AutoSuggestControl.prototype.getTop = function () {
			var oNode = this.textbox;
			var iTop = 0;
			
			while(oNode.tagName != "BODY") {
				iTop += oNode.offsetTop;
				oNode = oNode.offsetParent;
			}
			
			return iTop;
		};
		AutoSuggestControl.prototype.showSuggestions = function (aSuggestions) {
			var oDiv = null;
			this.layer.innerHTML = "";
			
			for (var i=0; i < aSuggestions.length; i++) {
				oDiv = document.createElement("div");
				oDiv.appendChild(document.createTextNode(aSuggestions[i]));
				this.layer.appendChild(oDiv);
			}
			
			this.layer.style.left = this.getLeft() + "px";
			this.layer.style.top = (this.getTop()+this.textbox.offsetHeight) + "px";
			this.layer.style.visibility = "visible";
		};
		AutoSuggestControl.prototype.selectRange = function (iStart, iLength) {
			if (this.textbox.createTextRange) {
				var oRange = this.textbox.createTextRange();
				oRange.moveStart("character", iStart);
				oRange.moveEnd("character", iLength - this.textbox.value.length);
				oRange.select()
			} else if (this.textbox.setSelectionRange) {
				this.textbox.setSelectionRange(iStart, iLength);
			}
		};
		AutoSuggestControl.prototype.typeAhead = function (sSuggestion) {
			if (this.textbox.createTextRange || this.textbox.setSelectionRange) {
				var iLen = this.textbox.value.length;
				this.textbox.value = sSuggestion;
				this.selectRange(iLen, sSuggestion.length);
			}
		};
		AutoSuggestControl.prototype.autosuggest = function (aSuggestions, bTypeAhead) {
			try {
				if (aSuggestions.length > 0) {
					if (bTypeAhead) {
						this.typeAhead(aSuggestions[0]);
					}
					this.showSuggestions(aSuggestions);
				} else {
					this.hideSuggestions();
				}
			} catch(e) { }
		};
		AutoSuggestControl.prototype.handleKeyUp = function (oEvent) {
			var iKeyCode = oEvent.keyCode;
			if (iKeyCode == 8 || iKeyCode == 46) {
				this.provider.requestSuggestions(this,false);
			}else if (iKeyCode < 32 || (iKeyCode >= 33 && iKeyCode <= 46) || (iKeyCode >= 112 && iKeyCode <= 123)) {
				// ignore
			} else {
				this.provider.requestSuggestions(this,false);
			}
		};
		AutoSuggestControl.prototype.handleKeyDown = function (oEvent) {
			switch(oEvent.keyCode) {
				case 38: //up arrow
					this.previousSuggestion();
					break;
				case 40: //down arrow
					this.nextSuggestion();
					break;
				case 12,27: //enter,escape
					this.hideSuggestions();
					break;
			}
		};
		AutoSuggestControl.prototype.init = function(){
			var oThis = this;
			this.textbox.onkeyup = function(oEvent){
				if (!oEvent){
					oEvent = window.event;
				}
				oThis.handleKeyUp(oEvent);
			};
			this.textbox.onkeydown = function(oEvent){
				if (!oEvent){
					oEvent = window.event;
				}
				oThis.handleKeyDown(oEvent);
			};
			this.textbox.onblur = function(){
				// add this.textbox.onclick = oThis.onclickSrc
				oThis.hideSuggestions();
			};
			
			this.createDropDown();
		};
		function SuggestionProvider() {
			// initializations go here
		}
		SuggestionProvider.prototype.requestSuggestions = function (oAutoSuggestControl) {
			var aSuggestions = new Array();
			
			// determine suggestions for the control
			oAutoSuggestControl.autosuggest(aSuggestions);
		};
		
		function RemoteSearchSuggestions(entity,field) {
				this.entity = entity;
				this.field = field;
				if (window.XMLHttpRequest) { // Mozilla, Safari, ...
					this.http = new XMLHttpRequest();
				} else if (window.ActiveXObject) { // IE
					try {
						this.http = new ActiveXObject("Msxml2.XMLHTTP");
					} catch(e) {
						try {
							this.http = new ActiveXObject("Microsoft.XMLHTTP");
						} catch(e) { }
					}
				}
		}
		RemoteSearchSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl, bTypeAhead) {
			var oHttp = this.http;
			if (oHttp.readyState != 0) {
				oHttp.abort();
			}
			var sURL = "http://solomon.soth.alexanderstreet.com/cgi-bin/asp/philo/soth/autocomplete.pl?sothdoc:" + this.field + "=" + encodeURIComponent(oAutoSuggestControl.textbox.value);
			
			oHttp.open("get", sURL , true);
			oHttp.onreadystatechange = function () {
				if (oHttp.readyState == 4) {
					var aSuggestions = eval(oHttp.responseText);
					oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
				}
			};
			oHttp.send(null);
		};
-->