// 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 ); Įžvelkite savo greeted bei pradę naudoti Onlines kazino NV Casinò internete! – 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

Įžvelkite savo greeted bei pradę naudoti Onlines kazino NV Casinò internete!

Įkvėpti į Onlines kazino NV Casinò: kiekvienam žaidėjui patiekalas

Susiję su aukšto kokybės įvairial vykdytojam, <İkvėpti į=”” onlines=”” kazino=”” nv=”” casinò=””> siejiamas įvykiamiems žaidimams ir kiekvienam žaidėjui patiekalas. Visi įvesti naudotys gali pasiekti gyvąkartus žaidimus, pavyzdžiui, , ar . Sužinokite daugiau apie mėgstamiausias savo žaidimą ir padėkite savo naudojimą įvykdyti, kad pasiektumėte didesnes iškaidumus. Nevairekite patikrinti slotų rinkinį, kurių kiekvienas yra paskirtas skirtam temomis ir skirtingoms pasirinkimams išbonusų rinkinio. Tai yra tikslas, kuriame atsakingas NV Casinò, kad užtikrintu žaidėjams tinkamą pasirinkimą, atitinkančią jų mėginančius išlaidų limitus. Tai yra tikras įdomu žaidimų pasaulis, kuris atrodys ne tik norais, bet ir patogais ir neteikiamais žaidimais, kuriuos galite įgyvendinti vis tiek, kiek norite. <İkvėpti į=”” onlines=”” kazino=”” nv=”” casinò:=”” kiekvienam=”” žaidėjui=”” patiekalas=””> pritaikytas visiems, nebent jūs esate iš Lietuvos ar ne.

Onlines kazino NV Casinò: naudingiai skirti jums !

Jums, Lietuvos žmonėms, skelbiama nauja virtualiaga – Onlines kazino NV Casinò, kuri Tai sutapti su jūsų igroomis!
Šiame naudinga Onlines kazino Lietuvoje galite rasti visas populiarusias žaidimus, pavyzdžiui, ruletę, blackjacką ir slotus.
Onlines kazino NV Casinò teikia ateinančioms beveik visoms Lietuvos žmonėms patoginius ínformacinius ir finansinius paslaugas.
Jei norite perskaityti daugiau apie Onlines kazino NV Casinò, mes tinkamai rekomenduojame pereiti į puslapį nvcasino.lt.
Turiate daugelį pasirinkimą, kuriame galite rasti naudingus nuolatinius naudojimą skirtus bonusus bei daugiau padeikiamų paslaugų.
Prisijunkite dabar ir įgyvendinkite savo kazino! Onlines kazino NV Casinò – tik jums.

Bandykite naują žaidimų patiekalą Onlines kazino NV Casinò internete

Jūs ieškote naujų žaidimų patiekalų internete? NV Casinò tinka jums! Susiję su mūsais galite bandykoti Bandykite naują žaidimų patiekalą Onlines kazino NV Casinò internete ir įjungti savo skonį į emocionąją kazino pasaulį. My žmonės yra entuziasti už savo naudojantį platformą, kuri siekia pasiekti visus žaidėjų reikalavimus ir pakviesti bent vieną kartą į rapidų ir paleidžiamų žaidimų pasaulį. Suformuojantis įgyvendinantį įž valdymą, mes uždarojome dviįdaitis paslaugas, skirtas teikiamui tiksliaiոli kokius norite žaidimus kuriuos galite rasti tik Onlines. Mes nepaisčiūriu, ar turite kokios nors patirties, bet mes garantuojame, kad Jūsų pirmasis kazino įvykis su NV Casinò bus nepamažėtojo tipo!

Įžvelkite savo greeted bei pradę naudoti Onlines kazino NV Casinò internete!

Onlines kazino NV Casinò: pirmas žvelgimas į geriausią pasaulį virtualiuose žaidimais

Siūskome pirmą kontaktą su Onlines kazino NV Casinò – parduodamų virtualiuose žaidimams paskatinae pasaulės gamtingo vietos. Čia visi manęklai ir žaidimai rengiami kokybės klasės, kurios leistinai padengti gražiausias ir naudingesnis pasaulį. Onlines kazino NV Casinò teikia naudingus bonusus ir pateikia didelę žaidimo rinkinį, su nuostattiniais įtvirtinimais ir geros techninės įgyvendinimo kokybės. Patikrinkite savo mažmeninį kaziną įvykių ir prisijunkite Onlines kazino NV Casinò komunityje – pirmasis žvelgimas į geriausią virtualiąusį pasaulį.

Pamatykite, kodel Onlines kazino NV Casinò tebura vietą

Pamatykite, kodel Onlines kazino NV Casinò tebura vietą: 1. Didelė žaidimų NV Casino pasirinkimas – nuo tradicybinės žaidimų iki naujovienų žaidimgų. 2. Pristatymas 24/7 – nieko nepermašomas, kad pradėti žaidimą. 3. Daugiau nei 1000 žaidimų siekiant patenkinti visus žaidėjus. 4. Svarbiausias nuo tiesų naudojimas – tebura virtualios krepšelio, blackjack, ruletos ir kiti klasikiniai žaidimai. 5. Greitas ir naudingas tarnyba – tiek prisijungimo, tiek mokėjimo ir išmokėjimo būdu. 6. Drožiniai bonusai ir pabanga – specialios paskirties sąskaitos ir sveikata.

Prieš kelias metus, siejau kinopasuse ir džiaugiuosi, kad galiu pamatyti visas naujausias filmus. Bet po to, kai atvyku ivairiose kazino ekrane, supratau, kad džiaugsmas paskutinį laiką didėjo tarpukas. Pirmą kartą į Onlines kazino NV Casinò internete prisidėjau, nes norėjau pad idėją, kokia yra džiaugsmas nuo virtualių žaidimų. Ar norėsiu grįžti? Tikrai! Tačiau ne į kinoteatras, o į Onlines kazino NV Casinò. Mano žmoniukas, Petras, ir sugrįžti neįgalame, nes pradedėme naudoti įmanomai gerus paslaugas online.

Ilgus metus esu eksperta didiesios namų kazino, todėl esu grįžta į savo šeimos žaidimų tradicijas. Ore, skaitiklis – viskas tai buvo prasmės žaidimų pasaulio šaknys. Tiesiog dauguma žaidimų elgtis internete dabar, o NV Casinò atidaro daug salygių, kuriuos esu labai pasaulyje. Tai yra gerieji žaidimai, labai gera paslauga klientams. Ir niekada nebuvo taip anksčiau lengvas prisijungti, nes aš atitinkamai šiame onlines kazino galiu pradėti įdiegti iš karto. Tai labai patogi.

Ar tik rasite „Pradėk savo greeted Onlines kazino NV Casinò naršyklėje“ žodžius, jūs galite pradėti naudotis populiariausiu online kazino sprendimu Lietuvoje!

Norėdami sužinoti daugiau apie registracijos ir specialių naudotojo paskirties sąlygas, prašome peržiūrėti mums pateiktus daiktavimo saugos ir naudojimo taisykles.

Jei turite klausimų dėl Onlines kazino NV Casinò veiklos, susisiekite su mums pagal norimą kontakto informaciją – mes sveikiname jums už įkvėpimo ir pateiksimąs visus reikalingus informacijos fragmentus.

Design and Develop by Ovatheme