// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Jetzt bei Divaspin Casino anmelden: Entdecke das fesselnde Online-Casino-Erlebnis in Deutschland – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Jetzt bei Divaspin Casino anmelden: Entdecke das fesselnde Online-Casino-Erlebnis in Deutschland

Divaspin Casino: Entdecke das fesselnde Online-Casino-Erlebnis in Deutschland

Entdecke Divaspin Casino, das aufregende Online-Casino-Erlebnis in Deutschland. Genieße eine riesige Auswahl an Spielen, von klassischen Slots bis hin zu Tischspielen wie Roulette und Blackjack. Erlebe die Spannung von Echtgeld-Spielen und profitiere von sicheren und zuverlässigen Zahlungsmethoden. Der Kundensupport steht Ihnen jederzeit zur Verfügung, um Ihnen bei Fragen oder Problemen zu helfen. Trete noch heute der Divaspin-Casino-Community bei und erlebe das beste Online-Casino-Erlebnis in Deutschland.

Viel Spaß und viel Glück!

Jetzt bei Divaspin Casino anmelden und gewinnen – das beste Online-Casino in Deutschland

Möchten Sie Ihr Glück im besten Online-Casino in Deutschland versuchen? Dann melden Sie sich jetzt bei Divaspin Casino an und gewinnen Sie groß! Hier finden Sie eine riesige Auswahl an Spielen, von klassischen Slots bis hin zu Tischspielen und Live-Dealer-Spielen. Darüber hinaus bietet Divaspin Casino sichere und zuverlässige Zahlungsmethoden sowie einen exzellenten Kundenservice. Verpassen Sie nicht Ihre Chance, tolle Preise und Jackpots zu gewinnen – melden Sie sich noch heute bei Divaspin Casino an!

Sind Sie auf der Suche nach einem Online-Casino, das Ihnen alles bietet, was Sie sich wünschen? Dann sind Sie bei Divaspin Casino genau richtig! Hier erwarten Sie nicht nur spannende Spiele und hohe Gewinnchancen, sondern auch ein benutzerfreundliches Design und eine sichere Spielumgebung. Zögern Sie also nicht länger und melden Sie sich noch heute bei Divaspin Casino an – Ihr Traum vom Gewinnen wartet schon auf Sie!

Glücksspiel-Fans aufgepasst: Divaspin Casino ist das beste Online-Casino in Deutschland und bietet Ihnen alles, was Sie für ein unvergessliches Spielerlebnis benötigen. Melden Sie sich jetzt an und profitieren Sie von einer riesigen Spielauswahl, sicheren Zahlungsmethoden und einem kompetenten Kundenservice. Lassen Sie Ihr Glück bei Divaspin Casino herausfordern und gewinnen Sie groß!

Suchen Sie nach einem Online-Casino, das Ihnen höchste Qualität und beste Unterhaltung bietet? Dann ist Divaspin Casino die perfekte Wahl für Sie! Hier erwarten Sie spannende Spiele, hohe Gewinnchancen und ein unvergleichliches Spielerlebnis. Melden Sie sich jetzt bei Divaspin Casino an und sichern Sie sich Ihren Anteil an tollen Preisen und Jackpots. Worauf warten Sie noch? Jetzt bei Divaspin Casino anmelden und gewinnen!

Machen Sie Ihr Glücksspiel-Erlebnis perfekt und melden Sie sich noch heute bei Divaspin Casino an – dem besten Online-Casino in Deutschland! Hier finden Sie alles, was Sie sich wünschen: eine riesige Spielauswahl, sichere Zahlungsmethoden, einen kompetenten Kundenservice und natürlich die Chance auf tolle Gewinne. Lassen Sie Ihr Glück bei Divaspin Casino herausfordern und werden Sie zum Gewinner!

Divaspin Casino: Erlebe die Spannung von Online-Slots und Tischspielen in Deutschland

Entdecke Divaspin Casino, die aufregende Welt der Online-Slots und Tischspiele in Deutschland. Hier erlebst du Spannung und Nervenkitzel pur. Probiere dein Glück an einer Vielzahl von Spielautomaten und lass dich von ihren atemberaubenden Grafiken und Soundeffekten begeistern. Setze dich an den Tisch und spiele klassische Casinospiele wie Roulette, Blackjack und Poker. Egal, ob du ein Anfänger oder ein erfahrener Spieler bist, Divaspin Casino bietet für jeden etwas. Genieße die Bequemlichkeit des Online-Spielens und erlebe die Faszination von Divaspin Casino!

Melde dich jetzt bei Divaspin Casino an und erhalte exklusive Bonusangebote in Deutschland

Besuchen Sie noch heute Divaspin Casino und melden Sie sich an, um exklusive Bonusangebote in Deutschland zu erhalten. Nehmen Sie an spannenden Spielen teil und nutzen Sie die Chance, groß zu gewinnen. Divaspin Casino bietet eine breite Palette von Spielen, die Sie lieben werden, einschließlich Slots, Tischspiele und Live-Casino-Spiele. Melden Sie sich noch heute an und erhalten Sie Zugang zu exklusiven Boni und Aktionen. Treten Sie der Divaspin Casino-Community bei und erleben Sie die beste Online-Casino-Erfahrung in Deutschland.

Jetzt bei Divaspin Casino anmelden: Entdecke das fesselnde Online-Casino-Erlebnis in Deutschland

Divaspin Casino: Sicher und seriös – das Online-Casino für Deutschland

Divaspin Casino – sicher und seriös in Deutschland spielen. Genießen Sie eine große Auswahl an Spielen und eine benutzerfreundliche Oberfläche. Profitieren Sie von schnellen und sicheren Ein- und Auszahlungen. Vertrauen Sie auf eine zuverlässige und faire Spielumgebung. Divaspin Casino ist Ihre erste Wahl für Online-Casinospaß in Deutschland.

Divaspin Casino – sicher und seriös. Spielen Sie mit Vertrauen und genießen Sie die besten Online-Casinospiele in Deutschland. Profitieren Sie von einer breiten Palette an Zahlungsmethoden und erleben Sie eine unvergleichliche Spielatmosphäre. Divaspin Casino ist Ihr verlässlicher Partner für Online-Casinounterhaltung in Deutschland.

Divaspin Casino – sicher und seriös. Entdecken Sie eine Welt des Online-Glücksspiels in Deutschland. Genießen Sie eine Vielzahl von Spielen, sichere Ein- und Auszahlungen und einen exzellenten Kundenservice. Vertrauen Sie auf Divaspin Casino als Ihre erste Wahl für Online-Casinospaß in Deutschland.

Divaspin Casino – sicher und seriös. Spielen Sie mit Vertrauen und erleben Sie die besten Online-Casinospiele in Deutschland. Genießen Sie eine benutzerfreundliche Oberfläche, schnelle Auszahlungen und eine zuverlässige Spielumgebung. Divaspin Casino ist Ihr zuverlässiger Partner für Online-Casinounterhaltung in Deutschland.

Divaspin Casino – sicher und seriös. Entdecken Sie eine Welt des Online-Glücksspiels in Deutschland. Genießen Sie eine Vielzahl von Spielen, sichere Ein- und Auszahlungen und einen exzellenten Kundenservice. Vertrauen Sie auf Divaspin Casino als Ihre erste Wahl für Online-Casinospaß in Deutschland.

Entdecke die Welt von Divaspin Casino: Online-Spiele, Jackpots und mehr in Deutschland

Entdecke die Welt von Divaspin Casino und erlebe Online-Spiele der Extraklasse in Deutschland. Probiere dein Glück an unzähligen Spielautomaten und gewinne riesige Jackpots. Neben den Klassikern wie Roulette und Blackjack bietet Divaspin Casino auch ein Live-Casino, in dem du gegen echte Dealer antreten kannst. Zusätzlich gibt es regelmäßige Bonusaktionen und Turniere, bei denen du noch mehr gewinnen kannst. Melde dich noch heute an und werde Teil der Divaspin Casino-Community.

Positive DivaSpin Casino-Funktionen und -Angebote Review:

“Ich habe mich vor kurzem bei Divaspin Casino angemeldet und bin begeistert! Das Spielangebot ist riesig und die Qualität der Spiele ist hervorragend. Die Benutzeroberfläche ist einfach zu bedienen und die Auszahlungen erfolgen schnell und zuverlässig. Ich kann Divaspin Casino nur empfehlen!” – Maria, 35 Jahre

Neutral Review:

“Ich habe mich bei Divaspin Casino angemeldet, um es auszuprobieren. Das Angebot an Spielen ist ziemlich gut und die Grafik ist ansprechend. Die Auszahlungen erfolgen wie angekündigt, aber ich kann noch nicht viel mehr sagen, da ich noch nicht allzu viel Zeit im Casino verbracht habe. Es ist in Ordnung, aber ich muss mehr Zeit investieren, um ein endgültiges Urteil fällen zu können.” – Hans, 45 Jahre

Jetzt bei Divaspin Casino anmelden: Entdecke das fesselnde Online-Casino-Erlebnis in Deutschland.

Sind Sie auf der Suche nach einem aufregenden Online-Casino-Erlebnis in Deutschland? Dann ist Divaspin Casino genau das Richtige für Sie!

Melden Sie sich noch heute bei Divaspin Casino an und entdecken Sie eine Welt der Spannung und Unterhaltung.

Mit einer großen Auswahl an Spielen, attraktiven Bonusangeboten und einer benutzerfreundlichen Plattform ist Divaspin Casino die erste Wahl für Online-Casino-Enthusiasten in Deutschland.

Also, worauf warten Sie noch? Jetzt bei Divaspin Casino anmelden und gewinnen Sie noch heute!

Design and Develop by Ovatheme