//This file includes all the common validation methods and other common scripts var nexus_state_map = {"country":"United States of America","state":"Alabama","zip":""}; function getRedirectAbsoluteURL(url) { if (typeof product_name == 'undefined' || product_name == PRODUCT_RPC) { if (url.startsWith("https://www.remotepc.com")) { url = url.replace("https://www.remotepc.com", ""); } if (url.startsWith("https://app.remotepc.com")) { url = url.replace("https://app.remotepc.com", ""); } return "https://" +HELPDESK_LOGIN_DOMAIN_NAME + url; } return url; } function getWEBAPPAPIAbsoluteURL(url) { if (url.startsWith("https://www.remotepc.com")) { url = url.replace("https://www.remotepc.com", ""); } if (url.startsWith("https://app.remotepc.com")) { url = url.replace("https://app.remotepc.com", ""); } if (!url.startsWith(appContexName)) { if (url.startsWith(".")) { url = url.replace(".", ''); } url= appContexName + url } return "https://" + HELPDESK_WEBAPP_API_DOMAIN_NAME + url; } //Email Validation allows '+' sign as well function isValidEmail(valEmail) { var filter = /^([\w-\.+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,25}|[0-9]{1,3})(\]?)$/; if (valEmail.length <=80 && filter.test(valEmail)) { return true; } else { return false; } } function isValidName(valName) { var filter = /^[a-zA-Z-\s]{1,50}$/; if(filter.test(valName)) { return true; } else{ return false; } } // Code to find first letter of a username . Irrespective of username started with number or letter. function findingFirstLetterOfUsername(username){ var unameFirstLetter = ""; /* if(username.charAt(0) >= 0){ var len = username.length; for(var i = 0; i< len; i++){ if(username.charAt(i) >= 0){} else{ unameFirstLetter= username.charAt(i); break; } } }else { unameFirstLetter = username.charAt(0); } if(unameFirstLetter != "" && typeof unameFirstLetter != 'undefined'){ unameFirstLetter = unameFirstLetter.toLowerCase(); }*/ return username.charAt(0).toLowerCase(); } function isValidUser(valUser) { var filter = /^[a-z0-9_]{4,20}$/; if(filter.test(valUser)) { return true; } else{ return false; } } function isValidCompany(valCompany) { var filter = /^[a-zA-Z0-9-\s]{1,50}$/; if(filter.test(valCompany)) { return true; } else{ return false; } } function isValidPhone(valPhone) { var filter = /^[xX0-9-+()]{1,20}$/; if(filter.test(valPhone)) { return true; } else { return false; } } function isValidCCNum(valCC) { var filter = /^[0-9]{14,16}$/; if(filter.test(valCC)) { return true; } else { return false; } } function isValidSavedCCNum(valCC) { var filter = /^[0-9*]{14,16}$/; if(filter.test(valCC)) { return true; } else { return false; } } function isValidCVV(valCVV) { var filter = /^[0-9]{3,4}$/; if(filter.test(valCVV)) { return true; } else { return false; } } function isValidAddress(valAdd) { //cannot contain single quotes, double quotes or backward slash var filter = /[\\'"]/; if(!(filter.test(valAdd))) { return true; } else { return false; } } function isValidPasswordString(Str) { var filter = /[:\s\\]/; if(!(filter.test(Str))) return(true); else return false; } function readableNumberFormat(number){ var parts = number.toString().split("."); if(parts.length >1){ if(parts[1].length ==1){ parts[1] = parts[1]+"0"; } }else{ parts[1] = "00"; } parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); var readableNumber = parts[0]+"."+parts[1]; return readableNumber; } function isValidZip(valZip){ var filter = /^[a-zA-Z0-9-_\s]{1,20}$/; if(filter.test(valZip)) { return true; } else { return false; } } function isValidHost(valHost) { var filter = /^[0-9]*$/; if(filter.test(valHost)) { return true; } else { return false; } } /*function isValidCity(valCity){ var filter = /^[a-zA-Z0-9 _-.]*$/; if(filter.test(valCity)) { return true; } else { return false; } }*/ function isBlank(val) { if( val == undefined || val.trim().length == 0) return true; else return false; } /*function getLoginCookie() { //get all the cookies var cookies = document.cookie.split(';'); var cookieName = []; // contains name of all the cookies for(var i=0;i-1)) { window.location.href = LOGOUT; } } */ //to get the browser name and version function get_browser_info(){ var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; if(/trident/i.test(M[1])){ tem=/\brv[ :]+(\d+)/g.exec(ua) || []; return {name:'IE',version:(tem[1]||'')}; } if (/Edge/.test(navigator.userAgent)) { tem=ua.match(/\bOPR|Edge\/(\d+)/); if(tem!=null) {return {name:'Edge', version:tem[1]};} } if(M[1]==='Chrome'){ tem=ua.match(/\bOPR|Edge\/(\d+)/); if(tem!=null) {return {name:'Opera', version:tem[1]};} } M=M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?']; if((tem=ua.match(/version\/(\d+)/i))!=null) {M.splice(1,1,tem[1]);} return { name: M[0], version: M[1] }; } var isMobile = { Windows: function() { return /IEMobile/i.test(navigator.userAgent); }, Android: function() { return /Android/i.test(navigator.userAgent); }, BlackBerry: function() { return /BlackBerry/i.test(navigator.userAgent); }, iOS: function() { return /iPhone|iPad|iPod/i.test(navigator.userAgent); }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows()); } }; $.urlParam = function(name){ var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); if(results != null){ return results[1]; }else { return 0; } }; function showCommonSuccMsg(displayText) { $('#notify_succ').show().find('#commonSuccesMsg').text(displayText).show(); //$(window).scrollTop(0); setTimeout(function() { $('#notify_succ').fadeOut(); }, 5000); } function showCommonErrMsg(displayText) { $('#notify_err').show().find('#commonErrorMsg').text(displayText).show(); //$(window).scrollTop(0); setTimeout(function() { $('#notify_err').fadeOut(); }, 5000); } function showCommonAlertMsg(displayText) { $('#notify_alert').show().find('#commonAlertMsg').text(displayText).show(); //$(window).scrollTop(0); setTimeout(function() { $('#notify_alert').fadeOut(); }, 5000); } function dateTimeFormatter(dateObjVal) { var dateObj = dateObjVal.replace(/-/g,"/"); dateObj = new Date(dateObj); var dateObjString = dateObj.toString(); var date = dateObjString.substring(4,15); var formattedDate = date.substring(0,6) + ", " + date.substring(7,11); var time = dateObj.toLocaleTimeString(); if(time[1] === ":") time = "0" + time; var displayDateTime = formattedDate + " " +time; return displayDateTime; } function dateTimeObjFormatter(dateObjVal) { dateObjVal = dateObjVal.split('.')[0]; var dateObj = dateObjVal.replace(/-/g,"/"); dateObj = new Date(dateObj).addHours(-8); var dateObjString = dateObj.toString(); var date = dateObjString.substring(4,15); var formattedDate = date.substring(0,6) + ", " + date.substring(7,11); var time = dateObj.toLocaleTimeString().replace("IST","").trim().toUpperCase(); if(time[1] === ":") time = "0" + time; var displayDateTime = formattedDate + " " +time; return displayDateTime; } Date.prototype.addHours= function(h){ this.setHours(this.getHours()+h); return this; } jQuery.fn.jsHTMLSanitizer = function(data) { function urlX(url) { if(/^https?:\/\//.test(url)) { return url; }} function idX(id) { return id; } return(html_sanitize(data, urlX, idX)); }; jQuery.fn.RemoveHTMLTags = function(html) { var regX = /(<([^>]+)>)/ig; return html.replace(regX, "").trim(); } function popupInitiate(a){ $("body").addClass('ovHide'); var cls = "#"+ a; var clschild = $(cls).find(".modalCont").height(); // var modalHeight = $('.modalCont').height(); var modalMargin = clschild / 2; var modalFin = "-" + modalMargin; $(cls).find(".modalCont").css('margin-top', parseInt(modalFin)); } //Find the element in the Viewport function findElementInViewport(log_el) { var top = log_el.offsetTop; var left = log_el.offsetLeft; var width = log_el.offsetWidth; var height = log_el.offsetHeight; while(log_el.offsetParent) { log_el = log_el.offsetParent; top += log_el.offsetTop; left += log_el.offsetLeft; } return ( top < (window.pageYOffset + window.innerHeight) && left < (window.pageXOffset + window.innerWidth) && (top + height) > window.pageYOffset && (left + width) > window.pageXOffset ); } //Create a date range of a week. function convertToWeek(){ var dateArr = []; var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); var oldDate = new Date(); oldDate.setDate(oldDate.getDate() - 7); var oldDay = oldDate.getDate(); var oldMonth = oldDate.getMonth()+1; //January is 0! var oldyyyy = oldDate.getFullYear(); var todate = ""; var fromdate = ""; if(dd<10) { dd='0'+dd } if(mm<10) { mm='0'+mm } todate = mm+'-'+dd+'-'+yyyy; if(oldDay<10) { oldDay='0'+oldDay } if(oldMonth<10) { oldMonth='0'+oldMonth } fromdate = oldMonth+'-'+oldDay+'-'+oldyyyy; dateArr[0] = oldMonth+'-'+oldDay+'-'+oldyyyy; dateArr[1] = mm+'-'+dd+'-'+yyyy; dateArr[2] = oldDay+'-'+oldMonth+'-'+oldyyyy; dateArr[3] = dd+'-'+mm+'-'+yyyy; $("#fromdate").val(fromdate); $("#todate").val(todate); return dateArr; } //Funtion will convert date to YY-MM-DD function convertDateToYYMMDD(fromdate,todate){ var fromdateArr = fromdate.split("-"); var todateArr = todate.split("-"); var dateArr = []; var formdateLen = fromdateArr.length; var todateLen = todateArr.length; var formdate = ""; var todate = ""; for(var i= formdateLen-1; i>=0 ; i--){ if(i>=1){ formdate += fromdateArr[i]+"-"; } else{ formdate += fromdateArr[i]; } } for(var j= todateLen-1; j>=0 ; j--){ if(j>=1){ todate += todateArr[j]+"-"; } else{ todate += todateArr[j]; } } dateArr[0] =formdate; dateArr[1] =todate return dateArr; } // TO convert UTC Date to current time-zone time stamp. function convertUTCDateToTimeStamp(date){ var date = new Date (date); var localOffset = date.getTimezoneOffset() * 60000; var localTime = date.getTime(); var timestamp = localTime - localOffset; return timestamp; } //Generate Redable date format. function generateRedableDateFormat(timestamp){ var redableDate =""; var currentDate = (new Date(timestamp)); var localTime = currentDate.toLocaleTimeString(); var localDate = currentDate.toDateString().substring(4);; var currentHours = currentDate.getHours(); var hours = (currentHours + 24 - 2) % 24; /*var am_pm = ""; // get am/pm if(currentHours >= 12){ am_pm = 'PM'; }else{ am_pm = hours < 12 ? 'AM' : 'PM'; }*/ //Fixed for FireFox && IE issues. if(localTime.indexOf("PM")!= -1 || localTime.indexOf("AM")!= -1){ var datetimeArr = localTime.split(":"); localTime = currentHours + ":"+datetimeArr[1]+":"+datetimeArr[2]; redableDate = localDate +","+ " " +localTime.substring(0,localTime.length-3); // Remove "GM" from the date string. if(redableDate.indexOf("GM") != -1){ redableDate = redableDate.replace("GM","").trim(); } }else { redableDate = localDate +","+ " " +localTime; } return redableDate; } // Connection id standard format. function formatConnectionID(connId){ return(connId.replace(/(\d{3})(\d{3})(\d+)/, '$1-$2-$3')); } //tooltip var toolTip = '

'; var delay=1000; $("body").on('mouseover', ".rpc_tooltip", function(e){ if ($(this).hasClass('disable')) { return; } var v = $(this).attr('text'); var left = e.pageX-13; var top = e.pageY; $('body').append(toolTip); $('.rpc_tooltip_body p').text(v); $('.rpc_tooltip_body').css({'display': 'block', 'left': left, 'top': top - $('.rpc_tooltip_body').height()-30}); $('.rpc_tooltip_body span').css({'top': $('.rpc_tooltip_body').height()+10}); }).on('mousemove', ".rpc_tooltip", function(e){ var left = e.pageX-13; var top = e.pageY; $('.rpc_tooltip_body').css({'display': 'block', 'left': left, 'top': top - $('.rpc_tooltip_body').height()-30}); }).on('mouseout', ".rpc_tooltip", function(e){ $('.rpc_tooltip_body').remove(); }); //video call messages : [calling,missedcall,declined,calldisconnected] var video_msgs=["Y2FsbGluZw==","bWlzc2VkY2FsbA==","ZGVjbGluZWQ=","Y2FsbGRpc2Nvbm5lY3RlZA=="]; var CHAT_ALERT_MSG_TYPES={"resolved": "cmVzb2x2ZWQ="} //resolved function openTab(evt, tabName) { var i, tabcontent, tablinks; var id; if(tabName!= "undefined" && tabName == "upgradeTab"){ id= "upgrade_sec"; } else if(tabName!= "undefined" && tabName == "security_tabId"){ id= "accountSecurity"; } else if(tabName!= "undefined" && tabName == "settings_tabId"){ id= "accountSetting"; } else { /*id = evt.currentTarget.id;*/ try { if(evt.currentTarget!= "undefined") id = evt.currentTarget.id; } catch(err) { if(evt.target!= "undefined") id = evt.target.id; } } $("#"+id).removeClass("selectedli"); tabcontent = document.getElementsByClassName("rpc-tab-content"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("rpc-tblinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace("selectedli", ""); } // To handle customized web link click from anywhere try { document.getElementById(tabName).style.display = "block"; } catch(err) { if(id == "customizeHelpdesk"){ evt.stopPropagation(); buildCustomHDUI(evt); } } //document.getElementById(tabName).style.display = "block"; /*evt.currentTarget.className += " selectedli";*/ $("#"+id).addClass(" selectedli"); if(id != "undefined" && id=="id_profileTab"){ $("#upgradeTab").hide(); } } function onCaptchaError (){ grecaptcha.reset(); grecaptcha.execute(); }; // only javascript function var isBase64 = function (str) { if (typeof str === "undefined" || str === '' || str.trim() === '') { return false; } try { var base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; return base64regex.test(str); } catch (err) { return false; } } var decodeBase64_UTF16LE = function(str) { if(!isBase64(str)) { return str; } let byteData = Uint8Array.from(atob(str), c => c.charCodeAt(0)); return new TextDecoder("utf-16le").decode(byteData) } var isNotSpecialCharacter = function (str) { if (typeof str === "undefined" || str === '' || str.trim() === '') { return false; } try { var specialCharacterRegex = /^[a-zA-Z0-9-@#!$%^&*()_+~=`{}\[\]:";'<>?,.\/]*$/; return specialCharacterRegex.test(str); } catch (err) { return false; } } var encodeBase64_UTF16LE = function(str) { if(isNotSpecialCharacter(str)) { return str; } var byteArray = new Uint8Array(str.length * 2); for (var i = 0; i < str.length; i++) { byteArray[i*2] = str.charCodeAt(i) // & 0xff; byteArray[i*2+1] = str.charCodeAt(i) >> 8 // & 0xff; } return btoa(String.fromCharCode.apply(null, new Uint8Array(byteArray))); } var decodeBase64_UTF8 = function (str) { try { return decodeURIComponent(escape(window.atob(str))); } catch (error) { return str; } } var encodeBase64_UTF8 = function (str) { try { return btoa(unescape(encodeURIComponent(str))); } catch (error) { return str; } } var encode_UTF8 = function(str) { try { return unescape(encodeURIComponent(str)); } catch (error) { return str; } } var isContainSpecialSymbol = function (str) { if (typeof str === "undefined" || str === '' || str.trim() === '') { return false; } try { var specialCharacterRegex = /[~!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/; return specialCharacterRegex.test(str); } catch (err) { return false; } } function cachedNexusStateAPICall(country,state,zip){ var call_nexus_state_api = true; if(typeof nexus_state_map!= "undefined" && country === "United States of America"){ if(nexus_state_map.zip != zip || nexus_state_map.state != state){ nexus_state_map.country = country; nexus_state_map.state = state; nexus_state_map.zip = zip; call_nexus_state_api = true; }else{ nexus_state_map.country = country; nexus_state_map.state = state; nexus_state_map.zip = zip; call_nexus_state_api = false; } }else{ call_nexus_state_api = false; } return call_nexus_state_api; } function toDecideValidations(){ var url = document.URL; var flag = false; if (url.indexOf("/signup/") != -1 || url.indexOf("upgrade") != -1){ flag = true; if (url.indexOf("/signup/el") != -1 || url.indexOf("/signup/pref/")!=-1 || url.indexOf("/bnt/")!=-1 || url.indexOf("/signup/consumer")!=-1 || url.indexOf("/signup/team")!=-1 || url.indexOf("/signup/enterprise")!=-1 || url.indexOf("/signup/soho")!=-1) { flag = false; } }else{ if(url.indexOf("/signup")!=-1){ flag = false; }else if(url.indexOf("/ptr/")!=-1 || url.indexOf("/bnt/")!=-1){ flag = false; }else{ flag = true; } } return flag; }