adruino wifi controlled led program Iphone

PURPOSE: to be able to fully control a 3 channel array of leds wirelessly through my iphone and no other connected computers. (router only)

SCOPE: I have an led array over my reef tank display and i would like to be able to control it over the internet wirelessly thrue a wifi enabled arduino. I would like to have an app or webpage that i can access through my Iphone to be able to adjust the leds. In the original program i would like to program a sunrise/sunset by varying the intesity of 3 different color leds throughout a day cycle. I would like this to be on a clock i.e. sunrise at 6:30am and sunset at 6:30 pm. I would also like to vary the sunrise and sunset lengths. Along with the original program i would like to interrupt the program with varying options such as a mock lighting storm or perhaps create a custom color combination with the 3 different colors of led's. After an interruption i would like the program to continue on its regular course as if nothing has happened.

Ex 1. i want a lighting storm for 8 minutes, after the lighting storm is over the normal program resumes.
Ex 2. I want to turn off the other 2 channels of light and only keep 1 channel of light on for x amount of time, after the original program resumes.

BACKGROUND: I have successfully programmed an arduino with 1 unvarying program (because unless i reprogram the arduino i have no other way of controlling it) The program includes a 30 minutes sunrise, 11 hour day, and a 30 minute sunset. I have the power to the arduino on a timer so when the timer is on the arduino powers up and starts the program and when the power is off the arduino also turns off stopping the program.

WHAT I KNOW: I understand how to code the pwm signal to control a mosfet which in-turn controls the drivers to my led array, differentiate intensities (sunrise/sunset) and very basic arduino code.

WHAT I NEED TO KNOW: How do i control the arduino wirelessly through wifi without a computer? How do i set up the arduino so i can access a "storm" function when i want to over the internet and when it is finished have the arduino go back to its original program? How do i set the arduino on a clock instead of a timer? How do i make an easy to use visual program with buttons that will send this information to the arduino that i can access through my internet browser?

OTHER: I am still not sure that all of those questions will lead me in the right direction. If you have any insight at all or a place/example where this has been done before please post a link.

Thank you for your time, any help will be greatly appreciated,

K3IHI