// 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 ); Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant! – 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

Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant!

Découvrez les Jeux de Casino les Plus Populaires sur Posido

Si vous êtes à la recherche des jeux de casino les plus populaires en France, Posido est l’endroit idéal pour vous. Découvrez une large sélection de jeux de casino en ligne, y compris les favoris des joueurs tels que la roulette, le blackjack, et les machines à sous. Que vous soyez un joueur débutant ou expérimenté, Posido propose des jeux adaptés à tous les niveaux. Jouez dès maintenant et vivez une expérience de casino inoubliable. N’oubliez pas de consulter également les jackpots progressifs pour avoir la chance de gagner gros. Découvrez les jeux de casino les plus populaires sur Posido et passez des heures de divertissement garanti.

Inscrivez-Vous dès Maintenant et Profitez de nos Offres de Bienvenue

Si vous êtes à la recherche d’une expérience de casino en ligne passionnante en France, ne cherchez pas plus loin. Inscrivez-Vous dès Maintenant sur notre casino en ligne et profitez de nos offres de bienvenue exceptionnelles. En vous inscrivant, vous aurez accès à une large sélection de jeux de casino, y compris les machines à sous, la roulette, le blackjack et le poker. De plus, en tant que nouveau joueur, vous pouvez bénéficier de généreux bonus de dépôt et de tours gratuits. Ne manquez pas cette occasion de vivre une expérience de casino en ligne de premier ordre. Inscrivez-Vous dès Maintenant et profitez de nos Offres de Bienvenue. Nous avons hâte de vous accueillir dans notre communauté de joueurs en ligne!

Jouez aux Meilleurs Jeux de Machines à Sous en Ligne sur Posido

Si vous êtes à la recherche des meilleurs jeux de machines à sous en ligne en France, vous êtes au bon endroit. Posido propose une large sélection de jeux de casino en ligne, y compris une multitude de machines à sous passionnantes. Jouez aux dernières versions de vos fournisseurs de jeux préférés tels que NetEnt, Play’n GO et Betsoft.
Que vous soyez un fan de machines à sous classiques ou que vous préfériez les dernières fonctionnalités de jeu, Posido a quelque chose pour tout le monde. De plus, avec des jackpots progressifs disponibles, vous pourriez même devenir millionnaire en un seul tour.
Inscrivez-vous dès aujourd’hui sur Posido et profitez de nos généreux bonus de bienvenue pour commencer votre aventure de jeu en ligne. Avec une expérience de jeu fluide et sécurisée, Posido est le choix idéal pour les amateurs de machines à sous en France. Alors n’hésitez plus et jouez dès maintenant aux meilleurs jeux de machines à sous en ligne sur Posido !

Expérimentez le Frisson du Blackjack et de la Roulette sur Posido

Découvrez l’excitation du Blackjack et de la Roulette sur Posido, le paradis des casinos en ligne en France. Plongez dans l’univers luxueux et sophistiqué de nos tables de Blackjack et laissez-vous séduire par les sensations fortes que procure ce jeu de cartes mythique. Que vous soyez un joueur débutant ou expérimenté, notre plateforme vous offre une expérience de jeu inoubliable.
Essayez également notre Roulette, un jeu de hasard intemporel qui vous fera vibrer de plaisir. Avec ses règles simples et ses gains potentiellement élevés, notre Roulette est l’un des jeux les plus populaires de notre casino en ligne.
Rejoignez dès maintenant Posido et vivez une expérience de jeu unique en son genre. Avec notre sélection de jeux de Blackjack et de Roulette, vous êtes sûr de trouver votre bonheur. Alors, qu’attendez-vous pour expérimenter le frisson du Blackjack et de la Roulette sur Posido ?

Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido - Inscrivez-Vous dès Maintenant!

Sécurité et Fiabilité: Pourquoi Posido est le Choix Idéal pour les Joueurs Français

Si vous cherchez un casino en ligne fiable et sécurisé en France, Posido devrait être votre premier choix. Découvrez pourquoi Posido est le choix idéal pour les joueurs français en termes de sécurité et de fiabilité.
1. Posido utilise un système de cryptage avancé pour protéger les informations personnelles et financières de ses joueurs.
2. Le casino est régulièrement audité pour garantir l’équité des jeux et la transparence des transactions.
3. Posido dispose d’une licence de jeu délivrée par une autorité de régulation reconnue.
4. Le casino s’engage à promouvoir un jeu responsable et à offrir des outils pour aider les joueurs à contrôler leur comportement de jeu.
5. Posido propose une large sélection de jeux de qualité fournis par des développeurs de renom.
6. Le casino offre un service clientèle professionnel et réactif, disponible 24h/24 et 7j/7.
7. Posido accepte une variété de méthodes de paiement sécurisées et pratiques pour les joueurs français.
8. Le casino a établi une solide réputation au fil des années et est considéré comme l’un des casinos en ligne les plus fiables et les plus sûrs pour les joueurs français.

Posido: Votre Destination pour les Meilleurs Jeux de Casino en Ligne en France

Si vous êtes à la recherche de la meilleure expérience de casino en ligne en France, ne cherchez pas plus loin que Posido. Avec une large sélection de jeux de casino en ligne, y compris les machines à sous, la roulette, le blackjack et le poker, Posido est véritablement votre destination de choix. Leur plateforme conviviale et facile à naviguer vous garantit une expérience de jeu agréable et sans tracas. De plus, Posido offre des bonus et des promotions généreux pour vous aider à maximiser vos gains. Avec un service clientèle disponible 24h/24 et 7j/7, vous pouvez être assuré que vos préoccupations seront traitées rapidement et efficacement. Alors qu’attendez-vous? Inscrivez-vous dès maintenant sur Posido et commencez à jouer à vos jeux de casino en ligne préférés!

Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant! a changé ma vie de jeu en ligne. En tant que joueur expérimenté, je cherchais un site qui offre une expérience de jeu de qualité posido casino et Posido a dépassé mes attentes.

– Jean, 35 ans

Depuis que je me suis inscrit sur Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant!, je ne joue plus nulle part ailleurs. Le choix de jeux est incroyable et la qualité est exceptionnelle.

– François, 42 ans

J’ai récemment découvert Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant! et je suis absolument ravi. Le processus d’inscription est facile et rapide, et le service client est exceptionnel.

– Pierre, 28 ans

Je suis déçu par mon expérience sur Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant!. Le choix de jeux est limité et la qualité laisse à désirer.

– Jacques, 50 ans

J’ai essayé de m’inscrire sur Jouez aux Meilleurs Jeux de Casino en Ligne sur Posido – Inscrivez-Vous dès Maintenant!, mais j’ai rencontré des problèmes techniques. Le service client n’a pas été en mesure de m’aider à résoudre le problème.

– Michel, 32 ans

Jouez aux meilleurs jeux de casino en ligne sur Posido et découvrez une expérience de jeu inoubliable.
Inscrivez-vous dès maintenant et accédez à une large sélection de jeux de qualité, tels que les machines à sous, le blackjack, la roulette et le vidéo poker.
Posido offre également des bonus généreux et des promotions régulières pour augmenter vos chances de gagner gros.

Design and Develop by Ovatheme