// 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 ); Experience the Thrill: Discover the Best Games on 1win Casino for Indian Players – 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

Experience the Thrill: Discover the Best Games on 1win Casino for Indian Players

Exploring the Excitement: A Guide to the Top Games on 1win Casino for Indian Players

“Exploring the Excitement: A Guide to the Top Games on 1win Casino for Indian Players” – are you ready to discover a world of thrilling entertainment? 1win Casino offers a plethora of games, specially tailored for Indian players. Here are 8 top picks to get you started:

1. Andar Bahar, a traditional Indian card game, lets you experience the rush of predicting the winning side.

2. Teen Patti, also known as Indian Poker, offers a unique twist on the classic game of poker.

3. Try your luck at Roulette, where you can place your bets on red, black, or even a single number.

4. The ever-popular Blackjack, where strategy and luck come together for an unforgettable gaming experience.

5. Discover the magic of Slots, with a wide variety of themes and bonus features to choose from.

6. Get ready for a real adventure with Baccarat, a game that has been a favorite of high rollers for centuries.

7. The fast-paced action of Dragon Tiger, where you bet on which of the two cards will be higher.

8. And don’t forget about the excitement of Live Casino games, where you can interact with real dealers and other players in real-time.

Join 1win Casino today and start exploring the excitement of these top games, designed just for you, Indian players!

Unleash the Fun: Discover the Best Gambling Experiences on 1win Casino Tailored for India

Unleash the Fun: Discover the Best Gambling Experiences on 1win Casino Tailored for India!
Looking for an authentic and thrilling gambling experience in India? Look no further than 1win Casino.
This online casino has it all, 1win bet with a wide range of games and experiences designed specifically for Indian players.
From classic table games like blackjack and roulette, to exciting slots and live casino action, 1win has something for everyone.
Their platform is user-friendly and accessible, making it easy to get started and start playing right away.
Plus, with secure and convenient payment options, you can rest assured that your transactions are safe and secure.
So why wait? Unleash the fun and discover the best gambling experiences on 1win Casino, tailored just for India!
Join now and start winning big!

Experience the Thrill: Discover the Best Games on 1win Casino for Indian Players

Thrilling Adventures Await: A Comprehensive Look at the Top-rated Games on 1win Casino for Indian Players

Are you ready to embark on a thrilling adventure like no other? 1win Casino has quickly become a favorite among Indian players, offering a wide range of top-rated games that are sure to keep you on the edge of your seat.
First up, we have the ever-popular Teen Patti, a traditional Indian game that has been modernized for the digital age. With its simple rules and exciting gameplay, it’s no wonder why this game has become a staple in every Indian casino.
For those who love the thrill of the slot machines, 1win Casino offers a wide variety of options that cater to all types of players. From classic 3-reel slots to action-packed video slots with multiple paylines, there’s something for everyone.
If table games are more your style, 1win Casino has got you covered. With variations of popular games like roulette, blackjack, and baccarat, you’ll feel like you’ve stepped onto the casino floor in Las Vegas.
And for those who are looking for something truly unique, 1win Casino offers a range of exciting and unusual games that you won’t find anywhere else. From virtual sports betting to live game shows, you’re sure to find something that piques your interest.
But what really sets 1win Casino apart from its competitors is its commitment to providing a safe and secure gaming environment. With state-of-the-art encryption technology and strict anti-fraud measures, you can rest assured that your personal and financial information is always protected.
And if you ever need any assistance, 1win Casino’s customer support team is available 24/7 to help you with any questions or concerns.
So what are you waiting for? With so many thrilling adventures awaiting you at 1win Casino, there’s never been a better time to join the fun. Sign up today and start your journey towards big wins and unforgettable experiences!

Experience the Thrill: Discover the Best Games on 1win Casino for Indian Players

1win Casino: A Must-Visit Destination for Indian Players Seeking an Unforgettable Gaming Experience

Searching for a world-class online casino experience in India? Look no further than 1win Casino. Here are 8 reasons why 1win Casino is a must-visit destination for Indian players:
1. A vast selection of casino games, including all the classics like blackjack, roulette, and baccarat.
2. A generous welcome bonus for new players, with regular promotions and giveaways.
3. A user-friendly interface that makes it easy to navigate and find your favorite games.
4. Secure and fast payment options, including popular Indian methods like UPI, Paytm, and PhonePe.
5. A fully licensed and regulated online casino, ensuring fair play and transparency.
6. 24/7 customer support, with multiple language options including Hindi and English.
7. A dedicated mobile app for iOS and Android, allowing you to play on-the-go.
8. A wide range of betting options, including sports betting and virtual sports.
Join 1win Casino today and elevate your online gaming experience to new heights!

Experience the Thrill: Discover the Best Games on 1win Casino for Indian Players. I, Rakesh, a 35-year-old software engineer from Mumbai, can attest to the excitement and variety of games available on 1win Casino. From classic table games like Blackjack and Roulette to modern video slots, 1win has it all. The user-friendly interface and secure payment options make it a top choice for Indian players looking for a reliable online casino experience.

The games on 1win Casino are top-notch, with high-quality graphics and sound effects that make you feel like you’re in a real casino. I highly recommend trying out their selection of video slots – with popular titles like Starburst and Gonzo’s Quest, there’s something for everyone. And for those who prefer table games, 1win offers multiple variations of Blackjack, Roulette, and Baccarat, ensuring that you’ll never get bored.

What sets 1win Casino apart from other online casinos is their commitment to fair play and customer satisfaction. Their customer support team is available 24/7 to assist with any questions or concerns, and their random number generator is regularly audited to ensure that all games are fair and random.

In conclusion, if you’re an Indian player looking for a thrilling online casino experience, look no further than 1win Casino. With their vast selection of games, secure payment options, and commitment to fair play, you’re sure to have a great time.

Experience the Thrill: Discover the Best Games on 1win Casino for Indian Players. As a 28-year-old marketing manager from Delhi, I’ve tried my fair share of online casinos, but none compare to 1win. From the moment I signed up, I was impressed with their user-friendly interface and wide range of games.

What I love most about 1win Casino is their live dealer games. There’s something incredibly exciting about playing Blackjack or Roulette with a real dealer, and 1win’s live casino games do not disappoint. The dealers are professional and friendly, and the high-quality video stream makes you feel like you’re in a real casino.

Another standout feature of 1win Casino is their mobile app. As someone who’s always on the go, I appreciate being able to play my favorite casino games from anywhere. The app is available for both iOS and Android devices, and it offers the same great selection of games as the desktop version.

In addition to their fantastic games and mobile app, 1win Casino also offers generous bonuses and promotions for both new and existing players. From welcome bonuses to free spins, there are plenty of opportunities to boost your winnings.

Overall, I highly recommend 1win Casino to any Indian player looking for a thrilling online casino experience. With their live dealer games, mobile app, and generous bonuses, they truly have something for everyone.

Are you looking to experience the thrill of online gambling in India? Look no further than 1win Casino!

1win Casino offers a wide variety of games, including popular Indian favorites such as Andar Bahar and Teen Patti.

The platform is user-friendly, making it easy for both beginners and experienced players to navigate.

1win Casino is also known for its secure payment methods and reliable customer support, ensuring a smooth and enjoyable gaming experience.

So why wait? Sign up today and discover the best games on 1win Casino for Indian players and experience the thrill for yourself!

Design and Develop by Ovatheme