I wanted do a On Input code to color when using emoticons like: laugh smile =/ xD

I have one but it only works with the basics eye and mouth and hat too, but i wanted insert a nose in the middle, and i couldn't.

I'm using this:

Code:
$emoticon($color($1-))


Code:
alias emoticon { 
  if (!$readsys2(input,aemo)) { return $1- }
  else {  
    var %x, %er = $regsub($1-,/( $+ %eye $+ )( $+ %mouth $+ +)/g, $+ $negsub $+  $+ $efhair $+  $+ $readsys1(input,eye) $+ %comma $+ $readsys1(input,emobg) $+ \01 $+  $+ $readsys1(input,mouth) $+ \02 $+ $color1 $+ $negsub ,%x)     
    return %x
  }
}

alias color1 { 
  var %colored = $readsys1(input,letter) | var %clorbg = $readsys1(input,bg)
  if (!$readsys2(input,on)) { return $1- | halt } 
  else { 
    if (%colored == 00) && (%colored == 00) { return $1- | halt } 
    if (%colored != 00) && (%colored == 00) { return  $+ %colored $+ $1- | halt } 
    if (%colored != 00) && (%colored != 00) { return  $+ %colorido $+ , $+ %colored $+ $1- | halt } 
  } 
} 

alias color { 
  var %phrase = %bold $+ %underline | var %colored = $readsys1(input,letter) | var %colorbg = $readsys1(input,bg)
  if (!$readsys2(input,on)) { return $1- | halt } 
  else { 
    if ($readsys2(input,bold)) || ($readsys2(input,underline)) { 
      if (%colored == 00) && (%colorbg == 00) { return %phrase $+ $1- $+  $+ %phrase | halt } 
      if (%colored == 00) && (%colorbg != 00) { return %phrase $+  $+ %colored $+ , $+ %colorbg $+ $1- $+  $+ %phrase | halt } 
      if (%colored != 00) && (%colorbg == 00) { return %phrase $+  $+ %colored $+ $1- $+  $+ %phrase | halt } 
      if (%colored != 00) && (%colorbg != 00) { return %phrase $+  $+ %colored $+ , $+ %colorbg $+ $1- $+  $+ %phrase | halt } 
    } 
    else { 
      if (%colored == 00) && (%colorbg == 00) { return $1- | halt }
      if (%colored == 00) && (%colorbg != 00) { return %phrase $+  $+ %colored $+ , $+ %colorbg $+ $1- $+  $+ %phrase | halt } 
      if (%colored != 00) && (%colorbg == 00) { return  $+ %colored $+ $1- $+  | halt } 
      if (%colored != 00) && (%colorbg != 00) { return  $+ %colored $+ , $+ %colorbg $+ $1- $+  | halt } 
    } 
  } 
}


I made a image to better explain: http://imgur.com/o3PTnz6