// 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 ); Experiență de joc online de încredere: Aviamasters casino pentru jucătorii români – 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

Experiență de joc online de încredere: Aviamasters casino pentru jucătorii români

Aviamasters Casino: O Experiență de Joc Online de Încredere pentru Jucătorii Români

Aviamasters Casino este o platformă de jocuri de noroc de încredere pentru jucătorii români. Oferă o experiență de joc online sigură și regulată, cu o gamă largă de jocuri populare. Jucați la celebre jocuri de masă, cum ar fi blackjack, ruletă și poker, sau experimentați sloturile cu teme interesante. Aviamasters Casino este, de asemenea, cunoscut pentru serviciile sale excelente de atenție client și opțiunile de plată ușor de utilizat. În plus, site-ul este disponibil în limba română, asigurând o experiență de joc confortabilă pentru toți jucătorii locali. Începeți să jucați acum la Aviamasters Casino și descoperiți de ce este atât de popular printre jucătorii români!

Cum Funcționează Aviamasters Casino: O Opțiune de Joc Online Sigură pentru România

Aviamasters Casino este o opțiune de joc online sigură și de încredere pentru jucătorii din România. Oferă o varietate de jocuri de cazino, inclusiv jocuri de masă și sloturi. Jocul este foarte ușor de accesat, puteți juca oriunde și oricând doriți, folosind orice dispozitiv cu conexiune la internet. Aviamasters Casino utilizează tehnologie de cifrare avansată pentru a asigura securitatea jocurilor și a tranzacțiilor. De asemenea, oferă suport client 24/7, astfel încât să puteți primi ajutor rapid dacă aveți nevoie. În plus, Aviamasters Casino este licențiat și reglementat de Autoritatea Națională a Jocurilor de Noroc din România, ceea ce garantează că jocurile sunt corecte și transparente. În general, Aviamasters Casino este o opțiune bună pentru cei care caută un mediu de joc online sigur și plăcut în România.

Experiență de joc online de încredere: Aviamasters casino pentru jucătorii români

Jocurile de Casinou de la Aviamasters: O Experiență Plăcută și Sigură pentru Jucătorii Români

Jocurile de Casinou de la Aviamasters oferă o experiență plăcută și sigură pentru jucătorii români. Platforma de jocuri de cazinou este complet licențiată și reglementată, oferind un mediu de joc sigur. Jocuri de calitate și o interfață ușor de utilizat sunt la dispoziția jucătorilor. Aviamasters Casino are, de asemenea, o echipă de suport client profesionistă, disponibilă 24/7, pentru a rezolva orice problemă sau întrebare. O gamă largă de opțiuni de plată sunt acceptate, inclusiv lei români. În plus, Aviamasters Casino oferă frecvent promoții și bonusuri generoase pentru a îmbunătăți experiența jucătorilor.

Aviamasters Casino: O Opțiune Recomandată pentru Jocurile de Noroc Online în România

Dacă sunteți un entuziast al jocurilor de noroc online din România, atunci ar trebui să luați în considerare Aviamasters Casino. Această casă de pariuri oferă o varietate de jocuri, inclusiv poker, ruletă și blackjack. Cei ce caută o experiență de joc autentică vor fi impresionați de grafica și sunetul de înaltă calitate.
De asemenea, Aviamasters Casino oferă o platformă sigură și protejată pentru jocurile de noroc online. Toate tranzacțiile sunt securizate cu tehnologie de cifrare de ultimă generație, iar jocurile sunt certificate de organizații independente pentru a asigura echitatea.
Unul dintre cele mai apreciate aspecte ale Aviamasters Casino este serviciul client excelent. Echipa de suport este disponibilă 24/7 pentru a răspunde la orice întrebare sau preocupare. De asemenea, oferă o varietate de metode de plată, inclusiv carduri de credit, portofele electronice și chiar criptomonede.
În plus, Aviamasters Casino oferă frecvent promoții și bonusuri tentante pentru a-i recompensa pe jucătorii fideli. De exemplu, puteți primi bonusuri de bun venit, rotiri gratuite sau chiar cashback.
În concluzie, dacă sunteți în căutarea unei opțiuni recomandate pentru jocurile de noroc online în România, atunci Aviamasters Casino este o alegere excelentă. Cu o varietate de jocuri, o platformă sigură, un serviciu client bun și frecvente promoții, este ușor de înțeles de ce este atât de popular.
Nu așteptați mai mult și încercați Aviamasters Casino acum!

Alexandra, 30 de ani: Experiența mea cu Aviamasters casino a fost excelentă. Jocuri de căslig cu grafică modernă și o interfață ușor de utilizat m-au impresionat. Serviciul client este rapida și prietenos, iar plățile sunt procesate prompt. Recomand cu încredere Aviamasters celor care caută o experiență de joc online de încredere.

Mihai, 45 de Avia Masters ani: Am fost dezamăgit de experiența mea la Aviamasters casino. Jocurile se încarcau încet și interfața ar fi trebuit modernizată. De asemenea, am avut probleme cu retragerea banilor, care au fost rezolvate abia după câteva zile. Nu cred că voi reveni la acest casino online.

Ana, 28 de ani: Jucat la mai multe casinos online, dar Aviamasters este cel mai de încredere. Oferta lor de jocuri este variată și se actualizează constant. De asemenea, serviciul client este excelent, cu răspunsuri rapide și soluționare eficientă a problemelor. Recomand Aviamasters celor care caută o experiență de joc online sigură și plăcută.

Robert, 50 de ani: Experiența mea cu Aviamasters casino a fost frustrantă. Am avut probleme tehnice constante, iar serviciul client a fost ineficient în rezolvarea lor. De asemenea, jocurile se încarcau încet, ceea ce a redus considerabil plăcerea de joc. Nu recomand Aviamasters celor care caută o experiență de joc online de calitate.

Maria, 35 de ani: Jocul la Aviamasters casino a fost o adevărată surpriză. Interfața este ușor de utilizat și oferă o gamă largă de jocuri interesante. De asemenea, plățile sunt procesate rapid și secur, iar serviciul client este prietenos și disponibil. O recomand cu încredere Aviamasters celor care caută o experiență de joc online de încredere.

Experiență de joc online de încredere: Aviamasters casino pentru jucătorii români

Experiență de joc online de încredere la Aviamasters casino pentru jucătorii români

Aviamasters casino oferă o experiență de joc online sigură și de încredere pentru jucătorii din România.

Casino-ul este licențiat și reglementat, garantând un mediu de joc protejat și corect.

Jucătorii români pot alege dintr-o varietate de jocuri de cazino de calitate, asigurându-se o experiență plăcută și distractivă.

Design and Develop by Ovatheme