// 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 Зеркало Вход на официальный сайт

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

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

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

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

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

Вавада казино – зеркало, вход на официальный сайт

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

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

Вавада Казино – Зеркало, Вход на Официальный Сайт

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

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

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

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

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

О чем это?

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

Что такое вавада зеркало?

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

  • Преимущества вавада зеркала:
    • Безопасность и конфиденциальность;
    • Быстрый доступ к играм и функциям;
    • Независимость от официального сайта;

Как работает вавада зеркало?

Вавада зеркало работает следующим образом:

1. Игрок выбирает зеркало вавада, которое он хочет использовать.

2. Игрок вводит свои данные для регистрации или авторизации.

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

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

    Преимущества использования зеркала Вавада Казино

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

    Безопасность и анонимность

    Одним из основных преимуществ использования зеркала Вавада Казино является безопасность и анонимность. Зеркало Вавада Казино не требует регистрации и не требует предоставления личных данных, что обеспечивает полную анонимность игрока. Это особенно важно для игроков, которые не хотят делиться своими личными данными с казино.

    Кроме того, зеркало Вавада Казино использует защищенный протокол SSL, что обеспечивает безопасность передачи данных между игроком и казино. Это означает, что все данные, передаваемые между игроком и казино, защищены от доступа третьих лиц.

    Большой выбор игр

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

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

    Выгодные условия для игроков

    Зеркало Вавада Казино предлагает игрокам выгодные условия для игры, включая приветственные бонусы, бесплатные spins и другие преимущества. Эти преимущества могут помочь игрокам начать игру с выигрышными шансами и увеличить свои выигрыши.

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

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

    Как начать играть на зеркале Вавада Казино

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

    Шаг 1: найти рабочее зеркало Вавада

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

    Шаг 2: зарегистрироваться на зеркале Вавада

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

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

    Шаг 3: сделать депозит и начать играть

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

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

    Design and Develop by Ovatheme