<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Einsatzorte Archive - DJxDennis</title>
	<atom:link href="https://www.djxdennis.de/tag/einsatzorte/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.djxdennis.de/tag/einsatzorte/</link>
	<description>Ihr Party und Hochzeits-DJ aus Stassfurt</description>
	<lastBuildDate>Tue, 28 Apr 2026 15:05:41 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.djxdennis.de/wp-content/uploads/2023/05/cropped-cropped-logo2021-32x32.png</url>
	<title>Einsatzorte Archive - DJxDennis</title>
	<link>https://www.djxdennis.de/tag/einsatzorte/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Übersicht Einsatzorte</title>
		<link>https://www.djxdennis.de/booking/uebersicht-einsatzorte/</link>
		
		<dc:creator><![CDATA[Dennis]]></dc:creator>
		<pubDate>Mon, 19 Nov 2018 13:58:10 +0000</pubDate>
				<category><![CDATA[Einsatzorte]]></category>
		<guid isPermaLink="false">https://djxdennis2533.live-website.com/?page_id=44</guid>

					<description><![CDATA[<p>Der Beitrag <a href="https://www.djxdennis.de/booking/uebersicht-einsatzorte/">Übersicht Einsatzorte</a> erschien zuerst auf <a href="https://www.djxdennis.de">DJxDennis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<section id="wp-block-themeisle-blocks-advanced-columns-675bf931" class="wp-block-themeisle-blocks-advanced-columns alignfull has-1-columns has-desktop-equal-layout has-tablet-equal-layout has-mobile-equal-layout has-vertical-unset has-light-bg"><div class="wp-block-themeisle-blocks-advanced-columns-overlay"></div><div class="innerblocks-wrap">
<div id="wp-block-themeisle-blocks-advanced-column-8a410993" class="wp-block-themeisle-blocks-advanced-column">
<div class="wp-block-group alignfull"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<style>
:root{--dj-bg:#f7f8fb;--dj-surface:#ffffff;--dj-text:#111827;--dj-muted:#5b6472;--dj-border:rgba(17,24,39,.12);--dj-primary:var(--nv-secondary-accent,#0f62fe);--dj-primary-dark:#063eb0;--dj-radius:10px;--dj-radius-sm:14px;--dj-shadow:0 18px 45px rgba(15,23,42,.08);--dj-section-space:clamp(3rem,7vw,6rem);--dj-container:1170px;--dj-success:#0f9d58;--dj-warning:#b45309}.dj-lp-hub,.dj-lp-hub *{box-sizing:border-box}.dj-lp-hub{color:var(--dj-text);background:#fff}.dj-container{width:min(100% - 2rem,var(--dj-container));margin-inline:auto}.dj-kicker{margin:0 0 .85rem;color:var(--dj-primary);font-size:.84rem;font-weight:800;letter-spacing:.12em}.dj-brand-fix{text-transform:none}.dj-kicker-rest{text-transform:uppercase}.dj-hero{position:relative;overflow:hidden;padding:clamp(4rem,10vw,8rem)0;border-bottom:1px solid var(--dj-border);background:#0b1020}.dj-hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(135deg,rgba(6,10,30,.88)0%,rgba(18,8,48,.72)34%,rgba(8,10,25,.68)62%,rgba(4,6,18,.90)100%),url('/images/dj-mixer-kopfhoerer-blau-lila-bokeh-nachtclub.webp');background-size:cover;background-position:center center;background-repeat:no-repeat}.dj-hero .dj-container{position:relative;z-index:1}.dj-hero h1{color:#FFF;max-width:980px;margin:0 0 1.25rem;font-size:clamp(2.4rem,7vw,3.25rem);line-height:.98;letter-spacing:-.055em}.dj-hero__lead{max-width:820px;margin:0;color:var(--dj-primary);font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.7}.dj-button-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.dj-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.85rem 1.2rem;border:1px solid transparent;border-radius:10px;font-weight:800;line-height:1.2;text-decoration:none;transition:transform 160ms ease,color 160ms ease,background-color 160ms ease,border-color 160ms ease}.dj-button:hover{transform:translateY(-2px)}.dj-button--primary{background:var(--dj-primary);color:#fff}.dj-button--primary:hover{background:#0e1937!important;color:#fff !important;}.dj-button--secondary{background:#fff;color:var(--dj-text);border-color:var(--dj-border)}.dj-button--secondary:hover{border-color:rgba(15,98,254,.35);color:var(--dj-primary)}.dj-button--light{background:#fff;color:#111827}.dj-button--ghost-light{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.dj-button--ghost-light:hover{background:rgba(255,255,255,.08);color:#fff}.dj-trustbar{position:relative;z-index:2;margin-top:-2rem}.dj-trustbar__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:clamp(1rem,3vw,1.5rem);background:#fff;border:1px solid var(--dj-border);border-radius:var(--dj-radius);box-shadow:var(--dj-shadow)}.dj-trustbar__item{padding:.7rem}.dj-trustbar__item strong{display:block;margin-bottom:.25rem;font-size:1.02rem}.dj-trustbar__item span{display:block;color:var(--dj-muted);font-size:.95rem;line-height:1.5}.dj-section{padding:var(--dj-section-space)0}.dj-section--soft{background:var(--dj-bg)}.dj-section__intro{max-width:860px;margin-bottom:2rem}.dj-section__intro h2,.dj-final-cta h2{margin:0 0 1rem;font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;letter-spacing:-.04em}.dj-section__intro p,.dj-final-cta p{color:var(--dj-muted);font-size:1.06rem;line-height:1.75}.dj-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.dj-stat{padding:1.25rem;background:#fff;border:1px solid var(--dj-border);border-radius:var(--dj-radius);box-shadow:0 10px 30px rgba(15,23,42,.04)}.dj-stat strong{display:block;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1;margin-bottom:.35rem}.dj-stat span{color:var(--dj-muted);font-weight:600}.dj-chip-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.dj-chip{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:10px;background:#fff;border:1px solid var(--dj-border);font-weight:700;text-decoration:none;color:var(--dj-text);cursor:pointer}.dj-chip:hover,.dj-chip:focus-visible{color:var(--dj-primary);border-color:rgba(15,98,254,.35);outline:none}.dj-filter-panel{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:1.2rem;background:#fff;border:1px solid var(--dj-border);border-radius:var(--dj-radius);box-shadow:var(--dj-shadow)}.dj-field{display:grid;gap:.4rem}.dj-field label{font-size:.9rem;font-weight:800}.dj-field input,.dj-field select{width:100%;min-height:48px;padding:.78rem .95rem;border:1px solid var(--dj-border);border-radius:10px;background:#fff;color:var(--dj-text)}.dj-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin:1.25rem 0 1.5rem}.dj-toolbar__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:var(--dj-muted);font-weight:700}.dj-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:10px;background:var(--dj-bg);border:1px solid var(--dj-border);font-size:.83rem;font-weight:800}.dj-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.dj-card{display:flex;flex-direction:column;gap:.85rem;background:#fff;border:1px solid var(--dj-border);border-radius:var(--dj-radius);padding:1.15rem 1.2rem;box-shadow:0 10px 30px rgba(15,23,42,.05);transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}.dj-card:hover{transform:translateY(-3px);box-shadow:var(--dj-shadow);border-color:rgba(15,98,254,.28)}.dj-card__meta{display:flex;flex-wrap:wrap;gap:.45rem}.dj-card__meta span{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .55rem;border-radius:10px;background:var(--dj-bg);border:1px solid var(--dj-border);font-size:.8rem;font-weight:800}.dj-card__meta .is-top{background:rgba(15,157,88,.10);border-color:rgba(15,157,88,.20);color:#0b7a43}.dj-card__meta .is-saison{background:rgba(180,83,9,.08);border-color:rgba(180,83,9,.18);color:#8a3f00}.dj-card h3{margin:0;font-size:1.16rem;line-height:1.28}.dj-card h3 a{color:inherit;text-decoration:none}.dj-card h3 a:hover{color:var(--dj-primary)}.dj-card p{margin:0;color:var(--dj-muted);line-height:1.65}.dj-card__link{display:inline-flex;margin-top:auto;color:var(--dj-primary);font-weight:800;text-decoration-thickness:.12em;text-underline-offset:.22em}.dj-empty{padding:1.5rem;border:1px dashed var(--dj-border);border-radius:var(--dj-radius);background:#fff;color:var(--dj-muted)}.dj-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dj-highlight{padding:1.2rem;background:#fff;border:1px solid var(--dj-border);border-radius:var(--dj-radius);box-shadow:0 10px 30px rgba(15,23,42,.04)}.dj-highlight h3{margin:.2rem 0 .6rem;font-size:1.15rem}.dj-highlight ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.dj-highlight a{color:var(--dj-text);text-decoration:none;font-weight:700}.dj-highlight a:hover{color:var(--dj-primary);text-decoration:underline;text-underline-offset:.2em}.dj-note{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:2rem;padding:1.25rem 1.4rem;background:#111827;color:#fff;border-radius:var(--dj-radius)}.dj-note p{margin:0;max-width:720px;color:rgba(255,255,255,.82)}.dj-faq__list{display:grid;gap:.85rem}.dj-faq details{padding:1rem 1.15rem;background:#fff;border:1px solid var(--dj-border);border-radius:var(--dj-radius-sm)}.dj-faq summary{cursor:pointer;font-weight:800}.dj-faq details p{margin:.85rem 0 0;color:var(--dj-muted);line-height:1.65}.dj-final-cta{padding:clamp(3rem,7vw,5rem)0;background:#111827;color:#fff}.dj-final-cta .dj-kicker{color:rgba(255,255,255,.72)}.dj-final-cta p{max-width:760px;color:rgba(255,255,255,.78)}.dj-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dj-button:focus-visible,.dj-chip:focus-visible,.dj-card__link:focus-visible,.dj-card h3 a:focus-visible{outline:3px solid rgba(15,98,254,.35);outline-offset:3px}@media(max-width:1100px){.dj-filter-panel{grid-template-columns:1fr 1fr}}@media(max-width:980px){.dj-trustbar__grid,.dj-stats,.dj-highlight-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dj-container{width:min(100% - 1.25rem,var(--dj-container))}.dj-hero{padding:3.25rem 0}.dj-trustbar{margin-top:0}.dj-trustbar__grid,.dj-stats,.dj-highlight-grid,.dj-filter-panel{grid-template-columns:1fr}.dj-button-row{flex-direction:column;align-items:stretch}.dj-button{width:100%}.dj-note{align-items:stretch}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.dj-button:hover,.dj-card:hover{transform:none}}
</style>

<main class="dj-lp-hub">
  <section class="dj-hero" aria-labelledby="dj-hero-title">
    <div class="dj-container">
      <p class="dj-kicker"><span class="dj-brand-fix">DJxDennis</span><span class="dj-kicker-rest"> · mobiler DJ aus Staßfurt</span></p>
      <h1 id="dj-hero-title">DJ für Hochzeiten, Geburtstage und Firmenevents im Salzlandkreis und angrenzenden Regionen</h1>
      <p class="dj-hero__lead">Hier finden Sie alle DJ-Seiten nach Anlass, Ort und Region. So gelangen Besucher schnell zum passenden DJ-Service für Hochzeit, Geburtstag, Firmenfeier, Jugendweihe, Silvester, Ü30 oder Ü40 Party.</p>
      <div class="dj-button-row" aria-label="Hauptaktionen">
        <a class="dj-button dj-button--primary" href="https://www.djxdennis.de/booking/">DJ anfragen</a>
        <a class="dj-button dj-button--secondary" href="#dj-filter">Nach Ort und Event suchen</a>
      </div>
      <span class="dj-sr-only">Hero-Bild zeigt DJ-Setup, Mischpult und Bühnenatmosphäre für Events.</span>
    </div>
  </section>

  <section class="dj-trustbar" aria-label="Kurzvorteile">
    <div class="dj-container">
      <div class="dj-trustbar__grid">
        <div class="dj-trustbar__item"><strong>816 Kombinationen</strong><span>8 Eventtypen × 102 Orte und Regionen</span></div>
        <div class="dj-trustbar__item"><strong>Fokus auf Anfragen</strong><span>Hochzeiten, Geburtstage, Firmenfeiern, Firmenevents und Jugendweihen</span></div>
        <div class="dj-trustbar__item"><strong>Regional stark</strong><span>Staßfurt, Salzlandkreis, Harz, Quedlinburg und Halberstadt</span></div>
        <div class="dj-trustbar__item"><strong>Direkter Booking-Weg</strong><span>Alle Seiten führen klar zur Anfrage unter <a class="dj-button dj-button--primary" href="https://www.djxdennis.de/booking/">DJ anfragen</a></span></div>
      </div>
    </div>
  </section>

  <section class="dj-section" aria-labelledby="dj-overview-title">
    <div class="dj-container">
      <div class="dj-section__intro">
        <p class="dj-kicker">Übersichtsseite</p>
        <h2 id="dj-overview-title">DJ nach Ort, Region und Anlass</h2>
        <p>Die Seite priorisiert kaufnahe Suchintentionen wie Hochzeit, Geburtstag, Firmenfeier und Firmenevent. Region-Treffer wie Salzlandkreis, Nienburg &amp; nördliche Saale oder Güsten &amp; Wipper-Region werden zusammengeführt und bleiben trotzdem direkt erreichbar.</p>
      </div>

      <div class="dj-stats">
        <div class="dj-stat"><strong>918</strong><span>Angebote</span></div>
        <div class="dj-stat"><strong>8</strong><span>Eventtypen</span></div>
        <div class="dj-stat"><strong>102</strong><span>Orte &amp; Regionen</span></div>
        <div class="dj-stat"><strong>100 km</strong><span>Radius ab Staßfurt</span></div>
      </div>
    </div>
  </section>

  <section class="dj-section dj-section--soft" aria-labelledby="dj-prio-title">
    <div class="dj-container">
      <div class="dj-section__intro">
        <p class="dj-kicker">Schnelleinstieg</p>
        <h2 id="dj-prio-title">Eventtypen und Orte mit hoher Anfragewahrscheinlichkeit</h2>
        <p>Die Einstiegschips setzen den Fokus auf die Eventtypen mit hoher Suchintention und die Orte mit starker regionaler Relevanz. Ein Klick setzt direkt den passenden Filter.</p>
      </div>
      <div class="dj-highlight-grid">
        <article class="dj-highlight">
          <h3>Wichtige Eventtypen</h3>
          <div class="dj-chip-row">
            <button class="dj-chip" data-quick-event="DJ Hochzeit" type="button">DJ Hochzeit</button>
            <button class="dj-chip" data-quick-event="DJ Geburtstag" type="button">DJ Geburtstag</button>
            <button class="dj-chip" data-quick-event="DJ Firmenfeier" type="button">DJ Firmenfeier</button>
            <button class="dj-chip" data-quick-event="DJ Firmenevent" type="button">DJ Firmenevent</button>
            <button class="dj-chip" data-quick-event="DJ Jugendweihe" type="button">DJ Jugendweihe</button>
          </div>
        </article>
        <article class="dj-highlight">
          <h3>Wichtige Orte</h3>
          <div class="dj-chip-row">
            <button class="dj-chip" data-quick-location="Staßfurt" type="button">Staßfurt</button>
            <button class="dj-chip" data-quick-location="Bernburg" type="button">Bernburg</button>
            <button class="dj-chip" data-quick-location="Schönebeck/Elbe" type="button">Schönebeck/Elbe</button>
            <button class="dj-chip" data-quick-location="Aschersleben" type="button">Aschersleben</button>
            <button class="dj-chip" data-quick-location="Calbe" type="button">Calbe</button>
            <button class="dj-chip" data-quick-location="Salzlandkreis" type="button">Salzlandkreis</button>
          </div>
        </article>
        <article class="dj-highlight">
          <h3>Informationen</h3>
          <ul>
            <li><a href="/booking/">Jetzt unverbindlich anfragen</a></li>
            <li><a href="/galerie/">Galerie ansehen</a></li>
            <li><a href="/bewertungen/">Bewertungen lesen</a></li>
            <li><a href="/ueber-mich/">Mehr über DJxDennis</a></li>
          </ul>
        </article>
      </div>
    </div>
  </section>

  <section class="dj-section" id="dj-filter" aria-labelledby="dj-filter-title">
    <div class="dj-container">
      <div class="dj-section__intro">
        <p class="dj-kicker">Filter &amp; Suche</p>
        <h2 id="dj-filter-title">Nach Ort und Event suchen</h2>
        <p>Gefiltert werden kann nach Eventtyp, Ort, Region, Saison und Beliebtheit. Die Sortierung priorisiert zunächst Suchintention und Anfragewahrscheinlichkeit.</p>
      </div>

      <form class="dj-filter-panel" onsubmit="return false;">
        <div class="dj-field">
          <label for="dj-search">Suche nach Event, Ort oder Region</label>
          <input id="dj-search" type="search" placeholder="z. B. Hochzeit Staßfurt oder Firmenfeier Bernburg" />
        </div>
        <div class="dj-field">
          <label for="dj-event">Eventtyp</label>
          <select id="dj-event">
            <option value="">Alle Eventtypen</option>
          </select>
        </div>
        <div class="dj-field">
          <label for="dj-location">Ort / Region</label>
          <select id="dj-location">
            <option value="">Alle Orte &amp; Regionen</option>
          </select>
        </div>
        <div class="dj-field">
          <label for="dj-region">Region</label>
          <select id="dj-region">
            <option value="">Alle Regionen</option>
          </select>
        </div>
        <div class="dj-field">
          <label for="dj-season">Saison</label>
          <select id="dj-season">
            <option value="">Alle Saisons</option>
          </select>
        </div>
        <div class="dj-field">
          <label for="dj-popularity">Beliebtheit</label>
          <select id="dj-popularity">
            <option value="">Alle</option>
            <option value="top">Top</option>
            <option value="hoch">Hoch</option>
            <option value="solide">Solide</option>
            <option value="mittel">Mittel</option>
            <option value="nische">Nische</option>
          </select>
        </div>
      </form>

      <div class="dj-toolbar">
        <div class="dj-toolbar__meta">
          <span class="dj-badge" id="dj-count">0 Treffer</span>
          <span class="dj-badge" id="dj-count-total">0 gesamt</span>
        </div>
        <div class="dj-chip-row">
          <button class="dj-chip" type="button" id="dj-reset">Filter zurücksetzen</button>
          <button class="dj-chip" type="button" data-quick-region="Salzlandkreis">Nur Salzlandkreis</button>
          <button class="dj-chip" type="button" data-quick-region="Harz">Nur Harz</button>
          <button class="dj-chip" type="button" data-quick-popularity="top">Nur Top-Treffer</button>
        </div>
      </div>

      <div id="dj-results" class="dj-results" aria-live="polite"></div>
      <div id="dj-empty" class="dj-empty" hidden>Keine Treffer. Bitte Filter zurücksetzen oder Suche anpassen.</div>

      <div class="dj-note">
        <p>Ob Hochzeit, Geburtstag, Firmenfeier oder Partyformat – über das Booking Formular können Sie Ihre Anfrage schnell und unkompliziert absenden.</p>
        <a class="dj-button dj-button--light" href="/booking/">Booking öffnen</a>
      </div>
    </div>
  </section>

  <section class="dj-section dj-section--soft dj-faq" aria-labelledby="dj-faq-title">
    <div class="dj-container">
      <div class="dj-section__intro">
        <p class="dj-kicker">FAQ</p>
        <h2 id="dj-faq-title">Häufige Fragen zur DJ-Übersicht</h2>
      </div>
      <div class="dj-faq__list">
        <details><summary>Warum gibt es so viele DJ-Seiten?</summary><p>Die Übersicht bündelt gezielt generierte Seiten für Eventtyp, Ort und Region, damit Besucher und Suchmaschinen die passenden Kombinationen schnell finden.</p></details>
        <details><summary>Warum sind Hochzeiten und Firmenevents weiter oben sichtbar?</summary><p>Diese Suchintentionen haben die höchste Relevanz für Anfragen, Abschlusswahrscheinlichkeit und wirtschaftlichen Wert. Deshalb werden sie in der Übersicht priorisiert.</p></details>
        <details><summary>Werden auch kleinere Orte berücksichtigt?</summary><p>Ja. Alle Kombinationen bleiben erreichbar. Wichtige Orte starten prominenter, kleine Orte werden über die Filter- und Suchlogik vollständig mitgeführt.</p></details>
        <details><summary>Was passiert mit Regionen wie Salzlandkreis oder Harz?</summary><p>Region-Treffer werden in der Übersicht zusammengeführt, bleiben aber als eigene Seiten mit direkter URL erreichbar.</p></details>
      </div>
    </div>
  </section>

  <section class="dj-final-cta" aria-labelledby="dj-cta-title">
    <div class="dj-container">
      <p class="dj-kicker">Booking</p>
      <h2 id="dj-cta-title">Direkt zur Anfrage</h2>
      <p>Ob Hochzeit, Geburtstag, Firmenfeier, Jugendweihe, Silvester oder Partyformat – über das Booking-Formular lässt sich die passende Anfrage direkt absenden.</p>
      <div class="dj-button-row">
        <a class="dj-button dj-button--light" href="/booking/">Jetzt unverbindlich anfragen</a>
        <a class="dj-button dj-button--primary" href="/galerie/">Galerie ansehen</a>
      </div>
    </div>
  </section>
</main>

<script>
const DJ_EVENTS = [{"name": "Hochzeit", "slug": "dj-hochzeit", "cluster": "hochzeit", "priority": "A", "season": "April–September", "eventPopularity": "sehr hoch"}, {"name": "Geburtstag", "slug": "dj-geburtstag", "cluster": "geburtstag", "priority": "A", "season": "ganzjährig", "eventPopularity": "hoch"}, {"name": "Firmenfeier", "slug": "dj-firmenfeier", "cluster": "firmenfeier", "priority": "A", "season": "ganzjährig", "eventPopularity": "sehr hoch"}, {"name": "Firmenevent", "slug": "dj-firmenevent", "cluster": "firmenevent", "priority": "A", "season": "ganzjährig", "eventPopularity": "sehr hoch"}, {"name": "Silvester", "slug": "dj-silvester", "cluster": "silvester", "priority": "A", "season": "November–Dezember", "eventPopularity": "hoch"}, {"name": "Jugendweihe", "slug": "dj-jugendweihe", "cluster": "jugendweihe", "priority": "A", "season": "Frühjahr", "eventPopularity": "hoch"}, {"name": "Ü30 Party", "slug": "ue30-party", "cluster": "ue30-party", "priority": "B", "season": "ganzjährig", "eventPopularity": "mittel"}, {"name": "Ü40 Party", "slug": "ue40-party", "cluster": "ue40-party", "priority": "B", "season": "ganzjährig", "eventPopularity": "mittel"}];
const DJ_LOCATIONS = [{"name": "Aderstedt", "slug": "aderstedt", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Alsleben", "slug": "alsleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Amesdorf", "slug": "amesdorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Aschersleben", "slug": "aschersleben", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Atzendorf", "slug": "atzendorf", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Baalberge", "slug": "baalberge", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Barby", "slug": "barby", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Beesenlaublingen", "slug": "beesenlaublingen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Belleben", "slug": "belleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Bernburg", "slug": "bernburg", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Biendorf", "slug": "biendorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Biere", "slug": "biere", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Borne", "slug": "borne", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Breitenhagen", "slug": "breitenhagen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Brumby", "slug": "brumby", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Calbe", "slug": "calbe", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Cochstedt", "slug": "cochstedt", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Coermigk", "slug": "coermigk", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Drohndorf", "slug": "drohndorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Edlau", "slug": "edlau", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Egeln", "slug": "egeln", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Eggersdorf", "slug": "eggersdorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Eickendorf", "slug": "eickendorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Etgersleben", "slug": "etgersleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Förderstedt", "slug": "foerderstedt", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Freckleben", "slug": "freckleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Friedrichsaue", "slug": "friedrichsaue", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Frose", "slug": "frose", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Gatersleben", "slug": "gatersleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Gerbitz", "slug": "gerbitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Gerlebogk", "slug": "gerlebogk", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Giersleben", "slug": "giersleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Glinde", "slug": "glinde", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Glöthe", "slug": "gloethe", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Gnadau", "slug": "gnadau", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Golbitz", "slug": "golbitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Gröna", "slug": "groena", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Groß Börnecke", "slug": "gross-boernecke", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Groß Rosenburg", "slug": "gross-rosenburg", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Groß Schierstedt", "slug": "gross-schierstedt", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Großmühlingen", "slug": "grossmuehlingen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Güsten", "slug": "guesten", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Hakeborn", "slug": "hakeborn", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Hecklingen", "slug": "hecklingen", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Hohenerxleben", "slug": "hohenerxleben", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Hoym", "slug": "hoym", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Ilberstedt", "slug": "ilberstedt", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Kleinmühlingen", "slug": "kleinmuehlingen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Könnern", "slug": "koennern", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Latdorf", "slug": "latdorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Lebendorf", "slug": "lebendorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Löbnitz", "slug": "loebnitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Lödderitz", "slug": "loedderitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Löderburg", "slug": "loederburg", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Mehringen", "slug": "mehringen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Nachterstedt", "slug": "nachterstedt", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Neugattersleben", "slug": "neugattersleben", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Neu-Königsaue", "slug": "neu-koenigsaue", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Neundorf/Anhalt", "slug": "neundorf-anhalt", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Nienburg/Saale", "slug": "nienburg-saale", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Peissen", "slug": "peissen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Plötzkau", "slug": "ploetzkau", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Plötzky", "slug": "ploetzky", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Pobzig", "slug": "pobzig", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Pömmelte", "slug": "poemmelte", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Poley", "slug": "poley", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Pretzien", "slug": "pretzien", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Preußlitz", "slug": "preusslitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Rathmannsdorf", "slug": "rathmannsdorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Sachsendorf", "slug": "sachsendorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Schackenthal", "slug": "schackenthal", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Schackstedt", "slug": "schackstedt", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Schadeleben", "slug": "schadeleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Schneidlingen", "slug": "schneidlingen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Schönebeck/Elbe", "slug": "schoenebeck-elbe", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Staßfurt", "slug": "stassfurt", "type": "ort", "region": "Salzlandkreis", "priority": "A"}, {"name": "Strenznaundorf", "slug": "strenznaundorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Tarthun", "slug": "tarthun", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Tornitz", "slug": "tornitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Unseburg", "slug": "unseburg", "type": "ort", "region": "Salzlandkreis", "priority": "B"}, {"name": "Wedlitz", "slug": "wedlitz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Welsleben", "slug": "welsleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Wespen", "slug": "wespen", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Westdorf", "slug": "westdorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Westeregeln", "slug": "westeregeln", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Wiendorf", "slug": "wiendorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Wilsleben", "slug": "wilsleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Wohlsdorf", "slug": "wohlsdorf", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Wolmirsleben", "slug": "wolmirsleben", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Zens", "slug": "zens", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Zickeritz", "slug": "zickeritz", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Zuchau", "slug": "zuchau", "type": "ort", "region": "Salzlandkreis", "priority": "C"}, {"name": "Harz", "slug": "harz", "type": "region", "region": "Harz", "priority": "B"}, {"name": "Quedlinburg", "slug": "quedlinburg", "type": "ort", "region": "Harz", "priority": "B"}, {"name": "Halberstadt", "slug": "halberstadt", "type": "ort", "region": "Harz", "priority": "B"}, {"name": "Salzlandkreis", "slug": "salzlandkreis", "type": "region", "region": "Salzlandkreis", "priority": "A"}, {"name": "Nienburg & nördliche Saale", "slug": "nienburg-und-noerdliche-saale", "type": "region", "region": "Salzlandkreis", "priority": "B"}, {"name": "Hecklingen & Umgebung", "slug": "hecklingen-und-umgebung", "type": "region", "region": "Salzlandkreis", "priority": "B"}, {"name": "Könnern & Saale-Gebiet", "slug": "koennern-und-saale-gebiet", "type": "region", "region": "Salzlandkreis", "priority": "B"}, {"name": "Güsten & Wipper-Region", "slug": "guesten-und-wipper-region", "type": "region", "region": "Salzlandkreis", "priority": "B"}, {"name": "Egeln & Bode-Region", "slug": "egeln-und-bode-region", "type": "region", "region": "Salzlandkreis", "priority": "B"}, {"name": "Calbe & Saale-Region", "slug": "calbe-und-saale-region", "type": "region", "region": "Salzlandkreis", "priority": "B"}];

function djPopularity(eventPriority, locationPriority) {
  if (eventPriority === 'A' && locationPriority === 'A') return 'top';
  if (eventPriority === 'A' && locationPriority === 'B') return 'hoch';
  if (eventPriority === 'A' && locationPriority === 'C') return 'solide';
  if (eventPriority === 'B' && locationPriority === 'A') return 'hoch';
  if (eventPriority === 'B' && locationPriority === 'B') return 'mittel';
  return 'nische';
}

function djCreateItems() {
  const items = [];
  DJ_EVENTS.forEach(event => {
    DJ_LOCATIONS.forEach(location => {
      items.push({
        title: `${event.name} ${location.name}`,
        event: event.name,
        eventSlug: event.slug,
        eventCluster: event.cluster,
        eventPriority: event.priority,
        eventPopularity: event.eventPopularity,
        location: location.name,
        locationSlug: location.slug,
        locationType: location.type,
        locationPriority: location.priority,
        region: location.region,
        season: event.season,
        popularity: djPopularity(event.priority, location.priority),
        url: `/${event.slug}-${location.slug}/`
      });
    });
  });
  return items;
}

const djItems = djCreateItems();

const searchEl = document.getElementById('dj-search');
const eventEl = document.getElementById('dj-event');
const locationEl = document.getElementById('dj-location');
const regionEl = document.getElementById('dj-region');
const seasonEl = document.getElementById('dj-season');
const popularityEl = document.getElementById('dj-popularity');
const resultsEl = document.getElementById('dj-results');
const emptyEl = document.getElementById('dj-empty');
const countEl = document.getElementById('dj-count');
const totalEl = document.getElementById('dj-count-total');
const resetEl = document.getElementById('dj-reset');

function uniqueSorted(values) {
  return [...new Set(values)].sort((a, b) => a.localeCompare(b, 'de'));
}

function fillSelect(select, values) {
  values.forEach(value => {
    const option = document.createElement('option');
    option.value = value;
    option.textContent = value;
    select.appendChild(option);
  });
}

fillSelect(eventEl, uniqueSorted(djItems.map(i => i.event)));
fillSelect(locationEl, uniqueSorted(djItems.map(i => i.location)));
fillSelect(regionEl, uniqueSorted(djItems.map(i => i.region)));
fillSelect(seasonEl, uniqueSorted(djItems.map(i => i.season)));

function sortItems(items) {
  const popularityRank = { top: 5, hoch: 4, solide: 3, mittel: 2, nische: 1 };
  const locationRank = { A: 3, B: 2, C: 1 };
  const eventRank = { A: 3, B: 2, C: 1 };
  return [...items].sort((a, b) => {
    if (popularityRank[b.popularity] !== popularityRank[a.popularity]) return popularityRank[b.popularity] - popularityRank[a.popularity];
    if (eventRank[b.eventPriority] !== eventRank[a.eventPriority]) return eventRank[b.eventPriority] - eventRank[a.eventPriority];
    if (locationRank[b.locationPriority] !== locationRank[a.locationPriority]) return locationRank[b.locationPriority] - locationRank[a.locationPriority];
    return a.title.localeCompare(b.title, 'de');
  });
}

function renderItems() {
  const q = searchEl.value.trim().toLowerCase();
  const eventValue = eventEl.value;
  const locationValue = locationEl.value;
  const regionValue = regionEl.value;
  const seasonValue = seasonEl.value;
  const popularityValue = popularityEl.value;

  let filtered = djItems.filter(item => {
    const haystack = `${item.title} ${item.event} ${item.location} ${item.region}`.toLowerCase();
    if (q && !haystack.includes(q)) return false;
    if (eventValue && item.event !== eventValue) return false;
    if (locationValue && item.location !== locationValue) return false;
    if (regionValue && item.region !== regionValue) return false;
    if (seasonValue && item.season !== seasonValue) return false;
    if (popularityValue && item.popularity !== popularityValue) return false;
    return true;
  });

  filtered = sortItems(filtered);

  totalEl.textContent = `${djItems.length} gesamt`;
  countEl.textContent = `${filtered.length} Treffer`;

  resultsEl.innerHTML = '';
  emptyEl.hidden = filtered.length !== 0;

  filtered.forEach(item => {
    const article = document.createElement('article');
    article.className = 'dj-card';
    article.innerHTML = `
      <div class="dj-card__meta">
        <span>${item.event}</span>
        <span>${item.location}</span>
        <span>${item.region}</span>
        <span class="is-top">${item.popularity}</span>
        <span class="is-saison">${item.season}</span>
      </div>
      <h3><a href="${item.url}">${item.title}</a></h3>
      <p>Mobiler DJ-Service für ${item.event.toLowerCase()} in ${item.location} – mit Musik, Technik, Licht und direkter Anfrageoption.</p>
      <a class="dj-card__link" href="${item.url}">Details ansehen</a>
    `;
    resultsEl.appendChild(article);
  });
}

function resetFilters() {
  searchEl.value = '';
  eventEl.value = '';
  locationEl.value = '';
  regionEl.value = '';
  seasonEl.value = '';
  popularityEl.value = '';
  renderItems();
}

[searchEl, eventEl, locationEl, regionEl, seasonEl, popularityEl].forEach(el => {
  el.addEventListener('input', renderItems);
  el.addEventListener('change', renderItems);
});

resetEl.addEventListener('click', resetFilters);

document.querySelectorAll('[data-quick-event]').forEach(btn => {
  btn.addEventListener('click', () => {
    eventEl.value = btn.getAttribute('data-quick-event');
    renderItems();
    document.getElementById('dj-filter').scrollIntoView({behavior:'smooth', block:'start'});
  });
});
document.querySelectorAll('[data-quick-location]').forEach(btn => {
  btn.addEventListener('click', () => {
    locationEl.value = btn.getAttribute('data-quick-location');
    renderItems();
    document.getElementById('dj-filter').scrollIntoView({behavior:'smooth', block:'start'});
  });
});
document.querySelectorAll('[data-quick-region]').forEach(btn => {
  btn.addEventListener('click', () => {
    regionEl.value = btn.getAttribute('data-quick-region');
    renderItems();
    document.getElementById('dj-filter').scrollIntoView({behavior:'smooth', block:'start'});
  });
});
document.querySelectorAll('[data-quick-popularity]').forEach(btn => {
  btn.addEventListener('click', () => {
    popularityEl.value = btn.getAttribute('data-quick-popularity');
    renderItems();
    document.getElementById('dj-filter').scrollIntoView({behavior:'smooth', block:'start'});
  });
});

renderItems();
</script>
</div></div>
</div>
</div></section>
<p>Der Beitrag <a href="https://www.djxdennis.de/booking/uebersicht-einsatzorte/">Übersicht Einsatzorte</a> erschien zuerst auf <a href="https://www.djxdennis.de">DJxDennis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
