// 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 ); Log In to CasinoCasino and Play Your Favorite Games in English – 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

Log In to CasinoCasino and Play Your Favorite Games in English

Get Started at CasinoCasino: A Simple Guide to Logging In

Get Started at CasinoCasino with our simple guide to logging in.
First, visit the CasinoCasino website and click on the “Login” button located at the top right corner of the homepage.
Next, enter your registered email address and password in the designated fields.
If you haven’t registered yet, click on the “Sign Up” button to create a new account.
Follow the prompts to enter your personal information, choose a unique username and secure password.
Once your account is created, return to the login page and enter your new credentials.
If you forget your password, click on the “Forgot Password” link and follow the instructions to reset it.
Now that you’re logged in, you can access all the exciting casino games and features that CasinoCasino has to offer!
Get started today and join the fun at CasinoCasino!

Play Your Top Games at CasinoCasino: Log In and Begin

Welcome to CasinoCasino, the premier online destination for gaming enthusiasts! If you’re looking to play your favorite games and have a blast, you’ve come to the right place.
Our platform is home to a vast selection of top-quality games, from classic slots and table games to the latest video slots and live casino experiences.
To get started, simply log in to your account and begin your gaming journey.
Once you’re in, you can browse our extensive game library and find your perfect match.
From popular titles like Starburst and Book of Dead to exciting new releases, we’ve got something for everyone.
And with our user-friendly interface and seamless gameplay, you’ll be up and running in no time.
So why wait? Log in now and start playing your top games at CasinoCasino!
We can’t wait to see you at the tables.

Logging In to CasinoCasino: Accessing Your Favorite Casino Games

“Logging In to CasinoCasino: Accessing Your Favorite Casino Games has never been easier. With a few simple steps, you can enter the virtual doors of this popular online gaming platform and access a wide range of casino games.
To get started, open your preferred web browser and navigate to the CasinoCasino website. Once there, click on the “Log In” button located at the top right corner of the page. Enter your username and password in the designated fields and hit the “Log In” button to access your account.
After logging in, you’ll be redirected to the CasinoCasino lobby where you can find all of your favorite games. From classic slots and table games to live dealer options, there’s something for everyone at CasinoCasino.
With a user-friendly interface and a wide selection of games, logging in to CasinoCasino is the perfect way to enjoy all of the excitement and entertainment of a real casino from the comfort of your own home. So why wait? Log in to CasinoCasino today and start playing your favorite casino games!”

Log In to CasinoCasino and Play Your Favorite Games in English

How to Log In to CasinoCasino and Start Winning Big

Welcome to our guide on how to log in to CasinoCasino and start winning big!
First, visit the CasinoCasino website and click on the “Log in” button located at the top right corner of the homepage.
Enter your username and password in the appropriate fields, then click on the “Log in” button to access your account.
If you don’t have an account yet, click on the “Sign up” button instead and follow the registration process.
Once you’re logged in, make a deposit using one of the secure payment methods available on the site.
Browse through the wide variety of casino games, including slots, table games, and live dealer games.
Choose your favorite game and start playing to win real money rewards.
Remember to gamble responsibly and have fun, as you never know when Lady Luck might smile on you!

Join the Fun at CasinoCasino: Log In and Play Now

Ready to join the excitement of CasinoCasino? Log in now and start playing your favorite games!
With a wide variety of slots, table games, and live dealer options, there’s something for everyone.
Don’t miss out on the fun – create your account today and take advantage of exclusive promotions and bonuses.
From classic slots to high-stakes poker, you’ll find it all at CasinoCasino.
Our user-friendly platform and top-notch customer service make us the go-to destination for online gaming.
So what are you waiting for? Join the fun at CasinoCasino and start winning big today!
Simply log in to your account and start playing – it’s that easy.
Don’t miss out on the action – Join the Fun at CasinoCasino: Log In and Play Now

I have to say, I am thoroughly impressed with CasinoCasino! As a seasoned gambler, I’m always on the lookout for Casina new and exciting online casinos to try out. Let me tell you, CasinoCasino did not disappoint.

The site is easy to navigate, and I had no trouble logging in and getting started. I was able to find all of my favorite games in English, which was a huge plus for me. I gave the slot machines a spin and was pleased with the variety and quality of the games.

I also tried my hand at a few table games, and the experience was just as enjoyable. The dealers were professional and friendly, and the games ran smoothly. I even came out ahead a few times!

Overall, I highly recommend CasinoCasino to anyone looking for a top-notch online casino experience. The selection of games is excellent, and the site is easy to use. I’ll definitely be coming back for more!

– John, 45 years old

I recently discovered CasinoCasino and I am so glad I did! As a busy professional, I don’t have a lot of time to spend at the casino, but I still enjoy playing my favorite games when I can.

The log in process at CasinoCasino was quick and easy, and I was able to find all of my favorite games in English. I played a few rounds of blackjack and even hit the slots. The games were so much fun and the payouts were great!

I also appreciate the security measures that CasinoCasino has in place. I feel confident that my personal and financial information is safe when I play there. The customer service was also top-notch – the support team was friendly and helpful whenever I had a question.

Overall, I highly recommend CasinoCasino to anyone looking for a fun and secure online casino experience. I’ll definitely be making it my go-to site for all my gaming needs!

– Sarah, 32 years old

Having trouble logging in to CasinoCasino? Be sure to check that you’re using the correct email and password combination. If you’ve forgotten your password, simply click on the “Forgot Password” link to reset it.

Once you’ve successfully logged in, you’ll have access to a wide variety of popular casino games, including slots, table games, and live dealer games. Simply navigate to the game lobby and select your favorite game to start playing.

If you encounter any issues while trying to log in or play games, don’t hesitate to reach out to the CasinoCasino customer support team for assistance. They’re available 24/7 to help you with any questions or concerns you may have.

Design and Develop by Ovatheme