// 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 ); 1win букмекерская контора — вход – 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

1win букмекерская контора — вход

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

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

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

Вход в мир ставок с 1win

Для начала, вам нужно зарегистрироваться на официальном сайте 1win , чтобы получить доступ к полному спектру услуг и функций. Регистрация занимает считанные минуты, и вам нужно только ввести некоторые личные данные, а также выбрать тип аккаунта (депозит или бездепозитный).

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

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

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

1win – вход в мир ставок

В современном мире ставок и азартных игр, 1win является одним из самых популярных и надежных букмекерских контор. Компания была основана в 2018 году и с тех пор стала одним из лидеров на рынке ставок.

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

Ключевым преимуществом 1win является его простота и доступность. Пользователи могут легко зарегистрироваться, сделать депозит и начать делать ставки. Компания предлагает несколько способов оплаты, включая банковские карты, электронные деньги и другие.

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

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

  • Простота и доступность
  • Широкий спектр услуг
  • Международный статус
  • Многочисленные программы лояльности
  • Многочисленные программы поощрения

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

Преимущества и функции 1win

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

Большой выбор ставок

1win предлагает огромный выбор ставок на различные виды спорта, включая футбол, баскетбол, хоккей, теннис и многие другие. Клиенты могут выбрать любую из более 20 000 событий, которые доступны для ставок в реальном времени.

Кроме того, 1win предлагает функцию “Мulti-bet”, которая позволяет клиентам создавать сложные комбинации ставок, что может привести к более высоким выигрышам.

Бонусы и акции

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

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

В целом, 1win – это отличный выбор для тех, кто ищет простой и доступный способ играть в онлайн-казино и делать ставки на спорт. С ее широким выбором ставок, функцией “Мulti-bet” и регулярными бонусами и акциями, 1win предлагает своим клиентам все, что нужно для комфортного и успешного игорного опыта.

Как начать играть

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

После регистрации, вам будет предложено выбрать способ оплаты. 1win предлагает несколько вариантов оплаты, включая карты Visa и Mastercard, а также электронные кошельки, такие как WebMoney и Skrill. Выберите способ оплаты, который вам удобен.

Выбор спортсменов

После выбора способа оплаты, вам нужно выбрать спортсмена, на которого вы хотите поставить. 1win предлагает широкий спектр спортивных событий, включая футбол, баскетбол, теннис и другие. Выберите спортсмена, на которого вы хотите поставить, и нажмите на кнопку “Поставить”.

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

Планирование бюджета

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

Наконец, нажмите на кнопку “Поставить”, чтобы подтвердить вашу ставку. 1win будет принимать вашу ставку и начать процесс расчета выигрыша.

Design and Develop by Ovatheme