PageSourceSearch

https://www.gatetours.com/project_folder/project_otrams/common/js/global.js?version_global=1

js gatetours.com collected 2026-10-07 00:08:22 UTC 20,923 bytes, 759 lines download raw bytes

1var check= /[0-9]/;
2var remail=/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]+|[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]+)$/;
3var checkprice= /^(0|-?[1-9][0-9]*(\.[0-9]{1,2})?)$/;
4var alpha= /^([a-zA-Z])$/;
5var numbers= /^([0-9])$/;
6var alphanum= /^([a-zA-Z0-9])$/;
7
8function emailCommonRgx(){
9	return /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,})$/;
10}
11function emailRgx(){
12	return /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,})$/;
13}     
14function commonPasswordRgx(){
15	if(typeof password_min_length !== 'undefined' || typeof numberCount !== 'undefined' || typeof specialCount !== 'undefined' || typeof password_max_length !== 'undefined' || typeof upperCaseCount !== 'undefined'){
16		var regexString = `^(?=.*[A-Z]){${upperCaseCount}}(?=.*[a-z])(?=(?:.*[0-9]){${numberCount}})(?=(?:.*[!@#$%^&*(),.?":{}|<>]){${specialCount}})[a-zA-Z0-9!@#$%^&*(),.?":{}|<>]{${password_min_length},${password_max_length}}$`;
17		var regex = new RegExp(regexString);
18		return regex
19	}else{
20		return /^(?=.*[A-Z])(?=.*[a-z])(?=(?:.*[0-9]){2})(?=(?:.*[$@!#&]){2})[a-zA-Z0-9$@!#&]{12,30}$/;
21	}
22}
23
24function checkIfIsNo(fieldvalue) {
25	if(check.test(fieldvalue.charAt(0))){
26		return true;
27	} else {
28		return false;		
29	}
30}
31function ClearOptionsFast(id)
32{
33	var selectObj = document.getElementById(id);
34	var selectParentNode = selectObj.parentNode;
35	var newSelectObj = selectObj.cloneNode(false); // Make a shallow copy
36	selectParentNode.replaceChild(newSelectObj, selectObj);
37	return newSelectObj;
38}
39
40function sendRequestPopup(dialog_form,chk_list){
41	
42		$("#"+dialog_form).siblings('div.ui-dialog-titlebar').remove();
43		//$('#'+dialog_form).html("<center><img src='/cpf/images/loader.gif'></center>");
44		$( "#"+dialog_form ).dialog( "option", "width", 950 );
45		$( "#"+dialog_form ).dialog( "option", "height", 520 );
46		$( "#"+dialog_form ).dialog( "open" );
47		var url = 'send_request_popup.php';   
48		
49		$.post(url,{ chk_list: chk_list,dialog_form:dialog_form }, 
50				function(data)
51				{				$('#'+dialog_form).html(data);
52						});	
53	
54}
55
56function closePopup(dialog_form){
57$("#"+dialog_form).dialog('close');
58}
59
60function checkIfIsPrice(fieldvalue) {
61	if(checkprice.test(fieldvalue))
62		return false; 
63	else
64		return true;
65}
66
67function checkEmail(fieldvalue) {
68	if(remail.test(fieldvalue))
69		return false;
70	else
71		return true;		
72}
73
74function alpha_numeric() {
75	if(event.keyCode <48 || event.keyCode > 57)
76		if(event.keyCode <65 || event.keyCode >90)
77			if(event.keyCode <97 || event.keyCode >122)
78				event.returnValue=false;
79}
80
81function only_alpha() {
82	if(event.keyCode <65 || event.keyCode >90)
83		if(event.keyCode <97 || event.keyCode >122)
84			if(event.keyCode != 32)
85				event.returnValue=false;
86}
87
88function only_numeric() {
89	if(event.keyCode <48 || event.keyCode > 57) {
90		event.returnValue=false;
91	} else {
92		event.returnValue = true;
93	}
94}
95
96function only_price() {
97 event.returnValue = true;
98}
99
100function alpha_numeric_dot_space() { 
101	event.returnValue = true;
102}
103
104
105//             newly written Javascript validations
106
107    function strltrim() {
108      return this.replace(/^\s+/,'');
109    }
110        
111		function strrtrim() {
112			return this.replace(/\s+$/,'');
113    }
114        
115		function strtrim() {
116		 return this.replace(/^\s+/,'').replace(/\s+$/,'');
117    }
118
119		String.prototype.ltrim = strltrim;
120		String.prototype.rtrim = strrtrim;
121		String.prototype.trim = strtrim;
122
123		function is_match(obj1, fieldvalue1, obj2, fieldvalue2) {
124
125			var val_obj1 = new String(fieldvalue1);
126			fieldvalue1 = val_obj1.trim();
127
128			obj1.value = fieldvalue1;
129
130			var val_obj2 = new String(fieldvalue2);
131			fieldvalue2 = val_obj2.trim();
132
133			obj2.value = fieldvalue2;
134
135			if(fieldvalue1 != '' || fieldvalue2 != '') {
136				if(fieldvalue1 == fieldvalue2) {
137					return false;
138				} else {
139					return true;
140				}
141			}
142	}
143		function isAlpha(str) {
144			  return /^[a-zA-Z]+$/.test(str);
145		}
146		function isalpha_character(obj){			
147			if(!(isAlpha(obj.value))){				
148				va=obj.value.substr(obj.value,(obj.value.length)-1);					
149				obj.value=va;			
150			}
151		}
152		function is_price(obj, fieldvalue) {		
153
154			var val_obj = new String(fieldvalue);
155			fieldvalue = val_obj.trim();
156
157			obj.value = fieldvalue;
158
159			if(fieldvalue != '') {
160
161				var checkPrice = new RegExp("^(0|-?[1-9]+[0-9]{1,3}(,[0-9]{3})*)(\.[0-9]{1,2})?$","g");
162				if(checkPrice.test(fieldvalue))
163					return false;
164				else 
165					return true;
166			}
167		}
168
169		function is_url(obj, fieldvalue) {						
170
171			/*var val_obj = new String(fieldvalue);
172			fieldvalue = val_obj.trim();
173
174			obj.value = fieldvalue;
175
176			if(fieldvalue != '') {
177			var checkURL = new RegExp("^(http:)(//)((www.|in.)*)+([_a-z0-9-])", "g");
178				
179				fieldvalue = fieldvalue.toLowerCase();
180				if(checkURL.test(fieldvalue))
181					return false;
182				else 
183					return true;
184			}*/
185			return false;
186		}
187
188		function is_number(obj, fieldvalue) {									
189			
190			var val_obj = new String(fieldvalue);
191			fieldvalue = val_obj.trim();
192
193			obj.value = fieldvalue;			
194
195			if(isNaN(fieldvalue)) 
196				return true;
197			else 				
198				return false;
199		}
200
201		function is_email(obj, email) {	
202			/*var val_obj = new String(fieldvalue);
203			fieldvalue = val_obj.trim();
204
205			obj.value = fieldvalue;
206
207			if(fieldvalue != '') {
208				
209				var remail = new RegExp("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$", "g");
210				//var remail = new RegExp("^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$","g");
211			fieldvalue = fieldvalue.toLowerCase();
212			
213			if(remail.test(fieldvalue))
214				return false;
215			else
216				return true;
217			}*/
218			var filter = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,15})$/;
219			//filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,9})+$/;
220			
221			if (filter.test(email)) {
222			  // Yay! valid
223			  return true;
224			}
225			else
226			  {return false;}
227
228				  
229
230		}
231
232		function is_empty(obj, val) {
233			var val_obj = new String(val);
234			val = val_obj.trim();
235
236			obj.value = val;
237			
238			if(val == '' || val.length ==0) {
239				return true;
240			} else {
241				return false;
242			}
243		}
244
245
246		function is_valid_image(val) {
247
248			var file_ext = val.slice((val.length)-4);
249			if(file_ext != '.bmp' && file_ext != '.gif' && file_ext != '.jpeg' && file_ext != '.jpg') 
250				return true;
251			else 
252				return false;
253		}
254
255		function is_image(obj, val, flag) {
256
257			var val_obj = new String(val);
258			
259			val = val_obj.trim();
260			
261			obj.value = val;
262
263			if(flag == 1) {
264				if(is_empty(obj, val)) {
265					return true;
266				} else if(is_valid_image(val)) {
267					return true;
268				}
269			} else if(flag == 0) {
270				if(!is_empty(obj, val)) {
271					if(is_valid_image(val))
272						return true;
273					else 
274						return false;
275				} 
276			}
277		}
278
279		function confirm_delete(p_url) {
280
281			/*if(confirm("Are You Sure you want to delete?")) {				
282				window.location.href = p_url;
283			}*/
284			showDeleteSingleAlert("Are You Sure you want to delete?",p_url);
285		}
286
287	function radio_selected(formNm,ElemNm) {
288		var j = 0;
289		var radio_buttons = new Array();
290		var the_form = formNm;
291		for(var i=0; i<the_form.length; i++){
292			var temp = the_form.elements[i].type;
293			if((temp == "radio") && (the_form.elements[i].checked)) { 
294				if(ElemNm == the_form.elements[i].name)
295					j++; 
296				}
297			}
298		if(j <= 0)
299			return 0;
300		else
301			return 1;
302		}
303function hasOnlyAlphabetsAndSpace(fieldname , fieldvalue) {
304		var str = fieldvalue;
305		i = 0;
306		while(i < str.length) {
307			if(!(((str.charAt(i) >= 'a') && (str.charAt(i) <= 'z'))||((str.charAt(i) >= 'A') && (str.charAt(i) <= 'Z') || (str.charAt(i) == " ") ))) {
308				alert(fieldname+' can contain only alphabets\n\nValid Characters :(A to Z),(a to z),whitespace');
309				return false;
310			}
311			i++;
312		}
313		return true;
314}
315
316function openImage(urlV){
317	imgx = new Image();
318	imgx.src = urlV;
319	var width = imgx.width;
320	var height = imgx.height;
321	if(width == 0)
322		width = 300;
323	width = width+50;
324
325	if(height == 0)
326		height = 300;
327	height = height+50;
328
329	nm = window.open('','imagePopup','width='+width+',height='+height+',resizable=yes,scrollbars=yes,titlebar=no');
330	nm.document.writeln('<img src='+urlV+'>');
331	nm.document.writeln('<script language=javascript>');
332	nm.document.writeln('self.resizeTo('+width+','+height+')</script>');
333}
334
335function hasOnlyNumeric(fieldname , fieldvalue) {
336	var str = fieldvalue;
337	var i = 0;
338	while(i < str.length) {
339		if(!((str.charAt(i) >= "0") && (str.charAt(i) <= "9")))	{
340			//alert(fieldname+' can contain only numeric value');
341			return false;
342		} else {
343			i = i + 1;
344		}
345	}
346	return true;
347}
348
349function hasOnlyNumericwithPlusHyphenbrackets(fieldname , fieldvalue)
350{
351	var str = fieldvalue;
352	i = 0;
353	if(str == '+'){
354		alert('Please Enter Valid '+fieldname);
355		return false;
356	}
357	while(i < str.length)
358	{
359		if(!(((((str.charAt(i) >= "0") && (str.charAt(i) <= "9"))||(str.charAt(i) == '+')||(str.charAt(i) == '-')||(str.charAt(i) == '(')||(str.charAt(i) == ')')))))
360		{
361			alert(fieldname+' contains only alphanumeric values \n\nValid Characters :(0 to 9) and (+,-) ');
362			return false;
363		}
364		i++;
365	}
366	return true;
367}
368//new funcation
369function hasOnlyNumericwithSpacrHyphenSlash(fieldname , fieldvalue)
370{
371	var str = fieldvalue;
372	i = 0;
373	
374	while(i < str.length)
375	{
376		if(!(((((str.charAt(i) >= "0") && (str.charAt(i) <= "9"))||(str.charAt(i) == '/')||(str.charAt(i) == '-')||(str.charAt(i) == ' ')))))
377		{
378			alert(fieldname+' contains only alphanumeric values \n\nValid Characters :(0 to 9) and (/,-," ")');
379			return false;
380		}
381		i++;
382	}
383	return true;
384}
385
386function hasOnlyAlphabetsAndSpace(fieldname , fieldvalue) {
387		var str = fieldvalue;
388		i = 0;
389		while(i < str.length) {
390			if(!(((str.charAt(i) >= 'a') && (str.charAt(i) <= 'z'))||((str.charAt(i) >= 'A') && (str.charAt(i) <= 'Z') || (str.charAt(i) == " ") ))) {
391				alert(fieldname+' can contain only alphabets\n\nValid Characters :(A to Z),(a to z),whitespace');
392				return false;
393			}
394			i++;
395		}
396		return true;
397}
398
399function hasOnlyAlphaNumeric(fieldname,fieldvalue) {
400	var str = fieldvalue;
401	i = 0;
402	while(i < str.length) {
403		if(!(((str.charAt(i) >= 'a') && (str.charAt(i) <= 'z'))||((str.charAt(i) >= "0") && (str.charAt(i) <= "9"))|| ((str.charAt(i) >= 'A') && (str.charAt(i) <= 'Z') )||(str.charAt(i) <= ' ')))
404		{
405			alert(fieldname+' contains only alphanumeric values \n\nValid Characters :(A to Z),(a to z) and (0 to 9) ');
406			return false;
407		}
408		i++;
409	}
410	return true;
411}
412
413function hasOnlyAlphabetsAndSpacewithHyphenbrackets(fieldname , fieldvalue) {
414	var str = fieldvalue;
415	i = 0;
416	while(i < str.length) {
417		if(!(((str.charAt(i) >= 'a') && (str.charAt(i) <= 'z'))||((str.charAt(i) >= 'A') && (str.charAt(i) <= 'Z') || (str.charAt(i) == " ")||(str.charAt(i) == '-')||(str.charAt(i) == '(')||(str.charAt(i) == ')')))) {
418			alert(fieldname+' can contain only alphabets\n\nValid Characters :(A to Z),(a to z),whitespace or ()');
419			return false;
420		}
421		i++;
422	}
423	return true;
424}
425function hasOnlyAlphabetsAndSpaceDot(fieldname , fieldvalue) {
426		var str = fieldvalue;
427		i = 0;
428		while(i < str.length) {
429			if(!(((str.charAt(i) >= 'a') && (str.charAt(i) <= 'z'))||((str.charAt(i) >= 'A') && (str.charAt(i) <= 'Z') || (str.charAt(i) == " ") || (str.charAt(i) == ".")))) {
430				alert(fieldname+' can contain only alphabets\n\nValid Characters :(A to Z),(a to z),whitespace and dot');
431				return false;
432			}
433			i++;
434		}
435		return true;
436}
437function hasOnlyNumericwithDotPlusHyphen(fieldname , fieldvalue) {
438	var str = fieldvalue;
439	i = 0;
440	if(str == '+'){
441		alert('Please Enter Valid '+fieldname);
442		return false;
443	}
444	while(i < str.length)
445	{
446		if(!(((((str.charAt(i) >= "0") && (str.charAt(i) <= "9"))||(str.charAt(i) == '.')||(str.charAt(i) == '+')||(str.charAt(i) == '-')))))
447		{
448			alert(fieldname+' contains only alphanumeric values \n\nValid Characters :(0 to 9) and (+,-,.) ');
449			return false;
450		}
451		i++;
452	}
453	return true;
454}
455function clearField(id, val){
456	if(document.getElementById(id).value == val){
457		document.getElementById(id).value = "";
458	}
459}
460function defaultText(id, val){
461	if(document.getElementById(id).value == ''){
462		document.getElementById(id).value = val;
463		temp = 0;
464	}
465}
466function ValidateNumber(e) {
467	var keyCode = e.keyCode || e.which;  
468	var regex = /^[A-Za-z]+$/;  
469	var isValid = regex.test(String.fromCharCode(keyCode));
470	if (!isValid) {
471		return false;
472	}
473	return isValid;
474	
475}
476
477var theparent = document.querySelector('body');
478theparent.addEventListener('click', eventCall , false); 
479function eventCall(e){
480if(e.target !== e.currentTarget){  
481  let clickItem = e.target.name; 
482  if(clickItem == 'txt_fax'){ 
483  e.target.addEventListener('paste', (e) => {
484  let paste = (e.clipboardData || window.clipboardData).getData('text'); 
485  if(!(/^\d+$/.test(paste))){
486  e.target.value = '' ;
487  e.preventDefault();
488  }
489  return true; 
490  })  
491  e.target.addEventListener('keypress', (e) => {
492  let charCode = (e.which) ? e.which : e.keyCode;
493  if (charCode >
493 31 && (charCode < 48 || charCode > 57)){ 
494	e.target.value = '' ;
495	e.preventDefault();
496  } 
497  var reg1 = /^\d+$/; 
498  if(!e.target.value.match(reg1)){
499  e.target.value = '';   
500  } 
501  })  
502  }
503
504  if (clickItem == 'txt_pan_number1' || clickItem == 'txt_gstin_number1' || clickItem == 'txt_vat_number') {
505	e.target.addEventListener('paste', (e) => {
506		let paste = (e.clipboardData || window.clipboardData).getData('text');
507		if ((/[^a-zA-Z0-9@ .]+/.test(paste))) {
508			e.target.value = '';
509			e.preventDefault();
510		}
511		return true;
512	})
513	e.target.addEventListener('keypress', (e) => {
514		var k = e.keyCode,
515			$return = ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57));
516		if (!$return) { 
517			e.target.value = '';
518			e.preventDefault();
519		}
520		return true;
521	})
522 }
523
524 if (clickItem == 'adults[0][ppassportNo]'){ 
525	let passPort = e.target.name.split('[');
526  if (passPort.includes('ppassportNo]')) { 
527  e.target.addEventListener('paste', (e) => {
528	 let paste = (e.clipboardData || window.clipboardData).getData('text'); 
529	 if(!(/^[a-zA-Z0-9]*$/.test(paste))){
530	 e.target.value = '' ;
531	 e.preventDefault();
532	 }
533	 return true; 
534	 })  	
535  }
536 }
537
538
539  const emailInput = ['q_customer_email'];
540  if(emailInput.includes(clickItem)){
541	 let reg = emailCommonRgx();
542     if(!reg.test(e.target.value)){
543          return true;
544	 }else{
545		 return false;
546	 }
547  }
548  
549  const inputFields = ['txt_phone','txt_mobile','txt_mobile_number','txt_phone_number','txt_transaction_limit_assigned','txt_acc_phone','txt_man_phone','txt_res_phone','txt_vat_number','q_customer_phone'];
550  if (inputFields.includes(clickItem)) { 
551	e.target.addEventListener('paste', (e) => {
552		let paste = (e.clipboardData || window.clipboardData).getData('text'); 
553		if(!(/^[0-9]*$/.test(paste))){
554		e.target.value = '' ;
555		e.preventDefault();
556		}
557		return true; 
558		})  
559  }
560
561  const contryCode = ['txt_countrycode'];
562  if(contryCode.includes(clickItem)){
563	  e.target.addEventListener('focus', (e) => {
564	  e.target.parentElement.nextElementSibling.childNodes[1].removeAttribute('disabled','disabled'); 
565	  });
566	  e.target.addEventListener('blur', (e) => {
567	  if(e.target.value != ''){   
568	  if(e.target.classList.length != 7 ){  
569	  swal(enter_country_code_dropdownlist);
570	  e.target.parentElement.nextElementSibling.childNodes[1].setAttribute('disabled','disabled');
571	  return false;
572	   } 
573	  }
574	  });
575}
576
577  const numericFields = ['leader_phone_no','q_country_code','leader_phone_country_code','txt_countrycode','countryCode','otpCheck1','otpCheck2','otpCheck3','otpCheck4','otpCheck5'];
578  if(numericFields.includes(clickItem)){
579	let oldValue = '';
580    let newValue = '';
581    difference = function(value1, value2) {
582      let output = [];
583      for(i = 0; i < value2.length; i++) {
584        if(value1[i] !== value2[i]) {
585          output.push(value2[i]);
586        }
587      }
588      return output.join("");
589    },
590    keyDownHandler = function(e) {
591      oldValue = e.target.value;
592    },
593    inputHandler = function(e) {
594      newValue = e.target.value;
595      let inputVal = difference(oldValue, newValue);
596      let $regExp = new RegExp('^[0-9]*$');      
597      if(!inputVal.match($regExp)){ 
598          e.target.value = '';
599		  e.preventDefault();
600     }
601    }
602;
603e.target.addEventListener('keydown', keyDownHandler);
604e.target.addEventListener('input', inputHandler);  
605  }
606   return true;
607}
608  e.preventDefault();
609}
610
611const otpAll = document.querySelectorAll(".otpField1");
612const updatedOtp = Array.from(otpAll).map((otp) => {
613 let oldValue = '';
614 let newValue = '';
615    difference = function(value1, value2) {
616      let output = [];
617      for(i = 0; i < value2.length; i++) {
618        if(value1[i] !== value2[i]) {
619          output.push(value2[i]);
620        }
621      }
622      return output.join("");
623    },
624    keyDownHandler = function(e) {
625      oldValue = otp.value;
626    },
627    inputHandler = function(e) {
628      newValue = otp.value;
629      let inputVal = difference(oldValue, newValue);
630      let $regExp = new RegExp('^[0-9]*$');      
631      if(!inputVal.match($regExp)){ 
632		otp.value = '';
633     }
634    }
635;
636otp.addEventListener('keydown', keyDownHandler);
637otp.addEventListener('input', inputHandler); 
638});
639
640// autocomplte;
641$('body').on('mousedown', '.ui-autocomplete', function(event) { 
642		event.stopImmediatePropagation();
643});
644 
645document.addEventListener("DOMContentLoaded", function(event) { 
646let el = document.querySelector('[name="loyalty_redeem_value"] + span');
647if(el){
648	el.innerHTML = el.innerHTML.replace(/&nbsp;/g,'');
649	el.style.textAlign = 'left';
650	el.style.marginLeft = '0px';  
651}
652});
653
654function checkRateChange(booking_id, element) {
655	$('#loader').modal('show');
656    $.ajax({
657        url: 'add_voucher.php',
658        type: 'POST',
659        data: {
660            booking_id: booking_id,
661            action_name: 'check_rate_change'
662        },
663        success: function(response) {
664            const jsonObject = JSON.parse(response);
665            const msg = 'There is a price difference of ' + jsonObject.price_diff;
666            var wallet_data = jsonObject;
667            if(jsonObject.error == 1){
668				$('#loader').modal('hide');
669            	swal({
670                    title: 'There is an error in fare Check',
671                    type: "warning",
672                    confirmButtonText: "Ok",
673                    confirmButtonColor: "#F0AD4E",
674                    closeOnConfirm: true
675                });
676            	return false;
677            }else if (jsonObject.rate_change == 1) {
678                swal({
679                    title: msg,
680                    type: "warning",
681                    showCancelButton: true,
682                    confirmButtonText: "Ok",
683                    confirmButtonColor: "#F0AD4E",
684                    closeOnConfirm: true
685                },
686                function(isConfirm) {
687                    if (isConfirm) {
688                        wallet_data['booking_id'] = booking_id;
689                        if(element == 'paymentGateway'){
690                        	update_rate_change(wallet_data,element)
691                        }else{
692                        		wallet_data['rate_change'] = 1;
693                        		check_wallet(wallet_data); 
694                        }
695                      }else{
696                      	$('#loader').modal('hide');
697                      	return false;
698                      }
699                });
700                return false;
701            } else {
702				if(element == 'paymentGateway'){
703					payment(booking_id);  
704				}else{
705					wallet_data['booking_id'] = booking_id;
706					check_wallet(wallet_data,element);
707				}
708                 
709            }
710        }
711    });
712}
713
714function check_wallet(wallet_data,element) {
715    $.ajax({
716        url: 'add_voucher.php',
717        type: 'POST',
718        data: {
719            action_name: 'check_wallet',
720            json_data: 1,
721            credit_check_data: JSON.stringify(wallet_data)  // Corrected data structure here
722        },
723        success: function(response) {
724            const jsonObject = JSON.parse(response);
725            if (jsonObject.allow_booking && wallet_data.rate_change == 1) {
726                update_rate_change(wallet_data,element);
727            } else if (!jsonObject.allow_booking) {
728                swal({
729                    title: 'You don’t have enough balance for this booking',
730                    type: "warning",
731                    showCancelButton: true,
732                    confirmButtonText: "Ok",
733                    confirmButtonColor: "#F0AD4E",
734                    closeOnConfirm: true
735                });
736                return false;
737            } else {
738                validate_voucher(element);
739            }
740        }
741    });
742}
743
744async function update_rate_change(wallet_data,element) {
745    const response = await $.ajax({
746        url: 'add_voucher.php',
747        type: 'POST',
748        data: {
749            action_name: 'update_rate_change',
750            json_data: 1,
751            rate_change_update: JSON.stringify(wallet_data)  // Corrected data structure here
752        }
753    });
754    if(element == 'paymentGateway'){
755		payment(wallet_data['booking_id']);  
756	}else{
757		validate_voucher(element);
758	}
759}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.