PageSourceSearch

https://hippodrome-saint-galmier.fr/media/com_rseventspro/js/jquery.map.js?e16971b60af3ec15812c17f3922fffe0

js hippodrome-saint-galmier.fr collected 2026-10-02 20:54:53 UTC 24,147 bytes, 761 lines download raw bytes

1(function($) {
2	'use strict';
3
4	$.fn.rsjoomlamap = function(options) {
5		var base = this;
6		
7		base.el = this;
8		
9		base.init = function() {
10			base.options = $.extend({},$.fn.rsjoomlamap.defaultOptions, options);
11			
12			// Initialize the Geocoder.
13			base.geocoder = new google.maps.Geocoder();
14			
15			// Initialize the Bounds.
16			base.latlngbounds = new google.maps.LatLngBounds();
17			
18			base.inputAddress = base.options.address.length ? $('#'+base.options.address) : false;
19			base.inputCoords = base.options.coordinates.length ? $('#'+base.options.coordinates) : false;
20			base.multiMarks = base.options.markers != null ? base.options.markers.length > 1 : false;
21			
22			if (base.options.pinpointBtn) {
23				base.pinpointBtn = $('#'+base.options.pinpointBtn);
24			}
25			
26			base.directionsDisplay	= new google.maps.DirectionsRenderer({draggable: true});
27			base.directionsService	= new google.maps.DirectionsService();
28			base.directionsBtn		= $('#'+base.options.directionsBtn);
29			base.directionsFrom		= $('#'+base.options.directionsFrom);
30			base.directionNoResults	= base.options.directionNoResults;
31			
32			// Radius search values
33			if (base.options.radiusSearch) {
34				base.radiusLocation	= $('#'+base.options.radiusLocationId);
35				base.radiusValue	= $('#'+base.options.radiusValueId);
36				base.radiusUnit		= $('#'+base.options.radiusUnitId);
37				base.radiusLoader	= $('#'+base.options.radiusLoaderId);
38				base.radiusBtn		= $('#'+base.options.radiusBtnId);
39				
40				base.circle = null;
41				base.markers = [];
42				base.cache = [];
43			}
44			
45			base.initMap();
46			
47			if (base.options.radiusSearch) {
48				base.setRadiusPos();
49				base.inputAddressOnKeyUp();
50				base.bindRadiusSearch();
51			} else {
52				base.initMarker();
53				
54				if (!base.options.markers) {
55					base.initPos();
56				} else {
57					base.initPositions();
58				}
59				
60				base.setMarkerOnDragEnd();
61				base.inputAddressOnKeyUp();
62				base.inputCoordsOnChange();
63				base.pinpoint();
64				base.getDirections();
65				base.panToCenter();
66			}
67		}
68		
69		// Initialize map.
70		base.initMap = function() {
71			base.map = new google.maps.Map(document.getElementById(base.el.prop('id')), {
72				zoom: base.options.zoom,
73				mapTypeId: base.options.mapType,
74				streetViewControl: base.options.streetViewControl,
75				scrollwheel: base.options.scrollwheel,
76				zoomControl: base.options.zoomControl,
77				styles: base.options.styles
78			});
79		};
80		
81		// Initialize marker.
82		base.initMarker = function() {
83			if (!base.options.markerDisplay)
84				return;
85			
86			if (base.options.markers) {
87				if (base.options.markers.length) {
88					$(base.options.markers).each(function(i, el) {
89						var themarker = 'marker' + i;
90						
91						if (el.position) {
92							base.themarker = new google.maps.Marker({
93								map: base.map,
94								title: el.title,
95								position : base.createLatLng(el.position),
96								draggable: false,
97								icon: typeof el.icon != 'undefined' ? el.icon : base.options.markerIcon
98							});
99							
100							if (el.content) {
101								var content = base.stripslashes(el.content);
102								var infowindow = new google.maps.InfoWindow();
103							
104								google.maps.event.addListener(base.themarker,'click', (function(themarker,content,infowindow) {
105									return function() {
106										infowindow.setContent(content);
107										infowindow.open(base.map,themarker);
108									};
109								})(base.themarker,content,infowindow));
110								
111								google.maps.event.addListener(base.map, 'click', function() {
112									infowindow.close();
113								});
114							}
115							
116							if (base.multiMarks) {
117								base.latlngbounds.extend(base.themarker.getPosition());
118							}
119						} else if (el.address) {
120							base.geocoder.geocode({'address': el.address}, function(results, status) {
121								if (status == google.maps.GeocoderStatus.OK) {
122									var lat = parseFloat(results[0].geometry.location.lat().toFixed(7));
123									var lon = parseFloat(results[0].geometry.location.lng().toFixed(7));
124									
125									base.themarker = new google.maps.Marker({
126										map: base.map,
127										title: el.title,
128										draggable: false,
129										icon: typeof el.icon != 'undefined' ? el.icon : base.options.markerIcon
130									});
131									
132									base.themarker.setPosition(new google.maps.LatLng(lat,lon));
133									
134									if (base.multiMarks) {
135										base.latlngbounds.extend(base.themarker.getPosition());
136									}
137									
138									if (el.content) {
139										var content = base.stripslashes(el.content);
140										var infowindow = new google.maps.InfoWindow();
141									
142										google.maps.event.addListener(base.themarker,'click', (function(themarker,content,infowindow) {
143											return function() {
144												infowindow.setContent(content);
145												infowindow.open(base.map,themarker);
146											};
147										})(base.themarker,content,infowindow));
148										
149										google.maps.event.addListener(base.map, 'click', function() {
150											infowindow.close();
151										});
152									}
153								}
154							});
155						} else {
156							base.themarker = null;
157						}
158					});
159				} else {
160					base.map.setCenter(base.createLatLng(base.options.center));
161				}
162			} else {
163				base.marker = new google.maps.Marker({
164					map: base.map,
165					draggable: base.options.markerDraggable,
166					icon: base.options.markerIcon
167				});
168			}
169		};
170		
171		base.initPositions = function() {
172			if (base.options.markers) {
173				if (base.multiMarks) {
174					setTimeout( function() {
175						if (base.latlngbounds.getCenter().lat().toString() != 0 && base.latlngbounds.getCenter().lng().toString() != -180) {
176							base.map.setCenter(base.latlngbounds.getCenter());
177							base.map.fitBounds(base.latlngbounds);
178						} else {
179							base.map.setCenter(base.createLatLng(base.options.center));
180						}
181					}, 2000);
182				} else {
183					$(base.options.markers).each(function(i, el) {
184						var themarker = 'marker' + i;
185						
186						if (el.position) {
187							base.map.setCenter(base.createLatLng(el.position));
188							base.themarker.setPosition(base.createLatLng(el.position));
189						} else if (el.address) {
190							base.geocoder.geocode( {address: el.address}, function(results, status) {
191								if (status == google.maps.GeocoderStatus.OK) {
192									base.map.setCenter(results[0].geometry.location);
193									base.themarker.setPosition(results[0].geometry.location);
194								}
195							});
196						}
197					});
198				}
199			}
200		};
201		
202		// Initialize the map and marker position.
203		base.initPos = function() {
204			// 1st priority: the lat and lng options.
205			if ( parseFloat(base.options.lat) || parseFloat(base.options.lng) )
206			{
207				base.setPos( new google.maps.LatLng(base.options.lat, base.options.lng) );
208			}
209			// 2nd priority: the coordinates input value.
210			else if ( base.inputCoords.val() )
211			{
212				base.setPos(base.createLatLng(base.inputCoords.val()));
213			}
214			// 3rd priority: the address input value.
215			else if ( base.inputAddress.val() )
216			{
217				base.geocoder.geocode( {address: base.inputAddress.val()}, function(results, status) 
218				{
219					if (status == google.maps.GeocoderStatus.OK) 
220					{
221						base.setPos(results[0].geometry.location);
222					}
223				});
224			}
225			// 4th priority: locations coordinates
226			else if (base.options.locationCoordonates) 
227			{
228				base.setPos(base.createLatLng(base.options.locationCoordonates));
229			}
230			// 5th priority: base.options.center
231			else if (base.options.center) 
232			{
233				base.setPos(base.createLatLng(base.options.center));
234			}
235			else {
236				base.setPos( new google.maps.LatLng(0,0) );
237			}
238		};
239		
240		// Set the map and marker positon.
241		base.setPos = function(latLng) {
242			base.map.setCenter(latLng);
243			
244			if (base.options.markerDisplay) {
245				base.marker.setPosition(latLng);
246			}
247		};
248		
249		// Create lat & lng from string
250		base.createLatLng = function(string) {
251			string = string.split(',');
252			return new google.maps.LatLng(string[0],string[1]);
253		};
254		
255		// Add a on drag end event to the marker.
256		base.setMarkerOnDragEnd = function() {
257			if (!base.options.markerDisplay)
258				return;
259			
260			if (base.options.markers) 
261				return;
262			
263			google.maps.event.addListener(base.marker, 'dragend', function() {
264				base.geocoder.geocode({latLng: base.marker.getPosition()}, function(results, status) {
265					if (status == google.maps.GeocoderStatus.OK) {
266						base.inputCoords.val(base.marker.getPosition().toUrlValue());
267						base.inputAddress.val(results[0].formatted_address);
268							
269						if (typeof base.options.markerOnDragEnd != 'function') {
270							return;
271						}
272						
273						// Call the user defined on drag event.
274						base.options.markerOnDragEnd(results[0]);
275					} else {
276						base.inputAddress.val('');
277					}
278				});
279			});
280		};
281		
282		// Add a on key up event to the address input.
283		base.inputAddressOnKeyUp = function() {
284			var addressSelector = base.options.radiusSearch ? base.radiusLocation : base.inputAddress;
285			
286			$(addressSelector).on('keyup', function() {
287				addressSelector.parent().find('.' + base.options.resultsWrapperClass).remove();
288				
289				if ($.trim(addressSelector.val())) {
290					base.geocoder.geocode( {address: addressSelector.val()}, function(results, status) {
291						if (status == google.maps.GeocoderStatus.OK) {
292							var results_wrapper = $('<div class="' + base.options.resultsWrapperClass + '"><ul class="' + base.options.resultsClass + '"></ul></div>');
293							addressSelector.after(results_wrapper);
294							
295							$(results).each(function(index, item) {
296								var li = $('<li>' + item.formatted_address + '</li>').click(function() {
297									if (base.options.radiusSearch) {
298										addressSelector.val(item.formatted_address);
299										base.map.setCenter(item.geometry.location);
300									} else {
301										addressSelector.val(item.formatted_address);
302										base.inputCoords.val( item.geometry.location.lat().toFixed(7) + ',' + item.geometry.location.lng().toFixed(7) );
303										base.setPos(item.geometry.location);
304									}
305									
306									results_wrapper.remove();
307								});
308								
309								results_wrapper.find('ul').append(li);  
310							});
311							
312							$(document).click( function(event) {
313								if( $(event.target).parents().index(results_wrapper) == -1 ) {
314									results_wrapper.remove();
315								}
316							});
317						}
318					});
319				} else {
320					if (!base.options.radiusSearch) {
321						base.inputCoords.val('');
322						base.setPos( new google.maps.LatLng(0, 0) );
323					}
324				}
325			});
326		};
327		
328		// Add a pin-point trigger
329		base.pinpoint = function() {
330			var pinpoint = function() {
331				if ($.trim(base.inputAddress.val())) {
332					base.geocoder.geocode({address: base.inputAddress.val()}, function(results, status) {
333						if (status == google.maps.GeocoderStatus.OK) {
334							base.setPos(results[0].geometry.location);
335							base.inputCoords.val(results[0].geometry.location.lat().toFixed(7) + ',' + results[0].geometry.location.lng().toFixed(7) );
336						}
337					});
338				}
339			}
340			
341			if (typeof base.pinpointBtn != 'undefined') {
342				base.pinpointBtn.on('click', pinpoint);
343			}
344		};
345		
346		// 	Add a on change event to the coordinates input.
347		base.inputCoordsOnChange = function() {
348			var inputCoordsOnChange = function() {
349				if (base.inputCoords.val() == '') {
350					return;
351				}
352				
353				var coordinatesString = base.inputCoords.val();
354				if (coordinatesString.indexOf(',') != -1) {
355					var coords = base.createLatLng(coordinatesString);
356					
357					if (!isNaN(coords.lat()) && !isNaN(coords.lng()))
358					{
359						base.setPos(coords);
360						base.geocoder.geocode({latLng: base.marker.getPosition()}, function(results, status) {
361							if (status == google.maps.GeocoderStatus.OK) {
362								base.inputAddress.val(results[0].formatted_address);
363							} else {
364								base.inputAddress.val('');
365							}
366						});
367					}
368				}
369			}
370			
371			$(base.inputCoords).on('input', inputCoordsOnChange);
372		};
373		
374		// 	Get directions button
375		base.getDirections = function() {
376			if (base.options.directionsPanel && base.directionsFrom && base.directionsBtn) {
377				var getDirections = function() {
378					base.directionsDisplay.setMap(base.map);
379					base.directionsDisplay.setPanel(document.getElementById(base.options.directionsPanel));
380					
381					var request = {
382						origin: base.directionsFrom.val(),
383						destination: base.createLatLng(base.options.locationCoordonates),
384						travelMode: google.maps.TravelMode.DRIVING
385					};
386					
387					base.directionsService.route(request, function(response, status) {
388						if (status == google.maps.DirectionsStatus.OK) {
389							$('#rsepro-map-directions-error').css('display','none');
390							base.directionsDisplay.setDirections(response);
391						} else {
392							base.directionsDisplay.setMap(null);
393							$('#rsepro-map-directions-error').html(base.directionNoResults);
394							$('#rsepro-map-directions-error').css('display','');
395							$('#rsepro-directions-panel').html('');
396						}
397					});
398				}
399				
400				base.directionsBtn.on('click', getDirections);
401			}
402		};
403		
404		base.panToCenter = function() {
405			var panToCenter = function(position) {
406				var currentzoom = base.map.getZoom();
407				if (currentzoom <= 2) {
408					base.map.panTo(position);
409					base.map.setZoom(5);
410				}
411			}
412			
413			google.maps.event.addListener(base.map, 'click', function(e) {
414				panToCenter(e.latLng);
415			});
416		};
417		
418		
419		// Set the default position
420		base.setRadiusPos = function() {
421			var coords = {
422				initialLat  : '',
423				initialLong : ''
424			};		
425			base.process('initial');
426			
427			if (navigator.geolocation && base.options.use_geolocation) {
428				navigator.geolocation.getCurrentPosition(function(position) {
429					coords.initialLat 	= position.coords.latitude;
430					coords.initialLong 	= position.coords.longitude;
431					base.process('initial', coords)
432				}, function() {
433					base.process('initial');
434				});
435			}
436		};
437		
438		// track the load of the map
439		base.track = 0;
440		
441		base.process = function(type, coords) {	
442			var use_geocoder = true;
443			if (typeof coords != 'undefined') {
444				use_geocoder = false;
445			}
446			
447			if (use_geocoder) {
448				base.geocoder.geocode({'address': base.radiusLocation.val()}, function(results, status) {
449					if (status == google.maps.GeocoderStatus.OK) {
450						if (base.track == 0) {
451							base.map.setCenter(results[0].geometry.location);
452							var searchCenter = results[0].geometry.location;
453							base.processCircle(searchCenter);
454							if (typeof type != 'undefined' && type == 'initial') {
455								base.processCreateMarkers(results[0].geometry.location.lat(), results[0].geometry.location.lng());
456							}
457							base.track++;
458						}
459					}
460				});
461			} else {
462				var initialLocation = new google.maps.LatLng(coords.initialLat, coords.initialLong);
463				if (initialLocation) {
464					base.map.setCenter(initialLocation);
465					var searchCenter = initialLocation;
466					base.processCircle(searchCenter);
467					base.geocoder.geocode({'latLng': initialLocation}, function(results, status){
468						if (status == google.maps.GeocoderStatus.OK) {
469							 if (results[1]) {
470								base.radiusLocation.val(results[1].formatted_address);
471								if (typeof type != 'undefined' && type == 'initial') {
472									base.processCreateMarkers(coords.initialLat, coords.initialLong);
473								}
474							 }
475						}
476					});
477					base.track++;
478				}
479			}
480		};
481		
482		base.processCircle = function (searchCenter) {
483			var unit_value = base.radiusUnit.val() == 'miles' ? 1609.34 : 1000;
484			var radiusValue = base.radiusValue.val() == '' ? 100 : base.radiusValue.val();
485			var radius = parseInt(radiusValue, 10) * unit_value;
486			
487			if (base.circle) {
488				base.circle.setMap(null);
489			}
490			
491			base.circle = new google.maps.Circle({
492				center:	searchCenter,
493				radius: radius,
494				fillOpacity: 0.35,
495				fillColor: base.options.circleColor,
496				map: base.map
497			});
498			
499			var bounds = new google.maps.LatLngBounds();
500			var foundMarkers = 0;
501				
502			for (var i = 0; i < base.markers.length; i++) {
503				if (google.maps.geometry.spherical.computeDistanceBetween(base.markers[i].getPosition(), searchCenter) < radius) {
504					bounds.extend( base.markers[i].getPosition() );
505					base.markers[i].setMap(base.map);
506					foundMarkers++;
507				} else {
508					base.markers[i].setMap(null);
509				}
510			}
511			
512			if (foundMarkers > 0) {
513				if (bounds.getNorthEast().equals( bounds.getSouthWest())) {
514					var extendPoint1 = new google.maps.LatLng( bounds.getNorthEast().lat() + 0.001, bounds.getNorthEast().lng() + 0.001 );
515					var extendPoint2 = new google.maps.LatLng( bounds.getNorthEast().lat() - 0.001, bounds.getNorthEast().lng() - 0.001 );
516					bounds.extend(extendPoint1);
517					bounds.extend(extendPoint2);
518				}
519			 
520				base.map.fitBounds(bounds);
521			} else {
522				base.map.fitBounds(base.circle.getBounds());
523			}
524		};
525		
526		base.processCreateMarkers = function (lat, lng) {
527			base.radiusLoader.css('display', '');
528			var radiusValue = base.radiusValue.val() == '' ? 100 : base.radiusValue.val();
529			var filters	= $('.rsepro-filter-filters input').length ? '&' + $('.rsepro-filter-filters input').serialize() : '';
530			var data = 'Itemid='+ parseInt($('#rsepro-itemid').text()) + filters + '&unit='+ base.radiusUnit.val() + '&radius=' + radiusValue + '&startpoint=' + lat + ',' + lng;
531			var rse_root = typeof rsepro_root != 'undefined' ? rsepro_root : '';
532			
533			$.ajax({
534				type: 'post',
535				dataType: 'json',
536				url: rse_root + 'index.php?option=com_rseventspro&task=rseventspro.getajaxmap',
537				data: data,
538				success: function(json) {
539					
540					if ($('#rsepro-map-results').length) {
541						$('#rsepro-map-results').empty().parent().hide();
542					}
543					
544					try {
545						json.length;
546						base.initInfoWindow();
547						
548						// Create the markers.
549						$(json).each(function(i, element) {
550							base.createMarker(element);
551						});
552					} catch(e) {}
553					base.radiusLoader.css('display', 'none');
554				}
555			});
556		};
557		
558		// Create marker
559		base.createMarker = function(element) {
560			var marker = new google.maps.Marker({
561				position: base.createLatLng(element.coords),
562				map: base.map,
563				icon: typeof element.marker != 'undefined' ? element.marker : base.options.markerIcon
564			});
565			
566			if ($('#rsepro-map-results').length) {
567				var $table 	= $('#rsepro-map-results');
568				var $row 	= $('<tr>');
569				
570				// Image
571				var $image 	= $(element.image);
572				var $cell 	= $('<td>').addClass('center text-center').append($image);
573				$row.append($cell);
574				
575				// Info
576				var $button = $('<button type="button" class="btn btn-primary btn-block"><i class="fa fa-map-marker"></i></button>').click(function(e){ 
577					e.preventDefault();
578					base.map.setCenter(base.createLatLng(element.coords));
579					google.maps.event.trigger(marker, 'click');
580					$('html, body').animate({
581						scrollTop: $(base.el).offset().top
582					}, 1000);
583				});
584				
585				var $cell = $('<td>').append(element.info);
586				$cell.append($button);
587				
588				$row.append($cell);
589				
590				// Append row
591				$table.append($row);
592				
593				$table.parent().show();
594			}
595			
596			google.maps.event.addListener(marker, 'click', function() {
597				base.infoWindow.setContent(base.stripslashes(element.content));
598				base.infoWindow.open(base.map, marker);	
599			});
600			
601			base.markers.push(marker);
602		};
603		
604		// Clear markers.
605		base.clearMarkers = function() {
606			for (var i = 0; i < base.markers.length; i++) {
607				base.markers[i].setMap(null);
608			}
609			
610			base.markers = [];
611		};
612		
613		// Initialize the info window.	
614		base.initInfoWindow = function() {
615			base.infoWindow = new google.maps.InfoWindow();	
616		};
617		
618		base.bindRadiusSearch = function() {
619			base.radiusBtn.on('click',function() {
620				var errors = false;
621				
622				// Remove errors
623				base.radiusLocation.parents('.control-group').removeClass('error');
624				base.radiusValue.parents('.control-group').removeClass('error');
625					
626				// Validate location
627				if (!$.trim( base.radiusLocation.val())) {
628					base.radiusLocation.parents('.control-group').addClass('error');
629					errors = true;
630				}
631					
632				// Validate radius
633				if ( !/^\d+$/.test( base.radiusValue.val() ) || parseInt( base.radiusValue.val(), 10 ) <= 0 ) {
634					base.radiusValue.parents('.control-group').addClass('error');
635					errors = true;
636				}
637					
638				// Stop the execution of the function if there are errors
639				if (errors) {
640					$('html,body').animate({scrollTop: $('#adminForm').offset().top});
641					return;
642				}
643				
644				base.radiusLoader.css('display','');
645				base.clearMarkers();
646				
647				base.geocoder.geocode( {'address': base.radiusLocation.val()}, function(results, status) {
648					var radiusValue = base.radiusValue.val() == '' ? 100 : base.radiusValue.val();
649					var filters	= $('.rsepro-filter-filters input').length ? '&' + $('.rsepro-filter-filters input').serialize() : '';
650					var data = 'Itemid='+ parseInt($('#rsepro-itemid').text()) + filters + '&unit='+ base.radiusUnit.val() + '&radius=' + radiu
650sValue;
651					
652					if (status == google.maps.GeocoderStatus.OK) {						
653						data = data + '&startpoint=' + results[0].geometry.location.lat() + ',' + results[0].geometry.location.lng();
654						base.createAjaxRequest(data);
655					} else {
656						base.createAjaxRequest(data);
657					}
658				});
659			});
660		};
661		
662		base.createAjaxRequest = function (data) {
663			var rse_root = typeof rsepro_root != 'undefined' ? rsepro_root : '';
664			$.ajax({
665				type: 'post',
666				dataType: 'json',
667				url: rse_root + 'index.php?option=com_rseventspro&task=rseventspro.getajaxmap',
668				data: data,
669				success: function(json) {
670					if ($('#rsepro-map-results').length) {
671						$('#rsepro-map-results').empty().parent().hide();
672					}
673					
674					try {
675						json.length;
676						base.initInfoWindow();
677						
678						// Create the markers.
679						$(json).each(function(i, element) {
680							base.createMarker(element);
681						});
682					} catch(e) {}
683					
684					base.track = 0;
685					base.process();
686					base.radiusLoader.css('display','none');
687				}
688			});
689		};
690		
691		base.setOptions = function (data) {
692			base.map.setOptions(data);
693		};
694		
695		base.stripslashes = function(str) {
696			return (str + '').replace(/\\(.?)/g, function (s, n1) {
697				switch (n1) {
698					case '\\':
699						return '\\';
700					case '0':
701						return '\u0000';
702					case '':
703						return '';
704					default:
705						return n1;
706				}
707			});
708		};
709		
710		if (typeof google != 'undefined') {
711			base.init();
712		}
713		
714		return base;
715	};
716	
717	// Set the default options
718	$.fn.rsjoomlamap.defaultOptions = {
719		address:				'',
720		center:					null,
721		lat:					null,
722		lng:					null,
723		coordinates:			'',
724		pinpointBtn:			null,
725		markers: 				null,
726		zoom: 					5,
727		mapType: 				'roadmap',
728		streetViewControl:		false,
729		scrollwheel:			false,
730		zoomControl:			true,
731		inputAddress:			null,
732		inputLat:				null,
733		inputLng:				null,
734		inputCoords:			null,
735		directionsPanel:		null,
736		directionsBtn: 			null,
737		directionsFrom: 		null,
738		directionNoResults:		'No directions were found.',
739		markerDisplay: 			true,
740		markerDraggable: 		false,
741		markerOnDragEnd: 		null,
742		markerIcon:				'',
743		radiusSearch: 			0,
744		use_geolocation: 		0,
745		circleColor:			'#ff8080',
746		radiusLocationId:		'rsepro-location',
747		radiusValueId:			'rsepro-radius',
748		radiusUnitId:			'rsepro-unit',
749		radiusLoaderId: 		'rsepro-loader',
750		radiusBtnId:	 		'rsepro-radius-search',
751		resultsWrapperClass:	'rsepro-map-results-wrapper',
752		resultsClass:			'rsepro-map-results',
753		styles:					[]
754	};
755})(jQuery);
756
757if (typeof RSEProMap !== 'object') {
758	var RSEProMap = {};
759}
760
761RSEProMap.initGoogleMaps = function() {};

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.