$(document).ready(function () { $.ajaxSetup({ cache: false }); if (controllerName == "visa" || controllerName == "insurance") { timerCountDown(strTimerCnt); } }); function hasSameSuccessToastr(message) { var hasSameErrorToastr = true; var $toastContainer = $('#toast-container'); if ($toastContainer.length > 0) { var $warningToastr = $toastContainer.find('.toast-success'); if ($warningToastr.length > 0) { var currentText = $warningToastr.find('.toast-message').text(); var areEqual = message.toUpperCase() === currentText.toUpperCase(); if (areEqual) { hasSameErrorToastr = false; } } } return hasSameErrorToastr; } function hasSameWarringToastr(message) { var hasSameErrorToastr = true; var $toastContainer = $('#toast-container'); if ($toastContainer.length > 0) { var $warningToastr = $toastContainer.find('.toast-warning'); if ($warningToastr.length > 0) { var currentText = $warningToastr.find('.toast-message').text(); var areEqual = message.toUpperCase() === currentText.toUpperCase(); if (areEqual) { hasSameErrorToastr = false; } } } return hasSameErrorToastr; } function hasSameErrorToastr(message) { var hasSameErrorToastr = true; var $toastContainer = $('#toast-container'); if ($toastContainer.length > 0) { var $errorToastr = $toastContainer.find('.toast-error'); if ($errorToastr.length > 0) { var currentText = $errorToastr.find('.toast-message').text(); var areEqual = message.toUpperCase() === currentText.toUpperCase(); if (areEqual) { hasSameErrorToastr = false; } } } return hasSameErrorToastr; } function ajaxindicatorstart() { //var url = siteRoot + "/Content/images/ajax-loader.gif"; var url = siteRoot + "/Content/image/loading_center.gif"; if (jQuery('body').find('#resultLoading').attr('id') != 'resultLoading') { jQuery('body').append(''); } jQuery('#resultLoading').css({ 'width': '100%', 'height': '100%', 'position': 'fixed', 'z-index': '10000000', 'top': '0', 'left': '0', 'right': '0', 'bottom': '0', 'margin': 'auto' }); jQuery('#resultLoading .bg').css({ 'background': '#000000', 'opacity': '0.7', 'width': '100%', 'height': '100%', 'position': 'absolute', 'top': '0' }); jQuery('#resultLoading>div:first').css({ 'width': '250px', 'height': '75px', 'text-align': 'center', 'position': 'fixed', 'top': '0', 'left': '0', 'right': '0', 'bottom': '0', 'margin': 'auto', 'font-size': '16px', 'z-index': '10', 'color': '#ffffff' }); jQuery('#resultLoading .bg').height('100%'); jQuery('#resultLoading').fadeIn(300); jQuery('body').css('cursor', 'wait'); } function ajaxindicatorstop() { jQuery('#resultLoading .bg').height('100%'); jQuery('#resultLoading').fadeOut(300); jQuery('body').css('cursor', 'default'); } function validatemin3char(strVal, min) {// , max var strLength = strVal.length if (eval(strLength) < min) { return false; } else { var ObjRegExp = new RegExp(/^\d+$/) if (ObjRegExp.test(strVal)) { return false; } else { //Check min 3 characters var NumberCount = strVal.replace(/[^0-9]/g, "").length; var CharacterCount = eval(strLength) - eval(NumberCount); if (eval(CharacterCount) >= min) { // if (eval(CharacterCount) >= min && eval(CharacterCount) <= max) { // alert('Three character') return true; } else { // alert('Minimum three character rquired') return false; } } } } function ValidateEmail(email) { // Validate email format var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; return expr.test(email); }; function ToJavaScriptDate(value) { if (value != null && value != "") { var pattern = /Date\(([^)]+)\)/; var results = pattern.exec(value); var dt = new Date(parseFloat(results[1])); var year = dt.getFullYear(); var date = dt.getDate(); if (date < 10) { date = "0" + date + ""; } var month = (dt.getMonth() + 1); if (month < 10) { month = "0" + month + ""; } // return month + "/" + date + "/" + year; return date + "/" + month + "/" + year; } else { return "" } } function extractNumber(obj, decimalPlaces, allowNegative) { //debugger; var temp = obj.value; // avoid changing things if already formatted correctly var reg0Str = '[0-9]*'; if (decimalPlaces > 0) { reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}'; } else if (decimalPlaces < 0) { reg0Str += '\\.?[0-9]*'; } reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str; reg0Str = reg0Str + '$'; var reg0 = new RegExp(reg0Str); if (reg0.test(temp)) return true; // first replace all non numbers var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']'; var reg1 = new RegExp(reg1Str, 'g'); temp = temp.replace(reg1, ''); if (allowNegative) { // replace extra negative var hasNegative = temp.length > 0 && temp.charAt(0) == '-'; var reg2 = /-/g; temp = temp.replace(reg2, ''); if (hasNegative) temp = '-' + temp; } if (decimalPlaces != 0) { var reg3 = /\./g; var reg3Array = reg3.exec(temp); if (reg3Array != null) { // keep only first occurrence of . // and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0 var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length); reg3Right = reg3Right.replace(reg3, ''); reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right; temp = temp.substring(0, reg3Array.index) + '.' + reg3Right; } } obj.value = temp; } function isEnglish(Input) { var reEnglish = new RegExp("^[a-zA-Z_ ]+$"); if (!reEnglish.test(Input)) { return false; } else { return true; } } function isEnglishNumeric(Input) { var reEnglish = new RegExp("^[0-9a-zA-Z]+$"); if (!reEnglish.test(Input)) { return false; } else { return true; } } function isArabic(Input) { var reArb = new RegExp("^[\u0621-\u064A ]+$"); if (!reArb.test(Input)) { return false; } else { return true; } } function getAge(val) { var today = new Date(); var dateParts = val.split('/'); var birthDate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]); // var birthDate = new Date(val); var age = today.getFullYear() - birthDate.getFullYear(); var m = today.getMonth() - birthDate.getMonth(); if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { age--; } return age; } function CheckPassportExpirydate(val) { var today = new Date(); var Expirydate = new Date(val); today.setMonth(today.getMonth() + 3); if (Expirydate > today) { return false; } return true } //-------------------------------------steps updates partial views function UpdateSteps(CurrentStep) { if (CurrentStep > 1) { $(".step").removeClass('activated active'); if (CurrentStep == -1) { CurrentStep = 3; $("#step_insurance").addClass('activated active'); } if (CurrentStep > 3) { $("#step_insurance").addClass('activated active'); } for (var i = 0; i <= CurrentStep; i++) { $("#divVisaAppStep" + i).addClass('activated active'); } } } function setProtitle(text) { $("#ProTitle").text(text); } //------------------------------------- $(document).on("keyup", ".inputnumber", function () { validateNumber(this, 0, false); }); $(document).on("blur", ".inputnumber", function () { validateNumber(this, 0, false); }); function validateNumber(obj, decimalPlaces, allowNegative) { var temp = obj.value; // avoid changing things if already formatted correctly var reg0Str = '[0-9]*'; if (decimalPlaces > 0) { reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}'; } else if (decimalPlaces < 0) { reg0Str += '\\.?[0-9]*'; } reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str; reg0Str = reg0Str + '$'; var reg0 = new RegExp(reg0Str); if (reg0.test(temp)) return true; // first replace all non numbers var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']'; var reg1 = new RegExp(reg1Str, 'g'); temp = temp.replace(reg1, ''); if (allowNegative) { // replace extra negative var hasNegative = temp.length > 0 && temp.charAt(0) == '-'; var reg2 = /-/g; temp = temp.replace(reg2, ''); if (hasNegative) temp = '-' + temp; } if (decimalPlaces != 0) { var reg3 = /\./g; var reg3Array = reg3.exec(temp); if (reg3Array != null) { // keep only first occurrence of . // and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0 var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length); reg3Right = reg3Right.replace(reg3, ''); reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right; temp = temp.substring(0, reg3Array.index) + '.' + reg3Right; } } obj.value = temp; } $(document).on("keypress", ".nameAr", function (e) { var unicode = e.charCode ? e.charCode : e.keyCode if (unicode != 8) { //if the key isn't the backspace key (which we should allow) if (unicode == 32 || unicode == 37 || unicode == 38 || unicode == 39 || unicode == 40) return true; else { if ((unicode < 0x0600 || unicode > 0x06FF)) //if not a number or arabic return false; //disable key press } } }); $(document).on('keyup keypress', ".noSpecialCharEnAr", function () { var node = $(this); node.val(node.val().replace(/[^a-zA-Zء-ي\s]/g, '')); } ); $(document).on("keypress keyup", ".nameEn", function (e) { var decimalValue = ""; var charCode = (e.which) ? e.which : e.keyCode; if (!(((charCode >= 65) && (charCode <= 90)) || ((charCode >= 97) && (charCode <= 122)) || (charCode === 8) || (charCode === 9) || (charCode === 32))) { return false; } //if (!(((charCode >= 65) && (charCode <= 90)) || (charCode >= 97) && (charCode <= 122) || (charCode == 8) || (charCode == 9) || (charCode == 32) || (charCode == 46) || charCode == 16 || charCode == 20 || charCode == 33 || charCode == 34 || charCode == 37 || charCode == 38 || charCode == 39 || charCode == 40)) //{ // return false; //} }); $(document).on("keypress keyup", ".emailEn", function (e) { var decimalValue = ""; var charCode = (e.which) ? e.which : e.keyCode; if (!(((charCode >= 65) && (charCode <= 90)) || ((charCode >= 97) && (charCode <= 122)) || (charCode === 8) || (charCode === 9) || (charCode === 32) || (charCode === 46) || (charCode === 64))) { return false; } }); //$(document).on("keyup", ".nameEn", function (e) { // var decimalValue = ""; // var charCode = (e.which) ? e.which : e.keyCode; // if (!((charCode >= 65) && (charCode <= 90) || (charCode >= 97) && (charCode <= 122) || (charCode == 8) || (charCode == 9) || (charCode == 32) || (charCode == 46 || charCode == 16 || charCode == 20 || charCode == 37 || charCode == 38 || charCode == 39|| charCode == 40))) { // //if ($('#divErrorMsg').is(":hidden")) { // // $('#lblErrorMsg').html(ENErrorMsg); // // $('#divErrorMsg').show(); // // $('#divErrorMsg').hide().fadeIn('slow').delay(1000).hide(1); // //} // //alert(ENErrorMsg); // return false; // } //}); //Added below for no Special Char for all devices $(document).on('keyup keypress', ".noSpecialChar", function () { var node = $(this); node.val(node.val().replace(/[^a-zA-Z\s]/g, '')); } ); $(document).on('keyup keypress', ".alphanumericDev", function () { var node = $(this); node.val(node.val().replace(/[^a-zA-Z0-9\s]/g, '')); } ); $(document).on('keyup keypress', ".alphanumericDevWithSpace", function (e) { if (e.keyCode == 32) { return true; } var node = $(this); node.val(node.val().replace(/[^a-zA-Z0-9\s]/g, '')); } ); $(document).on("keypress", ".noNumbers", function (e) { var code; if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; if (code >= 48 && code <= 57) return false; return true; }); $(document).on("keyup keypress", ".alphanumeric", function (e) { var specialKeys = new Array(); specialKeys.push(8); //Backspace specialKeys.push(9); //Tab specialKeys.push(46); //Delete specialKeys.push(36); //Home specialKeys.push(35); //End specialKeys.push(37); //Left specialKeys.push(39); //Right var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode; return ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode)); //return ret; }); $(".disablePaste").bind("paste", function (e) { e.preventDefault(); }); $(document).on('keyup keypress', ".noSpace", function (e) { var code; if (e.keyCode) code = e.keyCode; if (code === 32) return false; return true; }); //var IDLE_TIMEOUT = strExecutionTimeout; // 600; //seconds //var _idleSecondsCounter = 0; //document.onclick = function () { // _idleSecondsCounter = 0; //}; //document.onmousemove = function () { // _idleSecondsCounter = 0; //}; //document.onkeypress = function () { // _idleSecondsCounter = 0; //}; //window.setInterval(CheckIdleTime, strExecutionTimeout); //function CheckIdleTime() { // _idleSecondsCounter++; // if (_idleSecondsCounter >= IDLE_TIMEOUT) { // $('#divExtendLogoutMsg').text("Do you want to extend the session.") // $('#divExecutiontimeout').modal(); // $('#divwrapper').empty(); // $('#divwrapper').html(""); // } // //_idleSecondsCounter++; // //var oPanel = document.getElementById("SecondsUntilExpire"); // //if (oPanel) // // oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + ""; // //if (_idleSecondsCounter >= IDLE_TIMEOUT) { // // //$('#divExtendLogoutMsg').text("The system has expired, please sign in again or extend the session.") // // $('#divExtendLogoutMsg').text("Do you want to extend the session.") // // $('#divExecutiontimeout').modal(); // // $('#divwrapper').empty(); // // $('#divwrapper').html(""); // // //alert("انتهت صلاحية فترة العمل على النظام ، يرجى تسجيل الدخول من جديد"); // // //alert("The system has expired, please sign in again."); // // //alert("系统已过期,请重新登录."); // // // window.location.href = siteRoot + "Login/Index"; // //} //} $(document).on('click', '#btnExtend', function (e) { $('#divExecutiontimeout').modal('hide'); if ((controllerName == "visa" || controllerName == "insurance")) { $('#divwrapper').empty(); $('#divwrapper').html(""); var html = ''; html = '

Minutes

'; html += '

'; $('#divwrapper').append(html); var url = siteRoot + "Visa/ExtendSession"; $.get(url, function (data) { if (data.message === 'Logout') { window.location.href = siteRoot + "Login"; } else { timerCountDown(strTimerCnt); } }); } }) $(document).on('click', '#btnExpired', function (e) { window.location.href = siteRoot + "Login/Index"; }) var interval; function timerCountDown(timer2) { if (interval) clearInterval(interval) interval = setInterval(function () { var timer = timer2.split(':'); //by parsing integer, I avoid all extra string processing var minutes = parseInt(timer[0], 10); var seconds = parseInt(timer[1], 10); --seconds; minutes = (seconds < 0) ? --minutes : minutes; if (minutes < 0) clearInterval(interval); seconds = (seconds < 0) ? 59 : seconds; seconds = (seconds < 10) ? '0' + seconds : seconds; //minutes = (minutes < 10) ? minutes : minutes; timer2 = minutes + ':' + seconds; if ((minutes == "0" || minutes == "00") && (seconds == "0" || seconds == "00")) { $('#divExtendLogoutMsg').text(sessionExtendText) $('#divExecutiontimeout').modal(); $('#divwrapper').empty(); $('#divwrapper').html(""); } $('#h3head').html(timer2); }, 1000); } /** IsCpatchValid obj = { spanCaptchValidation, --(#_) span validation ele which show captcha validation url, -- url to be called for checking captcha captchaCode --(#_) input el which have captcha values } */ var customJS = {}; customJS.captchaManager = { IsCaptchaValid: function (obj) { var IsCorrect = false; var $spanValidationEle = $(obj.spanCaptchValidationEle); $spanValidationEle.hide(); var captchaValue = $(obj.captchaCodeEle).val(); if (!captchaValue) { //$spanValidationEle.show(); return IsCorrect; } $.ajax({ url: siteRoot + obj.checkURL, //"Registration/CheckCaptcha", async: false, type: "GET", data: { id: captchaValue }, success: function (data) { ajaxindicatorstop(); if (data.success) { $spanValidationEle.hide(); IsCorrect = true; } else { $spanValidationEle.show(); } }, error: function (err) { ajaxindicatorstop(); console.log(err); } }); return IsCorrect; }, captchaOnKeyPress: function (obj) { $(obj.captchaCodeEle).on('keyup', function (e) { $(obj.spanCaptchValidationEle).hide(); if (e.keyCode != 13) return; e.preventDefault();//entery key if ($(obj.captchaCodeEle).val().length > 0) $(obj.submitBtn).click(); else { if (!$('#CaptchaCode-error').is(':visible') ) $(obj.spanCaptchValidationEle).show(); } }); }, refreshCaptcha: function (obj) { var date = new Date(); $(obj.captchaImageEle).attr('src', siteRoot + obj.refreshUrl + date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds()); }, clearCaptchaNHideValidation: function (obj) { $(obj.captchaCodeEle).val(''); $(obj.spanCaptchValidationEle).hide(); } }