anchor.diff:                                  toStr(time(), time))),
                     tdTag([{valign, "top"}, {bgcolor, ?Background}],
                           fontTag(?HdrOptions2, "Timer expired"))]),
  -               trTag([tdTag(), tdTag([{bgcolor, ?Background}], []),
  -                      tdTag([{bgcolor, ?Background}],
  +               trTag(
  +                   [tdTag(),
  +                    tdTag([{valign, "top"}, {align, center}, {bgcolor, ?Background}],
  +                          imgTag([{src, Portrait}, {height, "45"}, {width, "45"}])),
  +                    tdTag([{bgcolor, ?Background}],
                             fontTag(?MsgOptions1, eMd2Html:convert(Text)))])]),
        tableTag(
          [trTag(
             [tdTag([{class, "msgImg"}],
                    imgTag([{src, "/priv/Icons/clockChat.png"}])),
  -           tdTag([{class, "msgTime"}], toStr(time(), time)),
  +           tdTag([{class, "msgTime textCenter"}], toStr(time(), time)),
              tdTag([{class, "msgText"}], "Timer expired")]),
  -        trTag([tdTag(), tdTag([{colspan, 2}], eMd2Html:convert(Text, "/priv"))])])};
  +        trTag(
  +            [tdTag(),
  +             tdTag([{class, "portraitCol"}],
  +                   imgTag([{src, WPortrait}, {class, "portrait"}])),
  +             tdTag(eMd2Html:convert(Text, "/priv"))])])};
   generateAlarmMsg(Uid, Text) ->
  +    Portrait  = getRootDir() ++ "/Icons/eTodo.png",
  +    WPortrait = "/priv/Icons/eTodoBiggest.png",
       UidStr = eTodoUtils:convertUid(Uid),
       {tableTag([{cellspacing, "0"}, {cellpadding, "10"}],
                 [trTag([tdTag([{colspan, 3}], [])]),
  
positive.code: %% Notes    :
  %%======================================================================
  generateAlarmMsg(timer, Text) ->
      {tableTag([{cellspacing, "0"}, {cellpadding, "10"}],
                [trTag([tdTag([{colspan, 3}], [])]),
                 trTag(
  
negative.code:                                 toStr(time(), time))),
                    tdTag([{valign, "top"}, {bgcolor, ?Background}],
                          fontTag(?HdrOptions1, "eTodo"))]),
                 trTag(
                     [tdTag(),
                      tdTag([{valign, "top"}, {align, center}, {bgcolor, ?Background}],
                            imgTag([{src, Portrait}, {height, "45"}, {width, "45"}])),
                      tdTag([{bgcolor, ?Background}],
                            fontTag(?MsgOptions1, eMd2Html:convert(Text)))])]),
       tableTag(
         [trTag(
            [tdTag([{class, "msgImg"}],
                   imgTag([{src, "/priv/Icons/etodoChat.png"}])),
             tdTag([{class, "msgTime textCenter"}], toStr(time(), time)),
             tdTag([{class, "msgText"}], "eTodo")]),
          trTag(
              [tdTag(),
               tdTag([{class, "portraitCol"}],
                     imgTag([{src, WPortrait}, {class, "portrait"}])),
               tdTag(eMd2Html:convert(Text, "/priv"))])])};
  generateSystemMsg(Uid, Text) ->
      UidStr = eTodoUtils:convertUid(Uid),
      Portrait = getRootDir() ++ "/Icons/eTodo.png",
      WPortrait = "/priv/Icons/eTodoBiggest.png",
      {tableTag([{cellspacing, "0"}, {cellpadding, "10"}],
                [trTag([tdTag([{colspan, 3}], [])]),
                 trTag(
  