
var PhotoBrowse = { 
	animationActive: false
};

PhotoBrowse.setup = function() {
	PhotoBrowse.filters = {
		persons: {
			element: document.getElementById("persons"),
			listWrapper: getElements("list_wrapper", "div", document.getElementById("persons"))[0],
			toggleElement: document.getElementById("persons").getElementsByTagName("h5")[0],
			closeButton: getElements("close_button", "div", document.getElementById("flyout_hed"))[0]
		}
	};
	
	PhotoBrowse.filters.persons.stateElement = getElements("open", "div", PhotoBrowse.filters.persons.element)[0];
	if (PhotoBrowse.filters.persons.stateElement == undefined)
		PhotoBrowse.filters.persons.stateElement = getElements("closed", "div", PhotoBrowse.filters.persons.element)[0];
	
	PhotoBrowse.filters.persons.toggleFunction = function() {
		if (PhotoBrowse.animationActive)
			return;

		PhotoBrowse.animationActive = true;
		
		if (PhotoBrowse.filters.persons.stateElement.className == "closed") {
	
			PhotoBrowse.filters.persons.listWrapper.style.visibility = "hidden";
			PhotoBrowse.filters.persons.listWrapper.style.display = "block";
			var offsets = getOffsets(PhotoBrowse.filters.persons.listWrapper);
			PhotoBrowse.filters.persons.listWrapper.style.display = "none";
			PhotoBrowse.filters.persons.listWrapper.style.visibility = "visible";
			
	
			document.body.appendChild(PhotoBrowse.filters.persons.listWrapper);
			PhotoBrowse.filters.persons.listWrapper.style.top = "277px";
			PhotoBrowse.filters.persons.listWrapper.style.left = offsets.left + "px";
	
			new Effect.Appear(PhotoBrowse.filters.persons.listWrapper, {
				duration: 0.5,
				afterFinish: function() {
					PhotoBrowse.filters.persons.stateElement.className = "open";
					PhotoBrowse.animationActive = false;
				}
			});
		}
		else {
			new Effect.Fade(PhotoBrowse.filters.persons.listWrapper, {
				duration: 0.5,
				afterFinish: function() {
					PhotoBrowse.filters.persons.listWrapper.style.visibility = "";
					PhotoBrowse.filters.persons.listWrapper.style.top = "";
					PhotoBrowse.filters.persons.listWrapper.style.left = "";
					document.getElementById("persons").appendChild(PhotoBrowse.filters.persons.listWrapper);
					PhotoBrowse.filters.persons.stateElement.className = "closed";
					PhotoBrowse.animationActive = false;
				}
			});
		}
	};
	
	Handler.add(PhotoBrowse.filters.persons.toggleElement, "click", PhotoBrowse.filters.persons.toggleFunction);
	Handler.add(PhotoBrowse.filters.persons.closeButton, "click", PhotoBrowse.filters.persons.toggleFunction);
	
	var nav_links = getElements("nav_link", "div", document.getElementById("alphabetical_nav"));
	for (var i = 0; i < nav_links.length; ++i) {
		Handler.add(nav_links[i], "click", function() {
			var targets = getElements("nav_target", "h5", document.getElementById("alphabetical_list"));
			for (var i = 0; i < targets.length; ++i) {
				if (targets[i].innerHTML == this.innerHTML) {
					document.getElementById("alphabetical_list").scrollTop = targets[i].offsetTop;
				}
			}
		});
	}
};


runOnLoad(PhotoBrowse.setup);
