ans_molecule=$(reply$i)
test_empty=!line 1 of $(reply$i)
test_empty=$(test_empty[1;1])
!if $test_empty=$empty
 test=NaN chemclick_empty_data
 error=chemclick_empty_data
 !exit
!endif
!reset ans_show_hydrogen ans_show_carbon
!set ans_appletdir=java/WIMSchem

!set oef_applet_option=!replace internal $	$ by $\
$ in $oef_applet_option
!set oef_applet_option=!replace internal ; by $\
$ in $oef_applet_option
!set oef_applet_option=!nonempty lines $oef_applet_option
!set Inputsize=!line 1 of $oef_applet_option
!distribute items $Inputsize into xsize,ysize
!set oef_applet_option=!line 2 to -1 of $oef_applet_option
!set ans_image=!getopt image in $(replyoption$i)
!set ans_show_hydrogen=!getopt show_hydrogen in $oef_applet_option
!set ans_show_carbon=!getopt show_hydrogen in $oef_applet_option
!set ans_rotation=!getopt rotation in $oef_applet_option
!default ans_show_hydrogen=yes
!default ans_show_carbon=no

ans_list_feedback=!getopt feedback in $(replyoption$i)
ans_list_feedback=!words2items $ans_list_feedback

good_select=$(replygood$i[1;])
!for u_ in bonds, atoms
  good_select=!replace internal $u_: by $\
$u_, in $good_select
!next
!set good_atoms_select=!select $good_select where column 1=atoms
!set good_atoms_select=!item 2 to -1 of $good_atoms_select
!set good_atoms_select=!nonempty items $good_atoms_select
!set good_bonds_select=!select $good_select where column 1=bonds
!set good_bonds_select=!item 2 to -1 of $good_bonds_select
!set good_bonds_select=!nonempty items $good_bonds_select

!distribute line $ans_molecule into ans_select
ans_molecule=!line 2 to -1 of $ans_molecule
!set ans_atoms_select=$(ans_select[1;])
!set ans_bonds_select=$(ans_select[2;])

!set ans_newtime=$(wims_nowseconds)_$i
!set replyfichier=r_$ans_newtime.mol

!readproc oef/togetfile.proc $replyfichier new\
$ans_molecule


!set replyfile=$wims_ref_name?session=$session&+cmd=getfile&+special_parm=$replyfichier

!if $wims_read_parm=nocompare
  !goto end
!endif

:good
!set score_bonds=1
!set score_atoms=1

!if $good_atoms_select!=
ans_atoms_test1=!listcomplement $ans_atoms_select in $good_atoms_select
ans_atoms_test2=!listcomplement $good_atoms_select in $ans_atoms_select
ans_atoms_test3=!listintersect $good_atoms_select and $ans_atoms_select
ans_atoms_total=!nonempty items $ans_atoms_select,$good_atoms_select
ans_atoms_total=!listuniq $ans_atoms_total
ans_atoms_total=!sort numeric items $ans_atoms_total
 !if $ans_atoms_test1= and $ans_atoms_test2=
   score_atoms=1
 !else
   score_atoms=0
 !endif
!else
 ans_atoms_test2=$ans_atoms_select
 ans_atoms_total=!sort numeric items $ans_atoms_test2
  !if $ans_atoms_total notsametext
   score_atoms=0
 !endif
!endif
!if $good_bonds_select!=
 ans_bonds_test1=!listcomplement $ans_bonds_select in $good_bonds_select
 ans_bonds_test2=!listcomplement $good_bonds_select in $ans_bonds_select
 ans_bonds_test3=!listintersect $good_bonds_select and $ans_bonds_select
 ans_bonds_total=!nonempty items $ans_bonds_select,$good_bonds_select
 ans_bonds_total=!listuniq $ans_bonds_total
 ans_bonds_total=!sort numeric items $ans_bonds_total
 !if $ans_bonds_test1= and $ans_bonds_test2=
   score_bonds=1
 !else
   score_bonds=0
 !endif
!else
 ans_bonds_test2=$ans_bonds_select
 ans_bonds_total=!sort numeric items $ans_bonds_test2
 !if $ans_bonds_total notsametext
   score_bonds=0
 !endif
!endif
!if $score_bonds=1 and $score_atoms=1
 diareply$i=good
 !advance freegot
 ans_image=
!else
 diareply$i=bad
!endif

:end

!default xsize=320
!default ysize=240

!set ans_atoms_colors=<param name="select_atoms" value="$ans_atoms_total" />
!for x in $ans_atoms_test1
  ans_atoms_colors=!append line <param name="select_atom_color$x" value="0,0,255" /> to $ans_atoms_colors
!next
!for x in $ans_atoms_test2
  ans_atoms_colors=!append line <param name="select_atom_color$x" value="255,0,0" /> to $ans_atoms_colors
!next
!for x in $ans_atoms_test3
  ans_atoms_colors=!append line <param name="select_atom_color$x" value="0,255,0" /> to $ans_atoms_colors
!next

!set ans_bonds_colors=<param name="select_bonds" value="$ans_bonds_total" />
!for x in $ans_bonds_test1
  ans_bonds_colors=!append line <param name="select_bond_color$x" value="0,0,255" /> to $ans_bonds_colors
!next
!for x in $ans_bonds_test2
  ans_bonds_colors=!append line <param name="select_bond_color$x" value="255,0,0" /> to $ans_bonds_colors
!next
!for x in $ans_bonds_test3
  ans_bonds_colors=!append line <param name="select_bond_color$x" value="0,255,0" /> to $ans_bonds_colors
!next

reply_$i=<object name="WIMSchem$i" type="application/x-java-applet;jpi-version=1.4" \
 classid="java:WIMSchem.MainApplet" width="$xsize" height="$ysize">\
  <param name="java_codebase" value="$ans_appletdir" />\
  <param name="java_code" value="WIMSchem.MainApplet" />\
  <param name="java_archive" value="WIMSchem.jar" />\
  <param name="showfile" value="yes" />\
  <param name="language" value="en" />\
  <param name="formattype" value="latex" />\
  <param name="TOOL_CURSOR" value="no" />\
  <param name="TOOL_ROTATOR" value="no" />\
  <param name="TOOL_ERASOR" value="no" />\
  <param name="TOOL_DIALOG" value="no" />\
  <param name="TOOL_EDIT" value="no" />\
  <param name="TOOL_SETATOM" value="no" />\
  <param name="TOOL_SINGLE" value="no" />\
  <param name="TOOL_DOUBLE" value="no" />\
  <param name="TOOL_TRIPLE" value="no" />\
  <param name="TOOL_ZERO" value="no" />\
  <param name="TOOL_INCLINED" value="no" />\
  <param name="TOOL_DECLINED" value="no" />\
  <param name="TOOL_UNKNOWN" value="no" />\
  <param name="TOOL_CHARGE" value="no" />\
  <param name="TOOL_UNDO" value="no" />\
  <param name="TOOL_REDO" value="no" />\
  <param name="TOOL_TEMPLATE" value="no" />\
  <param name="TOOL_CUT" value="no" />\
  <param name="TOOL_COPY" value="no" />\
  <param name="TOOL_PASTE" value="no" />\
  <param name="MENU_BLOCK" value="no" />\
  <param name="MENU_SELECT" value="no" />\
  <param name="MENU_TRANSFORM" value="no" />\
  <param name="MENU_ZOOM" value="no" />\
  <param name="MENU_SHOW" value="no" />\
  <param name="MENU_HYDROGEN" value="no" />\
  <param name="MENU_STEREO" value="no" />\
  <param name="MENU_HELP" value="no" />\
  <param name="file" value="$replyfile" />\
  <param name="show_hydrogen" value="$ans_show_hydrogen" />\
  <param name="show_carbon" value="$ans_show_carbon" />\
  <param name="rotation" value="$ans_rotation" />\
  <param name="color_alpha" value="255" />\
  $ans_atoms_colors\
  $ans_bonds_colors\
</object>
reply__$i=&nbsp;
!if $ans_atoms_select!=$empty
  reply$i=atoms:$ans_atoms_select
!endif
!if $ans_atoms_select!=$empty
  reply$i=$(reply$i) bonds:$ans_bond_select
!endif
replyGood$i=
