/**
  * Sets the labels, format functions, etc...
  *
  * @param boolean $detailed True when shopwing detailed information
  * @param boolean $edit When true use edit settings
  * @return \Gems_Tracker_Model_TrackModel
  */
 public function applyFormatting($detailed = false, $edit = false)
 {
     $translated = $this->util->getTranslated();
     $translator = $this->getTranslateAdapter();
     if ($edit) {
         $dateFormat = \MUtil_Model_Bridge_FormBridge::getFixedOption('date', 'dateFormat');
     } else {
         $dateFormat = $translated->dateFormatString;
     }
     $this->resetOrder();
     $this->set('gtr_track_name', 'label', $translator->_('Name'));
     $this->set('gtr_track_class', 'label', $translator->_('Track Engine'), 'multiOptions', $this->tracker->getTrackEngineList($detailed));
     $this->set('gtr_survey_rounds', 'label', $translator->_('Surveys'));
     $this->set('gtr_active', 'label', $translator->_('Active'), 'multiOptions', $translated->getYesNo());
     $this->set('gtr_date_start', 'label', $translator->_('From'), 'dateFormat', $dateFormat, 'formatFunction', $translated->formatDate);
     $this->set('gtr_date_until', 'label', $translator->_('Use until'), 'dateFormat', $dateFormat, 'formatFunction', $translated->formatDateForever);
     $this->setIfExists('gtr_code', 'label', $translator->_('Track code'), 'size', 10, 'description', $translator->_('Optional code name to link the track to program code.'));
     if ($detailed) {
         $events = $this->loader->getEvents();
         $caList = $events->listTrackCalculationEvents();
         if (count($caList) > 1) {
             $this->setIfExists('gtr_calculation_event', 'label', $translator->_('Before (re)calculation'), 'multiOptions', $caList);
         }
         $coList = $events->listTrackCompletionEvents();
         if (count($coList) > 1) {
             $this->setIfExists('gtr_completed_event', 'label', $translator->_('After completion'), 'multiOptions', $coList);
         }
         $bfuList = $events->listTrackBeforeFieldUpdateEvents();
         if (count($bfuList) > 1) {
             $this->setIfExists('gtr_beforefieldupdate_event', 'label', $translator->_('Before field update'), 'multiOptions', $bfuList);
         }
         $fuList = $events->listTrackFieldUpdateEvents();
         if (count($fuList) > 1) {
             $this->setIfExists('gtr_fieldupdate_event', 'label', $translator->_('After field update'), 'multiOptions', $fuList);
         }
         $this->setIfExists('gtr_organizations', 'label', $translator->_('Organizations'), 'elementClass', 'MultiCheckbox', 'multiOptions', $this->util->getDbLookup()->getOrganizationsWithRespondents(), 'required', true);
         $ct = new \MUtil_Model_Type_ConcatenatedRow('|', $translator->_(', '));
         $ct->apply($this, 'gtr_organizations');
     }
     if ($edit) {
         $this->set('toggleOrg', 'elementClass', 'ToggleCheckboxes', 'selectorName', 'gtr_organizations');
         $this->set('gtr_track_name', 'minlength', 4, 'size', 30, 'validators[unique]', $this->createUniqueValidator('gtr_track_name'));
     }
     return $this;
 }