PageSourceSearch

https://immo-hp.de/wp-content/plugins/flowfact-wp-connector/module…/default/ff-estateview-script.js?ver=1.0.2

js immo-hp.de collected 2026-10-05 03:54:43 UTC 14,683 bytes, 485 lines download raw bytes

1// noconflict mode
2var ff = jQuery.noConflict();
3var IsplaceChange = false;
4
5
6// search
7
8// estate overview Form Submit on change
9ff(document).ready(function() {
10  ff('.ff-autosubmit').on('change', function() {
11    var form = ff(this).closest('form');
12		ff('.FFestateview-default-overview-search-submit-button').stop().addClass("FFestateview-default-overview-search-submit-ajax");
13		ff('.FFestateview-default-overview-search-submit-button').stop().removeClass("FFestateview-default-overview-search-submit-close");
14		ff('.FFestateview-default-overview-search-submit-button').stop().removeClass("FFestateview-default-overview-search-submit-button");
15		ff('.FFestateview-default-overview-search-submit-ajax').html("<span class='loader'></span>");
16		form.submit();
17  });
18});
19
20
21// estate details Gallery slider
22ff(document).ready(function(){
23	ff('.FFestateview-default-details-main').slick({
24	  slidesToShow: 1,
25	  arrows: true,
26	  centerMode: false,
27	  fade: true,
28	  lazyLoad: 'ondemand',
29	  autoplay: false,
30	  autoplaySpeed: 3000,
31	  dots: false
32	});
33	
34	ff('.FFestateview-default-details-nav').slick({
35	  slidesToShow: 10,
36	  slidesToScroll: 1,
37	  arrows: true,
38	  asNavFor: '.FFestateview-default-details-main',
39	  dots: false,
40	  focusOnSelect: true
41	});
42	
43});
44
45
46
47
48
49// yes no 
50ff('.FFestateview-default-multimedia-controlle div').click(function(e) {
51		  
52   e.preventDefault();
53  
54   console.log(ff(this).attr("data-slide"));
55   var slideno = ff(this).attr("data-slide");
56   ff('.FFestateview-default-details-main').slick('slickGoTo', slideno - 1);
57   ff('.FFestateview-default-details-nav').slick('slickGoTo', slideno - 1);
58});
59
60
61
62
63
64
65// Show contact form
66ff(".FFestateview-default-popup-open" ).click(function() {
67	ff(".FFestateview-default-popup").toggleClass("ff-hidden");
68});
69ff(".FFestateview-default-popup-close" ).click(function() {
70	ff(".FFestateview-default-popup").toggleClass("ff-hidden");
71});
72
73
74
75
76// estate overview paging
77ff(".ffgoto" ).click(function() {
78  var page = ff(this ).attr("data-page");
79  ff("input[name='ffpage']").val(page);
80  ff( "#FFestateview-default-overview-search-form" ).submit();
81});
82
83// show estate search filter
84ff(".FFestateview-default-overview-search-filter-button" ).click(function(e) {
85	e.preventDefault();	
86	ff(this).toggleClass("active");
87	ff(".FFestateview-default-overview-search-secondary").toggleClass("active");
88});
89
90
91function formSubmit() {
92	var form	 = ff('#FFestateview-default-overview-search-form');
93	var loc		 = ff("#autocomplete");
94	var lat      = ff("#lat");
95	
96	
97	// clear lat lng by location clear
98	if(typeof(lat.val()) !== 'undefined' && typeof(loc.val()) !== 'undefined' ) {
99		if(loc.val().length == 0 && lat.val().length >= 1 )
100		{		
101			document.getElementById("lat").value = "";
102			document.getElementById("lng").value = "";
103			
104			// update button 
105			ff('.FFestateview-default-overview-search-submit-button').html("<span class='loader'></span>");
106
107			// submit form
108			form.submit();	
109		}
110		else if(loc.val().length >= 1 && lat.val().length == 0 )
111		{
112			// focus location field if not select
113			loc.val('Bitte Auswahl treffen');
114			loc.css('color','red');
115			loc.focus();
116		}
117		else
118		{
119			// update button 
120			ff('.FFestateview-default-overview-search-submit-button').html("<span class='loader'></span>");
121
122			// submit form
123			form.submit();	
124		}	
125	}
126	else
127	{
128		// update button 
129		ff('.FFestateview-default-overview-search-submit-button').html("<span class='loader'></span>");
130
131		// submit form
132		form.submit();	
133	}	
134};
135
136
137
138// calculate given space
139ff( window ).bind("resize", function(){
140	resize();
141});
142
143ff(document).ready(function(){
144	resize();
145});
146
147// resize column width
148function resize(){
149	
150	//get element
151	var element  = ff("div[data-width]");
152		element.each(function( index ) {
153			
154			//set width
155			var size = ff(this).width();
156			var minWidth = ff(this).attr("data-width");
157
158			if (minWidth !== null &&  size !== null){
159				ff(this).attr("data-column", Math.floor(size / minWidth));
160			}
161		}); 
162};
163
164
165// block estate form search
166ff(".ff-hide-estate" ).click(function() {
167	var id   =  ff(this).attr("data-path");
168	var	card =  ff(this).closest( ".FFestateview-default-overview-estate" );
169
170	//deactivate Estate
171	ff.ajax({
172		type: 'POST',
173		url: ffdata.ajaxurl,
174		data: {
175			action: 'ajaxblockestatefunctiont',
176			id: id
177		},
178		success: function (data, textStatus, XMLHttpRequest) {
179			//alert(data);
180		},
181		error: function (XMLHttpRequest, textStatus, errorThrown) {
182			//alert(errorThrown);
183		}
184	});
185
186	// disable
187	ff(card).children('.back').fadeIn(1000);
188
189});
190
191
192
193
194// send popup form
195ff(document).on('submit','.validateDontSubmit',function (e) {
196    //prevent the form from doing a submit
197    e.preventDefault();
198
199	var form					= ff(this).closest(".form");
200	var salutation				= form.find("#email-salutation").val();
201	var firstName				= form.find("#email-firstName").val();
202	var lastName				= form.find("#email-lastName").val();
203	var phone					= form.find("#email-phone").val();
204	var email					= form.find("#email-mail").val();
205	var street					= form.find("#email-street").val();
206	var zip						= form.find("#email-zip").val();
207	var town					= form.find("#email-town").val();
208	
209	var message					= form.find("#email-message").val();
210	
211	var estateLeadUrl			= form.find("#estateLeadUrl").val();
212	var estateHeadline			= form.find("#estateHeadline").val();
213	var estateIdentifier		= form.find("#estateIdentifier").val();
214	var estateId				= form.find("#estateId").val();
215	var ffreply					= form.find("#ffreply").val();
216	
217	var legalPrivacy			= form.find("#email-legal-privacy-text").html();
218	var legalPhone				= form.find("#email-legal-phone-text").html();
219	
220	ff('.validateDontSubmit').hide();
221	ff('.FFestateview-default-popup-preloader').show();
222	
223	//send ajax
224	ff.ajax({
225		type: 'POST',
226		url: ffdata.ajaxurl,
227		data: {
228			action: 'ajaxcontactfunctiont',
229			salutation:salutation,
230			firstName:firstName,
231			lastName:lastName,
232			phone:phone,
233			email:email,
234			street:street,
235			zip:zip,
236			town:town,
237			message:message,	
238			estateIdentifier:estateIdentifier,	
239			estateId:estateId,	
240			estateLeadUrl:estateLeadUrl,		
241			ffreply:ffreply,		
242			estateHeadline:estateHeadline,
243			legalPrivacy:legalPrivacy,
244			legalPhone:legalPhone
245		},
246		success: function (data, textStatus, XMLHttpRequest) {
247
248			ff(".FFestateview-default-popup .form").fadeOut('fast');
249			ff(".FFestateview-default-popup-success").fadeIn('SLOW');
250			setTimeout(function () {
251				ff(".FFestateview-default-popup").toggleClass("ff-hidden");
252		    }, 3000);
253		},
254		error: function (XMLHttpRequest, textStatus, errorThrown) {
255			alert("Leider konnten wir Ihre E-Mail nicht verarbeiten. Wir bitten um Entschuldigung. Bitte wenden Sie sich telefonisch an unser Haus.");
256		}
257	}); 
258		
259});
260
261// yes no 
262ff('.ff-input').click(function() {
263  var mainParent = ff(this).parent('.ff-input-checkbox');
264	  if(ff(mainParent).find('input.ff-input').is(':checked')) {
265		ff(mainParent).addClass('active');
266	  } else {
267		ff(mainParent).removeClass('active');
268	  }
269})
270
271ff(".ff-input-yesno label" ).click(function() {
272		var active = ff(this).attr('data-type');
273
274		ff(this).parent("div").attr("id",active);
275		ff(this).closest(".ff-input-yesno").find("input[data-type='"+active+"']").prop("checked", true);	
276});
277
278
279
280// number
281ff('<div class="ff-input-number-nav"><div class="ff-input-number-button ff-input-number-up"><img src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ1NSA0NTUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1NSA0NTU7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+PGc+PHBvbHlnb24gcG9pbnRzPSI0NTUsMjEyLjUgMjQyLjUsMjEyLjUgMjQyLjUsMCAyMTIuNSwwIDIxMi41LDIxMi41IDAsMjEyLjUgMCwyNDIuNSAyMTIuNSwyNDIuNSAyMTIuNSw0NTUgMjQyLjUsNDU1IDI0Mi41LDI0Mi41ICAgNDU1LDI0Mi41ICIgZGF0YS1vcmlnaW5hbD0iIzAw
281MDAwMCIgY2xhc3M9ImFjdGl2ZS1wYXRoIiBzdHlsZT0iZmlsbDojQUFBQUFBIiBkYXRhLW9sZF9jb2xvcj0iI2FhYWFhYSI+PC9wb2x5Z29uPjwvZz4gPC9zdmc+" /></div><div class="ff-input-number-button ff-input-number-down"><img src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ1NSA0NTUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1NSA0NTU7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+PGc+PHJlY3QgeT0iMjEyLjUiIHdpZHRoPSI0NTUiIGhlaWdodD0iMzAiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIGNsYXNzPSJhY3RpdmUtcGF0aCIgc3R5bGU9ImZpbGw6I0FBQUFBQSIgZGF0YS1vbGRfY29sb3I9IiNhYWFhYWEiPjwvcmVjdD48L2c+IDwvc3ZnPg==" /></div></div>').insertAfter('.ff-input-number input');
282ff('.ff-input-number').each(function() {
283  var spinner = ff(this),
284	input = spinner.find('input[type="number"]'),
285	btnUp = spinner.find('.ff-input-number-up'),
286	btnDown = spinner.find('.ff-input-number-down'),
287	min = input.attr('min'),
288	max = input.attr('max');
289
290  btnUp.click(function() {
291	var oldValue = parseFloat(input.val());
292	if (oldValue >= max) {
293	  var newVal = oldValue;
294	} else {
295	  var newVal = oldValue + 1;
296	}
297	spinner.find("input").val(newVal);
298	spinner.find("input").trigger("change");
299  });
300
301  btnDown.click(function() {
302	var oldValue = parseFloat(input.val());
303	if (oldValue <= min) {
304	  var newVal = oldValue;
305	} else {
306	  var newVal = oldValue - 1;
307	}
308	spinner.find("input").val(newVal);
309	spinner.find("input").trigger("change");
310  });
311});
312
313// estate overview Form Submit on change
314ff(document).ready(function() {
315	ff(".ff-autosubmit").on("change paste keyup", function() {
316		formSubmit();
317	});
318	
319	ff(".ff-autoclick").click(function(e) {
320		e.preventDefault();
321		formSubmit();
322	});
323});
324
325// init chosen
326ff(".FFestateview-default-overview .chosen-select").chosen(); 
327
328// FF Estate View single Estate new slider modal script
329ff(".estate-pictures-slider-modal-trigger").click(function() {
330	ff(".estate-pictures-slider-modal").addClass('active')
331	ff(".FFestateview-default-details-agent").css('z-index', '-1' )
332	ff('#estate-slider').sliderPro('resize')
333	ff('html, body').css({
334    overflow: 'hidden',
335    height: '100%'
336	})
337})
338
339ff(".estate-pictures-slider-modal").click(function(e) {
340	if (e.target !== this)
341    return;
342	ff(".estate-pictures-slider-modal").removeClass('active')
343	ff(".FFestateview-default-details-agent").css('z-index', '0' )
344	ff('html, body').css({
345    overflow: 'auto',
346    height: 'auto'
347	})
348})
349
350ff(".slider-modal-close-button").click(function() {
351	ff(".estate-pictures-slider-modal").removeClass('active')
352	ff(".FFestateview-default-details-agent").css('z-index', '0' )
353	ff('html, body').css({
354    overflow: 'auto',
355    height: 'auto'
356	})
357})
358
359ff(document).ready(function() {
360	var img = document.getElementById("main-image");
361
362	if(img && img.naturalHeight > img.naturalWidth) {
363		ff(".slider-wrapper .left").addClass('portrait')
364	}
365});
366
367// Slider Pro Init
368ff( document ).ready(function( $ ) {
369	ff( '#estate-slider' ).sliderPro({
370		autoplay: "false",
371		imageScaleMode: "contain",
372	  width: "100%",
373		aspectRatio: 1.33,
374		slideAnimationDuration: 0,
375		orientation: 'horizontal',
376		thumbnailPosition: 'right',
377		fullScreen: false,
378		fadeArrows: false,
379		fadeThumbnailArrows: false,
380		arrows: true,
381		buttons: false,
382		thumbnailArrows: true,
383		breakpoints: {
384			800: {
385				thumbnailsPosition: 'bottom',
386				thumbnailWidth: 270,
387				thumbnailHeight: 100
388			},
389			500: {
390				orientation: 'vertical',
391				thumbnailsPosition: 'bottom',
392				thumbnailWidth: 120,
393				thumbnailHeight: 50
394			}
395		}
396	});
397});
398
399/* OSM Scripts */
400ff(document).ready(function(){
401	if(document.getElementById('osm-single-property')) {
402
403		const singleProperty = document.getElementById('osm-single-property'); 
404		console.log(singleProperty)
405
406		jQuery( "#map-switch" ).on("change", function() {
407			if (this.checked) {
408				jQuery('.ff-consent').hide()
409				jQuery('.ff-consent-box').css('background-color', 'transparent')
410				jQuery( "#osm-single-property" ).css('display', 'block');
411
412				console.log('switch')
413
414				// OSM marker
415				if(singleProperty.hasAttribute('data-lng') && singleProperty.hasAttribute('data-lat')) {
416					console.log('marker')
417					console.log(singleProperty.dataset.lat)
418					console.log(singleProperty.dataset.lng)
419
420					var map = L.map('osm-single-property').setView([singleProperty.dataset.lat, singleProperty.dataset.lng], 13);
421
422					L.tileLayer('https://tile.geofabrik.de/7d2102584fc0e8f4f66d6e0c60a4fd94/{z}/{x}/{y}.png', {
423							attribution: 'Daten von <a href="https://www.openstreetmap.org/">OpenStreetMap</a> - Veröffentlicht unter <a href="https://opendatacommons.org/licenses/odbl/">ODbL</a>'
424					}).addTo(map);
425
426					L.marker([singleProperty.dataset.lat, singleProperty.dataset.lng]).addTo(map)
427				} else if (singleProperty.dataset.zip != '' || singleProperty.dataset.town != '') {
428					console.log('highlight')
429					const estateCoords = document.getElementById('estate-coords')
430
431					console.log(estateCoords.dataset.lat + ' ' + estateCoords.dataset.lng)
432
433					// create OSM and center it on zip code coords
434					var map = L.map('osm-single-property').setView([estateCoords.dataset.lat, estateCoords.dataset.lng], 12);
435
436					//L.marker([estateCoords.dataset.lat, estateCoords.dataset.lng]).addTo(map)
437
438					// set copyright tile layer
439					L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
440							attribution: 'Daten von <a href="https://www.openstreetmap.org/">OpenStreetMap</a> - Veröffentlicht unter <a href="https://opendatacommons.org/licenses/odbl/">ODbL</a>'
441					}).addTo(map);
442
443					// get zipcode shapes ID based on at & lon
444					ff.get('https://box-shp.alias.s24cloud.net/shape?latitude='+estateCoords.dataset.lat+'&longitude='+estateCoords.dataset.lng+'&types=region,city,district,borough,town', 
445					function(shapeID) {
446						console.log(shapeID)
447						console.log('shape no: ')
448						console.log(shapeID.length - 1)
449						var shapeData = shapeID[shapeID.length - 1].id
450
451						ff.get('https://box-shp.alias.s24cloud.net/shape/'+shapeData, function(geoShape) {
452							console.log('geo shape')
453							console.log(geoShape)
454
455							var districtHighlight = [
456								geoShape.geometry
457							];
458
459							console.log('district high ')
460							console.log(districtHighlight)
461
462							var myStyle1 = {
463								"color": "#ff7800",
464								"weight": 5,
465								"opacity": 0.65
466							};
467
468							L.geoJSON(districtHighlight, {
469								style: myStyle1
470							}).addTo(map);
471						})
472					})
473				} else {
474					console.log('nothing')
475				}
476
477
478			} else {
479				jQuery('.ff-consent').fadeIn();
480				jQuery('.ff-consent-box').css('background-color', '#fafafa');
481				jQuery( "#osm-single-property" ).css('display', 'none');
482			}
483		});
484	}
485});

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.