// 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 ); Παίξτε στο Μεγάριχ Καζίνο Online & Αναπτύξτε Την Επιστήμη Σας Για Τον Τύχερο Κόσμο! – 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

Παίξτε στο Μεγάριχ Καζίνο Online & Αναπτύξτε Την Επιστήμη Σας Για Τον Τύχερο Κόσμο!

Παίξτε στο Μεγάριχ Καζίνο Online & Αναπτύξτε Την Επιστήμη Σας Για Τον Τύχερο Κόσμο!

Ο καλύτερος τρόπος για να μάθετε τον πόκер στο Megarich Casino Online

Ο καλύτερος τρόπος για να μάθετε τον πόκер στο Megarich Casino Online είναι να ξεκινήσετε με τις βασικές αναλυτικές ρολοιδ plot παιχνιδιών πόκер, όπως το Texas Hold’em και το Omaha. Μπορείτε να βρείτε πληροφορίες σχετικά με τις βασικές και πιο Fortschrittliche κινήσεις στην ιστοσελίδα του Megarich Casino Online. Επιπλέον, το Megarich Casino Online προσφέρει δωρεάν διδακτικά materiel και πόκερ schools για νέους παίκτες. Το κύριο πρόνοια σας πρέπει να είναι να κατανοήσετε τις ρολοιδ plot και να μελετήσετε την στρατηγική πόκερ, όπως η ανάγνωση των άλλων παικτών και η αντίθεση τους. Μπορείτε να δοκιμάσετε τις γνώσεις σας στον προσεγγιστικό πόκер room του Megarich Casino Online, πριν να παίξετε στους πραγματικούς πόκερ tables.

Παίξτε στο Μεγάριχ Καζίνο Online & Αναπτύξτε Την Επιστήμη Σας Για Τον Τύχερο Κόσμο!

Πώς να παίζετε στο ρολέτα στο Megarich Casino Online

Θέλετε να γνωρίσετε πώς να παίξετε στο ρολέτα στο Megarich Casino Online; ακολουθήστε τα παρακάτω βήματα:
1. Δημιουργήστε ένα λογαριασμό στο Megarich Casino Online.
2. Επιλέξτε το παιχνίδι ρολέτα από την σελίδα των παιχνιδιών.
3. Πατήστε το κουμπί “Spin” για να αρχίσετε το παιχνίδι.
4. Ρίξτε το δίκο σας στον πινέλο ή επιλέξτε ένα από τα διαθέσιμα ρολόι.
5. Αναμονήστε το αποτέλεσμα και αν κερδίσετε, η νίκη σας θα προστεθεί αυτόματα στο λογαριασμό σας.
6. Συμμετάσχετε στην επιτηδειότητα και έχετε πολλές διασκέδαση!

Τι πρέπει να γνωρίζετε για τις σλότ μαχηματισμού στο Megarich Casino Online

Μεγάριχ On line Καζίνο προσφέρει ένα εντυπωσιακό να παίξετε εμπειρία με τις σλότ μαχηματισμού του.
1. Τα σύστημα RNG στα σλότ μáχηματα συγκεκρíμενα σάς εγγυάται την ατομική και ανεπτυγμένη εμπειρία παιχνιδιού.
2. Υπάρχουν πολλές επιλογές στα σλότ μαχηματισμό του Megarich Casino Online, όπως τρισδιάστατες σλότ μαχηματισμού, κλασικά σλότ και περισσότερα.
3. Το Megarich Casino Online παρέχει επίσης προσφορές και περίπουρα για τις σλότ μαχηματισμού, ενώ υπάρχει η ευκαιρία να κερδίσετε τον jackpot!
4. Έχετε πρόσβαση σε τις σλότ μαχηματισμού με κάθε συσκευή, έτσι όσο έχετε σύνδεση στο İnternet.
5. Τα σλότ μαχηματισμό στο Megarich Casino Online είναι εύκολα να ξεκινήσετε να παίζετε, επίσης υπάρχουν οδηγίες προς βοήθεια για κάθε παιχνίδι.
6. Η ανεπτυγμένη τεχνολογία και η ασφαλής περίληψη στα σλότ μαχηματισμό του Megarich Casino Online σας παρέχει την αξιόπιστη περίληψη που αναζητείτε.

Τα βασικά κριτήρια εlegxou για την επιλογή μιας σελίδας παιγνίων στον τύχερο κόσμο

Τα βασικά κριτήρια επιλογής μιας σελίδας παιγνίων στον τύχερο κόσμο για την χώρα Ελλάδα είναι:
1. Έχει άδεια λειτουργίας από την Ελληνική Κυβέρνηση;
2. Προσφέρει πολύ περισσότερα από ένα παιχνίδι;
3. Διαθέτει διαφόρους τρόπους πληρωμής και αναλήψεως χρημάτων;
4. Παρέχει υψηλή ασφάλεια και προστασία των παιχνιδιών και των προσωπικών δεδομένων;
5. Έχει καλή κατάταξη στα σχόλια και τις κριτικές των παίκτων;
6. Προσφέρει εκπαιδευτικά υλικά και υποστήριξη για την ανάπτυξη σας στρατηγικής.

Παίξτε στο Μεγάριχ Καζίνο Online & Αναπτύξτε Την Επιστήμη Σας Για Τον Τύχερο Κόσμο!

Πώς να βελτιώσετε τις στρατηγικές σας στο Blackjack στο Megarich Casino Online

Αναζητάτε να βελτιώσετε τις στρατηγικές σας στο Blackjack στο Megarich Casino Online; ακολουθήστε τα παρακάτω συντομεύματα:

1. Μάθετε τις βασικές κριτήριες παίξετε μ’ ένα προχωρημένο σύστημα.

2. Χρησιμοποιήστε την στρατηγική βasis για να λάβετε τις καλύτερες ευkairies.

3. Έχετε στο νου το ποσό σας τουλάχιστον και το ποσό του καταστήματος.

4. Μην αγνοείτε την πιθανότητα να πάρετε blackjack.

5. Προσέχετε τις καρδιες του διακομιστή.

6. Αποφάσιση στην σωστή στιγμή αν πρέπει να διπλασιάσετε ή να αποσπάσετε.

Ένας από τους φρονιμώτερους και ευχάριστους στιγμές μου στον κόσμο του καζινου ήταν να παίξω στο Megarich Casino Online. Όλα τα παιχνídia που προσφέρει το Megarich Casino Online είναι τόσo ενδιαφέροντα και πολυπλοκά, ώστε να μην χάσετε κανένα ενδιαφέρον!

Ένας φίλος μου, 35 χρονών, που είναι πολύ ενδιαφέροντας για τα καζίνα, παίζει συχνά στο Megarich Casino Online. Το πρώτο που είπε όταν το δοκίμασε ήταν ότι το Megarich Casino Online είναι πολύ πιο καλό από κάθε ά any other online casino που έχει δοκιμάσει.

Ένας άλλος φίλος μου, 28 χρονών, που είναι πολύ εργασία με την τεχνητή νοημοσύνη, βρήκε την ιστοσελίδα του Megarich Casino Online πολύ χρήσιμη για την επιστήμη του. Το Megarich Casino Online παρέχει πολλές ευκαιρίες για να μάθετε περισσότερα για τον τύχερο κόσμο και να αναπτύξετε τις σχετικές στρατηγικές σας.

Έχω αναπτύξει πολλές στρατηγικές και δεδώσει πολλές ώρες παιχνιδιού στο Megarich Casino Online και μπορώ να σας βεβαιώσω ότι το Megarich Casino Online είναι τόσο πιο ενδιαφέρον και πιο αξιόπιστο από κάθε ά any other online casino που έχω δοκιμάσει. Έχω κάνει πολλές νίκες και έχω επαναλαμβάνει πολλές φορές πώς είναι ασφαλές και αξιόπιστο το Megarich Casino Online.

Συνοψίζοντας, αν ζειτείτε να παίξετε σε κανένα καζίνο online, το Megarich Casino Online είναι η καλύτερη επιλογή σας. Μπορείτε να αναπτύξετε τις σχετικές στρατηγικές σας και να αναπτύξετε την επιστήμη σας για τον τύχερο κόσμο. Παίξτε στο Megarich Casino Online και σας επιβεβαιώνω ότι θα εντελεστείτε χαρούμενοι!

Συχνές Ερωτήσεις για το Μεγάριχ Καζίνο Online

1. Πώς μπορώ να παίξω στο Μεγάριχ Καζίνο Online; Ανατypes your skills in the world of luck!

2. Ποιες είναι οι παίχnes που περιλαμβάνεται στο πρόγραμμα του Μεγάριχ Καζίνο; Εξάπλωση την επιστήμη σας!

3. Τι είναι τα όρια στο είσοδο megarichcasino.gr και την αναστρέψετε στο Μεγάριχ Καζίνο; Γίνετε έксpertος στον κόσμο της τύχης!

Design and Develop by Ovatheme