You could try something like this:
freq = 1;
amp = 500;
period = 1;
d = 3*period;
seedRandom(index,true);
t = time + random(d);
n = Math.floor(t/d);
p = t%d;
if (p < period){
tX = n*period + ease(p,0,period,0,1);
tY = n*period;
}else if (p < 2*period){
tX = (n+1)*period;
tY = n*period + ease(p,period,period*2,0,1);
}else{
tX = (n+1)*period;
tY = (n+1)*period;
}
x = (wiggle(freq,amp,1,.5,tX)-value)[0];
y = (wiggle(freq,amp,1,.5,tY)-value)[1];
value + [x,y]