<% /*
     $Revision$
     $Id$

    File:               objectFilter.inc
    Description:        functies voor object suggest velden
    Globals:
    Context:
    Note:
*/ %>


<%

function getFiltClauseObject(params)
{
  var lfiltClause = "";
  if (params.filtcode && params.filtcode != "")
  {
    switch(params.filtcode)
    {
      case "C": lfiltClause = " AND BITAND(s.ins_srtdeel_binding, 32) = 32"                      // Alleen objecten die ook een onderdeel kunnen zijn.
                            + " AND NOT EXISTS (SELECT do.ins_deel_key"                          // Alleen objecten die zelf geen onderdelen hebben.
                            + "                   FROM ins_v_aanwezigdeelenonderdeel do"
                            + "                  WHERE do.ins_deel_parent_key = d.ins_deel_key)";
                break;
      case "I": lfiltClause = " AND d.ins_alg_ruimte_key_org IS NULL"
                            + " AND d.ins_alg_ruimte_type_org IS NULL"
                            + " AND d.ins_deel_parent_key IS NULL"
                            + " AND s.ins_srtdeel_uitleenbaar = 1";
                break;
      case "U": lfiltClause = " AND d.ins_alg_ruimte_key_org IS NOT NULL"
                            + " AND d.ins_alg_ruimte_type_org IS NOT NULL"
                            + " AND d.ins_deel_parent_key IS NULL"
                            + " AND s.ins_srtdeel_uitleenbaar = 1";
                break;
    }
  }

  if (params.srtdeel_key && params.srtdeel_key != -1) // parent-parent gegeven
  {
    lfiltClause += " AND d.ins_srtdeel_key = " + params.srtdeel_key;
  }
  else if (params.srtgroep_key && params.srtgroep_key != -1) // parent-parent gegeven
  {
    lfiltClause += " AND s.ins_srtgroep_key = " + params.srtgroep_key;
  }
  else if (params.disc_key && params.disc_key != -1) // parent gegeven
  {
    lfiltClause += " AND d.ins_discipline_key = " + params.disc_key;
  }

  if (params.excludekey && params.excludekey != -1)
    lfiltClause += " AND d.ins_deel_key NOT IN (" + params.excludekey + ")";;

  return lfiltClause;
}

// Merk op dat in het algemeen een onChange call naar get_prs_info_ajax.asp
// veel praktischer is, zie bijv. mld_edit_melding.js
function getExtraInfObject(pextracode)
{
  var lExtraInf = { selectstr: ", ins_srtdeel_omschrijving", fromstr: "", wherestr: "" };
  if (pextracode && pextracode != "")
  {
    switch(pextracode)
    {
      case "UITV": lExtraInf.selectstr = ", CASE"
                                       + "  WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'"
                                       + "  THEN d.ins_deel_t_uitvoertijd.tijdsduur / 24"
                                       + "  ELSE d.ins_deel_t_uitvoertijd.tijdsduur"
                                       + "  END uitvoertijd" // Uitvoertijd in dagen.
                                       + ", ins_srtdeel_omschrijving"
                   lExtraInf.fromstr   = "";
                   lExtraInf.wherestr  = "";
                   break;
    }
  }
  return lExtraInf;
}
%>
