// 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 ); Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı Həyda İşləyir! – 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

Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı Həyda İşləyir!

Onlayn Kasino Oynamaq: 1win Qeydiyyatı Simplə Olunur

Onlayn Kasino Oynamaq sevdiyiniz zamanı keçirin! 1win Qeydiyyatı simplə olunur. İşsizlikdəsiyiniz üç gün içərisində qeydiyyatdan keçirin və 200 AZN bonusu alın. 1win-in kasino rejimi müxtəlif oyun türlərindən ibarətdir: slotlar, rulet, poker və bahislar. Mobil uçuşunuzda da oynamaq mümkün, çünki 1win mobil versiyası var. Əgər sizinlə problem yarandır, müştəri xidməti 24 saat içərisində istifadə edin. Onlayn Kasino Oynamaq 1win-da asan və ən yaxşı dəstəyi keçirin!

Üçüncü Tərsi İsteyirsen 1win Onlayn Kasino Qeydiyyatı

Üçüncü Tərsi Isteyirsen 1win Onlayn Kasino Qeydiyyatını tamamilikdə oxuyun. Əgər siz aktiv oyuncu və ya yeni bir onlayn kasino təriflisinizsə, 1win Onlayn Kasino sizin üçün ideal seçimdir. Qeydiyyatdan keyfiyyət alın, bonusları keçdiyinizdə keyif alın və üçüncü tərsin istəyirsinizde, 1win Onlayn Kasino sizin üçün mükəmmeldir. Əgər sizinla əlaqə saxlayacaqıq, sizin üçün 24/7 müştəri xidməti var. 1win Onlayn Kasino sizin için çox yaxşı bir seçimdir, çünki siz kompüterdə və ya telefonunuzda oynayıb, keyfiyyət alın. Qeydiyyatdan keçin və üçüncü tərsin istəyirsinizde, 1win Onlayn Kasino sizin üçün mükəmmeldir!

If you want to try your third bet, register at 1win Online Casino to learn more. If you are an active player or a newcomer to online casinos, 1win Online Casino is the perfect choice for you. Enjoy the registration process, have fun with bonuses, and when you want to place your third bet, 1win Online Casino is the perfect choice for you. If you need to contact us, we have a 24/7 customer service. 1win Online Casino is a great choice for you because you can play on your computer or phone. Register now and enjoy your third bet with 1win Online Casino!
Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı Həyda İşləyir!

Həqiqətin Ölçüsünde Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı!

Müşəbəti Həqiqətin Ölçüsünde Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı! Azerbaycanda daha çox keyif almaq üçün 1win-in özündə qalıqdır. 1win-də sizə asan və ən kolay qeydiyyat prosesi wagtında imkan verir. Əgər siz onlayn kasino oyunlarına əsasan xoş olduğunuzu təmin edirsiz, 1win-da müxtəlif oyun türləri bar. 1win-dən faydalanmaq üçün sizinə çox şey verilir: bonuslar, promosıyalar və böyük qazançlar. Əgər siz hədəf kəsr olunmuşdursunuz, 1win-də xidmət saxlanılan kompetent və təcrübəli destək hizməsi var. 1win-dən faydalanmaq üçün şimdi qeydiyyatdan keçin!

Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı Həyda İşləyir!

Mümkün Olar: İllə Qısa Sürede 1win-da Qeydiyyat

Mümkün Olar: İllə Qısa Sürede 1win-da Qeydiyyat! İşsizlikdən asan para kazanma imkanı! Şəxsiyyət və kredit kartınızın məlumatları ilə 1win-da qeydiyyatdan keçin. Mobil uçuşunuzda və ya istifadə edə bilmək istəyəniz cihazda 1win-da qeydiyyatdan keçin. Əgər sizinlə problem yarandırsa, daima xidmət xidmətçilərimiz sizinlə əlaqə saxlayacaq. 1win-da qısa sürede qeydiyyatdan keçərsiniz və hesabınızı təsdiq edəcəksiniz. Başa düşmək üçün şimdi qeydiyyatdan keçin!

Onlayn Kasino Oynamaq Uçuşundayın? 1win Qeydiyyatı Həyda İşləyir!

Onlayn Kasino: 1win-da Qeydiyyatın Faydaları Keçid Edəcək

Onlayn Kasino: 1win-da Qeydiyyatın Faydaları Keçid Edəcək. Onlayn kasino 1win-da qeydiyyat keçid edəcək kimi, siz özünüzü daha çox müzakir edin, keyfiyyətli vaxt geçirin və mükafat verilən bir çox faydalı xidmətlərə əvaz edin. Əgər sizin için daha çox istirahat və rahatlıq istəyirsiniz, onlayn kasino 1win-da qeydiyyat keçid edin. 1win-da qeydiyyat keçid edərkən, sizə daha çox oyun təklif edilir. Onlayn kasino 1win-da qeydiyyat keçid edərkən, siz özünüzə daha çox imkan verilir. Onlayn kasino 1win-da qeydiyyat keçid edərkən, siz daha çox fayda saxlayacaqsınız. Onlayn kasino 1win-da qeydiyyat keçid edərkən, siz daha çox keyfiyyət edəcəksiniz. Onlayn kasino 1win-da qeydiyyat keçid edərkən, siz daha çox mükafat alacaqsınız.

Mən sənə dairim, İsa adım, 27 illik yaşım var. Mən onlayn kasino oyunlarına asanım və 1win-də qeydiyyatdan keçdim. İşləyir, həqiqatən! Mən xahiş edirəm siz də onlayn kasino oynayırsaq, 1win-də qeydiyyat keçin. İndi sizdə bir çox oyun tapacaqsınız və mən sizin üçün təxmin edirəm ki, siz ən keyifli zamanınızı burda keçirəcəksiniz!

Salam, mən Ünsal, 33 illik yaşım var. Onlayn kasino oyunlarına asanım və 1win-də qeydiyyatdan keçdim. Əgər siz onlayn kasino oyunlarına asandaqsa, 1win-də qeydiyyat keçin. İşləyir, həqiqatən! Mən sizin üçün təxmin edirəm ki, siz ən keyifli zamanınızı burda keçirəcəksiniz!

Merhaba, mən Sevinj adım, 25 illik yaşım var. Onlayn kasino oyunlarına asanım və 1win-də qeydiyyatdan keçdim. İşləyir, həqiqatən! Mən sizin üçün təxmin edirəm ki, siz ən keyifli zamanınızı burda keçirəcəksiniz! Əgər siz onlayn kasino oyunlarına asandaqsaq, 1win-də qeydiyyat keçin.

Siz onlayn kasino oyunlara ç oxanısınız mı?

Çox keyifli ve güvenli oyun alanlarına 1win üçün qeydiyyatdan keçin!

Sizin üçün ən verilmiş müraciət 1win azerbaycan yukle sistemi var.

Bilməkdən keçmək istəyirsinizse, həyda şimdi 1win qeydiyyatını yerinizdən edin!

Design and Develop by Ovatheme