<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    xmlns:custom="components.*"
    creationComplete="initApp()" viewSourceURL="srcview/index.html">
    <mx:Script>
    <![CDATA[
    
        import flash.events.TimerEvent;
        import flash.utils.Timer;
        
        private var oneMinute:int = 60;
        private var twoMinutes:int = 120;
        private var fiveMinutes:int = 300;
        
        private var oneMinuteTimer:Timer = new Timer(1000, oneMinute);
        private var twoMinuteTimer:Timer = new Timer(1000, twoMinutes);
        private var fiveMinuteTimer:Timer = new Timer(1000, fiveMinutes);
        
        public function initApp():void 
        {
            oneMinuteTimer.addEventListener(TimerEvent.TIMER, oneMinuteTick);
            oneMinuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, resetOneMinute);
            oneMinuteTimer.start();
            
            twoMinuteTimer.addEventListener(TimerEvent.TIMER, twoMinuteTick);
            twoMinuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, resetTwoMinute);
            twoMinuteTimer.start();
            
            fiveMinuteTimer.addEventListener(TimerEvent.TIMER, fiveMinuteTick);
            fiveMinuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, resetFiveMinute);
            fiveMinuteTimer.start()
        }
        
        public function updateDisplay():void{
            // Get Application Height and Width
            var swfWidth:Number = Application.application.width;
            var swfHeight:Number = Application.application.height;
            
            timerCanvas.width = swfWidth;
            timerCanvas.height = swfHeight;
        }
        
        public function oneMinuteTick(event:TimerEvent):void{
            //trace("tick " + event.target.currentCount);
            EggTimerOne.setArc(360 - (event.target.currentCount * (360 / oneMinute)));
        }
        
        public function twoMinuteTick(event:TimerEvent):void{
            //trace("tick " + event.target.currentCount);
            EggTimerTwo.setArc(360 - (event.target.currentCount * (360 / twoMinutes)));
        }
        
        public function fiveMinuteTick(event:TimerEvent):void{
            //trace("tick " + event.target.currentCount);
            EggTimerThree.setArc(360 - (event.target.currentCount * (360 / fiveMinutes)));
        }
        
        public function resetOneMinute(event:TimerEvent):void{
            oneMinuteTimer.reset();
            oneMinuteTimer.start();
        }
        
        public function resetTwoMinute(event:TimerEvent):void{
            twoMinuteTimer.reset();
            twoMinuteTimer.start();
        }
        
        public function resetFiveMinute(event:TimerEvent):void{
            fiveMinuteTimer.reset();
            fiveMinuteTimer.start();
        }        
    ]]>
    </mx:Script>
    <mx:ApplicationControlBar id="mainControlBar" width="100%" dock="true">
        <custom:EggTimer id="EggTimerOne" scaleX="1.65" scaleY="1.62" />
        <mx:Label text="One Minute" fontWeight="bold" x="230" y="0"/>
    </mx:ApplicationControlBar>
    <mx:Canvas id="timerCanvas">
        <custom:EggTimer id="EggTimerThree" scaleX="5" scaleY="5" x="25" y="30" />
        <mx:Label text="Five Minute" fontWeight="bold" x="55" y="0"/>
        <custom:EggTimer id="EggTimerTwo" scaleX="3" scaleY="3" x="160" y="30" />
        <mx:Label text="Two Minute" fontWeight="bold" x="155" y="0"/>
    </mx:Canvas>
</mx:Application>