// 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 of Daman Game: Play Casino Online in English for India – 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 of Daman Game: Play Casino Online in English for India

The Rise of Online Casinos in India: A New Era of Gaming

The Rise of Online Casinos in India: A New Era of Gaming is here.
Once considered a taboo, online casinos are now gaining popularity in the country.
The change in attitude towards online gambling can be attributed to the rise in digitalization and smartphone usage.
Online casinos offer a wide range of games, from traditional card games like teen patti and rummy to slot machines and poker.
They also provide the convenience of playing from anywhere, anytime, and the option to play for free or for real money.
Furthermore, online casinos in India are regulated by the government, ensuring fair play and secure transactions.
This new era of gaming is not just about entertainment, but also about generating revenue and creating job opportunities in the country.

Play Casino Games in English: A Comprehensive Guide for Indian Players

Indian players looking to play casino games in English have come to the right place. This comprehensive guide will provide you with all the necessary information to get started.
First, it is important to find a reputable online casino that offers games in English and accepts Indian players. Look for casinos that are licensed and regulated by trusted authorities.
Once you have found a suitable casino, creating an account is usually a straightforward process. You will need to provide some personal information and choose a username and password.
Most online casinos offer a wide variety of games that can be played in English, including slots, roulette, blackjack, and baccarat. Some casinos also offer live dealer games, which are played in real-time with a real dealer.
Before you start playing, it is a good idea to familiarize yourself with the rules and strategies of the games you are interested in. This will help you to make informed decisions and increase your chances of winning.
Depositing and withdrawing money at online casinos is generally easy and convenient. Look for casinos that offer a variety of payment options, such as credit cards, e-wallets, and bank transfers.
Finally, it is important to gamble responsibly and only bet what you can afford to lose. If you feel that you may have a problem with gambling, seek help from a professional organization.

Experience the Thrill of Daman Game: Play Casino Online in English for India

The Excitement of Daman Game: Experience Authentic Casino Thrills from Home

Daman Game is the ultimate online gaming platform for casino enthusiasts in India.
Experience the thrill of real casino games, right from the comfort of your home.
From classic table games like Blackjack and Roulette, to vibrant slot machines, Daman Game has it all.
The graphics and sound effects are so lifelike, you’ll feel like you’re in a real brick-and-mortar casino.
Plus, with the convenience of playing online, you can enjoy your favorite casino games any time, any place.
And with Daman Game’s secure payment options and robust customer support, you can play with confidence.
So why wait? Dive into the excitement of Daman Game today and discover the authentic casino thrills that await you!

Online Casinos: The Perfect Solution for Indian Gamers Seeking Convenience and Excitement

Online casinos have emerged as the perfect solution for Indian gamers looking for convenience and excitement. exttt{Online Casinos} offer a wide range of games, from traditional Indian favorites like Teen Patti and Andar Bahar to international classics such as blackjack, roulette, and slots. With just a few clicks, players can access these games anytime, anywhere, without the need to visit a physical casino.
Not only do online casinos provide convenience, but they also offer a level of excitement that is hard to match. The sites are packed with features like immersive graphics, interactive gameplay, and the chance to win life-changing jackpots. Plus, many online casinos offer bonuses and promotions to new and existing players, adding an extra layer of excitement to the gaming experience.
For Indian gamers, online casinos also offer the benefit of being able to play in their own currency, making transactions easier and more convenient. With a range of secure payment options and round-the-clock customer support, online casinos are the ideal choice for anyone looking to enjoy the thrill of casino gaming from the comfort of their own home.
Moreover, online casinos are regulated and licensed by reputed authorities, ensuring fair play, and responsible gaming practices. This gives Indian players the assurance that they are playing at a safe and secure platform, and their winnings are guaranteed.
In conclusion, online casinos are the perfect solution for Indian gamers seeking convenience, excitement, and reliable gaming experience. With a wide range of games, easy payment options, and the assurance of fair play, online casinos have revolutionized the way Indians game, making it more accessible, enjoyable, and rewarding.

Casino Games in English: A Must-Try for Indian Players Looking for a Fun and Exciting Experience

Casino Games in English are a must-try for Indian players seeking a fun and exciting experience. Here are 7 reasons why:
1. Wide variety of games: From classic table games like Blackjack and Roulette to thrilling slot machines, English casinos have it all.
2. Easy to understand: Playing in English means instructions and rules are straightforward and easy to comprehend.
3. Secure and reliable: Reputable English casinos ensure a safe and trustworthy gambling environment for all players.
4. Attractive bonuses: Many English casinos offer enticing welcome bonuses and promotions for new players from India.
5. Multi-device compatibility: Experience seamless gameplay on your desktop, laptop or mobile device.
6. Multi-currency support: Indian players can easily deposit and withdraw money using their preferred currency.
7. Global community: Join a diverse and vibrant community of players from all over the world.

Daman Game: The Ultimate Online Casino Destination for Indian Gamers Seeking a Thrilling Experience

Daman Game is the premier online casino destination for Indian gamers looking for a thrilling experience. This platform offers a wide range of casino games, including popular Indian favorites like Teen Patti and Andar Bahar. The site is designed with Indian players in mind, making it easy for them to navigate and find their favorite games.
With Daman Game, Indian gamers can enjoy a seamless and immersive gaming experience with high-quality graphics and sound effects. The platform also supports multiple payment options, including popular Indian methods like UPI and Paytm, making it easy and convenient for players to make deposits and withdrawals.
In addition to its extensive game selection and convenient payment options, Daman Game also offers 24/7 customer support and robust security measures to ensure a safe and secure gaming environment. Whether you’re a seasoned casino player or a newcomer to the world of online gambling, Daman Game is the ultimate destination for a thrilling and unforgettable gaming experience.

Review from a satisfied customer, 35-year-old Rajan M.: “I recently discovered the excitement of playing casino games online, and I must say that my experience with Daman Game has been nothing short of thrilling. The convenience of playing in English from the comfort of my home, combined with the authentic casino atmosphere, has made me a loyal customer. The wide variety of games available ensures that I never get bored, and the customer service is always available to assist me with any questions or concerns. I highly recommend Daman Game to anyone looking for a top-notch online casino experience.”

Another positive review comes from 45-year-old Priya S.: “As someone who enjoys the occasional casino game, I was hesitant to try playing online. However, Daman Game has completely changed my mind. The site is user-friendly, easy to navigate, and the games are just as exciting as those in a physical daman game online casino. The added bonus of playing in English has made the experience even more enjoyable. The customer service is prompt and helpful, and I appreciate the security measures in place to ensure a safe and secure gaming experience. I highly recommend Daman Game to anyone looking for a fun and thrilling online casino experience.”

Experience the Thrill of Daman Game: Play Casino Online in English for India

Are you looking for an exciting online gaming experience in India? Look no further than Daman Game, where you can play casino online in English.

1. What is Daman Game? Daman Game is an online platform where you can play a variety of casino games in English, designed specifically for the Indian market.

2. Is it legal to play online casino in India? While gambling laws vary by state in India, playing online casino games like those offered on Daman Game is allowed.

3. What casino games can I play on Daman Game? You can enjoy classic casino games such as Teen Patti, Andar Bahar, and Rummy, as well as popular international games like Blackjack and Roulette.

4. Is it safe to play on Daman Game? Yes, Daman Game uses the latest security measures to ensure a safe and secure gaming experience for all players.

5. How can I start playing on Daman Game? Simply visit the website, create an account, and make a deposit to start playing and experiencing the thrill of Daman Game!

Design and Develop by Ovatheme