
var BeautySearch = { 
	animationActive: false
};

BeautySearch.setup = function() {
	BeautySearch.filters = {
		seasons: {
			element: document.getElementById("seasons"),
			listWrapper: getElements("list_wrapper", "div", document.getElementById("seasons"))[0],
			listElement: document.getElementById("seasons").getElementsByTagName("ol")[0],
			toggleElement: document.getElementById("seasons").getElementsByTagName("h5")[0]
		},
		
		designers: {
			element: document.getElementById("designers"),
			listWrapper: getElements("list_wrapper", "div", document.getElementById("designers"))[0],
			toggleElement: document.getElementById("designers").getElementsByTagName("h5")[0],
			closeButton: getElements("close_button", "div", document.getElementById("flyout_hed"))[0]
		}
		
	};
	
	BeautySearch.filters.seasons.stateElement = getElements("open", "div", BeautySearch.filters.seasons.element)[0];
	if (BeautySearch.filters.seasons.stateElement == undefined)
		BeautySearch.filters.seasons.stateElement = getElements("closed", "div", BeautySearch.filters.seasons.element)[0];
	BeautySearch.filters.seasons.activeElement = getElements("active", "div", BeautySearch.filters.seasons.element)[0];
	if (BeautySearch.filters.seasons.activeElement == undefined)
		BeautySearch.filters.seasons.activeElement = getElements("inactive", "div", BeautySearch.filters.seasons.element)[0];
	
	BeautySearch.filters.designers.stateElement = getElements("open", "div", BeautySearch.filters.designers.element)[0];
	if (BeautySearch.filters.designers.stateElement == undefined)
		BeautySearch.filters.designers.stateElement = getElements("closed", "div", BeautySearch.filters.designers.element)[0];
	BeautySearch.filters.designers.activeElement = getElements("active", "div", BeautySearch.filters.designers.element)[0];
	if (BeautySearch.filters.designers.activeElement == undefined)
		BeautySearch.filters.designers.activeElement = getElements("inactive", "div", BeautySearch.filters.designers.element)[0];
	
	BeautySearch.filters.seasons.toggleFunction = function() {
		if (BeautySearch.animationActive)
			return;

		BeautySearch.animationActive = true;			

		if (BeautySearch.filters.seasons.stateElement.className == "closed") {
		
			if (BeautySearch.filters.designers.stateElement.className == "open") {
				new Effect.Fade(BeautySearch.filters.designers.listWrapper, {
					duration: 0.75,
					afterFinish: function() {
						
						BeautySearch.filters.designers.listWrapper.style.visibility = "";
						BeautySearch.filters.designers.listWrapper.style.top = "";
						BeautySearch.filters.designers.listWrapper.style.left = "";
						document.getElementById("designers").appendChild(BeautySearch.filters.designers.listWrapper);
						BeautySearch.filters.designers.stateElement.className = "closed";
							
						new Effect.BlindDown(BeautySearch.filters.seasons.listWrapper, {
							duration: 0.75,
							afterFinish: function() { 
								BeautySearch.filters.seasons.stateElement.className = "open"; 
								BeautySearch.animationActive = false;
							}
						});
					}
				});
			}
			else {
				new Effect.BlindDown(BeautySearch.filters.seasons.listWrapper, {
					afterFinish: function() { 
						BeautySearch.filters.seasons.stateElement.className = "open"; 
						BeautySearch.animationActive = false;
					}
				});
		}
	
		}
		else {
			new Effect.BlindUp(BeautySearch.filters.seasons.listWrapper, { 
				duration: 0.75,
				afterFinish: function() {
					BeautySearch.filters.seasons.stateElement.className = "closed";
					BeautySearch.animationActive = false;
				}
			});
		}
	};


	BeautySearch.filters.designers.toggleFunction = function() {
		if (BeautySearch.animationActive)
			return;
			

		BeautySearch.animationActive = true;
		
		if (BeautySearch.filters.designers.stateElement.className == "closed") {
	
			BeautySearch.filters.designers.listWrapper.style.visibility = "hidden";
			BeautySearch.filters.designers.listWrapper.style.display = "block";
			var offsets = getOffsets(BeautySearch.filters.designers.listWrapper);
			BeautySearch.filters.designers.listWrapper.style.display = "none";
			BeautySearch.filters.designers.listWrapper.style.visibility = "visible";
			
	
			document.body.appendChild(BeautySearch.filters.designers.listWrapper);
			BeautySearch.filters.designers.listWrapper.style.top = "277px";
			BeautySearch.filters.designers.listWrapper.style.left = offsets.left + "px";
	
			if (BeautySearch.filters.seasons.stateElement.className == "open") {
				new Effect.BlindUp(BeautySearch.filters.seasons.listWrapper, {
					duration: 0.75,
					afterFinish: function() {
						BeautySearch.filters.seasons.stateElement.className = "closed";
						new Effect.Appear(BeautySearch.filters.designers.listWrapper, {
							duration: 0.5,
							afterFinish: function() {
								BeautySearch.filters.designers.stateElement.className = "open";
								BeautySearch.animationActive = false;
							}
						});
					}
				});
			}
			else {
				new Effect.Appear(BeautySearch.filters.designers.listWrapper, {
					duration: 0.5,
					afterFinish: function() {
						BeautySearch.filters.designers.stateElement.className = "open";
						BeautySearch.animationActive = false;
					}
				});
			}
	
		}
		else {
			new Effect.Fade(BeautySearch.filters.designers.listWrapper, {
				duration: 0.5,
				afterFinish: function() {
					BeautySearch.filters.designers.listWrapper.style.visibility = "";
					BeautySearch.filters.designers.listWrapper.style.top = "";
					BeautySearch.filters.designers.listWrapper.style.left = "";
					document.getElementById("designers").appendChild(BeautySearch.filters.designers.listWrapper);
					BeautySearch.filters.designers.stateElement.className = "closed";
					BeautySearch.animationActive = false;
				}
			});
		}
	};
	
	if (BeautySearch.filters.seasons.activeElement.className == "inactive")
		Handler.add(BeautySearch.filters.seasons.toggleElement, "click", BeautySearch.filters.seasons.toggleFunction);
	
	if (BeautySearch.filters.designers.activeElement.className == "inactive") {
		Handler.add(BeautySearch.filters.designers.toggleElement, "click", BeautySearch.filters.designers.toggleFunction);
		Handler.add(BeautySearch.filters.designers.closeButton, "click", BeautySearch.filters.designers.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;
				}
			}
		});
	}
};

BeautySearch.setup();
	
