// JavaScript Document

function loadStaff() {
	var ranNum = Math.floor(Math.random() * 100001);
	AjaxRequest('/scripts/getTechStaffXML.asp?ran=' + ranNum,initStaff);
}

function initStaff(req) {
	var xmlDoc = req.responseXML;
	var numStaff = $A(xmlDoc.getElementsByTagName("member")).length;
	var memberIndex = Math.floor(Math.random() * numStaff);
	handleArrows(memberIndex, numStaff);
	$("currentIndex").value = memberIndex;
	getStaffInfo(xmlDoc, memberIndex);
}

function getStaffInfo(xmlDoc, index) {
	var IDs = xmlDoc.getElementsByTagName("id");
	var names = xmlDoc.getElementsByTagName("name");
	var photos = xmlDoc.getElementsByTagName("photo");
	var services = xmlDoc.getElementsByTagName("services");
	var titles = xmlDoc.getElementsByTagName("title");
	var contacts = xmlDoc.getElementsByTagName("contact");
	var ID = IDs[index].firstChild.nodeValue;
	var firstname = names[index].attributes.getNamedItem("first").value;
	var lastname = names[index].attributes.getNamedItem("last").value;
	var phone = contacts[index].attributes.getNamedItem("phone").value;
	var email = contacts[index].attributes.getNamedItem("email").value;
	var photo = photos[index].attributes.getNamedItem("path").value;
	var service = services[index].firstChild.nodeValue;
	var title = titles[index].attributes.getNamedItem("desc").value;
	var fullname = firstname + " " + lastname;
	var directoryUrl = "/Directory/ShowInfo.aspx?id=" + ID;
	$("staffLink").href = directoryUrl;
	$("staffName").update(fullname);
	$("staffServices").update(service);
	$("staffImage").src = photo;
	$("staffImage").alt = fullname;
	$("staffTitle").update(title);
	$("staffEmail").update(email);
	$("staffEmail").href = "mailto:" + email;
	$("staffPhone").update(phone);
}

function navStaff(direction) {
	var ranNum = Math.floor(Math.random() * 100001);
	if (direction > 0) {
		AjaxRequest('/scripts/getTechStaffXML.asp?ran=' + ranNum,nextStaff);
	}
	if (direction < 0) {
		AjaxRequest('/scripts/getTechStaffXML.asp?ran=' + ranNum,prevStaff);
	}
}

function nextStaff(req) {
	var xmlDoc = req.responseXML;
	var numStaff = $A(xmlDoc.getElementsByTagName("member")).length;
	var currentIndex = Number($("currentIndex").value) + 1;
	var memberIndex = handleArrows(currentIndex, numStaff);
	$("currentIndex").value = memberIndex;
	getStaffInfo(xmlDoc, memberIndex);
}

function prevStaff(req) {
	var xmlDoc = req.responseXML;
	var numStaff = $A(xmlDoc.getElementsByTagName("member")).length;
	var currentIndex = Number($("currentIndex").value) - 1;
	var memberIndex = handleArrows(currentIndex, numStaff);
	$("currentIndex").value = memberIndex;
	getStaffInfo(xmlDoc, memberIndex);
}

function handleArrows(index,total) {
	switch(index) {
		case -1:
			return total - 1;
			break;
		case total:
			return 0;
			break;
		default:
			return index;
	}
}