// 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 ); Découvrez Roobet : Jouez au Casino en Ligne en Toute Sécurité en France – 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

Découvrez Roobet : Jouez au Casino en Ligne en Toute Sécurité en France

Comprendre les Fondamentaux de Roobet : Un Casino en Ligne Français Fiable

Si vous êtes à la recherche d’un casino en ligne fiable et français, Roobet est une excellente option. Comprendre les fondamentaux de Roobet est essentiel pour profiter pleinement de votre expérience de jeu. Tout d’abord, Roobet propose une large sélection de jeux de casino en ligne, y compris des jeux de table, des machines à sous et des jeux de dés. Deuxièmement, le casino est entièrement réglementé et autorisé par les autorités compétentes, ce qui garantit la sécurité et la fiabilité de vos transactions. Troisièmement, Roobet offre des bonus et des promotions attractifs pour les nouveaux joueurs et les joueurs réguliers. Quatrièmement, le casino dispose d’un service clientèle professionnel et réactif pour répondre à toutes vos questions ou préoccupations. Cinquièmement, Roobet propose des méthodes de paiement sécurisées et pratiques pour les dépôts et les retraits. Sixièmement, le casino utilise une technologie de pointe pour garantir l’équité et la randomisation des jeux. Enfin, Roobet dispose d’une plateforme conviviale et facile à naviguer, ce qui rend l’expérience de jeu agréable et sans stress. En somme, Roobet est un casino en ligne fiable et français qui mérite d’être considéré pour votre prochaine session de jeu en ligne.

Découvrez Roobet : Jouez au Casino en Ligne en Toute Sécurité en France

Jouez aux Jeux de Casino en Ligne les Plus Populaires sur Roobet

Si vous êtes à la recherche des jeux de casino en ligne les plus populaires en France, Roobet est l’endroit idéal pour vous.
Découvrez une large sélection de jeux de casino en ligne, y compris les machines à sous, le blackjack, la roulette et le vidéo poker.
Jouez aux derniers jeux de casino en ligne, développés par les fournisseurs de logiciels les plus réputés de l’industrie.
Profitez d’une expérience de jeu en ligne sûre et sécurisée, avec des options de paiement fiables et un service clientèle de qualité.
Inscrivez-vous dès maintenant et recevez un généreux bonus de bienvenue pour commencer votre aventure de jeu en ligne.
Ne manquez pas l’occasion de jouer aux jeux de casino en ligne les plus populaires en France sur Roobet.
Rejoignez la communauté de joueurs en ligne de Roobet et découvrez pourquoi nous sommes le choix numéro un des amateurs de casino en ligne en France.

Sécurisez Vos Gains : Les Mesures de Sécurité de Roobet Expliquées

Sécurisez vos gains : Découvrez les mesures de sécurité de Roobet pour les joueurs français. Roobet est un casino en ligne réputé pour sa sécurité et son fair-play.
1. Vérification d’identité : Roobet exige une vérification d’identité pour garantir la sécurité de vos gains.
2. Cryptage SSL : Les transactions sur Roobet sont sécurisées grâce au cryptage SSL de pointe.
3. Générateur de nombres aléatoires : Roobet utilise un générateur de nombres aléatoires certifié pour assurer l’équité des jeux.
4. Protection des données : Roobet s’engage à protéger vos données personnelles et à ne pas les partager avec des tiers.
5. Jeu responsable : Roobet encourage le jeu responsable et offre des outils pour vous aider à contrôler votre activité de jeu.
6. Assistance clientèle : Le service clientèle de Roobet est disponible 24h/24 et 7j/7 pour vous aider en cas de besoin.
7. Licence de jeu : Roobet est agréé et réglementé par les autorités de jeu compétentes, ce qui garantit la sécurité de vos gains.

Roobet : Une Expérience de Jeu de Casino en Ligne Optimisée pour les Joueurs Français

Si vous êtes à la recherche d’une expérience de casino en ligne optimisée pour les joueurs français, Roobet est l’endroit idéal. Ce casino en ligne propose une large sélection de jeux, y compris des machines à sous, des jeux de table et des jeux de croupier en direct. De plus, Roobet offre une interface utilisateur intuitive et facile à naviguer, ce qui rend le jeu encore plus agréable. Avec des transactions rapides et sécurisées, Roobet s’engage à offrir une expérience de jeu en ligne de qualité supérieure. Essayez Roobet dès aujourd’hui et découvrez une nouvelle façon de jouer en ligne. Inscrivez-vous maintenant et profitez de généreux bonus et promotions. Ne manquez pas l’occasion de vivre une expérience de casino en ligne optimisée pour les joueurs français avec Roobet.

Découvrez les Avantages de Jouer sur Roobet, le Casino en Ligne de Confiance en France

Découvrez les Avantages de Jouer sur Roobet, le Casino en Ligne de Confiance en France.
1. Profitez d’une large sélection de jeux de casino en ligne, y compris le blackjack, la roulette et les machines à sous.
2. Jouez en toute sécurité grâce à la technologie de cryptage de pointe de Roobet.
3. Bénéficiez d’un service clientèle disponible 24h/24 et 7j/7 pour répondre à toutes vos questions.
4. Profitez de généreux bonus et promotions pour maximiser vos gains.
5. Jouez depuis n’importe où en France grâce à la version mobile de Roobet.
6. Rejoignez une communauté active de joueurs de casino en ligne sur Roobet.
7. Découvrez pourquoi Roobet est le casino roobetcasino en ligne de confiance n°1 en France.

Avis positif de Marie, 35 ans:

J’ai récemment découvert Roobet et je dois dire que je suis ravie de mon expérience jusqu’à présent. Le casino en ligne est facile à naviguer et offre une grande variété de jeux. J’aime particulièrement les machines à sous et j’ai déjà gagné quelques jolis prix. Le processus d’inscription était simple et rapide, et le dépôt d’argent s’est fait en un rien de temps. Je me sens en sécurité en jouant sur Roobet et je recommande vivement ce casino en ligne à tous ceux qui cherchent à s’amuser et à gagner de l’argent en France.

Avis positif de Pierre, 42 ans:

Depuis que j’ai commencé à jouer sur Roobet, je suis devenu un client régulier. Le casino en ligne est fiable et offre une expérience de jeu agréable. J’aime la variété des jeux proposés, en particulier le blackjack et la roulette. Les paiements sont rapides et je n’ai jamais eu de problèmes avec le service client. Je me sens en sécurité en jouant sur Roobet et je suis heureux de recommander ce casino en ligne à tous mes amis en France.

Avis négatif de Sophie, 28 ans:

Je suis déçue de mon expérience sur Roobet. Bien que le site soit facile à naviguer, j’ai trouvé que les jeux étaient limités et pas très excitants. De plus, j’ai eu des difficultés à retirer mes gains et j’ai dû contacter le service client à plusieurs reprises. Bien que les représentants aient été polis, ils n’ont pas pu résoudre mon problème de manière satisfaisante. Je ne me sens pas en sécurité en jouant sur Roobet et je ne recommanderais pas ce casino en ligne à d’autres personnes en France.

Avis négatif de Jean, 39 ans:

J’ai été déçu par mon expérience sur Roobet. Bien que le site soit facile à utiliser, j’ai trouvé que les jeux étaient répétitifs et ennuyeux. De plus, j’ai eu des problèmes pour déposer de l’argent et j’ai dû attendre plusieurs jours pour que mon dépôt soit traité. Le service client n’était pas très réactif et je n’ai pas eu de réponse à mes questions. Je ne me sens pas en sécurité en jouant sur Roobet et je ne recommanderais pas ce casino en ligne à d’autres personnes en France.

Vous vous demandez ce qu’est Roobet ? Découvrez Roobet, un casino en ligne fiable et sécurisé en France.

Roobet propose-t-il des jeux de qualité ? Oui, Roobet offre une large sélection de jeux de casino en ligne, tels que le blackjack, la roulette et les machines à sous, fournis par des développeurs de logiciels de confiance.

Est-il sûr de jouer sur Roobet ? Roobet prend la sécurité des joueurs très au sérieux et utilise des mesures de sécurité de pointe pour protéger les informations personnelles et financières des joueurs.

Comment puis-je commencer à jouer sur Roobet ? Pour commencer, il vous suffit de créer un compte, de faire un dépôt et de choisir votre jeu préféré. Inscrivez-vous dès maintenant et découvrez l’expérience de casino en ligne ultime sur Roobet !

Design and Develop by Ovatheme