!! three keywords
!! proc : processing of varfilter, manage of initialising, merging save varfilter etc...
!! (use in the var.proc file of the module using varfilter)
!!    checking compatibility of varfilter text
!!    input : varfilterclear,varfilter  output:varfilter_
!!  (+write varfilter_ data in order to use it in other module)
!! WARNING : you have to use preformatted output varfilter_
!!    (not input varfilter) variable when make test with script testfilter
!! html : html interface to use varfilter
!! htmldiv : same with div


!bound wims_read_parm within proc,html,htmldiv default $empty

!if $wims_read_parm!=$empty
  !goto $wims_read_parm
!endif

!exit

:proc
!if $varfilterclear!=$empty
  !reset varfilter,varfilter_,varfilterclear
  !writefile wimshome/s2/$wims_session/varfilter $varfilter
!else
  !if $varfilter=$empty and $wims_user=supervisor
    varfilter=!record 0 of wimshome/s2/$wims_session/varfilter
  !else
    !writefile wimshome/s2/$wims_session/varfilter $varfilter
  !endif
!endif
!if $varfilter!=$empty
  !reset varfilter_
  !readproc adm/vfilter/listvarfilter.proc
  !set varfilter_cnt=!linecnt $varfilter
  !for v=1 to $varfilter_cnt
    var_line=!singlespace $(varfilter[$v;])
    var_line=!replace internal $ =$ by = in $var_line
    var_line=!replace internal $= $ by = in $var_line
    var_line=!replace $ $ by , in $var_line
    #check name of varfilter (valid value are not checked maybe we should ??) bad name are deleted
    n_=!itemcnt $var_line
    t_=$empty
    !for k_=1 to $n_
      name_=!replace internal = by , in $(var_line[$k_])
      !if $(name_[1]) isitemof $tv_listname
        t_=!append item $(var_line[$k_]) to $t_
      !endif
    !next k_
    n_=!itemcnt $t_
    !if $n_>0
      varfilter_=!append line $t_ to $varfilter_
    !endif
  !next v
   varfilter2_=!replace internal , by $ $ in $varfilter_
  !if $varfilter!=$varfilter2_
    !writefile wimshome/s2/$wims_session/varfilter $varfilter2_
    varfilter=$varfilter2_
   !endif
  !endif
!exit

:html
!read adm/language adm/lang/varfilter
<fieldset class="property_fields halfwidth blockcenter">
 <legend>$name_filtertitle</legend>
  $name_filter
  <div class="field fullwidth">
    <textarea name="varfilter" cols="20" rows="3">$varfilter</textarea>
    <input type="submit" value="$name_clear" name="varfilterclear">
    !set wims_ref_class=wims_button_help float_right
    !href target=wims_mhelp cmd=help&special_parm=filter $wims_name_help
  </div>
  <div class="wimsform wimscenter">
    <input type="submit" value="$wims_name_Show">
  </div>
</fieldset>
!exit

:htmldiv
!read adm/language adm/lang/varfilter
!readproc adm/vfilter/listvarfilter.proc
<div class="field box">
  <label for="varfilter">$name_filtertitle</label>
  <div class="formHelp">$name_filter</div>
  !set wims_ref_class=wims_button_help float_right
  !href target=wims_mhelp cmd=help&special_parm=filter $wims_name_help
  <textarea name="varfilter" id="varfilter" cols="20" rows="3">$varfilter</textarea>
  <input type="submit" value="$name_clear" name="varfilterclear">
</div>
!exit
