Всплывающее окно с формой 1С-Битрикс

Все это я делаю на 1С-Битрикс версии 14.9. При поиске решений, мне было не понятно работает это сейчас или нет, поэтому я указываю версию. Редакция Малый Бизнес.

В шаблоне для интернет магазина(например, eshop_adapt_yellow), форма входа выводится во всплывающем, модальном окне. Я воспользовался этим же способом.
Выведем в окне форму обратного звонка. Для этого, нужно создать форму. Это будет описано в другой статье.
У меня, кнопка обратного звонка находится в шапке, поэтому в header.php шаблона, вставляем код вызова нашей формы, обернутый div, и ниже скрипт вызова окна

    <div id="bx_recall_popup_form" style="display:none; padding:10px;min-height: 300px" class="bx_login_popup_form" >
        <?$APPLICATION->IncludeComponent("bitrix:form.result.new", "recall", Array(
            "WEB_FORM_ID" => "1",
            "IGNORE_CUSTOM_TEMPLATE" => "N",
            "USE_EXTENDED_ERRORS" => "Y",
            "SEF_MODE" => "N",
            "VARIABLE_ALIASES" => array(
            "WEB_FORM_ID" => "WEB_FORM_ID",
            "RESULT_ID" => "RESULT_ID",),
            "CACHE_TYPE" => "A",
            "CACHE_TIME" => "3600",
            "LIST_URL" => "result_list.php",
            "EDIT_URL" => "result_edit.php",
            "SUCCESS_URL" => "",
            "CHAIN_ITEM_TEXT" => "",
            "CHAIN_ITEM_LINK" => "",
             ),
            false
        );?> 
        Заявки на обратный звонок принимаются с 8:00 до 21:00. 
    </div>
    <script>
        function openRecallPopup()
        {
           var authPopup = BX.PopupWindowManager.create("RecallPopup", null, {
                 autoHide: true,
                 offsetLeft: 0,
                 offsetTop: 0,
                 overlay : true,
                 draggable: {restrict:true},
                 closeByEsc: true,
                 closeIcon: { right : "12px", top : "10px"},
                 content: '<div style="width:400px;height:400px; text-align: center;"><span style="position:absolute;left:50%; top:50%"><img src="/bitrix/templates/eshop_adapt_yellow/img/wait.gif"/></span></div>',
                    events: {
                       onAfterPopupShow: function()
                       {
                             this.setContent(BX("bx_recall_popup_form"));
                       }
                 }
                });
    
             authPopup.show();
                        }
    </script> 

Вот и все, теперь на кнопку или ссылку вешаем вызов этой функции, вот так

    <a href="javascript:void(0)" onclick="openRecallPopup()" class="recall">ОБРАТНЫЙ ЗВОНОК</a>

Готово.

Есть еще способы вызвать окно, это воспользоваться, например fanсybox. Нашел это решение на этом форуме.

И еще один способ, вызвать модальное окно встроенное в битрикс, используемое для админки. Вот тут рассказано как это сделать, я проверял на свежей версии, все работает.