awk text replace

I have a record in below format

[mm/mon/yyyy:01:23:59 | -400] | msg1 | msg2 | msg3 | - | msg4 

I am looking for output

mm/mon/yyyy | 01:23:59 | msg1 | msg2 | msg3 | msg4 

I am trying to look in awk to make the above change
So far to avoid columns i tried

cat file  | awk -F'|' '{$2=$3="";print $0}' 

but i am loosing the delimiters

awk -f tom.awk myFile where myFile is:

BEGIN {
  FS=" \\| "
  OFS=" | "
}
{
   sub(":", OFS, $1)
   gsub("[}[]", "")
   f=""
   for(i=1; i<=NF;i++)
     f=($i ~ "^-")?f:(!f)?$i:f OFS $i
   print f
}

It worked it magic !!! :b: