// 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 ); Онлайн казино Azartoff – интерфейс и навигация – 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

Онлайн казино Azartoff – интерфейс и навигация

В современном мире онлайн-казино играют важную роль в развлечениях и заработке дополнительного дохода. В этом тексте мы рассмотрим популярное онлайн-казино Azartoff, его интерфейс и навигацию, а также особенности регистрации и доступа к azartoff бонусам.

Azartoff – это официальный сайт онлайн-казино, который предлагает игрокам широкий спектр игр, включая слоты, карточные и настольные игры, а также живые игры с дилерами. Интерфейс сайта простой и удобный, что позволяет игрокам легко найти и выбрать игру, которая им понравится.

Для начала игры на azartoff казино необходимо зарегистрироваться на официальном сайте azartoff casino . Регистрация проста и занимает несколько минут. Игроку нужно ввести свои личные данные, выбрать логин и пароль, а также подтвердить свою электронную почту. После регистрации игрок получит доступ к azartoff бонусам, которые могут помочь ему начать играть с дополнительными средствами.

Навигация по сайту также проста и логична. Игрок может найти любую игру, используя функциональный поиск или просматривать список доступных игр. Азартофф казино также предлагает функцию фильтрации игр по типу, жанру и производителю, что позволяет игрокам быстро найти игру, которая им понравится.

В целом, azartoff casino – это отличное онлайн-казино, которое предлагает игрокам широкий спектр игр и удобный интерфейс. Регистрация на сайте проста и занимает несколько минут, а azartoff бонусы могут помочь игрокам начать играть с дополнительными средствами.

Важно! Перед началом игры на azartoff casino игрок должен убедиться, что он достиг совершеннолетия и что он не нарушает законодательство своей страны.

Обратите внимание! Azartoff casino – это официальный сайт, но игроки должны быть осторожны при выборе онлайн-казино, чтобы не попасть в сети мошенников.

Azartoff Online Casino: Interface and Navigation

Azartoff casino is a popular online gaming platform that offers a wide range of games, including slots, table games, and live dealer games. In this article, we will take a closer look at the interface and navigation of the Azartoff casino website.

Registration and Login

Registration at Azartoff casino is a straightforward process that can be completed in a few steps. To register, simply click on the “Register” button on the top right corner of the website and fill out the required information, including your name, email address, and password. Once you have completed the registration process, you can log in to your account by entering your email address and password.

Azartoff casino also offers a mobile version of its website, which can be accessed by visiting the website on a mobile device. The mobile version of the website is optimized for mobile devices and offers a similar interface and navigation as the desktop version.

One of the key features of Azartoff casino is its bonus system. The casino offers a range of bonuses, including a welcome bonus, deposit bonuses, and loyalty bonuses. The welcome bonus is a 100% match bonus up to 1000 rubles, and can be claimed by new players who make their first deposit. The deposit bonus is a 50% match bonus up to 500 rubles, and can be claimed by players who make a deposit of at least 100 rubles. The loyalty bonus is a 10% cashback bonus on all deposits, and can be claimed by players who have made at least 5 deposits in the past 30 days.

Azartoff casino also offers a range of payment options, including Visa, Mastercard, and Yandex Money. The minimum deposit amount is 100 rubles, and the maximum deposit amount is 50,000 rubles. The minimum withdrawal amount is 500 rubles, and the maximum withdrawal amount is 20,000 rubles. The casino also offers a range of withdrawal options, including bank transfer, Visa, and Mastercard.

In conclusion, Azartoff casino offers a user-friendly interface and navigation, making it easy for players to find and play their favorite games. The casino also offers a range of bonuses and payment options, making it a popular choice among online gamblers. If you are looking for a reliable and secure online casino, Azartoff casino is definitely worth considering.

Внешний вид и дизайн azartoff casino официальный сайт

Внешний вид и дизайн azartoff casino официального сайта – это результат тщательной работы дизайнеров, которые создали уникальный и привлекательный интерфейс, который обеспечивает комфортную игру для пользователей. Визуально, azartoff casino официальный сайт напоминает о роскошном казино, где каждый игрок может насладиться игрой и получать удовольствие.

Дизайн сайта выполнен в стиле luxury, что подчеркивает элегантность и роскошь. Цветовая гамма сайта состоит из классических оттенков серого, золотого и черного, что создает уникальный и привлекательный внешний вид. В центре страницы расположен логотип azartoff casino, который является символом качества и надежности.

Навигация на сайте также выполнена на высоком уровне. Меню сайта разделено на несколько разделов, каждый из которых содержит информацию о различных аспектах работы azartoff casino, включая регистрацию, бонусы, игры и т.д. Каждый раздел имеет четкую и понятную структуру, что позволяет пользователям легко найти необходимую информацию.

azartoff casino официальный сайт также обеспечивает безопасность и конфиденциальность игроков, используя современные технологии шифрования и защиты данных. Это позволяет игрокам чувствовать себя уверенно и комфортно, играя на сайте.

В целом, внешний вид и дизайн azartoff casino официального сайта – это результат тщательной работы дизайнеров, которые создали уникальный и привлекательный интерфейс, который обеспечивает комфортную игру для пользователей. azartoff casino официальный сайт – это лучшее место для игроков, которые ищут роскошный и комфортный игровой опыт.

Меню и навигация в Azartoff Casino

Основные разделы меню

Меню Azartoff Casino разделено на несколько основных разделов, каждый из которых предназначен для конкретной группы функций. В частности, вы можете найти разделы:

  • Игры – здесь собрано более 1 000 игр от ведущих разработчиков, включая слоты, карточные игры, рулетку и другие;
  • Бонусы – здесь вы можете найти информацию о различных бонусах, акциях и промокодах, которые доступны для новых и постоянных игроков;
  • Профиль – в этом разделе вы можете управлять своей учеткой, изменять пароль, просматривать историю игры и получать информацию о своих аккаунте;
  • О нас – здесь вы можете узнать о компании Azartoff, ее истории, целях и принципах;
  • Контакты – в этом разделе вы можете найти информацию о способах связи с поддержкой, а также адрес, телефон и электронную почту.

Кроме того, на странице Azartoff Casino есть поиск, который позволяет быстро найти нужную игру или раздел.

В целом, Azartoff Casino предлагает удобный и логичный интерфейс, который позволяет игрокам быстро и легко найти то, что им нужно, и насладиться игрой.

Игровая площадка Azartoff Casino

Игровая площадка Azartoff Casino – это сердце онлайн-казино, где вы можете насладиться игрой на деньги или в режиме демо. Здесь вы найдете огромный выбор игр, включая слоты, карточные игры, рулетку и другие азартные игры.

  • Слоты: более 500 игр от ведущих разработчиков, включая NetEnt, Microgaming и Evolution Gaming.
  • Карточные игры: блэкджек, покер, бинго и другие.
  • Рулетка: классическая и американская рулетка, а также рулетка с живым дилером.
  • Видеопокер: играть в покер с дилером.
  • Казино-игры: играть в игры, похожие на игры в казино, но без реальных денег.

Все игры на игровой площадке Azartoff Casino доступны в режиме демо, что позволяет вам попробовать игру перед игрой на деньги.

Для начала игры вам нужно зарегистрироваться на официальном сайте Azartoff Casino и сделать минимальный депозит. Затем вы можете выбрать игру, которая вам понравилась, и начать играть.

В Azartoff Casino действует система лояльности, которая позволяет вам получать бонусы и преимущества за игру.

Если у вас возникнут вопросы или проблемы, вы можете обратиться к поддержке Azartoff Casino, которая работает круглосуточно.

Azartoff Casino – это безопасное и надежное онлайн-казино, которое обеспечивает конфиденциальность и безопасность вашей информации.

Бонусы и акции в Azartoff Casino

В Azartoff Casino предлагается широкий спектр бонусов и акций, чтобы обеспечить игрокам максимальное удовлетворение и комфорт при игре. Некоторые из них включают:

Встречный бонус для новых игроков – 100% до 10 000 рублей, чтобы начать играть с преимуществом.

Бонус за депозит – 50% до 5 000 рублей, чтобы увеличить свой банкролл.

Бонус за лояльность – 20% до 2 000 рублей, чтобы наградить самых постоянных игроков.

Акция “Русская неделя” – 20% к выигрышам, полученным в игровых автоматах, в течение недели.

Акция “День рождения” – 30% к выигрышам, полученным в игровых автоматах, в день рождения.

В Azartoff Casino также предлагается программа лояльности, которая позволяет игрокам получать бонусы и преимущества за каждую сделанную ставку.

Все бонусы и акции в Azartoff Casino имеют свои условия и ограничения, поэтому перед использованием рекомендуется прочитать соответствующие условия на официальном сайте Azartoff Casino.

Design and Develop by Ovatheme