// 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 ); Пин Ап Казино Онлайн — окунитесь в мир азартных приключений с Pin Up Casino – 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

Пин Ап Казино Онлайн — окунитесь в мир азартных приключений с Pin Up Casino

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

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

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

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

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

Pin Up Casino Online – Immerse Yourself in the World of Thrilling Adventures with Pin Up Casino

Преимущества Pin Up Casino

Pin Up Casino также предлагает игрокам поддержку 24/7, чтобы помочь в случае каких-либо вопросов или проблем. Игроки могут связаться с поддержкой через чат, электронную почту или телефон.

Как начать играть в Pin Up Casino

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

Pin Up Casino – это идеальное место для игроков, которые ищут азартные приключения и призы. Игроки могут начать играть в любое время суток и получать призы, играя в любимые игры.

Pin Up Casino Online – Immerse Yourself in the World of Thrilling Adventures

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

Возможности для игроков

  • Большой выбор игр: более 3 000 слотов, 100+ игр с дилерами, 100+ игр с автоматами
  • Многообразие жанров: от классических слотов до живых игр с дилерами, от карточных игр до рулетки
  • Мобильная версия: играть можно на любом устройстве, где есть интернет
  • Бонусы и акции: приветственные бонусы, реферальные бонусы, акции и промокоды

Преимущества Pin Up Casino

  • Легкая регистрация: только несколько минут, и вы готовы играть
  • Безопасность: все данные защищены SSL-шифровкой
  • 24/7 поддержка: команда поддержки готовит помочь вам в любое время
  • Многоязычность: сайт доступен на многих языках, включая русский
  • Pin Up Casino – это ваш путь к азартным приключениям, где вы можете испытать эмоции и чувство победы. Присоединяйтесь к нам и начните играть сегодня!

    What is Pin Up Casino?

    Pin Up Casino – это онлайн-казино, которое предлагает игрокам из России и других стран возможность играть в азартные игры на деньги. Компания была основана в 2016 году и с тех пор стала одним из лидеров в мире онлайн-казино.

    Pin Up Casino предлагает игрокам более 3 000 игр, включая слоты, карточные игры, рулетку, бинго и другие. Игроки могут играть на деньги или в режиме demo, что позволяет им попробовать игры без риска.

    Кроме того, Pin Up Casino предлагает игрокам привлекательные бонусы и акции, включая приветственные бонусы, реферальные бонусы и другие. Игроки могут выбрать из различных способов оплаты, включая Visa, Mastercard, Skrill, Neteller и другие.

    Pin Up Casino имеет лицензию на проведение азартных игр, выдана в Кюрасао, и работает в соответствии с международными стандартами безопасности и честности. Это означает, что игроки могут быть уверены в безопасности своих данных и средств.

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

    Games and Entertainment

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

    Но Pin Up Casino – это не только о играх. Мы предлагаем нашим гостям и развлекательные программы, которые помогут вам расслабиться и насладиться процессом игры. Наш сайт регулярно обновляется, чтобы обеспечить вам наилучшие условия для игры и развлечений.

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

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

    Почему выбрать Pin Up Casino?

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

    Уникальные преимущества

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

    Pin Up Casino предлагает игрокам более 1 000 иг, включая слоты, карточные игры, рулетку и другие. Это обеспечивает широкий выбор для игроков, чтобы найти игру, которая им понравится. Высокие коэффициенты также обеспечивают игрокам максимальную выгоду.

    Безопасность и конфиденциальность

    • SSL-шифрование
    • Лицензия на игорное дело
    • Протоколы безопасности

    Pin Up Casino обеспечивает безопасность и конфиденциальность игроков, используя SSL-шифрование, лицензию на игорное дело и протоколы безопасности. Это обеспечивает безопасность данных игроков и предотвращает мошенничество.

    Многоязычный интерфейс

  • Многоязычный интерфейс
  • Доступность на нескольких языках
  • Pin Up Casino предлагает многоязычный интерфейс, доступный на нескольких языках, включая русский, английский, немецкий и другие. Это обеспечивает доступность для игроков из разных стран.

    Многофункциональная платформа

    • Мобильная версия
    • Доступность на различных устройствах

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

    How to Register and Start Playing at Pin Up Casino

    Registration at Pin Up Casino is a straightforward process that can be completed in a few simple steps. To get started, follow these easy-to-follow instructions:

    Step 1: Go to the Pin Up Casino Website

    Open your web browser and navigate to the official Pin Up Casino website. You can do this by typing https://www.kokm.ru in the address bar.

    Step 2: Click on the “Register” Button

    Once you’re on the Pin Up Casino website, click on the “Register” button located at the top right corner of the page. This will take you to the registration form.

    Step 3: Fill in the Registration Form

    The registration form is divided into several sections. Fill in the required information, including:

    Field
    Example

    Username your_username Email your_email@example.com Password your_password Confirm Password your_password Phone Number +7 999 999 99 99 Country Russia

    Make sure to fill in all the required fields accurately and carefully. You can’t change your username and email address later, so double-check them before submitting the form.

    Step 4: Verify Your Account

    After submitting the registration form, you’ll receive an email with a verification link. Click on this link to activate your account. This is an important step, as it ensures that your account is secure and protected.

    Step 5: Make a Deposit and Start Playing

    Once your account is verified, you can make a deposit using one of the available payment methods. The minimum deposit amount is 1,000 RUB. You can then start playing your favorite games, including slots, table games, and live dealer games.

    That’s it! You’re now ready to start playing at Pin Up Casino. Remember to always play responsibly and within your means. Good luck, and have fun!

    Design and Develop by Ovatheme