// 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 – это международный оператор, который работает на основе лицензии Curacao и имеет репутацию надежного и честного игроком. Он предлагает игрокам более 3 000 игр, включая слоты, карточные игры, рулетку и другие азартные игры. Все игры на сайте Pin Up Casino разработаны ведущими разработчиками, такими как NetEnt, Microgaming и Pragmatic Play.

Входи на сайт Pin Up Casino и получи доступ к играм, которые ты любишь. Регестрируй свой аккаунт, и получи приветственный бонус в 125 000 рублей. Это отличный способ начать играть и получать выгоды.

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

Начни играть на официальном сайте Pin Up Casino и получи наслаждение от игры!

Пин Ап Казино – Официальный сайт

Вход на официальный сайт

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

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

Преимущества официального сайта

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

Большой выбор игр – на сайте доступно более 3 000 игр, включая слоты, карточные игры, рулетку и другие.

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

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

Начните играть

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

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

Pin Up Casino – Официальный сайт

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

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

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

Огромный выбор игр от ведущих разработчиков

Удобная регистрация и вход на сайт

Возможность играть на деньги и в тестовом режиме

Многоуровневая система лояльности, которая позволяет игрокам получать бонусы и преимущества

24/7 поддержка клиентов, доступная по телефону, почте и чату

Pin Up Casino также предлагает несколько способов оплаты, включая Visa, Mastercard, Skrill, Neteller и другие. Минимальный депозит – 1 000 рублей, а максимальный – 100 000 рублей. Максимальная сумма выигрыша – 1 000 000 рублей.

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

Вход на официальный сайт Pin Up Casino

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

Для регистрации на сайте Pin Up Casino вам нужно выполнить несколько простых шагов:

Шаг 1: Перейдите на официальный сайт Pin Up Casino

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

Шаг 2: Нажмите на кнопку “Зарегистрироваться”

На странице входа на сайт 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 доступна для игроков из многих стран
  • Игроки могут создать несколько аккаунтов, но не более 3-х
  • Для регистрации игроки должны подтвердить свой возраст и согласиться с условиями использования сайта

Основные функции сайта

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

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

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

    Как играть на официальном сайте Pin Up Casino

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

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

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

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

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

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

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

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

    Безопасность и конфиденциальность на официальном сайте Pin Up Casino

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

    Для начала, наша платформа использует защищенный протокол SSL (Secure Sockets Layer), который обеспечивает безопасное соединение между вашим браузером и нашим сервером. Это означает, что все данные, передаваемые между вами и нашим сайтом, защищены от доступа третьих лиц.

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

    Мы также обеспечиваем безопасность транзакций, используя платежные системы, которые имеют высокий уровень безопасности. Мы сотрудничаем с ведущими платежными системами, такими как Visa, Mastercard, Skrill, Neteller и другие, чтобы обеспечить безопасные и быстрые транзакции.

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

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

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

    Design and Develop by Ovatheme