<% /*
     $Revision$
     $Id$

     File:               FAC/faq_flexkenmerk.inc
     Description:        Functie die html code genereert voor de presentatie van de flexvelden
     Parameters:         
                         faq_key              FAQnummer
                         reado                Readonly
                         advanced             Geadvanceerd
                         reqId                Perslid key
     Context:            Functie wordt aangeroepen door
                         1) load_kenmerk.asp
                         2) fac_faq_show.asp die initieel serverside deze html code invoegd.
                         3) fac_faq_edit.asp die initieel serverside deze html code invoegd.
     
*/ %>
<!-- #include file="../Shared/kenmerk_common.inc" -->
<%
function generateFlexKenmerkCode(params)
{
    function isReadonly (oRs)
    {
        return reado;
    }

    var faq_key = params.faq_key; // FAQnummer
    var disc_key = params.disc_key;
    var reado = params.reado; // Readonly
    var advanced = params.advanced; // Geavanceerd
    var reqId = params.reqId; // Perslid key (!search && multiMode)
    var copy = (params.copy? params.copy : false);
    var otherKenmerkPath = "NULL";
    var hasfilter = params.hasfilter? params.hasfilter : null;

    if (copy)
    {   // Kopieeer eventueel flexfiles
        otherKenmerkPath = " 'FAQ/" + subfolderKey("F", faq_key) + "/' || faq_kenmerk_key";
    }

    var sql = "SELECT k.faq_kenmerk_key                     kenmerk_key"
            + "     , 1                                     kenmerk_key_count"
            + "     , NULL                                  srtkenmerk_key"
            + "     , " + lcl.xsql("k.faq_kenmerk_omschrijving", "k.faq_kenmerk_key") + " kenmerk_omschrijving"
            + "     , k.faq_kenmerk_kenmerktype             kenmerk_kenmerktype"
            + "     , k.fac_kenmerkdomein_key               kenmerkdomein_key"
            + "     , k.faq_kenmerk_lengte                  kenmerk_lengte"
            + "     , k.faq_kenmerk_dec                     kenmerk_dec"
            + "     , k.faq_kenmerk_nmin                    kenmerk_nmin"
            + "     , k.faq_kenmerk_nmax                    kenmerk_nmax"
            + "     , k.faq_kenmerk_systeem                 kenmerk_systeem"
            + (faq_key > 0
              ? "   , (SELECT MAX(CASE WHEN k.faq_kenmerk_kenmerktype = 'M'"
                + "                    THEN NULL"
                + "                    ELSE f.faq_kenmerkwaarde_waarde"
                + "                    END)"
                + "      FROM faq_kenmerkwaarde f"
                + "     WHERE f.fac_faq_key = " + faq_key
                + "       AND f.faq_kenmerk_key = k.faq_kenmerk_key"
                + "       AND f.faq_kenmerkwaarde_verwijder IS NULL)"
              : "   , " + lcl.xsql("k.faq_kenmerk_default", "k.faq_kenmerk_key")
              ) + "                                         kenmerk_waarde"
            + "     , k.faq_kenmerk_volgnr                  kenmerk_volgnr"
            + "     , k.faq_kenmerk_rolcode                 kenmerk_rolcode"
            + "     , " + lcl.xsql("k.faq_kenmerk_dimensie", "k.faq_kenmerk_key") + " kenmerk_dimensie"
            + "     , " + lcl.xsql("k.faq_kenmerk_hint",     "k.faq_kenmerk_key") + " kenmerk_hint"
            + "     , " + lcl.xsql("k.faq_kenmerk_default",  "k.faq_kenmerk_key") + " kenmerk_default"
            + "     , k.faq_kenmerk_show_expr               kenmerk_show_expr"
            + "     , k.faq_kenmerk_verplicht               kenmerk_verplicht"
            + "     , k.faq_kenmerk_groep                   kenmerk_groep"
            + "     , " + otherKenmerkPath + "              otherpath"  // corresponderende pad voor copy/move folder
            + "     , k.faq_kenmerk_toonbaar                kenmerk_toonbaar"
            + "     , k.faq_kenmerk_uniek                   kenmerk_uniek"
            + "     , k.faq_kenmerk_regexp                  kenmerk_regexp"
            + "     , k.fac_functie_key"
            + "  FROM faq_kenmerk k"
            + " WHERE k.faq_kenmerk_verwijder IS NULL"
            + (advanced
                ? ""  // Dan alle kenmerken laten zien
                : "   AND (k.faq_discipline_key IS NULL"
                + (disc_key > 0
                    ? " OR k.faq_discipline_key = " + disc_key
                    : "")
                + "       )"
              )
            + " ORDER BY k.faq_kenmerk_volgnr"
            + "        , UPPER("+lcl.xsql("k.faq_kenmerk_omschrijving", "k.faq_kenmerk_key")+")";

    listKenmerk( sql
               , "FAQ"
               , faq_key
               , { kenmerk_search: advanced
                 , fnIsReadonly: isReadonly
                 , reado: reado
                 , mobile: params.mobile
                 , hideVervallen: faq_key<0
                 , parentKey: faq_key
                 , hasfilter: hasfilter
                 , sortFilename: true
                 }
               );
} %>
