/**
* A library for showing and hiding html elements.
*
* @author Michael Hodgins 
*/

var hideshow_slides = new Object();

function getElementSlide(elmId) {
	if ($(elmId)) {
		if (typeof(hideshow_slides[elmId]) == "undefined") {
			try {
				hideshow_slides[elmId] = new Fx.Slide(elmId, {
		            duration: 1000,
		            transition: Fx.Transitions.Pow.easeOut
		        });
	        } catch (e) {}
		}
		return hideshow_slides[elmId];
	} else {
		return null;
	}
}

function easeInElement(elmId) {
	var sld = getElementSlide(elmId);
	if (sld != null) {
		sld.slideIn();
	}
	if (arguments.length > 1) {
		$(elmId).getParent().setStyles(arguments[1]);
	}
}

function easeOutElement(elmId) {
	var sld = getElementSlide(elmId);
	if (sld != null) sld.slideOut();
}

function showElement(elmId) {
	var sld = getElementSlide(elmId);
	if (sld != null) sld.show();
}

function hideElement(elmId) {
	var sld = getElementSlide(elmId);
	if (sld != null) sld.hide();
}

function toggleElement(elmId) {
	var sld = getElementSlide(elmId);
	if (sld != null) sld.toggle();
}