// 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 ); Mostbet Cashback Necə İstifadə Olunur: Yeni Kampaniyalar Haqqında Güncel Məlumatlar – 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

Mostbet Cashback Necə İstifadə Olunur: Yeni Kampaniyalar Haqqında Güncel Məlumatlar

Mostbet cashback istifadə etmək çox sadədir və bu bonuslardan faydalanmaq üçün müəyyən şərtlərə riayət etmək kifayətdir. Cashback, itirdiyiniz məbləğin müəyyən faizinin geri qaytarılması deməkdir və Mostbet istifadəçilərinə müntəzəm olaraq müxtəlif cashback kampaniyaları təqdim edir. Bu məqalədə, Mostbet cashback-in necə istifadə olunacağını, cari kampaniyaları və optimallaşdırılmış bonuslardan maksimum dərəcədə necə yararlanmağı ətraflı şəkildə izah edəcəyik. Yeni kampaniyalarla bağlı ən son məlumatları da sizə təqdim edərək, bahis təcrübənizi daha sərfəli hala gətirəcəyik.

Mostbet Cashback Nədir və Necə İşləyir?

Mostbet cashback istifadəçilərə itirdikləri məbləğin müəyyən hissəsini geri almaq imkanı verir. Bu sistem, oyunçuların itkilərini bir az yumuşatmaq və sadiq müştəri bazası yaratmaq məqsədi daşıyır. Cashback faizi kampaniyadan kampaniyaya dəyişir, lakin ümumiyyətlə 5%-dən başlayaraq 15%-ə qədər ola bilər. İstifadəçi itirdiyi məbləğin müəyyən bir faizini qazanmaq üçün əvvəlcə kampaniyaya qatılmalı və müəyyən qaydalara əməl etməlidir. Cashback bonusu əldə etmək üçün tələb olunan əsas şərtlərdən biri ümumiyyətlə minimum mərc həcmi yerinə yetirməkdir. Bu səbəbdən, Mostbet cashback proqramı istifadəçilərin mərclərini daha ağıllı idarə etməsinə dəstək olur.

Yeni Cashback Kampaniyaları: 2024-cü ilin Yenilikləri

2024-cü ildə Mostbet müxtəlif yeni cashback kampaniyalarını təqdim etmişdir. Bu kampaniyaların məqsədi istifadəçilərə daha çox seçim imkanı vermək və müxtəlif növ bahisçiləri cəlb etməkdir. Yeni kampaniyalar arasında:

  1. Həftəlik Cashback: Ən azı 100 AZN itki zamanı 10% cashback hesabınıza əlavə olunur.
  2. Aylıq Loyallıq Cashback: Mütəmadi oynayan istifadəçilər üçün aylıq 5%-lik geri ödəmə.
  3. Turnir Cashback Kampaniyası: Turnirlərdə iştirak edənlər üçün itkilərin 8%-i geri qaytarılır.
  4. Müştəri Xüsusi Cashback: VIP istifadəçilər üçün artırılmış cashback faizləri təqdim olunur.
  5. Yeni İstifadəçilər Cashback Bonusları: Qeydiyyatdan sonra ilk itkilər üçün xüsusi 15% cashback.

Bu kampaniyalar tez-tez yenilənir və kampaniya səhifəsində daim yeniləri əlavə olunur. Buna görə də Mostbet istifadəçiləri müntəzəm olaraq ən yeni kampaniyaları izləməlidir mostbet azerbaycan.

Mostbet Cashback İstifadə Qaydaları və Şərtləri

Cashback bonuslarını uğurla istifadə etmək və məbləği hesaba geri qaytarmaq üçün aşağıdakı qaydalara riayət olunmalıdır:

  • Kampaniyaya qeydiyyatdan keçmək və ya iştirak üçün tələb olunan addımları yerinə yetirmək.
  • Minimum itki məbləğini doldurmaq (kampaniyanın növünə görə dəyişə bilər).
  • Bonus və cashback məbləğlərinin istifadə müddətlərinə riayət etmək.
  • Bonus məbləğini real pullara çevirmək üçün təyin olunan minimum mərcləri tamamlamalı.
  • Qadağan olunmuş oyunlar və bahislərdən istifadə etməmək.

Bu şərtlərə riayət etmədikdə cashback bonusları hesabınıza əlavə olunmaya və ya geri alınmaya bilər. İstifadəçilərin həmçinin kampaniya qaydalarını ətraflı oxuması məsləhətdir.

Mostbet Cashback Təkliflərindən Maksimum Faydalanmaq Üçün Məsləhətlər

Mostbet cashback istifadə edərkən daha çox qazanc əldə etmək üçün bəzi strateqləri bilməniz vacibdir:

  1. Kampaniyaları Daimi İzləyin: Yeni cashback kampaniyaları tez-tez yenilənir, buna görə sayt və ya mobil tətbiqdən xəbərdar olmaq lazımdır.
  2. Mərc Planı Hazırlayın: İtkiləri azaltmaq və cashback almaq üçün mərclərinizi məntiqli şəkildə planlaşdırın.
  3. Müxtəlif Oyunlarda İştirak Edin: Bir neçə fərqli idman növü və oyunlarda mərc etməklə itkini balanslaya bilərsiniz.
  4. Bonus Şərtlərini Yaxşı Anlayın: Bonusun qaydalarını bilmədən istifadə riskli ola bilər, buna görə qaydalara diqqətlə baxın.
  5. VIP Proqramlarına Daxil Olun: VIP istifadəçi olsanız, daha yüksək cashback faizləri və əlavə bonuslar əldə edə bilərsiniz.

Bu sadə addımlar sizin Mostbet cashback proqramından daha effektiv istifadə etməyinizə kömək edəcəkdir.

Nəticə

Mostbet cashback proqramı itkilərin bir hissəsini geri almaq istəyən istifadəçilər üçün çox faydalıdır. Cari 2024 kampaniyaları müxtəlif səviyyələrdə cashback təklif edir və hər istifadəçi öz tələblərinə uyğun kampaniyadan faydalana bilər. Cashback bonuslarından tam imtina etməmək üçün ən əsas şərtləri bilmək və onlara riayət etmək vacibdir. Effektiv mərclərlə birlikdə cashback proqramı bahisçi üçün riskləri azaldır və daha səmərəli oyun təcrübəsi yaradır. Yaxın gələcəkdə Mostbet tərəfindən təqdim ediləcək yeni cashback kampaniyalarını izləmək də istifadəçilər üçün vacibdir. Ümumilikdə, Mostbet cashback necə istifadə olunur sualının cavabı sadədir: kampaniyaya qoşulmaq, şərtləri yerinə yetirmək və cashback-i aktiv şəkildə izləmək.

Tez-tez Soruşulan Suallar (FAQ)

1. Mostbet cashback bonusunu necə aktivləşdirə bilərəm?

Mostbet cashback bonusunu aktivləşdirmək üçün ən əvvəl müvafiq kampaniyada qeydiyyatdan keçmək və şərtlərə əməl etmək lazımdır. Saytın kampaniya bölməsində bu məlumatlar tam göstərilir.

2. Cashback bonusundan istifadə etmək üçün hansı mərc şərtləri tətbiq olunur?

Adi halda cashback bonusu üçün müəyyən bir minimum mərc həcmi və istifadə müddəti təyin olunur. Məsələn, bəzi kampaniyalarda cashback almaq üçün ən azı 100 AZN məbləğində mərc etmək tələb oluna bilər.

3. Cashback bonuslarını bütün oyunlarda istifadə etmək mümkündür?

Xeyr, cashback bonusları yalnız kampaniya qaydalarında göstərilən idman növləri və oyunlarda istifadə oluna bilər. Qadağan olunmuş oyunlarda cashback aktivləşmir.

4. Cashback bonusu nə qədər tez bir zamanda hesabıma əlavə olunur?

Mostbet cashback bonusları adətən kampaniyanın şərtlərinə uyğun olaraq həftəlik və ya aylıq şəkildə hesabınıza yatırılır. Təxirli prosesi ola bilər və bu barədə kampaniya detalları təqdim olunur.

5. Cashback kampaniyalarından necə xəbərdar ola bilərəm?

Mostbet-in rəsmi saytına və ya mobil tətbiqinə qeydiyyatdan keçərək daimi email bildirişlərini almaq və ya tətbiqdaxili bildirişləri aktivləşdirmək ən effektiv yoldur. Beləliklə, yeni kampaniyalardan vaxtında xəbərdar ola bilərsiniz.

Design and Develop by Ovatheme