var adPe = new Hash();
var adLock = new Hash();
var adScrollTime = 4;
var adMorphTime = 1;

function adMove(id, direction, usePe )
{
	if ( usePe == true )
	{
		adPe[id].stop();
		adPe[id] = new PeriodicalExecuter( function(pe){ adMove(id,1) }, adScrollTime );
	}
	if ( adLock[id] )
		return; 

	adLock[id] = true;
		
	$$("#" + id + " .featurecolor").each( function(el){ el.removeClassName('featurecolor'); el.addClassName('featurecoloroff'); } );
	if ( direction > 0 )
	{
		distance = -$$("#" + id + " p")[0].getWidth();
		new Effect.Morph(id, { style: { marginLeft: distance+"px" }, duration: adMorphTime, afterFinish: function(){
			el = $$("#" + id + " p")[0].remove();
			$(id).setStyle({marginLeft: "0px"});
			$(id).insert({bottom: "<p>" + el.innerHTML + "</p>"})
			adLock[id] = false;
			$$("#" + id + " .featurecoloroff")[0].addClassName('featurecolor');
			$$("#" + id + " .featurecoloroff")[0].removeClassName('featurecoloroff'); 
		} } );
	}
	else
	{
		el = $$("#" + id + " p")[$$("#" + id + " p").length-1].remove();
		$(id).insert({top: "<p>" + el.innerHTML + "</p>"})
		$(id).setStyle({marginLeft: -$$("#" + id + " p")[0].getWidth() + "px"});
		
		new Effect.Morph(id, {style: {marginLeft: "0px"}, duration: adMorphTime, afterFinish: function(){
			adLock[id] = false;
			$$("#" + id + " .featurecoloroff")[0].addClassName('featurecolor');
			$$("#" + id + " .featurecoloroff")[0].removeClassName('featurecoloroff'); 
		} } );
	}
}

