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.