	var wipe_list = new Array;

	function debug(debug_id,debug_var)
	{
		if (!(debug_element = document.getElementById('debug_'+debug_id)))
		{
			var debug_element = document.createElement("div");
			debug_element.style.position = "fixed";
			debug_element.style.right="10px";
			debug_element.style.height="15px";
			debug_element.style.backgroundColor="#E0E0E0";
			debug_element.style.font="13px/17px verdana";
			debug_element.id = "debug_"+debug_id;
			debug_element.style.bottom = 10+(debug_id*20)+"px";
			document.body.appendChild(debug_element);
		}
		debug_element.innerHTML = debug_var;
	}

	function $(oi)
	{
		return (document.getElementById(oi));
	}

	function wiper()
	{
		var speed = null;
		var offset = null;
		var wiper_obj = null;
		var interval_id = null;
		var num = 0;
		var interval = 40;

		this.setup = function(o)
		{
			if (!o) return false;
			wiper_obj = $('panel'+o+'-body');
			num = o;
		}

		function do_wipe()
		{
			x = wiper_obj.offsetTop;

			if (x+speed <= (23+offset) && x+speed >= (-61+offset))
			{
				wiper_obj.style.top = (x+speed)+"px";
			}
			else
			{
				if (x+speed > (23+offset))
				{
					wiper_obj.style.top = (23+offset)+"px";
					clearInterval(interval_id);
					interval_id = 0;
				}
				else if (x+speed <= (-61+offset))
				{
					wiper_obj.style.top = (-61+offset)+"px";
					clearInterval(interval_id);
					interval_id = 0;
				}
				else
				{
					clearInterval(interval_id);
					interval_id = 0;
				}
			}
		}

		function do_wipe_up()
		{
			x = wiper_obj.offsetTop;

			if (x+speed <= (0+offset) && x+speed >= (-275+offset))
			{
				wiper_obj.style.top = (x+speed)+"px";
				wiper_obj.style.height = ((x+speed)*-1)+"px";
			}
			else
			{
				if (x+speed > (0+offset))
				{
					wiper_obj.style.top = (0+offset)+"px";
					wiper_obj.style.height = (0+offset)+"px";
					clearInterval(interval_id);
					interval_id = 0;
				}
				else if (x+speed <= (-275+offset))
				{
					wiper_obj.style.top = (-275+offset)+"px";
					wiper_obj.style.height = (275+offset)+"px";
					clearInterval(interval_id);
					interval_id = 0;
				}
				else
				{
					clearInterval(interval_id);
					interval_id = 0;
				}
			}
		}

		this.initiate = function(s,o)
		{
			speed = s;
			offset = o;
			if (!interval_id)
			{
				interval_id = setInterval(do_wipe,interval);
			}
		}
		
		this.initiate_up = function(s,o)
		{
			speed = s;
			offset = o;
			if (!interval_id)
			{
				interval_id = setInterval(do_wipe_up,interval);
			}
		}
	}

	function wipe(obj_num,speed,offset,dir)
	{
		if (!offset) offset = 0;
		if (dir)
		{
			if (wipe_list[obj_num])
			{
				wipe_list[obj_num].initiate_up(speed,offset);
			}
			else
			{
				wipe_list[obj_num] = new wiper;
				wipe_list[obj_num].setup(obj_num);
				wipe_list[obj_num].initiate_up(speed,offset);
			}
		}
		else
		{
			if (wipe_list[obj_num])
			{
				wipe_list[obj_num].initiate(speed,offset);
			}
			else
			{
				wipe_list[obj_num] = new wiper;
				wipe_list[obj_num].setup(obj_num);
				wipe_list[obj_num].initiate(speed,offset);
			}
		}
	}