package BO
{
    import flash.utils.ByteArray;
    
    public class Contact
    {
        public var id:int;
        public var pseudo:String;
        public var dateNaissance:Date;
        public var mail:String;
        public var avatar:ByteArray;
        
        public function Contact()
        {
            ID = -1;
            Pseudo = "";
            Mail = "";
            DateNaissance = null;
            Avatar = null;
        }
        
        [Bindable]
        public function get ID():int
        {
            return id;
        }
        public function set ID(pValue:int):void
        {
            id = pValue;
        }
        
        [Bindable]
        public function get Pseudo():String
        {
            return pseudo;
        }
        public function set Pseudo(pValue:String):void
        {
            pseudo = pValue;
        }
        
        [Bindable]
        public function get Mail():String
        {
            return mail;
        }
        public function set Mail(pValue:String):void
        {
            mail = pValue;
        }
        
        [Bindable]
        public function get Avatar():ByteArray
        {
            return avatar;
        }
        public function set Avatar(pValue:ByteArray):void
        {
            avatar = pValue;
        }
        
        public function get DateNaissance():Date
        {
            return dateNaissance;
        }
        public function set DateNaissance(pDate:Date):void
        {
            dateNaissance = pDate;
            dispatchEvent(new Event('agePropertyChanged'));
        }
        
        [Bindable(event='agePropertyChanged')]
        public function get Age():uint
        {
            var dtNow:Date = new Date();
            var currentMonth:Number = dtNow.getMonth();
            var currentDay:Number = dtNow.getDay();
            var currentYear:Number = dtNow.getFullYear();
         
            var bdMonth:Number = DateNaissance.getMonth();
            var bdDay:Number = DateNaissance.getDay();
            var bdYear:Number = DateNaissance.getFullYear();
         
            var years:uint = dtNow.getFullYear() - DateNaissance.getFullYear();

            if (currentMonth < bdMonth || (currentMonth == bdMonth && currentDay < bdDay))
            {
                years--;
            }
            return years;
        }
    }
}