#!/usr/bin/sh
#----------------------------------------------------------------------------
# /usr/bin/html_colecho - extended version of colecho
#
# Creation:     2003-07-19 ap
# Last update:  $Id$
#
# Copyright (c) 2003-@@YEAR@@ the eisfair team, team(at)eisfair(dot)org
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#----------------------------------------------------------------------------

HTML='yes'

if [ "$1" = "-?" ] ; then
  echo "Usage: $0 <TEXT> [COLOR] [BKGCOLOR] [MODE]"
  $0 "  Example:$0 rd bl blink" rd w bl
  echo "TEXT/BKGCOLORs:"
  echo "  b        : black"
  echo "  rd       : red"
  echo "  gn       : green"
  echo "  bl       : blue"
  echo "  br       : brown (MODE br -> Yellow)"
  echo "  mg       : magenta"
  echo "  cy       : cyan"
  echo "  w        : white"
  echo "  any other: normal"
  echo
  echo "MODEs:"
  echo "  br   : bright/bold"
  echo "  dk   : dim"
  echo "  bl   : blinking"
  echo "  inv  : inverse"
  echo "  brbl : bright-blinking"
  echo "  brinv: bright-inverse"
  echo "  dkbl : dim-blinking"
  echo "  dkinv: dim-inverse"
  echo "  any  : normal"
  exit
fi

# if not in HTML-Mode
if [ ! "$HTML" = 'yes' ]; then
   # textcolor
   case "$2" in
	b)  TCOL="\033[30m";;
	rd) TCOL="\033[31m";;
	gn) TCOL="\033[32m";;
	br) TCOL="\033[33m";;
	bl) TCOL="\033[34m";;
	mg) TCOL="\033[35m";;
	cy) TCOL="\033[36m";;
	w)  TCOL="\033[37m";;
	*)  # normal
            TCOL="\033[0m" ;;
   esac

   # backgroundcolor
   case "$3" in
	b)  BKGCOL="\033[40m";;
	rd) BKGCOL="\033[41m";;
	gn) BKGCOL="\033[42m";;
	br) BKGCOL="\033[43m";;
	bl) BKGCOL="\033[44m";;
	mg) BKGCOL="\033[45m";;
	cy) BKGCOL="\033[46m";;
	w)  BKGCOL="\033[47m";;
	*)  # normal
	    BKGCOL="\033[49m";;
   esac

   # textmode
   case "$4" in
	br)    TMODE="\033[1m";;
	dk)    TMODE="\033[2m";;
	bl)    TMODE="\033[5m";;
	inv)   TMODE="\033[7m";;
	brbl)  TMODE="\033[1m\033[5m";;
	brinv) TMODE="\033[1m\033[7m";;
	dkb)   TMODE="\033[2m\033[5m";;
	dkinv) TMODE="\033[2m\033[7m";;
	*)     TMODE="";;
   esac
else
   # if in HTML-Mode
   # textcolor
   case "$2" in
        b)   TCOL='black'  ;;
        rd)  TCOL='red'    ;;
        gn)  TCOL='green'  ;;
        br)  TCOL='brown'  ;;
        bl)  TCOL='blue'   ;;
        mg)  TCOL='fuchsia';;
        cy)  TCOL='cyan'   ;;
        w)   TCOL='white'  ;;
        *)   # normal
             TCOL='white'  ;;
   esac
   
   BEG="<font color=\"${TCOL}\">"
   FIN="</font>"

   # backgroundcolor
   case "$3" in
        b)  BKGCOL='black'  ;;
        rd) BKGCOL='red'    ;;
        gn) BKGCOL='green'  ;;
        br) BKGCOL='brown'  ;;
        bl) BKGCOL='blue'   ;;
        mg) BKGCOL='fuchsia';;
        cy) BKGCOL='cyan'   ;;
        w)  BKGCOL='white'  ;;
        *)  # normal
            BKGCOL='white'  ;;
   esac

   BEG="<span style=\"background-color:$BKGCOL;\">$BEG"
   FIN="$FIN</span>"

   MBEG=''
   MFIN=''
   # textmode
   case "$4" in
        br)    TMODE='b'      ;;
        dk)    TMODE='samp'   ;;
        bl)    TMODE='blink'  ;;
        inv)   TMODE='i'      ;;
        brbl)  TMODE='b blink';;
        brinv) TMODE='b inv'  ;;
        dkb)   TMODE='samp b' ;;
        dkinv) TMODE='samp i' ;;
        *)     TMODE=''       ;;
   esac

   if [ ! "$TMODE" = '' ]
   then
      for TM in $TMODE
      do
          BEG="$BEG<$TM>"
          FIN="</$TM>$FIN"
      done
   fi

fi

# doit
if [ "$HTML" = 'yes' ]; then
   echo "$BEG$1$FIN"
else
   echo -e "$BEG$TCOL$BKGCOL$TMODE$1$FIN"
fi

# ---------------------------------------------------------------------------
# end
# ---------------------------------------------------------------------------