test_empty=!line 3 of $(reply$i)
test_empty=!word 1 of $(test_empty[1;1])
!if $test_empty=0
 test=NaN chemdraw_empty_data
 error=chemdraw_empty_data
 !exit
!endif

!reset ans_show_hydrogen ans_show_carbon
ans_appletdir=java/WIMSchem
!set oef_applet_option=!replace internal $	$ by $\
$ in $inputsize
!set oef_applet_option=!replace internal ; by $\
$ in $oef_applet_option
!set oef_applet_option=!nonempty lines $oef_applet_option
!set oef_applet_option=!line 2 to -1 of $oef_applet_option
!set ans_image=!getopt image in  $(replyoption$i)

!set match=!getopt match in $(replyoption$i)
!set match=!text select srgGaid in $match
!set match=!nospace $match
!set ans_show_hydrogen=!getopt show_hydrogen in $oef_applet_option
!set ans_show_carbon=!getopt show_carbon 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

!if V2000 isin $(replygood$i)
 !set ans_mol=!replace internal $	$ by $\
$ in $(replygood$i)
!else
 !set ans_mol=!record 0 of $(replygood$i)
!endif
!set ans_mol=!replace internal &#33; by ! in $ans_mol
!set ans_brut_g=!line 1 of $ans_mol

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

ans_molecule=$(reply$i)

ans_brut_r=!line 1 of $ans_molecule
ans_molecule=!line 2 to -1 of $ans_molecule
!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
 ans_checkmol_r=!exec checkmol -X $wims_home/$wims_sesdir/getfile/$replyfichier
 ans_checkmol_func_r=!exec checkmol -c $wims_home/$wims_sesdir/getfile/$replyfichier
 ans_checkmol_func_r=!replace internal ; by , in $ans_checkmol_func_r
 ans_checkmol_func_r=!nonempty items $ans_checkmol_func_r
 ans_image=
 m_reply$i=$ans_checkmol_r;$ans_checkmol_func_r;$ans_brut_r;
  !goto end
!endif

!set goodfile=$wims_ref_name?session=$session&+cmd=getfile&+special_parm=$goodfichier
!readproc oef/togetfile.proc $goodfichier new\
  $ans_mol
  
!!ans_is_matching1=!exec matchmol -agGs $wims_home/$wims_sesdir/getfile/$replyfichier $wims_home/$wims_sesdir/getfile/$goodfichier 
!!ans_is_matching2=!exec matchmol -agGs $wims_home/$wims_sesdir/getfile/$goodfichier $wims_home/$wims_sesdir/getfile/$replyfichier 
ans_is_matching=!exec matchmol -x$match $wims_home/$wims_sesdir/getfile/$replyfichier $wims_home/$wims_sesdir/getfile/$goodfichier 

!!avec l'option -x vrifie strictement
!if invalid isin $ans_is_matching or unknown file format isin $ans_is_matching
  error=bad_exo
 !exit
!endif
ans_diag1=$ans_is_matching

ans_diag=!replace internal : by , in $ans_diag1
ans_diag=!replace internal T by 1 in $ans_diag
ans_diag=!replace internal F by 0 in $ans_diag


ans_diag=$(ans_diag[2])
ans_checkmol_r=!exec checkmol -X $wims_home/$wims_sesdir/getfile/$replyfichier

!if $ans_diag < 1
  !!comparaison
   ans_checkmol_g=!exec checkmol -X $wims_home/$wims_sesdir/getfile/$goodfichier
   ans_cnt_=!itemcnt $ans_checkmol_g
   ans_diff=
   !for s_ = 1 to $ans_cnt_
    !ifval $($ans_checkmol_g[$s_])!=$($ans_checkmol_r[$s_])
     ans_diff=!append item $s_ to $ans_diff
    !endif
   !next
   !if $ans_list_feedback!=
    ans_diff=!listintersect $ans_diff and $ans_list_feedback
   !endif
   ans_cntdiff=!itemcnt $ans_diff
   !for j=1 to $ans_cntdiff
     s_=$(ans_diff[$j])
     l_=!record $s_ of anstype/chemdraw.fr
     l_ = $l_ ( $(ans_checkmol_r[$s_]) au lieu de $(ans_checkmol_g[$s_]))
     ans_feedback=!append line $l_  to $ans_feedback
   !next
!endif
ans_feedback=!lines2rows $ans_feedback
!endif

!if $ans_diag=1
 diareply$i=good
 !advance freegot
 ans_image=
!else
 diareply$i=bad
 !if $ans_image notsametext 
   ans_image=<img src="$imagedir/$ans_image" width="200">
 !endif
!endif

ans_checkmol_func_g=!exec checkmol -c $wims_home/$wims_sesdir/getfile/$goodfichier
ans_checkmol_func_r=!exec checkmol -c $wims_home/$wims_sesdir/getfile/$replyfichier
ans_checkmol_func_g=!replace internal ; by , in $ans_checkmol_func_g
ans_checkmol_func_r=!replace internal ; by , in $ans_checkmol_func_r
ans_checkmol_func_r=!nonempty items $ans_checkmol_func_r
ans_checkmol_func_g=!nonempty items $ans_checkmol_func_g

!if $ans_diag<1
 m_reply$i=$ans_checkmol_r;$ans_checkmol_func_r;$ans_brut_r;$ans_checkmol_g;$ans_checkmol_func_g;$ans_brut_g;$ans_diff;$ans_feedback
!else
 m_reply$i=$ans_checkmol_r;$ans_checkmol_func_r;$ans_brut_r
!endif
:end

!set xsize=320
!set ysize=240

reply_$i =<p>\
<applet name="WIMSchem" codebase="$ans_appletdir" code="WIMSchem.MainApplet" archive="WIMSchem.jar" width="$xsize" height="$ysize">\
	    <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">\
</applet>

!if $ans_diag<1 and $ans_image notsametext
reply_$i=$(reply_$i)\
$ans_image
!endif


reply$i=
replyGood$i=

