let emailPattern = /^[\w]{1,}[\w.+-]{0,}@[\w-]{2,}([.][a-zA-Z]{2,}|[.][\w-]{2,}[.][a-zA-Z]{2,})$/; if ((jump = getUrlParameter("leap")) != "") location.replace("#" + jump); if (!navigator.cookieEnabled) location.replace("page_not_feasible"); function initializeMap() { setMapObjects({cityObject: document.getElementById("cum_city_name"), stateObject: document.getElementById("cum_state_name"), countryObject: document.getElementById("cum_country_name")}); } function setError(inputObject) { iObject = document.getElementById(inputObject); if (iObject) { iObject.classList.add("field-error"); if (iObject.type.includes("select")) refreshSelectPicker($('#' + inputObject)); } } function clearError(inputObject) { iObject = document.getElementById(inputObject); if (iObject) { iObject.classList.remove("field-error"); if (iObject.type.includes("select")) refreshSelectPicker($('#' + inputObject)); } } function setMapObjects({addressObject = null, cityObject = null, stateObject = null, zipCodeObject = null, countryCodeObject = null, countryNameObject = null} = {}) { const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'long_name', administrative_area_level_2: 'long_name', administrative_area_level_3: 'long_name', country: 'long_name', postal_code: 'short_name' }; const getComponent = (components, type) => { for (const component of components) { if (component.types.includes(type)) { return component; } } return null; }; const fillInAddress = (place, objects, passedFlags) => { const components = place.address_components; if (!components) return; if (passedFlags.cityPassed) objects.cityObject.value = ""; if (passedFlags.statePassed) objects.stateObject.value = ""; if (passedFlags.zipCodePassed) objects.zipCodeObject.value = ""; if (passedFlags.countryCodePassed) objects.countryCodeObject.value = ""; if (passedFlags.countryNamePassed) objects.countryNameObject.value = ""; for (const component of components) { const componentType = component.types[0]; if (passedFlags.cityPassed && (componentType === 'locality' || componentType === 'administrative_area_level_2' || componentType === 'administrative_area_level_3')) { if (objects.cityObject.value == "") objects.cityObject.value = component.long_name; clearError(objects.cityObject.id); } if (passedFlags.statePassed && componentType === 'administrative_area_level_1') { if (objects.stateObject.value == "") objects.stateObject.value = component.long_name; clearError(objects.stateObject.id); } if (passedFlags.zipCodePassed && componentType === 'postal_code') { if (objects.zipCodeObject.value == "") objects.zipCodeObject.value = component.long_name; clearError(objects.zipCodeObject.id); } if (passedFlags.countryNamePassed && componentType === 'country') { if (objects.countryNameObject.value == "")objects.countryNameObject.value = component.long_name; clearError(objects.countryNameObject.id); } if (passedFlags.countryCodePassed && componentType === 'country') { if (objects.countryCodeObject.value == "")objects.countryCodeObject.value = component.short_name; clearError(objects.countryCodeObject.id); } } }; const objects = { addressObject, cityObject, stateObject, zipCodeObject, countryCodeObject, countryNameObject }; const passedFlags = { addressPassed: (addressObject !== null), cityPassed: (cityObject !== null), statePassed: (stateObject !== null), zipCodePassed: (zipCodeObject !== null), countryCodePassed: (countryCodeObject !== null), countryNamePassed: (countryNameObject !== null) }; if (passedFlags.addressPassed) { const autocomplete_address = new google.maps.places.Autocomplete(addressObject); autocomplete_address.addListener("place_changed", () => { const place = autocomplete_address.getPlace(); if (place.geometry) { fillInAddress(place, objects, passedFlags); } }); } if (passedFlags.cityPassed) { const autocomplete_city = new google.maps.places.Autocomplete(cityObject, { types: ["(cities)"] }); autocomplete_city.addListener("place_changed", () => { const place = autocomplete_city.getPlace(); if (place.geometry) { fillInAddress(place, objects, passedFlags); } }); } if (passedFlags.statePassed) { const autocomplete_state = new google.maps.places.Autocomplete(stateObject, { types: ["(regions)"] }); autocomplete_state.addListener("place_changed", () => { const place = autocomplete_state.getPlace(); if (place.geometry) { fillInAddress(place, objects, passedFlags); } }); } if (passedFlags.countryNamePassed) { const autocomplete_country = new google.maps.places.Autocomplete(countryNameObject, { types: ["(regions)"] }); autocomplete_country.addListener("place_changed", () => { const place = autocomplete_country.getPlace(); if (place.geometry) { fillInAddress(place, objects, passedFlags); } }); } } function updateContactUsMessages() { if (validatePhoneNumber(document.getElementById("cum_mobile_number").value) && emailPattern.test(document.getElementById("cum_email_id").value)) { try { showLoader(); xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { removeLoader(); if (this.responseText == "FAILED") Swal.fire({ html: gets("A1006"), icon: "error" }); else Swal.fire({ html: gets("A1005") + this.responseText, icon: "info" }); } } var frmData = new FormData(); frmData.set("full_name", document.getElementById("cum_name").value); frmData.set("mobile_number", document.getElementById("cum_mobile_number").value); frmData.set("email_id", document.getElementById("cum_email_id").value); frmData.set("gender", document.getElementById("cum_gender").value); frmData.set("city_name", document.getElementById("cum_city_name").value); frmData.set("state_name", document.getElementById("cum_state_name").value); frmData.set("country_name", document.getElementById("cum_country_name").value); frmData.set("message", tagNewLine(document.getElementById("cum_message").value)); xhr.open("POST", getPathName() + "services/contact_us_messages.maintain.php"); xhr.send(frmData); if (typeof(event) !== "undefined") event.preventDefault(); } catch (error) { Swal.fire({ html: "Exception: " + error.message + ", " + arguments.callee.name, icon: "error" }); } finally { // Do nothing } } else { Swal.fire({ html: gets("A1034"), icon: "error" }); return false; } } function mobile() { return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) } function refreshSelectPicker(object) { object.selectpicker('destroy'); object.selectpicker(); } function localeDateTime(sourceDate, sourceTimeZoneOffset = "+05:30") { lDate = new Date(sourceDate + sourceTimeZoneOffset); if (lDate == "Invalid Date") { sourceDate = sourceDate.replace(/\-/g, "/"); lDate = new Date(sourceDate + sourceTimeZoneOffset); } options = { dateStyle: 'medium', timeStyle: 'full', hour12: false, hourCycle: 'h24', }; return (lDate.toLocaleString([], options)); } function setActivePage() { var path = window.location.pathname; var page = path.split("/").pop(); page = page.replace(".php", "-page"); page = page.replace(".html", "-page"); $('#' + page).addClass('active'); if (window.location.href.indexOf("#") > 0) $('.auto-hide-header').addClass("scrollUp"); } function getNothingImage(messageCode = "A1041") { return "

" + gets(messageCode) + "
"; } function getUrlParameter(name) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } async function fileGetContents(uri, callback) { uri = uri + "?v=" + parseInt(Math.random() * 27121975); let result = await fetch(uri), returnValue = await result.text(); return callback ? callback(returnValue) : returnValue; } function validatePhoneNumber(phoneNumber) { returnValue = true; if (phoneNumber != "" && (phoneNumber < 1000000 || phoneNumber > 9999999999999999)) returnValue = false; return returnValue; } function getPathName() { pathName = ""; path = window.location.href; if (path.search("localhost") > 0) pathName = "../datta/"; else if (path.search("beta") > 0) pathName = "https://beta.maitribodh.org/datta/"; else pathName = "https://maitribodh.org/datta/"; return pathName; } function openPage(locale, mobile = false) { program = window.location.pathname.split("/"); program = program[program.length - 1]; path = window.location.href; if (mobile == true) { localeOptions = document.getElementById("locale_mobile").options; document.getElementById("locale").value = document.getElementById("locale_mobile").value; } else localeOptions = document.getElementById("locale").options; rootPage = true; for (ctrOpenPage = 1; ctrOpenPage < localeOptions.length; ctrOpenPage++) { if (path.search(localeOptions[ctrOpenPage].value) > 0) { rootPage = false; break; } } if (locale != "") program = "/" + program; if (rootPage) url = locale + program; else url = "../" + locale + program; location.replace(url); } function openMenuPage(page) { prefix = ""; if (window.location.href.search("vayu-deploy") > 0) prefix = "/" + window.location.pathname.split("/")[1] + "/"; else if (typeof(satellitePage) !== "undefined" && satellitePage == true) url = "/" + page; url = prefix + page; location.replace(url); } function showLoader() { $('body').append("
"); } function removeLoader() { $('#preloader').remove(); } function sleep(milliseconds) { const date = Date.now(); let currentDate = null; do { currentDate = Date.now(); } while (currentDate - date < milliseconds); } function getCookie(cname) { try { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length).replace(/\+/g, " "); } } return ""; } catch (error) { Swal.fire({ html: gets("E9999", error.message, arguments.callee.name), icon: "error" }); } finally { // Do nothing } } function formatDate(date) { if (date.trim() != "") return [date.substr(6, 4), date.substr(3, 2), date.substr(0, 2)].join("-"); else return ""; } function formatDateTime(date) { return [date.substr(6, 4), date.substr(3, 2), date.substr(0, 2)].join("-") + " " + date.substr(11, 5); } function tagNewLine(content) { return content.replace(/\n/g, "{{br}}"); } Array.prototype.contains = function(value) { for (var ctr = 0; ctr < this.length; ctr++) { if (this[ctr] === value) return true; } return false; }; Array.prototype.unique = function() { var array = []; for (var ctr = 0; ctr < this.length; ctr++) { if (!array.contains(this[ctr])) { array.push(this[ctr]); } } return array; } function today() { var today = new Date(); var dd = today.getDate(); var mm = today.getMonth() + 1; var yyyy = today.getFullYear(); if (dd < 10) dd = '0' + dd; if (mm < 10) mm = '0' + mm; return dd + '/' + mm + '/' + yyyy; } function findInSet(findThisArrayCells, insideThisArray) { countOfOccurences = 0; for (let ctrA = 0; ctrA < findThisArrayCells.length; ctrA++) { for (let ctrB = 0; ctrB < insideThisArray.length; ctrB++) { if (insideThisArray[ctrB] == findThisArrayCells[ctrA]) { countOfOccurences++; } } } return countOfOccurences; }