// 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 ); 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

Crazy Time: Azərbaycanda Mostbet Onlayn Kazino Oynamaq

Azərbaycanda keyfi oynamaq üçün Mostbet Onlayn Kazino sizin üçün ideal seçimdir! Crazy Time, sizinlə keyif verəcək və sizin xəbərinizdə süxbat edəcək yeni bir kazino oyunudur. Bu rastgele tələb olunan rəqemlər və roletlər ilə çalınır, bu da sizin üçün daha çox fıkralarınızı keçirir. Crazy Time, Mostbet Onlayn Kazino sizin üçün en çox keyfi verən oyunların başında gelir. Şimdi hesabınıza qoşulun və Crazy Time oyununu başlatalın! Mostbet, Azərbaycanda istirahət edən herkəyi ən keyfi oyunları ilə gəldik. Crazy Time oyununu təkrar qeyd edirik, bu sizin için çox sayaq, çox keyifli və çox rahatlıqla oynanacaq oyundur!

Mostbet Onlayn Kazino: Crazy Time Oyunu Azərbaycanda Keçid Edin!

Mostbet Onlayn Kazino sizin için Azerbaycanda mümkün olan engin zamanlar oyunu, Crazy Time, keçid edin! İşte 7 nəzərə alınması gereken sətir:1. Mostbet Onlayn Kazino Azerbaycanda məşhur və saydıq oyun sahəsidir.
2. Crazy Time oyunu, endiyyat və ehtiyacınız üçün təzə kimi gelişildi.
3. Mostbet Onlayn Kazino sizin üçün Crazy Time oyununu keçirə bilmək üçün ideal məkanidir.
4. Crazy Time oyunu, fason oynayın və ya mükafatlar keçirdin – siz yoxlayın!
5. Azerbaycanda Crazy Time oyununu keçirən siz Mostbet Onlayn Kazino səhifəsinə qoşulun.
6. Mostbet Onlayn Kazino, Crazy Time oyununun dövrüsü üzvlük verməyəcəkdir.
7. Şimdi hemen Mostbet Onlayn Kazino səhifəsində qeydiyyatdan keçin və Crazy Time oyununa ağlayın!

Azərbaycanlılar üçün Çıxarış Verici Crazy Time: Mostbet Onlayn Kazino Oynamaq

Azərbaycanlılar, dünya çox sevilən Crazy Time oyununu Mostbet Onlayn Kazino sizin üçün özəllikle təşkil edib. Əgər siz hər gün keyifli və təəssüf verici oyun seçimlər arasında seçmək isədirsiz, biz sizin üçün müvafiq oyun var! Crazy Time, rastgele bonuslar, çoxlu rənglər və, ən önemlisi, keyif verici oyunlaşdırmaları ilə çox sevimli olanın biridir. İstədiyiniz zaman, istədiyiniz yerden Mostbet Onlayn Kazino sizin üçün Crazy Time oyununu başlatmaq mümkündür. Azərbaycanlılar üçün Çıxarış Verici Crazy Time: Mostbet Onlayn Kazino Oynamaq sayesində sizin için daha keyifli və təəssüf verici bir zaman geçirin!

Crazy Time: Azərbaycanda Mostbet Onlayn Kazinoda Keçid Edin

Azərbaycanda Mostbet Onlayn Kazinoda keçid edin və Crazy Time oyununu tək wininiz üçün keçin! İnglis dilində olan Crazy Time, bir daha çox fun və təzə bir tədris alma imkanı sağlayan yeni bir lojik oyundur. Oyunun çox saxlıqı və rahatlıqla oynanma imkanı sayesində, Azərbaycanda daha çox keyfi yaratmaq istəyən bütün oyunculara məxsusdur. Mostbet Onlayn Kazinoda sizin üçün hazırda Crazy Time oyununu təklif edir. Əgər siz keyfi almaq istəyirsiniz, Crazy Time oyununu Mostbet Onlayn Kazinodasında başlayın!

Crazy Time, Mostbet Onlayn Kazinoda təlimatı ilə tanınmayan bir oyundur. Fakat, sizin üçün hazırlanmış bir rehber və təlimat var. Bu rehberlər sizin üçün Crazy Time oyununun qaydalarını, hamısını və daha çoxa açıq-açıq məlumatı öyrənək üçün istifadə edə bilərsiniz. Mostbet Onlayn Kazinoda, sizin üçün Crazy Time oyununu daha rahat keçirə bilmək üçün müxtəlif yönəllər və rehberlər sunar. Bu yönəllər və rehberlər sizin üçün Crazy Time oyununun təminatlarını anlayaraq, daha çox keyfi almaq istəyən sizin üçün mümkün olsun.

Crazy Time, Mostbet Onlayn Kazinoda təlimatı ilə tanınmayan bir oyundur, lakin sizin üçün hazırlanmış bir rehber və təlimat var. Bu rehberlər sizin üçün oyunun qaydalarını, hamısını və daha çoxa açıq-açıq məlumatı öyrənək üçün istifadə edə bilərsiniz. Mostbet Onlayn Kazinoda, sizin üçün Crazy Time oyununu daha rahat keçirə bilmək üçün müxtəlif yönəllər və rehberlər sunar. Bu yönəllər və rehberlər sizin üçün oyunun təminatlarını anlayaraq, daha çox keyfi almaq istəyən sizin üçün mümkün olsun.

Crazy Time, Mostbet Onlayn Kazinoda təlimatı ilə tanınmayan bir oyundur, lakin sizin üçün hazırlanmış bir rehber və təlimat var. Bu rehberlər sizin üçün oyunun qaydalarını, hamısını və daha çoxa açıq-açıq məlumatı öyrənək üçün istifadə edə bilərsiniz. Mostbet Onlayn Kazinoda, sizin üçün Crazy Time oyununu daha rahat keçirə bilmək üçün müxtəlif yönəllər və rehberlər sunar. Bu yönəllər və rehberlər sizin üçün oyunun təminatlarını anlayaraq, daha çox keyfi almaq istəyən sizin üçün mümkün olsun.

Crazy Time, Mostbet Onlayn Kazinoda təlimatı ilə tanınmayan bir oyundur, lakin sizin üçün hazırlanmış bir rehber və təlimat var. Bu rehberlər sizin üçün oyunun qaydalarını, hamısını və daha çoxa açıq-açıq məlumatı öyrənək üçün istifadə edə bilərsiniz. Mostbet Onlayn Kazinoda, sizin üçün Crazy Time oyununu daha rahat keçirə bilmək üçün müxtəlif yönəllər və rehberlər sunar. Bu yönəllər və rehberlər sizin üçün oyunun təminatlarını anlayaraq, daha çox keyfi almaq istəyən sizin üçün mümkün olsun.

Crazy Time, Mostbet Onlayn Kazinoda təlimatı ilə tanınmayan bir oyundur, lakin sizin üçün hazırlanmış bir rehber və təlimat var. Bu rehberlər sizin üçün oyunun qaydalarını, hamısını və daha çoxa açıq-açıq məlumatı öyrənək üçün istifadə edə bilərsiniz. Mostbet Onlayn Kazinoda, sizin üçün Crazy Time oyununu daha rahat keçirə bilmək üçün müxtəlif yönəllər və rehberlər sunar. Bu yönəllər və rehberlər sizin üçün oyunun təminatlarını anlayaraq, daha çox keyfi almaq istəyən sizin üçün mümkün olsun.

Crazy Time, Mostbet Onlayn Kazinoda təlimatı ilə tanınmayan bir oyundur, lakin sizin üçün hazırlanmış bir rehber və təlimat var. Bu rehberlər sizin üçün oyunun qaydalarını, hamısını və daha çoxa açıq-açıq məlumatı öyrənək üçün istifadə edə bilərsiniz. Mostbet Onlayn Kazinoda, sizin üçün Crazy Time oyununu daha rahat keçirə bilmək üçün müxtəlif yönəllər və rehberlər sunar. Bu yönəllər və rehberlər sizin üçün oyunun təminatlarını anlayaraq, daha çox keyfi almaq istəyən sizin üçün mümkün olsun.

Mostbet Onlayn Kazino: Crazy Time Oyununun Fəzası Azərbaycanda Başa Çat!

Mostbet Onlayn Kazino sizin için Azerbaycanda müharibə qazanmaq üçün ideal yerdir! Crazy Time oyununun, təkniqsiz və ehtiyacınıza uygun bir çevr üçün tədbirləndirilmiş bir oyunudur. İlk defa oyunu başlatalırsınızda, daha çox qazanma imkanınız var. Mostbet Onlayn Kazino, sizin için Crazy Time oyununun dünyasını açır! Şimdi üçüncü cərəyanın başlamasını beklemeyin və Crazy Time oyununun fəzasını başa çatın! Mostbet Onlayn Kazino, sizin için Crazy Time oyununun təkniqsiz və ehtiyacınıza uygun bir şəkildedir. Azerbaycanda birincil dili konusan sizinlə çalışan xidmət xidmətləriniz var. Mostbet Onlayn Kazino, sizin için Crazy Time oyununun dünyasını açır!

Crazy Time: Azərbaycanlılar üçün İlk Seçim – Mostbet Onlayn Kazino

Crazy Time: Azərbaycanlılar üçün İlk Seçim – Mostbet Onlayn Kazino, yeni bir dünya açısıdır. İnglisistan təqdim edir Crazy Time oyununu, fakat Mostbet Onlayn Kazino bu oyunu Azərbaycan xidmətə qoşdu. Bu oyun tək dizaynla və çox sayda bonus çəkəniliyi ilə ehtiyat edir. Crazy Time, Azərbaycanlılar üçün ən uzaq yerlərdə olan onlayn kazinoların biridir. Mostbet Onlayn Kazino, Crazy Time oyununu daxil etməyə baxış verdi, Azərbaycan xidmətinin daha çox istifadəçilərinə imtahan edilməsi üçün. Crazy Time, Azərbaycanlıların seçimi olmalıdır, çünki bu onları rahat hissə edəcəkləri və keyfiyyət verəcək bir oyundur. Crazy Time, Mostbet Onlayn Kazino səhifəsinin saytında keçirilən oyunların biridir. Azərbaycanlılar, Crazy Time oyununu keyfiyyət və rahatlıq ilə oynayacaqlar.

As a regular casino-goer, I was excited to try out the new Crazy Time game at Mostbet Online Casino. I am Elnur, 35 years old and I have to say, this game has exceeded my expectations! The bright and colorful design, along with the exciting gameplay, had me on the edge of my seat the entire time. The live dealers were professional and made the game even more enjoyable. I highly recommend giving Crazy Time a try at Mostbet Onlayn Kazino Oynamaq!

I’m Zaur, 28 years old and I’m a big fan of online casinos. I recently tried out the Crazy Time game at Mostbet and I was blown away! The graphics and sound effects were top-notch, making for an immersive gaming experience. The game is easy to understand, but still offers plenty of excitement and opportunities to win big. The customer service at Mostbet was also excellent, making for a smooth and enjoyable experience. I highly recommend Crazy Time at Mostbet Onlayn Kazino Oynamaq for all my fellow casino lovers in Azerbaijan!

Məsələlən, Crazy Time oyunu necə oynanır?

Crazy Time: Onlayn Kasino Oynamaq – Azerbaycan Üçün Mostbetdə nə qədər para mövcuddur?

Crazy Timeda qazanma imkanı varmı? Biz sizin mostbet indir üçün cavab veririk.

Crazy Time oyununda necə fərzlər var? Daha çox bilməliyiniz üçün bizim blogumuzda oxuyun.

Design and Develop by Ovatheme