hinghacks:
I'll try to improve the code but I'm honestly just happy it works as it is
Well, it sort of works, just not quite as you expected or wanted.
If you really want to learn to use an Arduino and write useful programs, I strongly recommend thouroughly reading the examples I mentioned, then doing some playing around to get the feel of 'millis()'-based timing. It's the only way you'll ever be able to get an Arduino to do multiple things at once, which is an important aspect of programming.
You could at least start by using 'millis()' to do the timing for the LED flashes, then go from there.
Good luck, anyway, I'm sure you'll get the hang of it.