protected function addOnloadJs($gender, $sectionsVisibility) { OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('usearch')->getStaticJsUrl() . 'main_search.js'); $accountTypeList = BOL_QuestionService::getInstance()->findAllAccountTypes(); $js = new UTIL_JsGenerator(); $js->newObject('fieldModel', 'USearchFromQuestionModel'); /*@var $dto BOL_QuestionAccountType */ foreach ($accountTypeList as $dto) { $genderAccount = SKADATE_BOL_AccountTypeToGenderService::getInstance()->getGender($dto->name); $questionList = BOL_QuestionService::getInstance()->findSearchQuestionsForAccountType($dto->name); foreach ($questionList as $question) { $js->callFunction('fieldModel.addField', array($question['name'], $genderAccount, $genderAccount == $gender, $question['sectionName'])); } } $js->newObject('sectionModel', 'USearchSectionModel'); foreach ($sectionsVisibility as $section => $visibility) { $js->callFunction('sectionModel.addSection', array($section, $visibility)); } $params = array('gender' => $gender, 'sectionPrefix' => self::SECTION_TR_PREFIX, 'fieldPrefix' => self::QUESTION_TR_PREFIX); $js->addScript('; USearchFromPresenter.init(fieldModel, sectionModel, {$params});', array('params' => $params)); OW::getDocument()->addOnloadScript($js->generateJs()); }