/**
  * addFilterInputFieldToTable This function adds the according filter item to the table gui passed as argument.
  * @param $field ilDataCollectionField The field which should be filterable.
  * @param &$table ilTable2GUI The table you want the filter to be added to.
  */
 static function addFilterInputFieldToTable(ilDataCollectionField $field, ilTable2GUI &$table)
 {
     global $lng;
     $type_id = $field->getDatatypeId();
     $input = NULL;
     switch ($type_id) {
         case ilDataCollectionDatatype::INPUTFORMAT_TEXT:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_TEXT, false, $field->getId());
             $input->setSubmitFormOnEnter(true);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_NUMBER:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_NUMBER_RANGE, false, $field->getId());
             $input->setSubmitFormOnEnter(true);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_BOOLEAN:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_SELECT, false, $field->getId());
             $input->setOptions(array("" => $lng->txt("dcl_any"), "not_checked" => $lng->txt("dcl_not_checked"), "checked" => $lng->txt("dcl_checked")));
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_DATETIME:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_DATE_RANGE, false, $field->getId());
             $input->setSubmitFormOnEnter(true);
             $input->setStartYear(date("Y") - 100);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_FILE:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_TEXT, false, $field->getId());
             $input->setSubmitFormOnEnter(true);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_REFERENCE:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_SELECT, false, $field->getId());
             $ref_field_id = $field->getFieldRef();
             $ref_field = ilDataCollectionCache::getFieldCache($ref_field_id);
             $ref_table = ilDataCollectionCache::getTableCache($ref_field->getTableId());
             $options = array();
             foreach ($ref_table->getRecords() as $record) {
                 $options[$record->getId()] = $record->getRecordFieldValue($ref_field_id);
             }
             // Sort by values ASC
             asort($options);
             $options = array('' => $lng->txt('dcl_any')) + $options;
             $input->setOptions($options);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_RATING:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_SELECT, false, $field->getId());
             $options = array("" => $lng->txt("dcl_any"), 1 => ">1", 2 => ">2", 3 => ">3", 4 => ">4", 5 => "5");
             $input->setOptions($options);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_MOB:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_TEXT, false, $field->getId());
             $input->setSubmitFormOnEnter(true);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_ILIAS_REF:
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_TEXT, false, $field->getId());
             $input->setSubmitFormOnEnter(true);
             break;
         case ilDataCollectionDatatype::INPUTFORMAT_REFERENCELIST:
             //FIXME
             $input = $table->addFilterItemByMetaType("filter_" . $field->getId(), ilTable2GUI::FILTER_SELECT, false, $field->getId());
             $ref_field_id = $field->getFieldRef();
             $ref_field = ilDataCollectionCache::getFieldCache($ref_field_id);
             $ref_table = ilDataCollectionCache::getTableCache($ref_field->getTableId());
             $options = array();
             foreach ($ref_table->getRecords() as $record) {
                 $options[$record->getId()] = $record->getRecordFieldValue($ref_field_id);
             }
             // Sort by values ASC
             asort($options);
             $options = array('' => $lng->txt('dcl_any')) + $options;
             $input->setOptions($options);
             break;
     }
     if ($input != NULL) {
         $input->setTitle($field->getTitle());
     }
     return $input;
 }