package com.mariusht.puremvcexampleinair.view
{
    import com.mariusht.puremvcexampleinair.view.components.LoginWindow;
    
    import mx.events.FlexEvent;
    
    import org.puremvc.as3.interfaces.IMediator;
    import org.puremvc.as3.patterns.mediator.Mediator;

    public class LoginWindowMediator extends Mediator implements IMediator
    {
        public static const NAME:String = 'LoginWindowMediator';
        
        public function LoginWindowMediator(viewComponent:LoginWindow)
        {
            super(NAME, viewComponent);
            
            loginWindow.addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);
        }
        
        private function onCreationComplete(event:FlexEvent):void
        {
            facade.registerMediator(new LoginButtonMediator(loginWindow.loginButton));
        }
        
        protected function get loginWindow():LoginWindow
        {
            return viewComponent as LoginWindow;
        }
    }
}