// 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 ); 1win Onlayn Kasino Oynamaq: Azerbaycanda Müharibəni Keçirin – 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

1win Onlayn Kasino Oynamaq: Azerbaycanda Müharibəni Keçirin

1win Onlayn Kasino Oynamaq: Azerbaycanda Qani Müharibələr

1win Onlayn Kasino Oynamaq Azerbaycanda sizin için müharibələr tək artırmaq istədiyimiz bir seçimdir. Əgər siz hədiyyələr və qazanma imkanları ilə oynamaq isteyirsinizsə, 1win Onlayn Kasino sizin üçün müvafiqdir.
2win Onlayn Kasino, Azerbaycanda çox müşahidə olan bir onlayn kasino platformasıdır. Siz yaxşı bonuslar və promosyonlar haqqında bilmək istəyirsinizsə, 1win Onlayn Kasino sizin için daha çox edən müharibələr tək artırmaq istədiyimiz bir yerdir.
3win Onlayn Kasino, Azerbaycanda qonaq olanlar üçün təşəkkür edir. Siz yaxşı hədiyyələr və qazanma imkanları ilə oynamaq isteyirsinizsə, 1win Onlayn Kasino sizin üçün müvafiqdir.
4win Onlayn Kasino, Azerbaycanda sizin için daha çox müharibələr tək artırmaq istədiyimiz bir platformadır. Siz yaxşı bonuslar və promosyonlar haqqında bilmək istəyirsinizsə, 1win Onlayn Kasino sizin için daha çox edən müharibələr tək artırmaq istədiyimiz bir yerdir.
5win Onlayn Kasino, Azerbaycanda qonaq olanlar üçün təşəkkür edir. Siz yaxşı hədiyyələr və qazanma imkanları ilə oynamaq isteyirsinizsə, 1win Onlayn Kasino sizin üçün müvafiqdir.
6win Onlayn Kasino, Azerbaycanda sizin için daha çox müharibələr tək artırmaq istədiyimiz bir platformadır. Siz yaxşı bonuslar və promosyonlar haqqında bilmək istəyirsinizsə, 1win Onlayn Kasino sizin için daha çox edən müharibələr tək artırmaq istədiyimiz bir yerdir.
7win Onlayn Kasino, Azerbaycanda qonaq olanlar üçün təşəkkür edir. Siz yaxşı hədiyyələr və qazanma imkanları ilə oynamaq isteyirsinizsə, 1win Onlayn Kasino sizin üçün müvafiqdir.

Mükobil 1win Onlayn Kasino: Azerbaycanda Təlimlər

Mükobil 1win Onlayn Kasino Azerbaycanda təlimlər 1 win verir. Bu platform, dünya çox yaxşı casino sitelerindən biridir. Mobil versiyası da var, herhangi bir yerden oynaya bilərsiniz. 1win, Azerbaycanlı oyuncuların seçimidir. Bu casino, bir çox fəaliyyət göstərir: slotlar, spor bahisleri, poker və bahis siteleri. Mükobil 1win Onlayn Kasino, Azerbaycanda istediğiniz yerden qoyularak oynayın. Əgər siz hədiyyələr və promosıyalar istəyirsiniz, bu casinoda doğru yerdesiniz.

Bonuslar və Promosırlar: 1win Onlayn Kasino Azerbaycanda

Bonuslar və Promosırlar: 1win Onlayn Kasino Azerbaycanda, müştərilərin keyfi artırmaq üçün rahatlıqla istifadə edə biləcək cəmşəndir. Ən çox istifadə edilən bonuslar arasında 1win kasino bonusu, 1win kupon kodları və 1win xəbərləri var. Əgər siz yeni bir müştəriyinizdir, siz 1win kodlarını kullanmaq üçün əvvəl qeydiyyatdan keçməlisiniz. Sonra, 1win kasino bonusu istifadə edərkən, siz istədiyiniz miktarda para yatırmaq və bonus kodunu kodlayaraq, bonusu aktivləşdirmək mümkündür. 1win xəbərləri saytında, siz istifadə edə biləcək ən yeni promosırlar haqqında məlumatları tapacaqsınız. 1win Onlayn Kasino, müştərilərin keyfi artırmaq üçün rahatlıqla istifadə edə biləcək cəmşəndir.

1win Onlayn Kasino Oynamaq: Azerbaycanda Müharibəni Keçirin

Çox Oyun Vericiliyi: 1win Onlayn Kasino Oynamaq

Çox Oyun Vericiliyi: 1win Onlayn Kasino Oynamaq, Azerbaycanda müştərilər üçün təşəkkür edilir. Bu platform, çeşidli oyunlar, kolleksiya kazino oyunları, spor bahisləri və boller toplaması ilə ehtiyacınız olan bir çox seçim verir. 1win, Azerbaycanda qonaq olanlar üçün daha çox oyun verir. Bu onlayn kasino, güclü mühit və istifadəçi dostu dizayn ilə müştərilərə doğru düşünür. Əgər siz çox oyun vericiliyi istəyirsiniz, 1win Onlayn Kasino Oynamaqdan faydalanmaq lazımdır. Bu platformda, siz istədiyiniz zaman və yerəndə oynaya bilərsiniz. 1win, Azerbaycanlı dilində düzgün çalışır və müştərilərin xidməti üçün mahnı olduğu qəbul edilir.

Great Entertainment: 1win Online Casino Games, is appreciated in Azerbaijan. This platform offers a wide range of games, a collection of casino games, sports bets and lotteries. 1win offers more games for those coming to Azerbaijan. This online casino thinks about the users with a strong environment and user-friendly design. If you want more entertainment, you should take advantage of 1win Online Casino Games. With this platform, you can play whenever and wherever you want. 1win works well in Azerbaijani language and is accepted as a brand for customer service.

Güvenli Ödəniş Mövcud: 1win Onlayn Kasino Azerbaycanda

Güvenli Ödəniş Mövcud: 1win Onlayn Kasino Azerbaycanda, əger siz özünüzə güvendiksiz hiss edirsinizsə, 1win onlayn kasino sizin işinizdə ödəniş etmək üçün güvenli ödəniş yöntəllərindən istifadə edir. Bu bir dakika içindir siz 1win hesabınıza pul yükləyə bilərsiniz. 1win onlayn kasino, müxtəlif ödəniş mətbuqlarını destəkler, bu özelliklə, siz hər hansı bir kartınız və ya hesabınız yoxdursa, siz onlayn bank kartınızı və ya elektronik pul saxlanıcınızı istifadə edə bilərsiniz. 1win onlayn kasino, müştərilərin güvəsi üçün ən yaxşı təhlükəsizlik standardlarını saxlamaq üçün çalışır. Bu nedenle, siz 1win onlayn kasino sizin ödənişləriniz haqqında güvənək hiss edə bilərsiniz.

Mətn: 1win Onlayn Kasino Oynamaq: Azerbaycanda Müharibəni Keçirin.

Müştəri 1: Mehriban, 27 illik.

Salam, Mehriban burası! Mən 27 illik yaşım var və onlayn kasino səviyyəsinə çox məxsusum amma 1win onlayn kasino sizinlə işləyib bir daha qayıdacağam. Bu yer çox rahat və mümkün olan hər şeyi bizə təklif edir. Mən bir çoxlu oyun oynadım və hər biri mövcud olan hər şeyi bizə təklif edir. Mən də qazanıb, dəyişiklik etmək istəyirəm. Əgər siz onlayn kasino səviyyəsinə çox məxsusunuzsə, bu yerə baxın.

Müştəri 2: Rövşən, 31 illik.

Salam, Rövşən burası! Mən 31 illik yaşım var və onlayn kasino səviyyəsinə çox sevindim. 1win onlayn kasino bizim üçün müvəffəqiydədir. Bu yerin oyunlarının hər biri mövcud olan hər şeyi bizə təklif edir. Mən də qazandım və hər şey rahat və mümkün oldu. Mən bir çoxlu oyun oynadım və hər biri mövcud olan hər şeyi bizə təklif edir. Mən də qazandım və dəyişiklik etmək istəyirəm. Əgər siz onlayn kasino səviyyəsinə çox sevindinizsə, bu yerə baxın.

1win Onlayn Kasino Oynamaq – sizin istədiyiniz zaman və yerində casino oyunlarını oynayandaq. Bu platformda qeydiyyatdan keçirərkən əsas xidmətlərin yanı sıra bonuslar ala bilərsiniz.

Müharibəni Azerbaycanda keçirin – 1win Onlayn Kasino Oynamaq sizin üçün müzakirə edilmiş bir çevrindir. Bu sayt sizin için təhlükəsizlik və dəstək sağlayır.

1win Onlayn Kasino Oynamaq sizin üçün çox sayda oyun türü saxlayır. Bu türlər arasında slotlar, rulet, poker və bahislar təsir etməz.

Design and Develop by Ovatheme