var xhr = true;
var selectedItem = "none"
var rctcStudentsAlphaOpen = [];
var rctcStudentsEntriesOpen = [];
var rctcFacultyAlphaOpen = [];
var rctcFacultyEntriesOpen = [];
var rctcFacultyEntries = [];
var rctcStaffAlphaOpen = [];
var rctcStaffEntriesOpen = [];
var rctcStaffEntries = [];
var rctcDeptInit = false;
var rctcInstructInit = false;
var wsurcInit = false;
var extensionInit = false;
var externalInit = false;
var rctcDeptEntriesOpen = [];
var rctcDeptEntries = [];
var rctcInstructEntriesOpen = [];
var rctcInstructEntries = [];
var wsurcEntriesOpen = [];
var wsurcEntries = [];
var wsurcPeopleEntries = [];
var wsurcPeopleEntriesOpen = [];
var extensionEntriesOpen = [];
var extensionEntries = [];
var externalEntriesOpen = [];
var externalEntries = [];

function StaffEntry() {
	this.phoneext = "";
	this.dept = "";
	this.title = "";
	this.office = "";
	this.box = "";
	this.phone = "";
	this.mail = "";
}

function DeptEntry() {
	this.phoneext = "";
	this.deptname = "";
	this.box = "";
	this.phone = "";
	this.mail = "";
	this.web = "";
	this.fax = "";
	this.description = "";
	this.uid = "";
}

function createXMLHttpRequest() {
    if (typeof XMLHttpRequest != undefined) {
        return new XMLHttpRequest();
    } else if (typeof ActiveXObject != undefined) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        //throw new Error("XMLHttpRequest not supported");
	//alert("XMLHttpRequest not supported");
	xhr = false;
    }
}

function keypress(e) {
	if (!e) {
		var e = window.event
	}
	if (e.keyCode) {
		var code = e.keyCode;
	}
	else {
		if (e.which) {
			var code = e.which;
		}
	}
	if (code == 13) {
		if(selectedItem == 'dirsearch') {
			e.cancelBubble = true;
			e.returnValue = false;
			//document.getElementById("dostusearch").click();
			doStuSearch(e);
		}
	}
}

function displayItem(item, context) {
	var str = "";
	switch(context) {
		case 'rctcStudents':
			break;
		case 'rctcFaculty':
			if((rctcFacultyEntriesOpen[item] != undefined) && (rctcFacultyEntriesOpen[item] != 'undefined')) {
				if(rctcFacultyEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					rctcFacultyEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					rctcFacultyEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Department:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].dept + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Title:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].title + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Office:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].office + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + rctcFacultyEntries[item].mail + "</b></td></tr></table>";
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				rctcFacultyEntriesOpen[item] = true;
			}
			break;
		case 'rctcStaff':
			if((rctcStaffEntriesOpen[item] != undefined) && (rctcStaffEntriesOpen[item] != 'undefined')) {
				if(rctcStaffEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					rctcStaffEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					rctcStaffEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Department:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].dept + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Title:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].title + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Office:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].office + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + rctcStaffEntries[item].mail + "</b></td></tr></table>";
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				rctcStaffEntriesOpen[item] = true;
			}
			break;
		case 'rctcDept':
			if((rctcDeptEntriesOpen[item] != undefined) && (rctcDeptEntriesOpen[item] != 'undefined')) {
				if(rctcDeptEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					rctcDeptEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					rctcDeptEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' valign='top' class='dirlabel'>Description:&nbsp;</td><td align='left' class='diritem'><b>" + rctcDeptEntries[item].description + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + rctcDeptEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + rctcDeptEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + rctcDeptEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Web:&nbsp;</td><td align='left' class='diritem'><b><a target='_blank' href='" + rctcDeptEntries[item].web + "'>" + rctcDeptEntries[item].web + "</a></b></td></tr></table>";
				//+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + rctcDeptEntries[item].mail + "</b></td></tr>"
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				rctcDeptEntriesOpen[item] = true;
			}
			break;
		case 'rctcInstruct':
			if((rctcInstructEntriesOpen[item] != undefined) && (rctcInstructEntriesOpen[item] != 'undefined')) {
				if(rctcInstructEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					rctcInstructEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					rctcInstructEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' valign='top' class='dirlabel'>Description:&nbsp;</td><td align='left' class='diritem'><b>" + rctcInstructEntries[item].description + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + rctcInstructEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + rctcInstructEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + rctcInstructEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Web:&nbsp;</td><td align='left' class='diritem'><b><a target='_blank' href='" + rctcInstructEntries[item].web + "'>" + rctcInstructEntries[item].web + "</a></b></td></tr></table>";
				//+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + rctcInstructEntries[item].mail + "</b></td></tr>"
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				rctcInstructEntriesOpen[item] = true;
			}
			break;
		case 'wsurc':
			if((wsurcEntriesOpen[item] != undefined) && (wsurcEntriesOpen[item] != 'undefined')) {
				if(wsurcEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					wsurcEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					wsurcEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' valign='top' class='dirlabel'>Description:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcEntries[item].description + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Web:&nbsp;</td><td align='left' class='diritem'><b><a target='_blank' href='" + wsurcEntries[item].web + "'>" + wsurcEntries[item].web + "</a></b></td></tr></table>";
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				wsurcEntriesOpen[item] = true;
			}
			break;
		case 'wsurcPeople':
			if((wsurcPeopleEntriesOpen[item] != undefined) && (wsurcPeopleEntriesOpen[item] != 'undefined')) {
				if(wsurcPeopleEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					wsurcPeopleEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					wsurcPeopleEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Department:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].dept + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Title:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].title + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Office:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].office + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + wsurcPeopleEntries[item].mail + "</b></td></tr></table>";
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				wsurcPeopleEntriesOpen[item] = true;
			}
			break;
		case 'extension':
			if((extensionEntriesOpen[item] != undefined) && (extensionEntriesOpen[item] != 'undefined')) {
				if(extensionEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					extensionEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					extensionEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' class='dirlabel'>Title:&nbsp;</td><td align='left' class='diritem'><b>" + extensionEntries[item].title + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Office:&nbsp;</td><td align='left' class='diritem'><b>" + extensionEntries[item].office + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + extensionEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + extensionEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + extensionEntries[item].mail + "</b></td></tr></table>";
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				extensionEntriesOpen[item] = true;
			}
			break;
		case 'external':
			if((externalEntriesOpen[item] != undefined) && (externalEntriesOpen[item] != 'undefined')) {
				if(externalEntriesOpen[item]) {
					document.getElementById(item).style.display = 'none';
					externalEntriesOpen[item] = false;
				}
				else {
					document.getElementById(item).style.display = '';
					externalEntriesOpen[item] = true;
				}
			}
			else {
				str = "<table class='dirtbl'><tr><td align='right' class='dirlabel'>Description:&nbsp;</td><td align='left' class='diritem'><b>" + externalEntries[item].description + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Extension:&nbsp;</td><td align='left' class='diritem'><b>" + externalEntries[item].phoneext + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Box:&nbsp;</td><td align='left' class='diritem'><b>" + externalEntries[item].box + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Telephone:&nbsp;</td><td align='left' class='diritem'><b>" + externalEntries[item].phone + "</b></td></tr>"
				+ "<tr><td align='right' class='dirlabel'>Web:&nbsp;</td><td align='left' class='diritem'><b><a target='_blank' href='" + externalEntries[item].web + "'>" + externalEntries[item].web + "</a></b></td></tr></table>";
				//+ "<tr><td align='right' class='dirlabel'>E-Mail:&nbsp;</td><td align='left' class='diritem'><b>" + externalEntries[item].mail + "</b></td></tr>"
				document.getElementById(item).innerHTML = str;
				document.getElementById(item).style.display = '';
				externalEntriesOpen[item] = true;
			}
			break;
	}
}

function resetMenu() {
	var item = "";
	for(var i = 1; i < 11; i++) {
		item = 'item' + i;
		document.getElementById(item).className = 'navitem';
	}
	selectedItem = 'none';
}

function dirOpen(section, context, search, start, stop) {
	switch(section) { 
		case 'rctcStudents':
			if((stop == undefined) || (stop == 'undefined')) {
				if((rctcStudentsAlphaOpen[context] != undefined) && (rctcStudentsAlphaOpen[context] != 'undefined')) {
					if(rctcStudentsAlphaOpen[context]) {
						document.getElementById(context).style.display = 'none';
						rctcStudentsAlphaOpen[context] = false;
					}
					else {
						document.getElementById(context).style.display = '';
						rctcStudentsAlphaOpen[context] = true;
					}
				}
				else {
					var data = null;
					var ih = "";
					var request = createXMLHttpRequest();
					var uri = "dir.php?org=RCTC&context=student&search=" + search;
					if(xhr) {
						request.open("GET", uri, true);
						request.onreadystatechange = function() {
							if (request.readyState == 4) {
								data = JSON.parse(request.responseText);
								reqdone = true;
								//for(var i = 0; i < data.length; i++) {
								//	alert(data[i]);
								//}
								tmp = "";
								for(var z in data) {
									tmp = context + "-" + data[z].firstndx;
									ih += "<li><a href=\"javascript:dirOpen('rctcStudents','" + context + "','" + search + "'," + data[z].firstndx + "," + data[z].lastndx + ");\">" + data[z].displayname + "</a></li>\n<ul id='" + tmp + "' style='display: none;'></ul>\n";
								}
								document.getElementById(context).innerHTML = ih;
								document.getElementById(context).style.display = '';
								rctcStudentsAlphaOpen[context] = true;
							}
						};
						request.send(null);
					}
					else {
						alert("Your browser does not support XHR");
					}
				}
			}
			else {
				var id = context + "-" + start;
				if((rctcStudentsEntriesOpen[id] != undefined) && (rctcStudentsEntriesOpen[id] != 'undefined')) {
					if(rctcStudentsEntriesOpen[id]) {
						document.getElementById(id).style.display = 'none';
						rctcStudentsEntriesOpen[id] = false;
					}
					else {
						document.getElementById(id).style.display = '';
						rctcStudentsEntriesOpen[id] = true;
					}
				}
				else {
					var data = null;
					var ih = "";
					var request = createXMLHttpRequest();
					var uri = "dir.php?org=RCTC&context=student&search=" + search + "&startndx=" + start + "&stopndx=" + stop;
					if(xhr) {
						request.open("GET", uri, true);
						request.onreadystatechange = function() {
							if (request.readyState == 4) {
								data = JSON.parse(request.responseText);
								reqdone = true;
								//for(var i = 0; i < data.length; i++) {
								//	alert(data[i]);
								//}
								for(var z in data) {
									ih += "<li><table cellpadding='0' cellspacing='0'><tr><td width='200px'>" + data[z].displayname + "</td><td width='100px'>" + data[z].uid + "</td><td width='250px'>" + data[z].mail + "</td></tr></table></li>\n";
								}
								document.getElementById(id).innerHTML = ih;
								document.getElementById(id).style.display = '';
								rctcStudentsEntriesOpen[id] = true;
							}
						};
						request.send(null);
					}
					else {
						alert("Your browser does not support XHR");
					}
				}
			}
			break;
		case 'rctcFaculty':
			if((rctcFacultyAlphaOpen[context] != undefined) && (rctcFacultyAlphaOpen[context] != 'undefined')) {
				if(rctcFacultyAlphaOpen[context]) {
					document.getElementById(context).style.display = 'none';
					rctcFacultyAlphaOpen[context] = false;
				}
				else {
					document.getElementById(context).style.display = '';
					rctcFacultyAlphaOpen[context] = true;
				}
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=RCTC&context=faculty&search=" + search;
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','rctcFaculty');\">" + data[z].displayname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("rctcFacultyEntries['" + data[z].uid + "'] = new StaffEntry();");
								eval("rctcFacultyEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("rctcFacultyEntries['" + data[z].uid + "'].dept = '" + data[z].dept + "';");
								eval("rctcFacultyEntries['" + data[z].uid + "'].title = '" + data[z].title + "';");
								eval("rctcFacultyEntries['" + data[z].uid + "'].office = '" + data[z].office + "';");
								eval("rctcFacultyEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("rctcFacultyEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("rctcFacultyEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
							}
							document.getElementById(context).innerHTML = ih;
							document.getElementById(context).style.display = '';
							rctcFacultyAlphaOpen[context] = true;
						}
					};
					request.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 'rctcStaff':
			if((rctcStaffAlphaOpen[context] != undefined) && (rctcStaffAlphaOpen[context] != 'undefined')) {
				if(rctcStaffAlphaOpen[context]) {
					document.getElementById(context).style.display = 'none';
					rctcStaffAlphaOpen[context] = false;
				}
				else {
					document.getElementById(context).style.display = '';
					rctcStaffAlphaOpen[context] = true;
				}
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=RCTC&context=support&search=" + search;
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','rctcStaff');\">" + data[z].displayname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("rctcStaffEntries['" + data[z].uid + "'] = new StaffEntry();");
								eval("rctcStaffEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("rctcStaffEntries['" + data[z].uid + "'].dept = '" + data[z].dept + "';");
								eval("rctcStaffEntries['" + data[z].uid + "'].title = '" + data[z].title + "';");
								eval("rctcStaffEntries['" + data[z].uid + "'].office = '" + data[z].office + "';");
								eval("rctcStaffEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("rctcStaffEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("rctcStaffEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
							}
							document.getElementById(context).innerHTML = ih;
							document.getElementById(context).style.display = '';
							rctcStaffAlphaOpen[context] = true;
						}
					};
					request.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 'rctcDept':
			break;
		case 'rctcInstruct':
			break;
		case 'wsurc':
			break;
		case 'extension':
			break;
		case 'external':
			break;
		case 'search':
			break;
		case 'print':
			break;
	}
}


function makeLeftVisible() {
	document.getElementById('left').style.visibility = 'visible';
}

function selection(n) {
	switch(n) {
		case 1:
			//<li><a href="rctc_students.php">RCTC Students</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			document.getElementById('rctcStudentsOut').style.display = '';
			document.getElementById('rctcStudents').className = 'navitemselected';
			selectedItem = 'rctcStudents';
			break;
		case 2:
			//<li><a href="rctc_faculty.php">RCTC Faculty</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			document.getElementById('rctcFacultyOut').style.display = '';
			document.getElementById('rctcFaculty').className = 'navitemselected';
			selectedItem = 'rctcFaculty';
			break;
		case 3:
			//<li><a href="rctc_staff.php">RCTC Staff</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			document.getElementById('rctcStaffOut').style.display = '';
			document.getElementById('rctcStaff').className = 'navitemselected';
			selectedItem = 'rctcStaff';
			break;
		case 4:
			//<li><a href="rctc_dept.php">RCTC Departments</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			if(rctcDeptInit) {
				document.getElementById('rctcDeptOut').style.display = '';
				document.getElementById('rctcDept').className = 'navitemselected';
				selectedItem = 'rctcDept';
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=RCTC&context=dept&search=support";
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','rctcDept');\">" + data[z].deptname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("rctcDeptEntries['" + data[z].uid + "'] = new DeptEntry();");
								eval("rctcDeptEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].deptname = '" + data[z].dept + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].fax = '" + data[z].fax + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].description = '" + data[z].description + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
								eval("rctcDeptEntries['" + data[z].uid + "'].web = '" + data[z].web + "';");
							}
							document.getElementById('rctcDeptList').innerHTML = ih;
							rctcDeptInit = true;
							document.getElementById('rctcDeptOut').style.display = '';
							document.getElementById('rctcDept').className = 'navitemselected';
							selectedItem = 'rctcDept';
						}
					};
					request.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 5:
			//<li><a href="rctc_instruct.php">RCTC Instructional Areas</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			if(rctcInstructInit) {
				document.getElementById('rctcInstructOut').style.display = '';
				document.getElementById('rctcInstruct').className = 'navitemselected';
				selectedItem = 'rctcInstruct';
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=RCTC&context=dept&search=academic";
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','rctcInstruct');\">" + data[z].deptname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("rctcInstructEntries['" + data[z].uid + "'] = new DeptEntry();");
								eval("rctcInstructEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].deptname = '" + data[z].dept + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].fax = '" + data[z].fax + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].description = '" + data[z].description + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
								eval("rctcInstructEntries['" + data[z].uid + "'].web = '" + data[z].web + "';");
							}
							document.getElementById('rctcInstructList').innerHTML = ih;
							rctcInstructInit = true;
							document.getElementById('rctcInstructOut').style.display = '';
							document.getElementById('rctcInstruct').className = 'navitemselected';
							selectedItem = 'rctcInstruct';
						}
					};
					request.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 6:
			//<li><a href="wsurc.php">WSURC</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			if(wsurcInit) {
				document.getElementById('wsurcOut').style.display = '';
				document.getElementById('wsurc').className = 'navitemselected';
				selectedItem = 'wsurc';
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=WSURC&context=dept&search=A";
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','wsurc');\">" + data[z].deptname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("wsurcEntries['" + data[z].uid + "'] = new DeptEntry();");
								eval("wsurcEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("wsurcEntries['" + data[z].uid + "'].deptname = '" + data[z].dept + "';");
								eval("wsurcEntries['" + data[z].uid + "'].fax = '" + data[z].fax + "';");
								eval("wsurcEntries['" + data[z].uid + "'].description = '" + data[z].description + "';");
								eval("wsurcEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("wsurcEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("wsurcEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
								eval("wsurcEntries['" + data[z].uid + "'].web = '" + data[z].web + "';");
							}
							wsurcInit = true;
							document.getElementById('wsurcList').innerHTML = ih;
						}
					};
					request.send(null);
					///******************************
					var data2 = null;
					var ih2 = "";
					var request2 = createXMLHttpRequest();
					var uri2 = "dir.php?org=WSURC&context=people&search=A";
					request2.open("GET", uri2, true);
					request2.onreadystatechange = function() {
						if (request2.readyState == 4) {
							data2 = JSON.parse(request2.responseText);
							for(var x in data2) {
								ih2 += "<li><a href=\"javascript:displayItem('" + data2[x].uid + "','wsurcPeople');\">" + data2[x].displayname + "</a></li>\n<div id='" + data2[x].uid + "' style='display: none;'></div>\n";
								eval("wsurcPeopleEntries['" + data2[x].uid + "'] = new StaffEntry();");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].phoneext = '" + data2[x].phoneext + "';");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].dept = '" + data2[x].dept + "';");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].title = '" + data2[x].title + "';");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].office = '" + data2[x].office + "';");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].box = '" + data2[x].box + "';");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].phone = '" + data2[x].phone + "';");
								eval("wsurcPeopleEntries['" + data2[x].uid + "'].mail = '" + data2[x].mail + "';");
							}
							wsurcPeopleInit = true;
							document.getElementById('wsurcPeopleList').innerHTML = ih2;
							document.getElementById('wsurcOut').style.display = '';
							document.getElementById('wsurc').className = 'navitemselected';
							selectedItem = 'wsurc';
						}
					};
					request2.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 7:
			//<li><a href="extension.php">Minnesota Extension Service</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			if(extensionInit) {
				document.getElementById('extensionOut').style.display = '';
				document.getElementById('extension').className = 'navitemselected';
				selectedItem = 'extension';
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=UMN&context=extension&search=A";
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','extension');\">" + data[z].displayname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("extensionEntries['" + data[z].uid + "'] = new StaffEntry();");
								eval("extensionEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("extensionEntries['" + data[z].uid + "'].office = '" + data[z].office + "';");
								eval("extensionEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("extensionEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("extensionEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
								eval("extensionEntries['" + data[z].uid + "'].title = '" + data[z].title + "';");
							}
							document.getElementById('extensionList').innerHTML = ih;
							extensionInit = true;
							document.getElementById('extensionOut').style.display = '';
							document.getElementById('extension').className = 'navitemselected';
							selectedItem = 'extension';
						}
					};
					request.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 8:
			//<li><a href="external.php">External Agencies</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			if(externalInit) {
				document.getElementById('externalOut').style.display = '';
				document.getElementById('external').className = 'navitemselected';
				selectedItem = 'external';
			}
			else {
				var data = null;
				var ih = "";
				var request = createXMLHttpRequest();
				var uri = "dir.php?org=EXTERNAL&context=dept&search=A";
				if(xhr) {
					request.open("GET", uri, true);
					request.onreadystatechange = function() {
						if (request.readyState == 4) {
							data = JSON.parse(request.responseText);
							reqdone = true;
							//for(var i = 0; i < data.length; i++) {
							//	alert(data[i]);
							//}
							tmp = "";
							for(var z in data) {
								ih += "<li><a href=\"javascript:displayItem('" + data[z].uid + "','external');\">" + data[z].deptname + "</a></li>\n<div id='" + data[z].uid + "' style='display: none;'></div>\n";
								eval("externalEntries['" + data[z].uid + "'] = new DeptEntry();");
								eval("externalEntries['" + data[z].uid + "'].phoneext = '" + data[z].phoneext + "';");
								eval("externalEntries['" + data[z].uid + "'].deptname = '" + data[z].dept + "';");
								eval("externalEntries['" + data[z].uid + "'].fax = '" + data[z].fax + "';");
								eval("externalEntries['" + data[z].uid + "'].description = '" + data[z].description + "';");
								eval("externalEntries['" + data[z].uid + "'].box = '" + data[z].box + "';");
								eval("externalEntries['" + data[z].uid + "'].phone = '" + data[z].phone + "';");
								eval("externalEntries['" + data[z].uid + "'].mail = '" + data[z].mail + "';");
								eval("externalEntries['" + data[z].uid + "'].web = '" + data[z].web + "';");
							}
							document.getElementById('externalList').innerHTML = ih;
							externalInit = true;
							document.getElementById('externalOut').style.display = '';
							document.getElementById('external').className = 'navitemselected';
							selectedItem = 'external';
						}
					};
					request.send(null);
				}
				else {
					alert("Your browser does not support XHR");
				}
			}
			break;
		case 9:
			//<li><a href="search.php">Searches</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			document.getElementById('dirsearchOut').style.display = '';
			document.getElementById('dirsearch').className = 'navitemselected';
			selectedItem = 'dirsearch';
			break;
		case 10:
			//<li><a href="print.php">Create a Printable Directory</a></li>
			if(selectedItem != 'none') {
				var tmp = selectedItem + 'Out';
				document.getElementById(selectedItem).className = 'navitem';
				document.getElementById(tmp).style.display = 'none';
			}
			else {
				document.getElementById('startOut').style.display = 'none';
			}
			document.getElementById('dirprintOut').style.display = '';
			document.getElementById('dirprint').className = 'navitemselected';
			selectedItem = 'dirprint';
			break;
	}
}

function stripCharsInBag (s, bag) {   
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function stripCharsNotInBag (s, bag) {   
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is in bag, append to returnString.
	for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);
		if (bag.indexOf(c) != -1) returnString += c;
	}
	return returnString;
}

function doSearch() {
	var aselection = false;
	var names = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.' ";
	var depts = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-(). ";
	var nums = "0123456789-()";
	var whitespace = " \t\n\r";
	var what = "";
	var val = document.forms[1].searchval.value;
	val = stripCharsInBag(val, whitespace);
	if(val == "") {
		alert("Please enter a search value");
	}
	else {
		for(var x = 0; x < document.forms[1].searchon.length; x++) {
			if(document.forms[1].searchon[x].checked) {
				aselection = true;
				what = 	document.forms[1].searchon[x].value;
			}
		}
		if(!aselection) {
			alert("Please select a search type");
		}
		else {
			switch(what) {
				case 'last':
					if(document.forms[1].incstu.checked) {
						//alert("search for last name like " + val + " - include students");
						var wstr = "search.php?search=last&acad=yes&val=" + val;
						var searchWindow = window.open(wstr, "searchWindow", "location=0,status=1,scrollbars=1,width=500,height=400");
					}
					else {
						//alert("search for last name like " + val + " - do not include students");
						var wstr = "search.php?search=last&acad=no&val=" + val;
						var searchWindow = window.open(wstr, "searchWindow", "location=0,status=1,scrollbars=1,width=500,height=400");
					}
					break;
				case 'first':
					if(document.forms[1].incstu.checked) {
						alert("search for first name like " + val + " - include students");
					}
					else {
						alert("search for first name like " + val + " - do not include students");
					}
					break;
				case 'phone':
					val = stripCharsNotInBag(val, nums);
					if(val == "") {
						alert("Please enter a numeric search value.");
					}
					else {
						alert("search for phone number like " + val);
					}
					break;
				case 'box':
					val = stripCharsNotInBag(val, nums);
					if(val == "") {
						alert("Please enter a numeric search value.");
					}
					else {
						alert("search for mail room box like " + val);
					}
					break;
				case 'dept':
					alert("search for department name like " + val);
					break;
			}
		}
	}
}

function doStuSearch(e) {
	document.getElementById('stusearchresults').innerHTML = "";
	document.getElementById('stusearchresults').style.display = 'none';
	var aselection = false;
	var names = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-.' *";
	var searchednames = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-.' ";
	var ids = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	var nums = "0123456789";
	var whitespace = " \t\n\r";
	var what = "";
	var val = document.forms[1].stusearchval.value;
	val = stripCharsInBag(val, whitespace);
	if(val == "") {
		alert("Please enter a search value");
		if(e) {
			e.cancelBubble = true;
			e.returnValue = false;
		}
	}
	else {
		for(var x = 0; x < document.forms[1].stusearchon.length; x++) {
			if(document.forms[1].stusearchon[x].checked) {
				aselection = true;
				what = 	document.forms[1].stusearchon[x].value;
			}
		}
		if(!aselection) {
			alert("Please select a search type");
			if(e) {
				e.cancelBubble = true;
				e.returnValue = false;
			}
		}
		else {
			var data = null;
			var ih = "";
			var request = createXMLHttpRequest();
			var uri = "";
			switch(what) {
				case 'name':
					val = stripCharsNotInBag(val, names);
					if(val == "") {
						alert("Please enter an alphabetic search value.");
						if(e) {
							e.cancelBubble = true;
							e.returnValue = false;
						}
					}
					else {
						val = stripCharsNotInBag(val, searchednames);
						//alert("search for a student name like " + val);
						uri = "search.php?context=rctcstudent&attrib=name&val=" + val;
					}
					break;
				case 'userid':
					val = stripCharsNotInBag(val, ids);
					if(val == "") {
						alert("Please enter an alphanumeric search value.");
						if(e) {
							e.cancelBubble = true;
							e.returnValue = false;
						}
					}
					else {
						//alert("search for a student userid like " + val);
						uri = "search.php?context=rctcstudent&attrib=userid&val=" + val;
					}
					break;
				case 'techid':
					val = stripCharsNotInBag(val, nums);
					if(val == "") {
						alert("Please enter a numeric search value.");
						if(e) {
							e.cancelBubble = true;
							e.returnValue = false;
						}
					}
					else {
						//alert("search for a student techid number like " + val);
						uri = "search.php?context=rctcstudent&attrib=techid&val=" + val;
					}
					break;
			}
			if(xhr) {
				request.open("GET", uri, true);
				request.onreadystatechange = function() {
					if (request.readyState == 4) {
						data = JSON.parse(request.responseText);
						reqdone = true;
						//for(var i = 0; i < data.length; i++) {
						//	alert(data[i]);
						//}
						count = 0;
						for(var z in data) {
							if(count < 20) {
								ih += "<li><table cellpadding='0' cellspacing='0'><tr><td width='200px'>" + data[z].displayname + "</td><td width='100px'>" + data[z].uid + "</td><td width='250px'>" + data[z].mail + "</td></tr></table></li>\n";
							}
							count++;						
						}
						if(count == 0) {
							ih += "<li><table cellpadding='0' cellspacing='0'><tr><td width='550px'>No Search Results Returned</td></tr></table></li>\n";
							document.getElementById('stusearchresults').innerHTML = ih;
						}
						else {
							var ph = "<li><table cellpadding='0' cellspacing='0'><tr style='background: yellow;'><td width='550px'><b>A maximum of 20 results returned:</b></td></tr></table></li>\n";
							document.getElementById('stusearchresults').innerHTML = ph + ih;
						}
						document.getElementById('stusearchresults').style.display = '';
						document.forms[1].stusearchval.value = "";
					}
				};
				request.send(null);
			}
			else {
				alert("Your browser does not support XHR");
				if(e) {
					e.cancelBubble = true;
					e.returnValue = false;
				}
			}
		}
	}
}

function dirSort(n) {
	alert(n);
}

function incStu(val) {
	//alert('help');
	switch(val) {
		case 'last':
			document.forms[1].incstu.disabled = false;
			//document.getElementById('incstuid').enable;
			break;
		case 'first':
			document.forms[1].incstu.disabled = false;
			//document.getElementById('incstuid').enable;
			break;
		case 'phone':
			document.forms[1].incstu.disabled = true;
			//document.getElementById('incstuid').disable;
			break;
		case 'box':
			document.forms[1].incstu.disabled = true;
			//document.getElementById('incstuid').disable;
			break;
		case 'dept':
			document.forms[1].incstu.disabled = true;
			//document.getElementById('incstuid').disable;
			break;
	}
}

function createXMLHttpRequest() {
    if (typeof XMLHttpRequest != "undefined") {
        return new XMLHttpRequest();
    } else if (typeof ActiveXObject != "undefined") {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        //throw new Error("XMLHttpRequest not supported");
	//alert("XMLHttpRequest not supported");
	xhr = false;
    }
}



var mp4lib = null;
var reqdone = false;
var reqcount = 0;
//var request = createXMLHttpRequest();
//request.open("GET", "getmp4lib.php", true);
//request.onreadystatechange = function() {
//	if (request.readyState == 4) {
//		mp4lib = JSON.parse(request.responseText);
//		reqdone = true;
//		//for(var i = 0; i < mp4lib.length; i++) {
//		//	alert(mp4lib[i]);
//		//}
//	}
//}
//request.send(null);
