"""
<style>\n
.tab-notice-danger {\n
color: var(--il-danger-color);\n
}\n
\n
.tab-notice-warning {\n
color: var(--warning-color);\n
}\n
div.il_HeaderInner {\n
/*Removes ilias header, since we render an semi header*/\n
display: none !important;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler div.xsem-menu-dropdown-menu {\n
padding: 10px;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler div.xsem-menu-dropdown-menu {\n
display: none;\n
}\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler.show div.xsem-menu-dropdown-menu,\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler.open div.xsem-menu-dropdown-menu {\n
display: flex;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler.active a {\n
background-color: #fff;\n
color: var(--main-color) !important;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler.active a span.caret {\n
color: var(--main-color) !important;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler div.xsem-menu-dropdown-menu .dropdown-item {\n
color: var(--darkblue) !important;\n
display: block;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler div.xsem-menu-dropdown-menu .dropdown-item:not(:first-child) {\n
margin-top: 10px;\n
}\n
\n
#xsem.backend #xsemTopArea #xsemTopWrapper #xsemTabs .nav.nav-tabs > li#xsemMenuDropdownToggler div.xsem-menu-dropdown-menu .dropdown-item.active {\n
font-weight: bold;\n
}\n
</style>\n
<svg width="20px" height="20px" viewBox="0 -0.5 33 33" display="none">\n
<g id="Vivid.JS" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="scale(1)">\n
<g id="Vivid-Icons" transform="translate(-903.000000, -411.000000)" fill="currentColor">\n
<g id="Icons" transform="translate(37.000000, 169.000000)">\n
<g id="star" transform="translate(858.000000, 234.000000)">\n
<g transform="translate(7.000000, 8.000000)" id="Shape">\n
<polygon\n
points="27.865 31.83 17.615 26.209 7.462 32.009 9.553 20.362 0.99 12.335 12.532 10.758 17.394 0 22.436 10.672 34 12.047 25.574 20.22">\n
</polygon>\n
</g>\n
</g>\n
</g>\n
</g>\n
</g>\n
</svg>\n
<div id="xsemTopArea" class="">\n
<nav aria-label="Brotkrumen" class="breadcrumb_wrapper xsem-breadcrumbs" data-a="showCart"\n
data-c="SeminarCatalog__Core__Cart__Controller__CartController">\n
<div class="breadcrumb">\n
<span class="crumb">\n
<a href="/warenkorb.html">Warenkorb</a>\n
</span>\n
</div>\n
</nav>\n
\n
<div id="xsemTopWrapper" class="xsemHeaderNoTabs">\n
<div id="xsemHeadline">\n
<div class="headline">\n
<h1>\n
Warenkorb\n
\n
</h1>\n
\n
\n
</div>\n
<div class="headerContent">\n
</div>\n
</div>\n
\n
</div>\n
\n
</div>\n
\n
<div id="xsemAlerts">\n
\n
\n
\n
\n
</div>\n
\n
\n
\n
<div class="modal fade" id="xsem_header_object_modified_confirm_modal" tabindex="-1" role="dialog">\n
<div class="modal-dialog modal-lg" role="document">\n
<div class="modal-content">\n
<div class="modal-header">\n
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>\n
<h4 class="modal-title">\n
Der Datensatz wurde geändert.\n
</h4>\n
</div>\n
<div class="modal-body">\n
<p>Dieser Datensatz wurde zwischenzeitlich zuletzt von <span id="xsem_header_object_modified_confirm_modal_user">N/A</span> vor <span id="xsem_header_object_modified_confirm_modal_time">N/A</span> geändert.</p>\n
<p>Es könnten wichtige Änderungen verloren gehen, möchten Sie trotzdem Ihre Änderungen übernehmen?</p>\n
</div>\n
<div class="modal-footer">\n
<button type="button" class="btn btn-default" data-dismiss="modal">Abbrechen</button>\n
<a type="button" class="btn btn-primary" id="xsem_header_object_modified_confirm_modal_btn">Bestätigen</a>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
<script type="text/javascript">\n
\n
const tabContainer = document.getElementById('xsemTabs');\n
let realDropdownMenuBtnWidth = false;\n
const dropdownMenuBtnWidthThreshold = 3;\n
// Predicted width of dropdown btn, only for initialization, will be replaced later by automatic detection.\n
let dropdownMenuBtnWidth = 99 + dropdownMenuBtnWidthThreshold;\n
const dropdownMenuBtnLabel = "Mehr...";\n
let previousWidth = 0;\n
if (tabContainer) {\n
previousWidth = tabContainer.getBoundingClientRect().width;\n
}\n
\n
/**\n
* Ensures that all tabs in the navigation bar are in one row only. Overflowing tabs are moved to a dropdown menu.\n
*\n
* Dynamically adjusts the contents of the dropdown based on the width of the navigation bar.\n
* @author Justin Jansen <jjansen@databay.de>\n
* @param init\n
*/\n
function handleTabDropdown(init = false) {\n
const availableWidth = tabContainer.getBoundingClientRect().width;\n
// Important because ilias triggers several size changes due to the grid system\n
if (!init && availableWidth === previousWidth) {\n
return;\n
}\n
previousWidth = availableWidth;\n
\n
const tabList = tabContainer.querySelector('#xsemTabs .nav-tabs');\n
const tabs = Array.from(tabList.children);\n
let tabsToMove = [];\n
tabsToMove = getTabsOverceedWidth(tabs, availableWidth, tabsToMove);\n
const dropdownMenu = document.createElement('div');\n
dropdownMenu.classList.add('xsem-menu-dropdown-menu', 'dropdown-menu');\n
\n
// Remove tabs from tab list and add them to dropdown menu\n
let isDropTabActive = false;\n
tabsToMove.forEach(tab => {\n
const tabLink = tab.querySelector('a');\n
if (tabLink) {\n
const dropdownTab = tabLink.cloneNode(true);\n
dropdownTab.classList.add('dropdown-item');\n
if (tab.classList.contains('active')) {\n
isDropTabActive = true;\n
dropdownTab.classList.add('active');\n
}\n
dropdownMenu.appendChild(dropdownTab);\n
}\n
});\n
\n
const dropdownBtn = document.getElementById('xsemMenuDropdownToggler');\n
if (dropdownBtn) {\n
dropdownBtn.remove()\n
}\n
\n
if (tabsToMove.length > 0) {\n
const dropdownBtn = document.createElement('li');\n
dropdownBtn.classList.add('dropdown', 'pull-right');\n
if (isDropTabActive) {\n
dropdownBtn.classList.add('active');\n
}\n
dropdownBtn.id = 'xsemMenuDropdownToggler';\n
dropdownBtn.innerHTML = `\n
<a href="#" class="dropdown-toggle" data-toggle="dropdown">` + dropdownMenuBtnLabel + ` <span class="caret"></span></a>\n
`;\n
dropdownBtn.appendChild(dropdownMenu);\n
tabList.appendChild(dropdownBtn);\n
if (!realDropdownMenuBtnWidth) {\n
getWidthOfDropdownBtn()\n
}\n
}\n
}\n
\n
/**\n
* Returns all tabs that exceed the specified available width.\n
*\n
* Uses a recursive solution to add only tabs that actually go over the available width without a dropdown button.\n
* @author Justin Jansen <jjansen@databay.de>\n
* @param tabs\n
* @param availableWidth\n
* @param overflowingTabs\n
* @param initMove\n
* @returns {*}\n
*/\n
function getTabsOverceedWidth(tabs, availableWidth, overflowingTabs, initMove = false) {\n
let totalWidth = 0;\n
\n
for (const tab of tabs) {\n
totalWidth += getFullWidthOfTab(tab);\n
\n
if (tab.classList.contains('dropdown') || tab.classList.contains('xsem-menu-back-btn')) {\n
continue; // Skip certain tabs\n
}\n
\n
if (totalWidth >= availableWidth) {\n
if (!initMove) {\n
return getTabsOverceedWidth(tabs, availableWidth - dropdownMenuBtnWidth, overflowingTabs, true);\n
}\n
overflowingTabs.push(tab);\n
tab.style.display = 'none';\n
} else {\n
tab.style.display = 'inherit';\n
const index = overflowingTabs.indexOf(tab);\n
if (index > -1) {\n
overflowingTabs.splice(index, 1);\n
}\n
}\n
}\n
\n
return overflowingTabs;\n
}\n
\n
/**\n
* Fetches the complete width of the dropdown menu button, if any, and uses it for further calculations.\n
*\n
* An accurate solution if the button has a different size than originally intended (e.g. 90px) due to overriding styling.\n
* The size is needed to give the dropdown menu button always enough space in the same row of the navigation bar and when the tabs have to disappear.\n
* @author Justin Jansen <jjansen@databay.de>\n
* @returns {number}\n
*/\n
function getWidthOfDropdownBtn() {\n
const dropdownBtn = document.getElementById('xsemMenuDropdownToggler');\n
\n
if (dropdownBtn) {\n
realDropdownMenuBtnWidth = true;\n
dropdownMenuBtnWidth = getFullWidthOfTab(dropdownBtn) + dropdownMenuBtnWidthThreshold;\n
}\n
}\n
\n
/**\n
* Returns the complete width of the given element with margin, padding, border and offsetWidth included.\n
* @author Justin Jansen <jjansen@databay.de>\n
* @param element\n
* @returns {number}\n
*/\n
function getFullWidthOfTab(element) {\n
const styles = getComputedStyle(element);\n
\n
const isHidden = styles.display === 'none';\n
\n
if (isHidden) {\n
element.style.display = 'block';\n
}\n
\n
// Get values of padding, border, and margin\n
const paddingLeft = parseFloat(styles.paddingLeft);\n
const paddingRight = parseFloat(styles.paddingRight);\n
const borderLeft = parseFloat(styles.borderLeftWidth);\n
const borderRight = parseFloat(styles.borderRightWidth);\n
const marginLeft = parseFloat(styles.marginLeft);\n
const marginRight = parseFloat(styles.marginRight);\n
\n
const fullWidth =\n
element.offsetWidth +\n
marginLeft + marginRight +\n
paddingLeft + paddingRight +\n
borderLeft + borderRight;\n
\n
if (isHidden) {\n
element.style.display = 'none';\n
}\n
\n
return fullWidth;\n
}\n
\n
if (tabContainer) {\n
$(function() {\n
// Important because ilias triggers several size changes due to the grid system\n
handleTabDropdown(true);\n
// change debounce delay higher, it gets triggered to often\n
const resizeObserver = new ResizeObserver(debounce(handleTabDropdown, 1));\n
resizeObserver.observe(tabContainer);\n
});\n
}\n
\n
const fetchLastModifiedUrl = document.querySelector('[name="xsem-header-object-url"]')?.value;\n
\n
\n
\n
\n
\n
// add an event listener on every form submit and call fetchLastModified, then check with the data if the lastModifiedTime is bigger then modifiedTimestamp\n
function submitForm(event) {\n
setFormValidation(event.target, true);\n
event.submitter.click();\n
}\n
\n
function getCurrentLastModifiedTime() {\n
let modifiedTimestamp = 0;\n
const changeDate = document.querySelector('input[name="xsem-header-object-change-date"]');\n
if (changeDate) {\n
modifiedTimestamp = Number(changeDate.value);\n
}\n
return modifiedTimestamp;\n
}\n
\n
let modifiedTimestamp = getCurrentLastModifiedTime();\n
// if yes then show a confirm dialog if the user wants to leave the page\n
if (modifiedTimestamp > 0) {\n
document.addEventListener('submit', function (event) {\n
\n
const isValidated = isFormValidated(event.target);\n
if (isValidated) {\n
return;\n
}\n
\n
event.preventDefault();\n
fetchLastObjectModified(fetchLastModifiedUrl)\n
.then(data => {\n
\n
// if the fetch failed, just submit the form\n
if (!data.success) {\n
submitForm(event);\n
return;\n
}\n
let modifiedTimestamp = getCurrentLastModifiedTime();\n
const lastModifiedTime = Number(data.lastModifiedTime);\n
\n
if (lastModifiedTime > modifiedTimestamp) {\n
initModal(event, data.lastModifiedBy, data.formattedLastModified);\n
} else {\n
submitForm(event);\n
}\n
});\n
});\n
}\n
\n
const initModal = (event, lastModifiedBy, formattedLastModified) => {\n
const modal = document.getElementById('xsem_header_object_modified_confirm_modal');\n
modal.querySelector('#xsem_header_object_modified_confirm_modal_user').innerText = lastModifiedBy;\n
modal.querySelector('#xsem_header_object_modified_confirm_modal_time').innerText = formattedLastModified;\n
const submitModalBtn = document.getElementById('xsem_header_object_modified_confirm_modal_btn');\n
submitModalBtn.addEventListener('click', function () {\n
submitForm(event);\n
})\n
$('#xsem_header_object_modified_confirm_modal').modal('show');\n
}\n
\n
const setFormValidation = (form, isValidated) => {\n
form.setAttribute('data-xsem-header-object-form-is-validate', isValidated ? '1' : '0');\n
}\n
\n
const isFormValidated = (form) => {\n
const value = form.getAttribute('data-xsem-header-object-form-is-validate',)\n
\n
return value === '1';\n
}\n
</script>\n
\n
\n
\n
\n
\n
<div class="cart">\n
\n
<form id="cartForm" action="/kasse.html" method="post" class="submitOnChange">\n
\n
\n
\n
\n
<div class="cart-row-item mb-l " data-seminar-id="7" data-seminar-type="seminar">\n
<div class="cart-col-item cart-event-block">\n
<style>\n
\t.xsem-related-bundles-event-btn {\n
\t\tpadding: 3px 10px !important;\n
\t\ttext-transform: uppercase !important;\n
\t\tfont-weight: 500 !important;\n
\t}\n
</style>\n
\n
\t<div class="card card-event card-sections card-bordered favourite-wrapper ">\n
\t\t<xsem:Favourites seminar="_context_pass_0" favouriteList="_context_pass_1"></xsem:Favourites>\n
\t\t<section class="card-header">\n
\t\t\t\t\t\t<div class="row">\n
\t\t\t\t<div class="col-xs-12 col-sm-6">\n
\t\t\t\t\t<h5 class="card-column-headline">Kurstermin</h5>\n
\t\t\t\t\t 19. - 20.10.2025\n
\t\t\t\t\t\t\t\t\t\t\t<xsem:EditPencil\n
\t\t\t\t\t\t\t\tobject="_context_pass_2"\n
\t\t\t\t\t\t\t\tlink="/seminarverwaltung/kurse/aufbauseminar-fuer-sicherheitsbeauftragte-%28hochbau%29-7/termine/aufbauseminar-fuer-sicherheitsbeauftragte-%28hochbau%29-19.--20.10.2025-7/bearbeiten.html?parentObject=Seminar"\n
\t\t\t\t\t\t\t\ttarget="editEvent"\n
\t\t\t\t\t\t>\n
\t\t\t\t\t\t</xsem:EditPencil>\n
\t\t\t\t\t\t\t\t\t</div>\n
\t\t\t\t<div class="col-xs-6 col-sm-3">\n
\t\t\t\t\t<h5 class="card-column-headline">Kurssprache</h5>\n
\t\t\t\t\t <span class="nowrap">Deutsch <img src="./Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/SeminarCatalog/Resources//img/flags/de.png" alt="Kurssprache: Deutsch"></span>\t\t\t\t</div>\n
\t\t\t\t<div class="col-xs-6 col-sm-3">\n
\t\t\t\t\t\t\t\t\t\t\t<h5 class="card-column-headline">Kurs-Nr.</h5>\n
\t\t\t\t\t\t1203 / SB-A-HB\n
\t\t\t\t\t\t\t\t\t</div>\n
\t\t\t</div>\n
\t\t</section>\n
\t\t<section class="card-body">\n
\t\t\t<div class="row">\n
\t\t\t\t<div class="col-xs-12 col-sm-6">\n
\t\t\t\t\t\t\t\t\t\t\t<h5 class="card-column-headline">Kurs</h5>\n
\t\t\t\t\t\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="card-title">\n
\t\t\t\t\t\t\t\n
\t\t<a href="/kursangebot/kurs/aufbauseminar-fuer-sicherheitsbeauftragte-%28hochbau%29-7.html"\n
\t\t \t\t title="Kursdetails anzeigen"\n
\t\t class=""\t\t>\n
Aufbauseminar für Sicherheitsbeauftragte (Hochbau)\n
\t\t\t\t\t</a>\n
<xsem:EditPencil\n
\t\tobject="_context_pass_3"\n
\t\tlink="/seminarverwaltung/kurse/aufbauseminar-fuer-sicherheitsbeauftragte-%28hochbau%29-7/termine/aufbauseminar-fuer-sicherheitsbeauftragte-%28hochbau%29-19.--20.10.2025-7/bearbeiten.html?parentObject=Seminar"\n
\t\ttarget="editEvent"\n
>\n
</xsem:EditPencil>\n
\t\t\t\t\t</div>\n
\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n
\n
\t\t\t\t<div class="col-xs-6 col-sm-3">\n
\t\t\t\t\t\t\t\t\t\t\t<h5 class="card-column-headline">Kursort</h5>\n
\t\t\t\t\t\t<xsem:FormatEventLocation event="_context_pass_4" cityOnly></xsem:FormatEventLocation>\n
\t\t\t\t\t\t\t\t\t</div>\n
\n
\t\t\t\t <div class="col-xs-6 col-sm-3 online-event-pricecontainer">\n
\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t\t\t \t\t\t\t\t\t\t\t <h5 class="card-column-headline">Kursgebühr</h5>\n
\t\t\t\t\t\t\t\t \t<div class="price-block">\n
\t\t\t\t\t\t<p class="pb-best-price">\n
\t\t\t\t\t\t\t<span class="pb-price">100,- EUR</span>\n
\t\t\t\t<br><span class="pb-vat">\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n
\t\t\t\t \t\t</p>\n
\n
\t\t\t\t\t\t\t</div>\n
\t\t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t </div>\n
\t\t\t</div>\n
\n
\t\t\t\t\t</section>\n
\t\t\t\t\t\t\t\t\t<section class="card-footer ce-accordion closed">\n
\t\t\t\t\t<div class="ce-info">\n
<div id="event-detail-row-7" class="row">\n
<div class="col-sm-12 col-md-6 mb-l">\n
<div class="info-table">\n
<div class="table-row wide">\n
<div class="label-column">Kursort:</div>\n
<div class="info-column">\n
<div class="location">\n
\n
<p>\n
<b>RWTH Aachen</b>\n
</p>\n
\n
<div class="address-row info-table info-table-small">\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-record"\n
title="Raum"></span>\n
</div>\n
<div class="info-column">\n
17a\n
</div>\n
</div>\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-home"\n
title="Gebäude"></span>\n
</div>\n
<div class="info-column">\n
C.A.R.L., 2 </div>\n
</div>\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-map-marker"\n
title="Anschrift"></span>\n
</div>\n
<div class="info-column">\n
Claßenstraße 11,\n
52072 Aachen </div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
\n
\n
</div>\n
\n
<div class="col-sm-12 col-md-6 mb-l">\n
\n
<div class="map">\n
<div class="event-details-map mb-m">\n
<!-- OPENSTREETMAPS START -->\n
<div id="maploc2-68ed3612ba571"\n
class="mapBlock mt-m mb-m"\n
style="height: 200px; width: 100%"\n
data-mapdata='{"id":"loc2-68ed3612ba571","searchText":"Cla\u00dfenstra\u00dfe 11 52072 Aachen ","description":"RWTH Aachen<br>Cla\u00dfenstra\u00dfe 11<br>52072 Aachen<br>"}'\n
data-longitude="6.0737783"\n
data-latitude="50.7798351">\n
</div>\n
<!-- OPENSTREETMAPS END -->\n
</div>\n
<div id="navloc2-68ed3612ba571" class="mapNavigation text-right mb-m">\n
<a class="btn btn-primary mapNavigationLink"\n
id="navLinkloc2-68ed3612ba571"\n
target="_blank"\n
href="https://www.google.de/maps/dir//Claßenstraße 11 52072 Aachen ">\n
Routenplaner\n
</a>\n
</div>\n
</div>\n
\n
</div>\n
</div>\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
<div class="row">\n
<div class="col-sm-12 col-md-6 mb-l">\n
<div class="info-table">\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
</div>\n
\n
</div>\n
</div>\n
\n
</div>\n
\n
<div id="cancellation-info7">\n
<div style="padding-top:30px;">\n
\n
</div>\n
</div>\n
<style>\n
#xsem #cancellation-info7 {\n
display: none;\n
}\n
</style>\n
\t\t\t\t\t<div class="ce-accordion-header">\n
\t\t\t\t\t\t<button id="btnOpenAccordion7">Weitere Informationen</button>\n
\t\t\t\t\t</div>\n
\t\t\t\t</section>\n
\t\t\t\t\t\t</div>\n
\n
</div>\n
<div class="cart-col-amount">\n
<div class="cart-price price-block">\n
<span class="cart-label">Preis je Teilnehmer</span>\n
\t<div class="price-block">\n
\t\t\t\t\t\t<p class="pb-best-price">\n
\t\t\t\t\t\t\t<span class="pb-price">100,- EUR</span>\n
\t\t\t\t<br><span class="pb-vat">\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n
\t\t\t\t \t\t</p>\n
\n
\t\t\t\t\t\t\t</div>\n
</div>\n
<div class="cart-amount">\n
<span class="cart-label">Anzahl Teilnehmer</span>\n
<div class="form-group">\n
<input type="number"\n
min="0"\n
max="250"\n
id="cartNumberParticipants118"\n
name="numberParticipants[118]"\n
class="form-control cartNumberParticipants"\n
value="1">\n
</div>\n
<button id="updateItem118"\n
type="submit"\n
name="cmd[change]"\n
class="btn btn-primary"\n
title="Aktualisieren"><span class="glyphicon glyphicon-refresh"></span>\n
</button>\n
<button id="removeItem118"\n
type="submit"\n
name="cmd[delete]"\n
class="btn btn-primary remove"\n
title="Entfernen"><span class="glyphicon glyphicon-trash"></span>\n
</button>\n
<script type="text/javascript">\n
$('#removeItem118').on('click', function () {\n
$('#cartNumberParticipants118').val(0);\n
$(this).closest('form').submit();\n
if (typeof GARemoveFromCart118 === "function") {\n
GARemoveFromCart118();\n
}\n
});\n
\n
$('#updateItem118').on('click', function (e) {\n
if (typeof GAUpdateCart118 === "function") {\n
GAUpdateCart118();\n
}\n
});\n
//$('form.submitOnChange input').on('keyup', function() {\n
// $.post($(this).closest('form').attr('action'), $(this).closest('form').serialize())\n
//});\n
</script>\n
\n
\n
\n
\n
\n
\n
\n
</div>\n
</div>\n
</div>\n
\n
<div class="cart-row-item mb-l " data-seminar-id="14" data-seminar-type="seminar">\n
<div class="cart-col-item cart-event-block">\n
<style>\n
\t.xsem-related-bundles-event-btn {\n
\t\tpadding: 3px 10px !important;\n
\t\ttext-transform: uppercase !important;\n
\t\tfont-weight: 500 !important;\n
\t}\n
</style>\n
\n
\t<div class="card card-event card-sections card-bordered favourite-wrapper ">\n
\t\t<xsem:Favourites seminar="_context_pass_5" favouriteList="_context_pass_6"></xsem:Favourites>\n
\t\t<section class="card-header">\n
\t\t\t\t\t\t<div class="row">\n
\t\t\t\t<div class="col-xs-12 col-sm-6">\n
\t\t\t\t\t<h5 class="card-column-headline">Kurstermin</h5>\n
\t\t\t\t\t 19. - 23.10.2025\n
\t\t\t\t\t\t\t\t\t\t\t<xsem:EditPencil\n
\t\t\t\t\t\t\t\tobject="_context_pass_7"\n
\t\t\t\t\t\t\t\tlink="/seminarverwaltung/kurse/sachkunde-fuer-arbeiten-in-kontaminierten-bereichen-%28schwerpunkt-tiefbau-altlasten,-deponiebau,-industrierueckbau%29-14/termine/sachkunde-fuer-arbeiten-in-kontaminierten-bereichen-%28schwerpunkt-tiefbau-altlasten,-deponiebau,-industrierueckbau%29-19.--23.10.2025-14/bearbeiten.html?parentObject=Seminar"\n
\t\t\t\t\t\t\t\ttarget="editEvent"\n
\t\t\t\t\t\t>\n
\t\t\t\t\t\t</xsem:EditPencil>\n
\t\t\t\t\t\t\t\t\t</div>\n
\t\t\t\t<div class="col-xs-6 col-sm-3">\n
\t\t\t\t\t<h5 class="card-column-headline">Kurssprache</h5>\n
\t\t\t\t\t <span class="nowrap">Deutsch <img src="./Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/SeminarCatalog/Resources//img/flags/de.png" alt="Kurssprache: Deutsch"></span>\t\t\t\t</div>\n
\t\t\t\t<div class="col-xs-6 col-sm-3">\n
\t\t\t\t\t\t\t\t\t\t\t<h5 class="card-column-headline">Kurs-Nr.</h5>\n
\t\t\t\t\t\t1704 / DGUV Regel 101-004, 6A (A1)\n
\t\t\t\t\t\t\t\t\t</div>\n
\t\t\t</div>\n
\t\t</section>\n
\t\t<section class="card-body">\n
\t\t\t<div class="row">\n
\t\t\t\t<div class="col-xs-12 col-sm-6">\n
\t\t\t\t\t\t\t\t\t\t\t<h5 class="card-column-headline">Kurs</h5>\n
\t\t\t\t\t\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="card-title">\n
\t\t\t\t\t\t\t\n
\t\t<a href="/kursangebot/kurs/sachkunde-fuer-arbeiten-in-kontaminierten-bereichen-%28schwerpunkt-tiefbau-altlasten,-deponiebau,-industrierueckbau%29-14.html"\n
\t\t \t\t title="Kursdetails anzeigen"\n
\t\t class=""\t\t>\n
Sachkunde für Arbeiten in kontaminierten Bereichen (Schwerpunkt Tiefbau/Altlasten, Deponiebau, Industrierückbau)\n
\t\t\t\t\t</a>\n
<xsem:EditPencil\n
\t\tobject="_context_pass_8"\n
\t\tlink="/seminarverwaltung/kurse/sachkunde-fuer-arbeiten-in-kontaminierten-bereichen-%28schwerpunkt-tiefbau-altlasten,-deponiebau,-industrierueckbau%29-14/termine/sachkunde-fuer-arbeiten-in-kontaminierten-bereichen-%28schwerpunkt-tiefbau-altlasten,-deponiebau,-industrierueckbau%29-19.--23.10.2025-14/bearbeiten.html?parentObject=Seminar"\n
\t\ttarget="editEvent"\n
>\n
</xsem:EditPencil>\n
\t\t\t\t\t</div>\n
\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n
\n
\t\t\t\t<div class="col-xs-6 col-sm-3">\n
\t\t\t\t\t\t\t\t\t\t\t<h5 class="card-column-headline">Kursort</h5>\n
\t\t\t\t\t\t<xsem:FormatEventLocation event="_context_pass_9" cityOnly></xsem:FormatEventLocation>\n
\t\t\t\t\t\t\t\t\t</div>\n
\n
\t\t\t\t <div class="col-xs-6 col-sm-3 online-event-pricecontainer">\n
\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t\t\t \t\t\t\t\t\t\t\t <h5 class="card-column-headline">Kursgebühr</h5>\n
\t\t\t\t\t\t\t\t \t<div class="price-block">\n
\t\t\t\t\t\t<p class="pb-best-price">\n
\t\t\t\t\t\t\t<span class="pb-price">100,- EUR</span>\n
\t\t\t\t<br><span class="pb-vat">\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n
\t\t\t\t \t\t</p>\n
\n
\t\t\t\t\t\t\t</div>\n
\t\t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t </div>\n
\t\t\t</div>\n
\n
\t\t\t\t\t</section>\n
\t\t\t\t\t\t\t\t\t<section class="card-footer ce-accordion closed">\n
\t\t\t\t\t<div class="ce-info">\n
<div id="event-detail-row-14" class="row">\n
<div class="col-sm-12 col-md-6 mb-l">\n
<div class="info-table">\n
<div class="table-row wide">\n
<div class="label-column">Kursort:</div>\n
<div class="info-column">\n
<div class="location">\n
\n
<p>\n
<b>Schulungszentrum Ricklingen</b>\n
</p>\n
\n
<div class="address-row info-table info-table-small">\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-record"\n
title="Raum"></span>\n
</div>\n
<div class="info-column">\n
1\n
</div>\n
</div>\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-home"\n
title="Gebäude"></span>\n
</div>\n
<div class="info-column">\n
Nebengebäude, 1 </div>\n
</div>\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-map-marker"\n
title="Anschrift"></span>\n
</div>\n
<div class="info-column">\n
Wettgerber Bach,\n
30453 Ricklingen,\n
Deutschland </div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
\n
\n
</div>\n
\n
<div class="col-sm-12 col-md-6 mb-l">\n
\n
<div class="map">\n
<div class="event-details-map mb-m">\n
<!-- OPENSTREETMAPS START -->\n
<div id="maploc1-68ed3612c1aaf"\n
class="mapBlock mt-m mb-m"\n
style="height: 200px; width: 100%"\n
data-mapdata='{"id":"loc1-68ed3612c1aaf","searchText":"Wettgerber Bach 30453 Ricklingen Deutschland","description":"Schulungszentrum Ricklingen<br>Wettgerber Bach<br>30453 Ricklingen<br>Deutschland"}'\n
data-longitude="9.681339116927258"\n
data-latitude="52.33289610883518">\n
</div>\n
<!-- OPENSTREETMAPS END -->\n
</div>\n
<div id="navloc1-68ed3612c1aaf" class="mapNavigation text-right mb-m">\n
<a class="btn btn-primary mapNavigationLink"\n
id="navLinkloc1-68ed3612c1aaf"\n
target="_blank"\n
href="https://www.google.de/maps/dir//Wettgerber Bach 30453 Ricklingen Deutschland">\n
Routenplaner\n
</a>\n
</div>\n
</div>\n
\n
</div>\n
</div>\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
<div class="row">\n
<div class="col-sm-12 col-md-6 mb-l">\n
\n
<div class="info-table">\n
<div class="table-row wide">\n
<div class="label-column">Hotelempfehlungen:</div>\n
<div class="info-column">\n
<div class="hotel">\n
<p class="locationAddress">\n
<a class="hotelWeblink" href="https://www.databay.de"\n
target="_blank">\n
<b>Hotel am See</b>\n
<span class="glyphicon glyphicon-link"\n
title="Webseite"></span>\n
</a>\n
<br>\n
</p>\n
\n
<div class="address-row info-table info-table-small">\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-map-marker"\n
title="Anschrift"></span>\n
</div>\n
<div class="info-column">\n
Seeufer 1, 12345 Seestadt\n
</div>\n
</div>\n
</div>\n
<div class="address-row info-table info-table-small">\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-earphone"\n
title="Fon"></span>\n
</div>\n
<div class="info-column">\n
<a class="hotelWeblink"\n
href="tel:123456789">123456789</a>\n
</div>\n
</div>\n
</div>\n
<div class="address-row info-table info-table-small">\n
<div class="table-row">\n
<div class="icon-column">\n
<span class="glyphicon glyphicon-envelope"\n
title="E-Mail"></span>\n
</div>\n
<div class="info-column">\n
<a class="hotelWeblink"\n
href="mailto:jc@databay.de">jc@databay.de</a>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
\n
\n
</div>\n
</div>\n
\n
\n
<div class="row">\n
<div class="col-sm-12 col-md-6 mb-l">\n
<div class="info-table">\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
</div>\n
\n
</div>\n
</div>\n
\n
</div>\n
\n
<div id="cancellation-info14">\n
<div style="padding-top:30px;">\n
\n
</div>\n
</div>\n
<style>\n
#xsem #cancellation-info14 {\n
display: none;\n
}\n
</style>\n
\t\t\t\t\t<div class="ce-accordion-header">\n
\t\t\t\t\t\t<button id="btnOpenAccordion14">Weitere Informationen</button>\n
\t\t\t\t\t</div>\n
\t\t\t\t</section>\n
\t\t\t\t\t\t</div>\n
\n
</div>\n
<div class="cart-col-amount">\n
<div class="cart-price price-block">\n
<span class="cart-label">Preis je Teilnehmer</span>\n
\t<div class="price-block">\n
\t\t\t\t\t\t<p class="pb-best-price">\n
\t\t\t\t\t\t\t<span class="pb-price">100,- EUR</span>\n
\t\t\t\t<br><span class="pb-vat">\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n
\t\t\t\t \t\t</p>\n
\n
\t\t\t\t\t\t\t</div>\n
</div>\n
<div class="cart-amount">\n
<span class="cart-label">Anzahl Teilnehmer</span>\n
<div class="form-group">\n
<input type="number"\n
min="0"\n
max="250"\n
id="cartNumberParticipants119"\n
name="numberParticipants[119]"\n
class="form-control cartNumberParticipants"\n
value="1">\n
</div>\n
<button id="updateItem119"\n
type="submit"\n
name="cmd[change]"\n
class="btn btn-primary"\n
title="Aktualisieren"><span class="glyphicon glyphicon-refresh"></span>\n
</button>\n
<button id="removeItem119"\n
type="submit"\n
name="cmd[delete]"\n
class="btn btn-primary remove"\n
title="Entfernen"><span class="glyphicon glyphicon-trash"></span>\n
</button>\n
<script type="text/javascript">\n
$('#removeItem119').on('click', function () {\n
$('#cartNumberParticipants119').val(0);\n
$(this).closest('form').submit();\n
if (typeof GARemoveFromCart119 === "function") {\n
GARemoveFromCart119();\n
}\n
});\n
\n
$('#updateItem119').on('click', function (e) {\n
if (typeof GAUpdateCart119 === "function") {\n
GAUpdateCart119();\n
}\n
});\n
//$('form.submitOnChange input').on('keyup', function() {\n
// $.post($(this).closest('form').attr('action'), $(this).closest('form').serialize())\n
//});\n
</script>\n
\n
\n
\n
\n
\n
\n
\n
</div>\n
</div>\n
</div>\n
\n
<div class="cart-row-total">\n
<div class="cart-col-coupon">\n
</div>\n
<div class="cart-col-total price-block">\n
\n
<div class="pb-total">\n
<span class="cart-label">Gesamtsumme</span>\n
200,- EUR<br>\n
<span class="pb-vat">\n
mehrwertsteuerfrei<br>\n
\n
</span>\n
</div>\n
\n
</div>\n
</div>\n
\n
<div class="row cart-submit">\n
<div class="col-sm-6">\n
<a class="btn btn-primary" href="/kursangebot.html">\n
Weitere Kurse buchen\n
</a>\n
</div>\n
<div class="col-sm-6 text-right">\n
<button id="bookingButton" name="cmd[book]" class="btn btn-primary" type="submit">\n
Zur Kasse\n
</button>\n
</div>\n
</div>\n
</form>\n
\n
<div class="clear"></div>\n
</div>\n
\n
\n
<style>\n
#xsem {\n
[data-seminar-type="conference"] .cart-event-block .card {\n
margin-bottom: 0 !important;\n
border: 0 !important;\n
min-height: 0 !important\n
}\n
\n
[data-seminar-type="conference"] .cart-amount{\n
padding-bottom: 0 !important;\n
}\n
}\n
</style>\n
<style>\n
.booking-blocked {\n
border-color:red;\n
}\n
</style>\n
\n
\n
<script type="text/javascript">\n
$(document).ready(function () {\n
$(".cartNumberParticipants").each(function () {\n
if ($(this).val() > $(this).data("max-participants") || $(this).val() < 0) {\n
$(this).popover("show");\n
$(this).data("has-popover", 1);\n
}\n
});\n
});\n
\n
\n
$(".cartNumberParticipants").on("click", function () {\n
if ($(this).data("max-participants")) {\n
if ($(this).val() > $(this).data("max-participants") || $(this).val() < 0) {\n
$(this).popover("show");\n
$(this).data("has-popover", 1);\n
} else {\n
$(this).popover("hide");\n
$(this).data("has-popover", 0);\n
}\n
}\n
});\n
$(".cartNumberParticipants").on("keyup", function () {\n
if ($(this).data("max-participants")) {\n
if ($(this).val() > $(this).data("max-participants") || $(this).val() < 0) {\n
$(this).popover("show");\n
$(this).data("has-popover", 1);\n
} else {\n
$(this).popover("hide");\n
$(this).data("has-popover", 0);\n
}\n
}\n
});\n
\n
$("#bookingButton").on("click", function () {\n
var saveFlag = true;\n
$(".cartNumberParticipants").each(function () {\n
if ($(this).data("has-popover") == 1) {\n
saveFlag = false;\n
}\n
});\n
\n
if (saveFlag) {\n
//$("#cartForm").submit();\n
return true;\n
}\n
\n
return false;\n
});\n
</script>\n
\n
<style>\n
#xsem .cart-row-item,\n
#xsem .cart-row-total {\n
display: flex;\n
flex-direction: row;\n
flex-wrap: nowrap;\n
justify-content: space-between;\n
align-items: stretch;\n
align-content: stretch;\n
gap: 0;\n
}\n
#xsem .cart-col-item {\n
flex-grow: 3;\n
flex-basis: 75%;\n
padding-right: 20px;\n
}\n
#xsem .cart-col-amount {\n
flex-grow: 1;\n
flex-basis: 25%;\n
padding: 0 20px;\n
}\n
#xsem .cart-col-coupon {\n
flex-grow: 3;\n
flex-basis: 75%;\n
padding: 0 20px;\n
}\n
#xsem .cart-col-total {\n
flex-grow: 1;\n
flex-basis: 25%;\n
padding: 0 20px;\n
}\n
\n
#xsem .cart-col-total .cart-price {\n
display: inline-block;\n
text-align: left;\n
}\n
</style>\n
"""