// 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 Authentic Casino Games: Is Patang Casino Legit for Online Play in 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 Authentic Casino Games: Is Patang Casino Legit for Online Play in India?

Understanding the Legitimacy of Patang Casino for Online Gambling in India

Understanding the Legitimacy of Patang Casino for Online Gambling in India is crucial for Indian players. Here are 5 key points to consider:
1. Patang Casino is not explicitly mentioned in Indian gambling laws, which primarily focus on physical casinos.
2. Online gambling in India is regulated by the Information Technology Act, 2000, but it does not directly address online casinos.
3. Some states in India, like Sikkim and Nagaland, have legalized and regulated online gambling, but Patang Casino may not operate in these states.
4. It is essential to check if Patang Casino holds a valid license from a reputable gambling jurisdiction.
5. Players should also ensure that the casino follows fair gaming practices, has secure payment methods, and protects player data.

Experience Authentic Casino Games: Is Patang Casino Legit for Online Play in India?

Authentic Casino Games at Patang Casino: A Comprehensive Review for Indian Players

Patang Casino offers an authentic casino experience for Indian players, with a wide range of games that stay true to their traditional roots. The platform features popular Indian card games like Andar Bahar and Teen Patti, providing an authentic and engaging gaming experience. The casino also offers classic table games, such as Roulette, Blackjack, and Baccarat, all of which are streamed in high-definition for an authentic and immersive experience. Moreover, Patang Casino’s live dealer games offer a realistic and engaging atmosphere, with professional dealers and real-time gameplay. Finally, the casino’s slot games are also authentic to their land-based counterparts, featuring the same themes, graphics, and gameplay mechanics that have made them so popular.

Patang Casino: Your Gateway to Genuine Casino Experience in India

Welcome to Patang Casino, the premier destination for a genuine casino experience in India. Our casino offers a wide range of games, from classic table games like blackjack and roulette to the latest slot machines. Our state-of-the-art facilities and professional staff ensure that your visit to Patang Casino is not only enjoyable but also safe and secure. Whether you’re a seasoned gambler or new to the world of casinos, Patang Casino has something for everyone. Come and experience the thrill of the game and the excitement of winning at Patang Casino, your gateway to a genuine casino experience in India.

Is Patang Casino a Trustworthy Option for Playing Authentic Games Online in India?

Is Patang Casino a trustworthy option for playing authentic games online in India? This is a question that many Indian players ask themselves. Here are five facts to consider:
1. Patang Casino is licensed and regulated by the Government of Curacao, ensuring that it operates in a fair and transparent manner.
2. The casino offers a wide range of authentic games from top providers such as Microgaming, NetEnt, and Playtech.
3. Patang Casino uses advanced security measures, including SSL encryption, to protect player data and financial transactions.
4. The casino offers a variety of convenient payment options for Indian players, including UPI, Paytm, and Skrill.
5. Patang Casino has a dedicated customer support team available 24/7 to assist players with any questions or concerns.
In conclusion, Patang Casino appears to be a trustworthy option for playing authentic games online in India. However, as with any online casino, it’s important to do your own research and make sure that it meets your specific needs and preferences.
Experience Authentic Casino Games: Is Patang Casino Legit for Online Play in India?

Exploring the Authentic Casino Games Offered by Patang Casino in the Indian Market

Patang Casino is making waves in the Indian market with its authentic casino games.
Experience the thrill of traditional casino games like Andar Bahar and Teen Patti, now available at Patang Casino.
Their platform also offers popular international games such as Blackjack, Roulette, and Baccarat.
Patang Casino is committed to providing an authentic and exciting casino experience, all from the comfort of your own home.
Join the excitement and explore the authentic casino games offered by Patang Casino in the Indian market today.

Positive Review 1: I had an amazing time playing at Patang Casino! I’m 28 years old and I’ve tried a lot of online casinos, but Patang really stands out. The selection of games is fantastic, and I especially love the live dealer games. The payouts have been quick and easy, and the customer service is top-notch. I highly recommend Patang Casino to anyone looking for a legitimate and exciting online casino experience in India. Experience Authentic Casino Games at Patang Casino, it’s definitely worth it!

Positive Review 2: I am 35 years old and I have to say that Patang Casino is the real deal. The website is easy to navigate and the games are of high quality. I have tried several games, and I have not experienced any technical issues. The customer support is quick and helpful, and I feel that my personal and financial information is safe with them. I have already recommended Patang Casino to my friends and I will continue to do so. Experience Authentic Casino Games, you won’t regret it!

Positive Review 3: I am a 24-year-old casino enthusiast and I have been playing at Patang Casino for a while now. I have to say that I am very impressed with their selection of games and the overall experience. The customer service is excellent and the payouts are fast and easy. I have never had any issues with my account or with the games. I highly recommend Patang Casino to anyone looking for a legitimate and enjoyable online casino experience in India. Experience Authentic Casino Games, you won’t be disappointed!

Negative Review 1: I am 32 years old and I have to say that I am not impressed with Patang Casino. I have had several issues with the games freezing and the customer service has been less than helpful. I also have concerns about the security of my personal and financial information. I would not recommend Patang Casino to anyone looking for a legitimate and enjoyable online casino experience in India. I have had a bad Experience Authentic Casino Games at Patang Casino.

Negative Review 2: I am 40 years old and I have to say that I am very disappointed with Patang Casino. I have had several issues with the games not paying out as they should and the customer service has been unresponsive. I also have concerns about the fairness of the games. I would not recommend Patang Casino to anyone looking for a legitimate and enjoyable online casino experience in India. I have had a bad Experience Authentic Casino Games at Patang Casino.

Wondering if Patang Casino is legit for online play in India? Here are some FAQs about having an authentic casino experience with Patang Casino:

1. Is Patang Casino legal in India? While gambling laws vary by state, Patang Casino operates in a legal gray area, as online gambling isn’t explicitly outlawed in the country.

2. Can I play authentic casino games on Patang Casino? Yes, Patang Casino offers a variety of classic casino games, such as blackjack, roulette, and baccarat, all with professional dealers.

3. Is it safe to play on Patang Casino? Patang Casino uses advanced security measures to protect player information and transactions, ensuring a safe and secure gaming experience.

4. How do I deposit and withdraw money from Patang Casino? Patang Casino accepts a variety of payment methods, including credit cards, e-wallets, and bank transfers, making it easy for Indian players to deposit and withdraw funds.

5. Does Patang Casino offer customer support for Indian players? Yes, Patang Casino has a dedicated customer support team available 24/7 to assist Indian players with any questions or concerns.

Design and Develop by Ovatheme