PageSourceSearch

https://www.gewobag.de/wp-content/plugins/gewo-suchagent/js/suchagent.js?s=1&ver=1.0.5

js gewobag.de collected 2026-10-02 06:46:39 UTC 8,828 bytes, 226 lines download raw bytes

1jQuery(document).ready(function () {
2
3	const agentDialogButton = document.getElementById('suchagent-button');
4	const agentDialog = document.getElementById('suchagent-dialog');
5	const agentForm = document.getElementById('suchagent-form');
6	const agentDialogClose = document.getElementById('suchagent-dialog-close');
7
8	const parameterList = new URLSearchParams(window.location.search);
9
10	if (parameterList.has('open-suchagent-form')) {
11		agentDialog.showModal();
12	}
13
14	// Umzugsratgeber
15	const umzugCheck = document.getElementById('sa_ur');
16	const umzugSet = document.getElementById('umzugsratgeber');
17
18	// if Suchagent exist
19	if (agentDialogButton) {
20
21		agentDialogButton.addEventListener('click', (e) => {
22			e.preventDefault();
23			agentDialog.showModal();
24		});
25
26		agentDialogClose.addEventListener('click', (e) => {
27			e.preventDefault();
28			agentDialog.close();
29			suchagent_move_modal('1');
30		});
31
32		agentDialog.addEventListener('click', (e) => {
33			const excludedElements = [agentDialogClose, agentForm];
34			if (!(excludedElements.some(element => element.contains(e.target)))) {
35				agentDialog.close();
36				suchagent_move_modal('1');
37			}
38		})
39
40		agentDialog.querySelectorAll('.suchagent-finish').forEach((item) => {
41			item.addEventListener('click', (e) => {
42				e.preventDefault();
43				agentDialog.close();
44				suchagent_move_modal('1');
45			});
46		});
47
48		agentDialog.querySelectorAll('.modal-check').forEach((item) => {
49			item.addEventListener('click', (e) => {
50				e.preventDefault();
51				suchagent_move_modal(item.dataset.next);
52			});
53		});
54
55		document.getElementById('suchagent-create').addEventListener('click', (e) => {
56			e.preventDefault();
57			suchagent_call();
58		});
59
60		if(umzugCheck) {
61			umzugCheck.addEventListener('click', (e) => {
62				if (umzugCheck.checked) {
63					umzugSet.classList.remove('fieldset-disabled');
64				} else {
65					umzugSet.classList.add('fieldset-disabled');
66				}
67			});
68		}
69	}
70
71	function suchagent_move_modal(next) {
72		document.querySelectorAll('.form-modal').forEach((item) => {
73			item.classList.remove('active-modal');
74		});
75		document.getElementById('form-modal-' + next).classList.add('active-modal');
76	}
77
78	function suchagent_call() {
79
80		const agentAction = document.getElementById('agent_action');
81		const agentMail = document.getElementById('sa-mail');
82
83		let ortsteile = [];
84		let bezirke = [];
85		let gebaeudearten = [];
86		let nutzungsarten = [];
87		let stellplatzarten = [];
88		let gewerbetypen = [];
89		let umzugVal = {
90			status: false
91		};
92
93		agentDialog.querySelectorAll('.suchagent-bezirke').forEach((item) => {
94			if (item.checked) {
95				bezirke.push(item.value);
96			}
97		});
98		agentDialog.querySelectorAll('.suchagent-ortsteile').forEach((item) => {
99			if (item.checked) {
100				ortsteile.push(item.value);
101			}
102		});
103		agentDialog.querySelectorAll('.suchagent-gebaeudearten').forEach((item) => {
104			if (item.checked) {
105				gebaeudearten.push(item.value);
106			}
107		});
108		agentDialog.querySelectorAll('.suchagent-nutzungsarten').forEach((item) => {
109			if (item.checked) {
110				nutzungsarten.push(item.value);
111			}
112		});
113		if (nutzungsarten.length < 1) {
114			nutzungsarten = Array.from(document.querySelectorAll('input[name="nutzungsarten[]"]'))
115				.map(input => input.value);
116		}
117		agentDialog.querySelectorAll('.suchagent-stellplatzarten').forEach((item) => {
118			if (item.checked) {
119				stellplatzarten.push(item.value);
120			}
121		});
122		agentDialog.querySelectorAll('.suchagent-gewerbetypen').forEach((item) => {
123			if (item.checked) {
124				gewerbetypen.push(item.value);
125			}
126		});
127
128		if (umzugCheck && umzugCheck.checked) {
129			umzugVal = {
130				status: true,
131				contact: agentMail.value,
132				date: document.getElementById('sa_urd').value,
133				name: document.getElementById('sa_urn').value,
134				privacy: 'agree',
135				umzug: 'ratgeber',
136				quelle: document.getElementById('sa_ur_quelle').value,
137				newsletter: document.getElementById('sa_ur_newsletter').value
138			};
139		}
140
141		const userOrderType = document.getElementById('user_order_type').value;
142		const objekttyp = document.getElementById('sa_objekttyp')?.value;
143
144		jQuery.ajax({
145			url: document.getElementById('suchagent-form').getAttribute('action'),
146			type: 'POST',
147			data: {
148				action: agentAction.value,
149				nonce: agentAction.dataset.nonce,
150				honigtopf: document.getElementById('honigtopf').checked,
151				user_order_type: userOrderType,
152				objekttyp: objekttyp,
153				email: agentMail.value,
154				bezirke: bezirke,
155				ortsteile: ortsteile,
156				gebaeudearten: gebaeudearten,
157				nutzungsarten: nutzungsarten,
158				stellplatzarten: stellplatzarten,
159				gewerbetypen: gewerbetypen,
160				address: (document.getElementById('sa-places-address-suggest') ? document.getElementById('sa-places-address-suggest').value : ''),
161				lat: (document.getElementById('sa-places-lat-suggest') ? document.getElementById('sa-places-lat-suggest').value : ''),
162				lng: (document.getElementById('sa-places-lng-suggest') ? document.getElementById('sa-places-lng-suggest').value : ''),
163				distance_around: (document.getElementById('sa-distance-around') ? document.getElementById('sa-distance-around').value : ''),
164				grundmiete_von: (document.getElementById('sa_grundmiete_von') ? document.getElementById('sa_grundmiete_von').value : ''),
165				grundmiete_bis: (document.getElementById('sa_grundmiete_bis') ? document.getElementById('sa_grundmiete_bis').value : ''),
166				gesamtmiete_von: (document.getElementById('sa_gesamtmiete_von') ? document.getElementById('sa_gesamtmiete_von').value : ''),
167				gesamtmiete_bis: (document.getElementById('sa_gesamtmiete_bis') ? document.getElementById('sa_gesamtmiete_bis').value : ''),
168				gesamtflaeche_von: (document.getElementById('sa_gesamtflaeche_von') ? document.getElementById('sa_gesamtflaeche_von').value : ''),
169				gesamtflaeche_bis: (document.getElementById('sa_gesamtflaeche_bis') ? document.getElementById('sa_gesamtflaeche_bis').value : ''),
170				zimmer_von: (document.getElementById('sa_zimmer_von') ? document.getElementById('sa_zimmer_von').value : ''),
171				zimmer_bis: (document.getElementById('sa_zimmer_bis') ? document.getElementById('sa_zimmer_bis').value : ''),
172				wbs: (document.getElementById('sa_wbs') ? document.getElementById('sa_wbs').checked : ''),
173				keinwbs: (document.getElementById('sa_keinwbs') ? document.getElementById('sa_keinwbs').checked : ''),
174				erdgeschoss: (document.getElementById('sa_erdgeschoss') ? document.getElementById('sa_erdgeschoss').checked : ''),
175				barrierefrei: (document.getElementById('sa_barrierefrei') ? document.getElementById('sa_barrierefrei').checked : ''),
176				rollstuhlgerecht: (document.getElementById('sa_rollstuhlgerecht') ? document.getElementById('sa_rollstuhlgerecht').checked : ''),
177				senioren: (document.getElementById('sa_senioren') ? document.getElementById('sa_senioren').checked : ''),
178				studenten: (document.getElementById('sa_studenten') ? document.getElementById('sa_studenten').checked : ''),
179				aufzug: (document.getElementById('sa_aufzug') ? document.getElementById('sa_aufzug').checked : ''),
180				keller: (document.getElementById('sa_keller') ? document.getElementById('sa_keller').checked : ''),
181				balkon: (document.getElementById('sa_balkon') ? document.getElementById('sa_balkon').checked : ''),
182				garten: (document.getElementById('sa_garten') ? document.getElementById('sa_garten').checked : ''),
183				ebk: (document.getElementById('sa_ebk') ? document.getElementById('sa_ebk').checked : ''),
184				badewanne: (document.getElementById('sa_badewanne') ? document.getElementById('sa_badewanne').checked : ''),
185				dusche: (document.getElementById('sa_dusche') ? document.getElementById('sa_dusche').checked : ''),
186				gaestewc: (document.getElementById('sa_gaestewc') ? document.getElementById('sa_gaestewc').checked : ''),
187				ds: (document.getElementById('sa_ds') ? document.getElementById('sa_ds').checked : ''),
188				umzug: umzugVal
189			},
190			dataType: 'json',
191			beforeSend: function () {
192				agentDialog.querySelectorAll('.suchagent-missing').forEach((item) => {
193					item.innerhtml = '';
194					item.classList.remove('show-missing');
195				});
196			},
197			error: function (data) {
198			},
199			success: function (data) {
200				switch (data.status) {
201					case 'fail':
202						suchagent_move_modal('1');
203						break;
204					case 'error':
205					case 'missing':
206						data.messages.forEach((message) => {
207							document.querySelector('.missing-' + message.set).classList.add('show-missing');
208							document.querySelector('.missing-' + message.set).textContent = message.message;
209						});
210						suchagent_move_modal(data.modal);
211						break;
212					case 'already_exists':
213					case 'success':
214						document.getElementById('result-title').textContent = data.title;
215						document.getElementById('result-message').innerHTML = data.message;
216						suchagent_move_modal('3');
217						break;
218				}
219			}
220		});
221
222		return false;
223
224	}
225
226});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.