document.writeln('<script type="text/javascript" language="JavaScript" src="/js/event.js"></script >');

//Get style property for an element
function getStyle(elem, name) {
	//if the property exists in style[], then it has been used recently
	if (elem.style[name]) {
		return elem.style[name];
		
	//try IE
	} else if (elem.currentStyle) {
		return elem.currentStyle[name];
		
	//try W3C's method
	} else if (document.defaultView && document.defaultView.getComputedStyle) {
		name = name.replace(/([A-Z])/g, "-$1");
		name = name.toLowerCase();
		var s = document.defaultView.getComputedStyle(elem, "");
		return s && s.getPropertyValue(name);
		
	//not supported
	} else {
		return null;
	}
}

function resetCSS(elem, prop) {
	var old = {};
	
	for (var i in prop) {
		//remember the old value
		old[i] = elem.style[i];
		//set the new value
		elem.style[i] = prop[i];
	}
	return old;
}

function restoreCSS(elem, prop) {
	//reset all properties to their original values
	for (var i in prop) {
		elem.style[i] = prop[i];
	}
}

//Hides an element
function hide(elem) {
	//get current display state
	var curDisplay = getStyle(elem, 'display');
	
	//remember display state for later
	if (curDisplay != 'none') {
		elem.$oldDisplay = curDisplay;
		elem.style.display = 'none';
	}
}

//Shows an element
function show(elem) {
	elem.style.display = elem.$oldDisplay || '';
}

//Toggles an element
var currentElementShowing = "";
function toggle(elem) {
	show(elem);
	
	if(currentElementShowing != "") {
		hide(currentElementShowing);
	}
	
	if (currentElementShowing != elem) {
		currentElementShowing = elem;
	} else {
		currentElementShowing = "";
	}
}

function getHeight(elem) {
	return parseInt(getStyle(elem, 'height'));
}

function getWidth(elem) {
	return parseInt(getStyle(elem, 'width'));
}

function slideDown(elem, speed) {
	if (typeof speed == 'undefined') {
		speed = 5;
	}
	var h = getHeight(elem);
	
	elem.style.height = '0px';
	show(elem);
	
	for (var i = 0; i <= 100; i+=5) {
		(function() { 
			var pos = i;
			setTimeout(function(){elem.style.height = ((pos/100) * h) + "px";}, (pos+1)*speed);
		})();
	}
}

function slideOver(elem) {
	if (typeof speed == 'undefined') {
		speed = 5;
	}
	var w = getWidth(elem);
	
	elem.style.width = '0px';
	show(elem);
	
	for (var i = 0; i <= 100; i+=5) {
		(function() { 
			var pos = i;
			setTimeout(function(){elem.style.width = ((pos/100) * w) + "px";}, (pos+1)*speed);
		})();
	}
}

function setOpacity(elem,level) {
	if (elem.filters) {
		elem.style.filter = 'alpha(opacity=' + level + ')';
	} else {
		elem.style.opacity = level/100;
	}
}

function fadeIn(elem, speed) {
	if (typeof speed == 'undefined') {
		speed = 5;
	}
	setOpacity(elem, 0);
	show(elem);
	
	for (var i=0; i <= 100; i+=5) {
		(function() {
			var pos = i;
			setTimeout(function(){setOpacity(elem,pos);}, (pos + 1)*speed);
		})();
	}
}