/**
  * Renders the entire report (including layout)
  *
  * @param array|string[] $respondentId
  * @param boolean $group Group same surveys or not
  * @param string $format html|pdf, the output format to use
  */
 public function render($respondents, $group = true, $format = 'html')
 {
     $this->_group = $group;
     $this->html->snippet($this->_reportHeader);
     $respondentCount = count($respondents);
     $respondentIdx = 0;
     foreach ($respondents as $respondentId) {
         $respondentIdx++;
         $this->_exportRespondent($respondentId);
         if ($respondentIdx < $respondentCount) {
             // Add some whitespace between patients
             $this->html->div('', array('style' => 'height: 100px'));
         }
     }
     $this->html->snippet($this->_reportFooter, 'respondents', $respondents);
     $this->menu->setVisible(false);
     if ($this->escort instanceof \Gems_Project_Layout_MultiLayoutInterface) {
         $this->escort->layoutSwitch();
     }
     $this->escort->postDispatch(\Zend_Controller_Front::getInstance()->getRequest());
     \Zend_Controller_Action_HelperBroker::getExistingHelper('layout')->disableLayout();
     \Zend_Controller_Action_HelperBroker::getExistingHelper('viewRenderer')->setNoRender(true);
     $this->view->layout()->content = $this->html->render($this->view);
     $content = $this->view->layout->render();
     if ($format == 'pdf') {
         if (is_array($respondentId) && isset($respondentId['gr2o_id_organization'])) {
             $respondentId = $respondentId['gr2o_patient_nr'];
         }
         $filename = 'respondent-export-' . strtolower($respondentId) . '.pdf';
         $content = $this->_pdf->convertFromHtml($content);
         $this->_pdf->echoPdfContent($content, $filename, true);
     } else {
         echo $content;
     }
     $this->menu->setVisible(true);
 }