	function showTip(tipContainer, arrow, width, height, tipText) {

		if (typeof shownTips == 'undefined') {
			shownTips = new Array();
		}

		if (!shownTips.contains(tipContainer)) {

			setTimeout("$('" + tipContainer + "').removeClass('jsHide')", 30);

			$(tipContainer).effects({
				duration: 800,
				transition: Fx.Transitions.bounceOut
			}).start({
				'width':[0,width],
				'height':[0,height],
				'opacity':[1,1]
			});

			$(arrow).effects({
				duration: 800,
				transition: Fx.Transitions.bounceOut
			}).start({
				'width':[0,8],
				'height':[0,16],
				'opacity':[1,1]
			});
			setTimeout("showTipText('" + tipText + "')", 600);

			shownTips.include(tipContainer);
		}
	}

	function showTipText(tipText) {
		setTimeout("$('" + tipText + "').removeClass('jsHide')", 30);

		$(tipText).effects({
			duration: 500,
			transition: Fx.Transitions.quadIn
		}).start({
			'opacity':[0,1]
		});
	}

	function hideTip(tipContainer, tipText) {

		if (typeof shownTips == 'undefined') {
			shownTips = new Array();
		}

		$(tipContainer).addClass('jsHide');
		$(tipText).addClass('jsHide');
		shownTips.remove(tipContainer);
	}