var my_effect = null;
var target_x = null;
var effect_speed = null;
var t=null;
function start_ticker (obj) {
	t = $(obj);
	if (t!=null) {
		t.observe('mouseover', respondToMouseOver);
		t.observe('mouseout', respondToMouseOut);
		

		var ih = t.innerHTML;
		var w_prev = t.getWidth();
		var anc = t.ancestors();
		var wrapper=anc[0];
		if (wrapper.getWidth() < w_prev) {
			t.innerHTML +="&#160;&#160;-&#160;&#160;";
			var w_post = t.getWidth();
			
			t.innerHTML +=ih;
			effect_speed = w_post/35;
			target_x = -(w_post);
			do_move(t,target_x,effect_speed, 0.5,true);
		}
	}
}

function do_move(obj,x,speed,delay,loop) {
	my_effect = new Effect.Move(obj, 
			{ 
				'x': x, 
				'y': 0, 
				'mode': 'relative',
				'duration':speed,
				'transition': Effect.Transitions.linear,
				'delay':delay,
				'afterFinish':function(){
					obj.setStyle({'left':0});
					if (loop) {
						do_move(obj,x,speed, 0,true);
					}
				}
			}
	);
}
function respondToMouseOver(event) {
	  var element = Event.element(event);
	  if (my_effect==null) return;
	  
	  my_effect.cancel();
	 
}
function respondToMouseOut(event) {
	  var element = Event.element(event);
	  do_move(t,target_x,effect_speed, 0,true);
	 
}
