swap_delay = 75; // ms
id = 0;

function swap_bit(bit, old) {
	document.getElementById('bit' + bit).src = 'code/' + old + 'a.jpg';
	setTimeout("document.getElementById('bit" + bit + "').src = 'code/" + old + "b.jpg'", swap_delay);
	setTimeout("document.getElementById('bit" + bit + "').src = 'code/blank.jpg'", swap_delay * 2);
	setTimeout("document.getElementById('bit" + bit + "').src = 'code/" + (1-old) + "b.jpg'", swap_delay * 3);
	setTimeout("document.getElementById('bit" + bit + "').src = 'code/" + (1-old) + "a.jpg'", swap_delay * 4);
	setTimeout("document.getElementById('bit" + bit + "').src = 'code/" + (1-old) + ".jpg'", swap_delay * 5);
	if (old == 1) show_num(id - bit);
	else show_num(id + bit);
}

function show_num(new_id) {
	old_tens = (id > 9) ? 1 : 0;
	old_ones = id % 10;
	id = new_id;
	new_tens = (id > 9) ? 1 : 0;
	new_ones = id % 10;

	if (old_tens != new_tens) {
		document.getElementById('tens').src = 'code/' + old_tens + 'a.jpg';
		setTimeout("document.getElementById('tens').src = 'code/" + old_tens + "b.jpg'", swap_delay);
		setTimeout("document.getElementById('tens').src = 'code/blank.jpg'", swap_delay * 2);
		setTimeout("document.getElementById('tens').src = 'code/" + new_tens + "b.jpg'", swap_delay * 3);
		setTimeout("document.getElementById('tens').src = 'code/" + new_tens + "a.jpg'", swap_delay * 4);
		setTimeout("document.getElementById('tens').src = 'code/" + new_tens + ".jpg'", swap_delay * 5);
	}

	document.getElementById('ones').src = 'code/' + old_ones + 'a.jpg';
	setTimeout("document.getElementById('ones').src = 'code/" + old_ones + "b.jpg'", swap_delay);
	setTimeout("document.getElementById('ones').src = 'code/blank.jpg'", swap_delay * 2);
	setTimeout("document.getElementById('ones').src = 'code/" + new_ones + "b.jpg'", swap_delay * 3);
	setTimeout("document.getElementById('ones').src = 'code/" + new_ones + "a.jpg'", swap_delay * 4);
	setTimeout("document.getElementById('ones').src = 'code/" + new_ones + ".jpg'", swap_delay * 5);
}
