// 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 ); Vavada онлайн казино – 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

Vavada онлайн казино

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

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

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

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

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

Вавада – это онлайн-казино, которое является одним из лучших на рынке. Вавада – это место, где игроки могут найти безопасный и надежный доступ к играм, а также высокое качество игр и множество преимуществ.

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

Vavada Online Casino: A Comprehensive Guide

Vavada online casino is a popular destination for gamblers from all over the world. With its official website, vavada.com, it offers a wide range of games, including slots, table games, and live dealer games. But what makes Vavada stand out from the crowd is its mirror sites, which provide an additional layer of security and accessibility.

What is Vavada Official Website?

The official Vavada website is the primary platform where players can access the casino’s services. It is the primary source of information, games, and promotions. The website is available in multiple languages, including English, Russian, and others, making it accessible to a global audience.

However, the official website may be blocked or restricted in some countries due to local laws and regulations. This is where Vavada mirror sites come into play.

Vavada Mirror Sites: What Are They?

Vavada mirror sites are alternative websites that mirror the official Vavada website. They are designed to provide an additional layer of security and accessibility, as they are not directly linked to the official website. This means that even if the official website is blocked or restricted, the mirror sites remain accessible.

Vavada mirror sites are also known as “working mirrors” or “working mirrors of Vavada”. They are designed to provide a seamless gaming experience, with the same games, promotions, and services as the official website.

It’s worth noting that Vavada mirror sites are not official websites, but rather unofficial alternatives that are designed to provide an additional layer of security and accessibility. They are not affiliated with the official Vavada website, but they are designed to provide a similar experience.

When it comes to choosing a Vavada mirror site, it’s essential to be cautious. Not all mirror sites are created equal, and some may be scams or phishing sites. It’s crucial to do your research and choose a reputable mirror site that is known for its reliability and security.

In conclusion, Vavada online casino is a popular destination for gamblers, and its official website is the primary source of information, games, and promotions. Vavada mirror sites provide an additional layer of security and accessibility, but it’s essential to be cautious when choosing a mirror site. By understanding the difference between the official website and mirror sites, you can make an informed decision and enjoy a safe and secure gaming experience at Vavada casino.

Vavada casino, Vavada mirror, Vavada official website, Vavada working mirror, Vavada entrance

Вавада – онлайн казино: обзор и отзывы

Вавада – это популярное онлайн-казино, которое предлагает игрокам широкий спектр игровых автоматов, азартных игр и других развлечений. В этом обзоре мы рассмотрим основные преимущества и недостатки Вавады, а также соберем отзывы игроков.

Преимущества Вавады

  • Широкий спектр игровых автоматов и азартных игр
  • Высокие ставки и выигрыши
  • Профессиональный сервис поддержки
  • Безопасность и конфиденциальность
  • Многоязычный интерфейс

Недостатки Вавады

  • Некоторые игроки могут чувствовать себя неудобно из-за ограничений на некоторые страны
  • Вавада официальный сайт – https://www.docplan.ru/ , а также есть несколько зеркал, например, https://www.docplan.ru/ зеркало.com и https://www.docplan.ru/ рабочее зеркало.com.

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

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

    Описание и функциональность Vavada онлайн казино

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

    Вавада онлайн казино предлагает игрокам более 1 000 игр, включая слоты, карточные игры, рулетку, покер и другие. Игры доступны в режиме онлайн, что позволяет игрокам играть в любое время и из любого места, имея доступ к интернету.

    Функциональность Vavada онлайн казино

    Функция
    Описание

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

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

    Преимущества и недостатки Vavada онлайн казино

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

    Преимущества:

    Широкий спектр игр: Vavada официальный сайт предлагает более 1 000 игр, включая слоты, карточные игры, рулетку и другие. Это обеспечивает игрокам широкие возможности для выбора и нахождения игры, которая им понравится.

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

    Возможность играть на деньги: игроки могут играть на деньги, что обеспечивает реальные выигрыши.

    Возможность играть на реальные деньги: игроки могут играть на реальные деньги, что обеспечивает реальные выигрыши.

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

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

    Вавада казино: Vavada казино – это онлайн-казино, которое предлагает игрокам широкий спектр игр и услуг.

    Недостатки:

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

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

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

    Отзывы и оценки о Vavada онлайн казино

    Недостатки: некоторые игроки пожаловались на сложность регистрации и отсутствие поддержки на русском языке.

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

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

    Design and Develop by Ovatheme