<% /*
     $Revision$
     $Id$

     File:          flexfileselector.inc
     Description:   Algemene interface functie om een persoon functie suggestbox te maken
                    Deze moet je kunnen includen en aanroepen.
     parameters     fieldName:    veldnaam van het fileselector veld. Dit veld wordt gesubmit.
                    objectName:   naam van het suggest object dat wordt aangemaakt.
                    params:       object met meegegeven parameters.
*/ %>

<%
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"], js: [] });

function FCLTflexfileselector(fieldName, objectName, params)
{
  if (typeof params=="undefined") params = {};

  // Is er een initiele waarde meegegeven? Zoek dan de omschrijving erbij!
  var lfileName = params.filename;
  var lextraInit = "";

  // Bouw de url voor de persoons query op
  var functieQueryUrl = rooturl + "/appl/shared/suggest/SuggestFlexfile.asp?flexmodule=" + params.flexmodule;
  if (params.label)
  { %><tr <%=params.trclass?"class='"+params.trclass+"'":""%>>
    <td class="label">
      <label for="<%=fieldName%>_show"><%=params.label%>:</label>
    </td>
    <td>
<%
  } %>
  <nobr>
    <input id="<%=fieldName%>_show" class="fld<%=!params.readonly&&params.required? " required" : ""%>" value="<%=safe.htmlattr(lfileName)%>"
           <%=params.readonly? " readonly tabindex=-1" : ""%>
           <%=params.onChange && !params.readonly? " sgonChange='" + params.onChange + "'" : ""%>>
    <input type="hidden" id="<%=fieldName%>" name="<%=fieldName%>" value="<%=safe.htmlattr(params.filename)%>">
<%
    if (params.extraParamField)
    { /* het extra parameter veld wordt door suggest object gevuld */%>
      <input type="hidden" id="<%=params.extraParamField%>" name="<%=params.extraParamField%>" value="<%=safe.htmlattr(lextraInit)%>">
<%
    } %>
  </nobr>
<%
  if (params.label)
  { %>
    </td></tr>
<%
  } %>
<%
  if (!params.readonly)
  {
    if (params.urlAdd)
    {
      var urlAddTxt = "[";
      for (var i = 0; i < params.urlAdd.length; i++)
      {
        urlAddTxt += (i > 0? ", " : "") + "{ urlParam: \"" + params.urlAdd[i].urlParam + "\", field: \"" + params.urlAdd[i].field + "\" }";
      }
      urlAddTxt += "]"
    }
%>
    <script type="text/javascript">
      jQuery(document).ready( function()
                              {
                                <%=objectName%> = new Suggest({ objectName: "<%=objectName%>",
                                                                queryField: $("#<%=fieldName%>_show")[0],
                                                                queryUrl: "<%=protectQS.create(functieQueryUrl)%>",
                                                                initKey: "<%=safe.jsstring(params.filename || "")%>",
                                                                emptyKey: "",
                                                                keyField: $("#<%=fieldName%>")[0]
                                                                <%=params.urlAdd? ", urlAdd: " + urlAddTxt : ""%>
                                                                <%=params.extraParamField? ", extraParamField: $(\"" + "#" + params.extraParamField + "\")[0]" : ""%>
                                                                <%=params.extraParamField? ", initExtraParam: \"" + safe.jsstring("" + lextraInit) + "\"": ""%>
                                                                <%=params.isBad? ", isBad: true": ""%>
                                                                <%=params.readonly? ", fieldReadonly: true": ""%>
                                                              });
                              }
                            )
    </script>
<%
  }
}
%>