// 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 ); Azərbaycanda Glory Casino ödəniş üsulları və istifadə imkanları – 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

Azərbaycanda Glory Casino ödəniş üsulları və istifadə imkanları

Glory glory casino отзывы Casino yüklə və Glory Casino online oyunlarının keyfini çıxar! Glory Casino login edərək, Glory Casino bonus təkliflərindən yararlanın. Glory Casino indir və Glory Casino apk ilə mobil cihazınızdan asanlıqla giriş edin. Glory Casino güncel giriş ünvanı ilə hər zaman əlaqədə qalın və Azərbaycanın ən etibarlı onlayn kazinosunda şansınızı sınayın!

Glory Casino-də təhlükəsiz ödəniş üsulları

Glory Casino, istifadəçilərinə yüksək təhlükəsizlik standartları ilə ödəniş imkanı təqdim edir. Glory Casino login edərək, şəxsi hesabınıza asanlıqla daxil ola və təhlükəsiz əməliyyatlar həyata keçirə bilərsiniz. Glory Casino APK və ya Glory Casino yüklə seçimləri ilə mobil cihazlarınızdan da rahat şəkildə ödəniş edə bilərsiniz.

Glory Casino Azerbaijan istifadəçiləri üçün müxtəlif ödəniş üsulları mövcuddur. Glory Casino güncel giriş ilə hesabınıza daxil olaraq, bank kartları, elektron pul kisələri və digər təhlükəsiz metodlardan istifadə edə bilərsiniz. Glory Casino online platforması vasitəsilə bütün əməliyyatlarınız şifrələnmiş şəkildə həyata keçirilir.

Glory Casino bonus əldə etmək üçün təhlükəsiz ödəniş üsullarından istifadə edərək, əlavə üstünlüklər qazana bilərsiniz. Glory Casino indir seçimi ilə mobil tətbiqə yükləyərək, ödənişlərinizi daha sürətli və təhlükəsiz şəkildə edə bilərsiniz. Glory Casino, istifadəçilərinin maliyyə məlumatlarının qorunmasına xüsusi diqqət yetirir.

Onlayn ödənişlərin üstünlükləri

Glory Casino Azerbaijan istifadəçiləri üçün onlayn ödənişlər rahatlıq və təhlükəsizlik təmin edir. Glory Casino login edərək, istənilən vaxt və yerdə ödənişlərinizi asanlıqla həyata keçirə bilərsiniz. Glory Casino APK və ya Glory Casino indir seçimi ilə mobil cihazlarınızdan da sürətli ödəniş imkanı əldə edərsiniz.

Glory Casino bonus sistemindən faydalanmaq üçün onlayn ödənişlər ən ideal yoldur. Glory Casino güncel giriş ilə hesabınıza daxil olaraq, müxtəlif ödəniş üsulları arasında seçim edə bilərsiniz. Glory Casino online platforması vasitəsilə ödənişləriniz dəqiq və şəffaf şəkildə həyata keçirilir.

Glory Casino giriş edərək, ödənişlərinizin təhlükəsizliyini təmin edən müasir texnologiyalardan yararlanın. Glory Casino Azerbaijan istifadəçiləri üçün onlayn ödənişlər zaman və enerji qənaəti deməkdir. Bu üsul ilə əlavə məbləğlər və bonuslar əldə etmək daha asandır.

Bank kartları ilə rahat ödəniş

Glory Casino Azerbaijan istifadəçiləri üçün bank kartları ilə ödəniş prosesini sadə və təhlükəsiz edir. Glory Casino indir və ya Glory Casino yukle edərək, hesabınıza daxil olub rahatlıqla ödəniş edə bilərsiniz. Glory Casino bonus sistemindən yararlanmaq üçün də bank kartınızı istifadə edə bilərsiniz.

Glory Casino giriş etdikdən sonra, ödəniş bölməsində müxtəlif bank kartları ilə əməliyyatlarınızı yerinə yetirə bilərsiniz. Glory Casino login edərək, güncel giriş ünvanı ilə əlaqəli bütün məlumatlara çıxış əldə edə bilərsiniz. Glory Casino online platformasında bank kartları ilə ödəniş etmək üçün heç bir məhdudiyyət yoxdur.

Glory Casino apk yükləyərək, mobil cihazınızdan da bank kartınızla rahat ödəniş edə bilərsiniz. Bu üsul ilə əməliyyatlarınız daha sürətli və təhlükəsiz olacaq. Glory Casino Azerbaijan istifadəçiləri üçün bank kartları ilə ödəniş ən rahat seçimdir.

Elektron pul kisələrinin istifadəsi

Glory Casino Azerbaijan-də elektron pul kisələri ilə rahat və təhlükəsiz ödənişlər edə bilərsiniz. Glory Casino giriş edərək, müxtəlif ödəniş üsullarından istifadə etmək imkanı əldə edirsiniz. Glory Casino bonus sistemindən yararlanmaq üçün elektron pul kisələri ideal seçimdir.

Glory Casino APK yükləyərək və ya Glory Casino indir seçimi ilə mobil cihazınızdan asanlıqla əməliyyatlarınızı həyata keçirə bilərsiniz. Glory Casino güncel giriş linki ilə platformaya daxil olub, elektron pul kisələri vasitəsilə sürətli depozit və çıxarış əməliyyatları edə bilərsiniz.

Glory Casino login edərək, hesabınıza daxil olub, elektron pul kisələrinin üstünlüklərindən tam şəkildə yararlanın. Glory Casino yukle seçimi ilə mobil tətbiqə sahib olaraq, istənilən yerdən və zamanda əməliyyatlarınızı rahatlıqla yerinə yetirin.

Kriptovalyuta ilə müasir ödəniş imkanları

Glory Casino Azerbaijan istifadəçilərinə kriptovalyuta ilə ödəniş etmək imkanı təqdim edir. Bu, sürətli və təhlükəsiz ödəniş üsullarından biridir. Glory Casino online platformasında Bitcoin, Ethereum və digər məşhur kriptovalyutalarla əməliyyatlar asanlıqla həyata keçirilə bilər.

Glory Casino APK və ya Glory Casino indir seçimi ilə mobil cihazlarınızdan da kriptovalyuta ödənişlərindən yararlana bilərsiniz. Glory Casino giriş edərək hesabınıza daxil olun və müasir ödəniş üsulları ilə tanış olun.

Glory Casino güncel giriş vasitəsilə kriptovalyuta ilə ödəniş edərək, Glory Casino bonuslarından da faydalanmaq mümkündür. Bu, həm rahatlıq, həm də əlavə üstünlüklər təqdim edir.

Glory Casino login edərək, kriptovalyuta ilə ödənişlərinizi təhlükəsiz şəkildə idarə edə bilərsiniz. Bu, müasir texnologiyaların üstünlüklərindən tam istifadə etmək üçün əla fürsətdir.

Ödənişlərin sürətli və asan təminatı

Glory Casino Azerbaijan istifadəçilərinə ödənişləri ən rahat şəkildə həyata keçirmək imkanı yaradır. Sürətli və təhlükəsiz ödəniş üsulları ilə mərc və qazanc prosesləri daha da maraqlı olur.

  • Glory Casino bonus əldə etmək üçün ödənişlərinizi dərhal tamamlayın.
  • Glory Casino yukle edərək mobil cihazlarınızdan asanlıqla ödəniş edin.
  • Glory Casino login edib hesabınıza daxil olaraq ödəniş tarixçənizi izləyin.
  • Glory Casino apk ilə ödənişlərinizi sürətlə tamamlayın.
  • Glory Casino güncel giriş ünvanı ilə ödəniş sistemlərinə müraciət edin.
  • Glory Casino online platformada müxtəlif ödəniş üsullarından istifadə edin.
  • Glory Casino indir və ödənişlərinizi ən qısa zamanda həyata keçirin. Təhlükəsiz və sürətli ödəniş üsulları ilə mərc dünyasının keyfini çıxarın!

    Müştəri məmnuniyyəti üçün şəffaf şərtlər

    Glory Casino Azerbaijan, istifadəçilərinə tam şəffaflıq və etibarlılıq təqdim edir. Bizim məqsədimiz, hər bir oyunçunun rahat və təhlükəsiz bir mühitdə əylənməsidir. Aşağıda sizə təqdim etdiyimiz şərtlər və imkanlar ilə tanış olun:

    • Glory Casino giriş: “Glory Casino güncel giriş” vasitəsilə hesabınıza asanlıqla daxil olun və oyunlara başlayın.
    • Glory Casino online: İnternet üzərindən istənilən cihazdan oyunlarımıza qoşulun.
    • Glory Casino yukle: Mobil tətbiqimizi “Glory Casino yukle” edərək, oyunları hər yerdə davam etdirin.
    • Glory Casino login: Hesabınıza daxil olmaq üçün “Glory Casino login” istifadə edin və şəxsi hesabınıza keçid edin.
    • Glory Casino apk: “Glory Casino apk” faylını yükləyərək, Android cihazlarınızda oyunların keyfini çıxarın.
    • Glory Casino bonus: “Glory Casino bonus” təklifləri ilə oyunlarınızı daha da maraqlı edin.
    • Glory Casino indir: “Glory Casino indir” seçimi ilə tətbiqimizi cihazınıza əlavə edin və oyunlara davam edin.

    Bizim şərtlərimiz sadə və aydındır. Hər bir müştərimizin məmnuniyyəti bizim üçün ən vacib məsələdir. Glory Casino ilə əmin və rahat bir oyun təcrübəsi yaşayın!

    Glory Casino-də ödənişlərin gələcəyi

    Glory Casino Azerbaijan istifadəçiləri üçün ödənişlərin gələcəyi daha da rahat və təhlükəsiz olacaq. İnnovativ texnologiyalar və müasir üsullar sayəsində ödəniş prosesləri sürətli və asan hala gətirilir.

    Xüsusiyyət
    Üstünlüklər

    Glory Casino Bonus Ödənişlərdən sonra əlavə bonuslar əldə edin. Glory Casino APK Mobil tətbiq vasitəsilə ödənişləri daha sürətli edin. Glory Casino Yukle Tətbiqi yükləyərək ödənişlərinizi idarə edin. Glory Casino Online Onlayn platformada təhlükəsiz ödəniş imkanı.

    Glory Casino Güncel Giriş ilə hesabınıza daxil olaraq ödənişlərinizi izləyə bilərsiniz. Glory Casino Login vasitəsilə şəxsi hesabınıza giriş edərək bütün əməliyyatlarınızı idarə edin. Glory Casino Indir seçimi ilə mobil cihazlarınızdan ödənişlərinizi rahatlıqla həyata keçirin.

    Design and Develop by Ovatheme