	
w3cDOM = IE4 = IE6 = NS4 = NS6 = oldBrowser = false;

if (document.getElementById){
	w3cDOM = true;
	if (navigator.appName.indexOf("Netscape") != -1) {
		NS6 = true;
	} else IE6 = true;
} else if (document.all) {
	IE4 = true;
} else if (document.layers) {
	NS4 = true;
} else {
	oldBrowser = true;
}

function getObject (objID) {
	if (w3cDOM) {
		return document.getElementById(objID);
	} else if (IE4) {
		return document.all[objID];
	} else if (NS4) {
		return document.layers[objID];
	}	
}

var win = window;	// changed
var n   = 0;
var onceAround = false; // added

function openFind(objID) {
	var myObj = getObject(objID);
	var myString = myObj.value;
	var fltSrch = getObject("floatingFind");
	fltSrch.style.display = "block";
	var fltFindStr = getObject("floatFindString");
	fltFindStr.value = myString;
	findInPage(myString);
}

function findInPage(str) {
	var fltSrch = getObject("floatingFind");
	var findStr = document.getElementById("findString");
	findStr.value = str;
	var txt, i, found;
	if (str == "") return false;
	if (NS4 || NS6) {
		if (!win.find(str)) {
			while(win.find(str, false, true)) {
				n++;
			}
		} else {
			// need to fix the cycle-through for Mozilla/Netscape
			floatingTop = parseInt(window.pageYOffset) + 200;
			fltSrch.style.top = floatingTop + "px";
			n++;
		}
		if (n == 0) {
			alert("\"" + str + "\" was not found on this page.");
		}
	}
	if (IE4 || IE6) {
		txt = win.document.body.createTextRange();
		for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
			txt.moveStart("character", 1);
		txt.moveEnd("textedit");
		}
		if (found) {
			txt.moveStart("character", -1);
			txt.findText(str);
			txt.select();
			txt.scrollIntoView(false);
			win.scrollBy(0,200);
			floatingTop = parseInt(document.body.scrollTop) + 200;
			fltSrch.style.top = floatingTop + "px";
			n++;			
		}
		else {
			if (n > 0) {
				n = 0;
				onceAround = true;	// added
				findInPage(str);
			} else {
				onceAround = false;	// added
				alert("\"" + str + "\" was not found on this page.");
			}
		}
		return false;
	}
}


function goToTop() {
	n = 0;
	document.body.scrollTop = 0;
	var fltSrch = getObject("floatingFind");
	fltSrch.style.top = "10px";
}

function closeFind() {
	var fltSrch = getObject("floatingFind");
	fltSrch.style.display = "none";
	fltSrch.style.top = "10px";
}