// 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 ); «Πάτριδα σου και καζίνο: Λάβετε PARTTEIPATION στο FunBet Greece με την διαδικτυακή πλατφόρμα μας» – 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

«Πάτριδα σου και καζίνο: Λάβετε PARTTEIPATION στο FunBet Greece με την διαδικτυακή πλατφόρμα μας»

«Γίνεте μέλος του FunBet Greece: Τι προσφέρει η ψηφιακή πλατφόρμα μας;»

Γίνεте μέλος του FunBet Greece και παίξτε σε έναν από τους ισχυρότερους διαδικτυακούς καζίνο πλατφόρμες!
Από τα πολυμεσικά παιχνίδια μέχρι των online σπιν ρολλς, το FunBet Greece προσφέρει μια πλήρη εμπειρία παιγνιδίου.
Λάβετε παρτίδα στα ποκερ, το ρουμπλετ, το σλοτ ρουλετα ή το β lack jack, είτε στον προγραμματισμένο παιχνιδισμό μας ή σε ζωντανές παρτίδες με παίκτες από το κόλπο σου.
Το FunBet Greece προσφέρει επίσης εκπληκτικά προσφορές και ιδιωτικές προσφορές, με τις λεπτότητες και τις παρασκηνίου τεχνικές της επιχείρησής μας.
Εγγραφείτε σήμερα και γίνετε μέλος του FunBet Greece, για να δείτε τι πραγματικά μπορεί να προσφέρει μια αξιόπιστη διαδικτυακή πλατφόρμα καζίνο!

«Πάτριδα σου και καζίνο: Λάβετε PARTTEIPATION στο FunBet Greece με την διαδικτυακή πλατφόρμα μας»

«Οδηγía διαγραφής σε το FunBet Greece: Πώς να εγγραφείτε στην πλατφόρμα μας;»

Σο={{‘ ‘}}φίμε {{‘ ‘}}σας {{‘ ‘}}παρουσιάζουμε {{‘ ‘}}μια {{‘ ‘}}πρόστιχη {{‘ ‘}}οδηγία {{‘ ‘}}για {{‘ ‘}}τη {{‘ ‘}}διαγραφή {{‘ ‘}}στη {{‘ ‘}}FunBet {{‘ ‘}}Γραμμή {{‘ ‘}}Ελλάδα. Για {{‘ ‘}}να {{‘ ‘}}εγγραφείτε {{‘ ‘}}στη {{‘ ‘}}πλατφόρμα {{‘ ‘}}μας, {{‘ ‘}}ακολουθήστε {{‘ ‘}}τα {{‘ ‘}}παρακάτω {{‘ ‘}}βήματα: 1. {{‘ ‘}}Επισκεφθ EddieHub.org και {{‘ ‘}}πατήστε {{‘ ‘}}το {{‘ ‘}}κουμπί {{‘ ‘}}”{{‘ ‘}}Εγγραφή{{‘ ‘}}”. 2. {{‘ ‘}}Συμπληρώστε {{‘ ‘}}τα {{‘ ‘}}απαιτούμενα {{‘ ‘}}πεδία {{‘ ‘}}με {{‘ ‘}}τις {{‘ ‘}}σωστές {{‘ ‘}}πληροφορίες {{‘ ‘}}σας. 3. {{‘ ‘}}Δηλώστε {{‘ ‘}}ότι {{‘ ‘}}είστε {{‘ ‘}}ηλικιωμένοι {{‘ ‘}}18 {{‘ ‘}}ετών {{‘ ‘}}ή {{‘ ‘}}περισσότεροι. 4. {{‘ ‘}}Διαβάστε {{‘ ‘}}και {{‘ ‘}}συναίσθητε {{‘ ‘}}τη {{‘ ‘}}Λειτουργία {{‘ ‘}}Προστασίας {{‘ ‘}}Δεδομένων {{‘ ‘}}μας. 5. {{‘ ‘}}Κλικήστε {{‘ ‘}}στο {{‘ ‘}}κουμπί {{‘ ‘}}”{{‘ ‘}}Εγγραφή{{‘ ‘}}” {{‘ ‘}}και {{‘ ‘}}αρχίστε {{‘ ‘}}να {{‘ ‘}}παίζετε!

«Τι νέα παιγνία είναι διαθέσιμα στο FunBet Greece;»

Έχουμε νέα ανακοίνωση για τους φίλους του FunBet Greece! Τώρα διαθέσιμα είναι ήδη νέα παιχνίδια που θα σας αφήσουν να νικήσετε τα καλύτερα κάθε μέρα. Έχουμε νέα δημοσίευση τριπλέ παιχνίδια, σκαλιδωτές καρτές, και πολλά έτερα. Μην λησμόνετε να ελάβετε τον πλήρο όfit της εμπειρίας του FunBet Greece και να δοκιμάσετε τα νέα παιχνίδια από τη σημερινή στιγμή!

«Πώς λαμβάνετε παρτίδα στο FunBet Greece; Δείτε το τόσο απλά!»

Θέλετε να ξεκινήσετε παιχνίδια στο FunBet Greece; είναι πολύ εύκολο!Πρώτα, εγγραφείτε στο FunBet Greece και λειτουργήστε την λογαριαμανία σας.
Στη συνέχεια, επιλέξτε το παιχνίδι που θέλετε να παίξετε και κάντε κλικ στην επιλογή «Παίξε NOW».
Έπειτα, επιλέξτε το ρόλο σας και ορίστε τις επιλογές του παιχνιδιού σας.
Στόχος σας να έχετε ένα ενεργή σύνολο στο FunBet Greece, ετοιμάζεστε να ανταγωνίστε!

«Τι είναι τα rewards & benefits που προσφέρεται από το FunBet Greece;»

Το FunBet Greece προσφέρει ένα ποικιλό μνημόνιο rewards & benefits για τον έρωτα σας να παίξετε στο καζίνο. Εδώ βρίσκεται everything you need, από δωροiéς γιρνών και καρτέλες μέλους μέχρι προγράμματα πίστης και δώρα για τα γονείς. Όπως μέλος VIP, μπορείτε να λαμβάνετε προτιμήσεις συγκεκριμένες και να συμμετεχόνετε σε εκδήλωσης βιβλιοθήκης στοιχημάτων. Το FunBet σας προσφέρει επίσης την ευκαιρία να αναπτύξετε τον προσοχή σας στα νέα παιχνίδια, ενώ μπορείτε να λήψετε και δωρέαν πόδια χρήσης και να συμμετάσχετε στις τουρνώσεις του casino.

Όλοι οι πελάτες μας στο FunBet Greece είναι ιδιαίτερα ευχαριστημένοι!

“Είμαι Ευάγγελος, 35 ετών, και αγαπώ το καζίνο της Πάτριδας μου. Το FunBet Greece είναι η ιδέα μου πλατφόρμα για να παιχνίδω τα πιο διασκεδαστικά παιχνίδια online. Η διαδικτυακή πλατφόρμα είναι εύκολη να χρησιμοποιηθεί και τα παιχνίδια είναι πολύ ενδιαφέροντα. Συνιστώ την FunBet Greece σε όλους!”

“Η Ειρήνη, 28 ετών, λέει: “Το FunBet Greece είναι το καλύτερο καζίνο online που έχω δοκιμάσει. Η επιλογή των παιχνιδιών είναι εξαιρετική και οι πινακιδικές παρτίδες είναι πολύ διασκεδαστικές. Είμαι στο FunBet Greece από την αρχή και δεν έχω σκεφτεί να αλλάξω τοπικό. Συνιστώ την συμμετοχή στην πλατφόρμα μας!”

“Ο Γιώrgος, 42 ετών, αναφέρει: “Είμαι πολύ ευχαριστημένος με την παρέχουσα υπηρεσία της FunBet Greece. Τα παιχνίδια δουλεύουν εξαιρετικά και η ληψή και αποστολή των κέρδων είναι γρήγορη και ασφαλής. Συνιστώ την FunBet Greece σε όλους τους φίλους μου!”

Κάντε την εγγραφή σας στο FunBet Greece και λαβετε μέρος στην εκστρατεία για την απόλυτη αναπαυή! Πάτριδα σου και καζίνο: Λάβετε παρτειπανσία στο FunBet Greece με την διαδικτυακή πλατφόρμα μας.

Ερώτησεις-Απαντήσεις

Μπορείτε να συμμετάσχετε στο FunBet Greece; αν είστε Greek πρósesso?

Πώς μπορώ να εγγραφώμαι στο FunBet Greece;

Τι είναι η «PARTTEIPATION» στο FunBet Greece;

Περιλαμβάνει η πλατφόρμα μας τα καζίνο πολυπλοκά;

Τι διαφορά έχει η παριστάσεις μου στο FunBet Greece με σύγκριση με άλλα καζίνα;

Design and Develop by Ovatheme