wave = new Array(0, 5, 7, 5, 0, -5, -7, -5, 0);
wavelength = wave.length;
waving = new Array();

function startWave(id, index, text){

	if(! waving[id]){
		waveIt(id, index, text);
	}
	waving[id] = true;
}

function waveIt(id, index, text){

	pretext = text.substr(0, Math.max(0, index - wavelength + 1) );
	protext = (index + 1 < text.length) ? text.substr(index + 1) : '';

	wavedtext = '';

	for(i = wavelength; i > 0 && index - wavelength + i >= 0; i--){
		wavedtext = '<span style="position: relative; top: ' + wave[i - 1] + 'px;">' + text.charAt(index - wavelength + i) + '</span>' + wavedtext;
	}

	document.getElementById(id).innerHTML = pretext + wavedtext + protext;

	if(index + 1 - wavelength < text.length){
		setTimeout('waveIt("' + id + '", ' + (index + 1) + ', "' + text + '")', 100);
	}
	else{
		document.getElementById(id).innerHTML = text;
		waving[id] = false;
	}
}