Subversion Repositories SmartDukaan

Rev

Rev 31274 | Rev 32327 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
27187 amit.gupta 1
var customerId;
31083 amit.gupta 2
 
24440 amit.gupta 3
function formLoaded() {
31855 tejbeer 4
	$("form#cd input").each(function() {
22245 ashik.ali 5
		$(this).attr('autocomplete', 'off');
6
	});
28339 tejbeer 7
	$('form#cd').validate({
8
		rules: {
9
			name: {
10
				required: true
27187 amit.gupta 11
			},
28339 tejbeer 12
			email: {
13
				required: true,
14
				email: true
27187 amit.gupta 15
			},
28339 tejbeer 16
			line1: {
17
				required: true
27187 amit.gupta 18
			},
28339 tejbeer 19
			state: {
20
				required: true
27187 amit.gupta 21
			},
28339 tejbeer 22
			city: {
23
				required: true
27187 amit.gupta 24
			},
28339 tejbeer 25
			pincode: {
26
				required: true,
27
				digits: true,
27187 amit.gupta 28
				minlength: 6,
28339 tejbeer 29
				maxlength: 6,
27187 amit.gupta 30
			},
28339 tejbeer 31
			phone: {
32
				required: true,
33
				minlength: 10,
34
				maxlength: 10,
35
				digits: true
27187 amit.gupta 36
			},
37
		},
28339 tejbeer 38
		messages: {
39
			name: {
40
				required: "Required"
27187 amit.gupta 41
			},
28339 tejbeer 42
			line1: {
43
				required: "Required"
27187 amit.gupta 44
			},
28339 tejbeer 45
			state: {
27187 amit.gupta 46
				required: "State required"
47
			},
28339 tejbeer 48
			city: {
27187 amit.gupta 49
				required: "City required"
50
			},
28339 tejbeer 51
			email: {
27187 amit.gupta 52
				require: "Required"
53
			},
28339 tejbeer 54
			pincode: {
27187 amit.gupta 55
				required: "Required",
28339 tejbeer 56
				digits: "Invalid pin"
27187 amit.gupta 57
			},
28339 tejbeer 58
			phone: {
27187 amit.gupta 59
				required: "Required",
28339 tejbeer 60
				digits: "Invalid number",
61
				minlength: "Number should be of 10 digits"
27187 amit.gupta 62
			}
63
		},
31855 tejbeer 64
		submitHandler: function(form, event) {
27187 amit.gupta 65
			event.preventDefault();
66
			var payload = orderDetailsPayload();
28339 tejbeer 67
			if (!validateOrderDetails()) {
27187 amit.gupta 68
				alert("Please fix highlighted errors");
69
				return false;
70
			}
31855 tejbeer 71
			doPostAjaxRequestWithJsonHandler(context + "/create-order", payload, function(response) {
27187 amit.gupta 72
				emptyBag();
73
				$('#main-content').html(response);
23353 ashik.ali 74
			});
28339 tejbeer 75
			return false; // required to block normal submit since you used
76
			// ajax
77
		}
31083 amit.gupta 78
 
27187 amit.gupta 79
	});
28339 tejbeer 80
 
31083 amit.gupta 81
	$('form#newaddress').validate({
82
		rules: {
83
			firstName: {
84
				required: true
85
			},
86
			line1: {
87
				required: true
88
			},
89
			state: {
90
				required: true
91
			},
92
			city: {
93
				required: true
94
			},
95
			pinCode: {
96
				required: true,
97
				digits: true,
98
				minlength: 6,
99
				maxlength: 6,
100
			},
101
			alternatePhone: {
102
				required: true,
103
				minlength: 10,
104
				maxlength: 10,
105
				digits: true
106
			},
107
		},
108
		messages: {
109
			firstName: {
110
				required: "Required"
111
			},
112
			line1: {
113
				required: "Required"
114
			},
115
			state: {
116
				required: "State required"
117
			},
118
			city: {
119
				required: "City required"
120
			},
121
			pinCode: {
122
				required: "Required",
123
				digits: "Invalid pin"
124
			},
125
			alternatePhone: {
126
				required: "Required",
127
				digits: "Invalid number",
128
				minlength: "Number should be of 10 digits"
129
			}
130
		},
31855 tejbeer 131
		submitHandler: function(form, event) {
31083 amit.gupta 132
			event.preventDefault();
133
			let customerAddress = {};
134
			customerAddress['name'] = $("#firstName").val();
135
			customerAddress['lastName'] = $("#lastName").val();
136
			customerAddress['line1'] = $("#line1").val();
137
			customerAddress['line2'] = $("#line2").val();
138
			customerAddress['landmark'] = $("#landmark").val();
139
			customerAddress['city'] = $("#city").val();
140
			customerAddress['state'] = $('select[name=state] option:selected').val();
141
			customerAddress['pinCode'] = $("#pinCode").val();
142
			customerAddress['phoneNumber'] = $("#alternatePhone").val();
143
			customerAddress['country'] = "India";
31855 tejbeer 144
			doPostAjaxRequestWithJsonHandler(`${context}/customer/address?customerId=${customerId}`, JSON.stringify(customerAddress), function(response) {
31083 amit.gupta 145
				$("#address-body").prepend(getAddressTr(response.response));
146
				$('#newaddressModal').modal('toggle');
147
				$("#address-body").find('a.select-address').click();
148
			});
149
		}
150
 
151
	});
152
 
31855 tejbeer 153
	$("input.unitPrice").on('change', function() {
27187 amit.gupta 154
		var $element = $(this);
155
		var unitPrice = parseFloat($element.val());
28339 tejbeer 156
		if (!isNaN(unitPrice)) {
27187 amit.gupta 157
			var itemType = parseFloat($(this).closest('tr').find('.serialNumber').attr("itemType"));
158
			var mopPrice = parseFloat($(this).attr('mopPrice'));
29014 amit.gupta 159
			var isMop = JSON.parse($(this).attr('isMop'));
27187 amit.gupta 160
			var dp = parseFloat($(this).attr('dp'));
161
			var mrp = parseFloat($(this).attr('mrp'));
28339 tejbeer 162
			if (mrp != 0 && unitPrice > mrp) {
27187 amit.gupta 163
				alert("Selling Price should not be greater than MRP");
164
				$element.addClass("border-highlight");
28339 tejbeer 165
			} else if (!accessoriesDeals && unitPrice < mopPrice) {
27187 amit.gupta 166
				alert("Selling Price must be greater than equal to MOP");
167
				$element.addClass("border-highlight");
28339 tejbeer 168
			} else if (itemType == 'SERIALIZED' && unitPrice < mopPrice) {
31083 amit.gupta 169
				if (isMop) {
28479 amit.gupta 170
					alert("Selling Price must be greater than equal to MOP");
171
					$element.addClass("border-highlight");
172
				}
28339 tejbeer 173
			} else if (itemType == 'NON_SERIALIZED' && unitPrice < dp) {
27187 amit.gupta 174
				alert("Selling Price must be greater than equal to DP");
175
				$element.addClass("border-highlight");
28339 tejbeer 176
			} else {
27187 amit.gupta 177
				$element.removeClass("border-highlight");
178
			}
179
			// Clear insurance values if price changes
180
			$(this).closest('tr').find('.insuranceid').val("");
181
			$(this).closest('tr').find('.insuranceamount').val("0");
182
		}
183
		calculateTotalAmount();
184
	});
185
	customerInfo = $("div.customerinfo").html();
186
	billingInfo = $("div.billinginfo").html();
28339 tejbeer 187
 
31855 tejbeer 188
	$("input.search-phone").change(function() {
27187 amit.gupta 189
		resetInputs();
22354 ashik.ali 190
		var mobileNumber = $(this).val();
28339 tejbeer 191
		console.log(mobileNumber)
31083 amit.gupta 192
		if (mobileNumber.length < 10 || mobileNumber.length > 10) {
28651 amit.gupta 193
			alert("Mobile Number is must be 10 digits");
194
			return false;
31083 amit.gupta 195
		} else {
196
			writeOldCustomerDetailsByMobileNumber(mobileNumber);
23405 amit.gupta 197
		}
22354 ashik.ali 198
	});
28339 tejbeer 199
 
31855 tejbeer 200
	$(document).on('click', 'button.new-address-btn', function() {
201
		$('#newaddressModal').modal({ show: true });
27187 amit.gupta 202
	});
28339 tejbeer 203
 
31855 tejbeer 204
	$(document).on('click', 'button.mk_add_email', function() {
27693 amit.gupta 205
		let customerObj = {};
206
		customerObj['customerId'] = customerId;
207
		customerObj['emailId'] = $("#emailId").val();
28339 tejbeer 208
		if (validateEmail(customerObj['emailId'])) {
31855 tejbeer 209
			doPostAjaxRequestWithJsonHandler(`${context}/customer/add-email`, JSON.stringify(customerObj), function(response) {
27693 amit.gupta 210
				alert("Email added");
28339 tejbeer 211
				$("input.search-phone").val(customerObj['mobileNumber']).change();
27693 amit.gupta 212
			});
213
		} else {
214
			alert("Invalid email id");
215
		}
28339 tejbeer 216
 
27693 amit.gupta 217
	});
31855 tejbeer 218
	$(document).on('click', 'button.mk_add_customer', function() {
27187 amit.gupta 219
		customerObj = {}
28339 tejbeer 220
		if ($("input.firstName").val().length == 0) {
27187 amit.gupta 221
			alert("First Name is required");
222
			return false;
223
		}
224
		customerObj['firstName'] = $("input.firstName").val();
225
		customerObj['lastName'] = $("input.lastName").val();
27693 amit.gupta 226
		customerObj['emailId'] = $("#emailId").val();
27688 tejbeer 227
 
27682 tejbeer 228
		console.log(customerObj['emailId']);
27187 amit.gupta 229
		customerObj['mobileNumber'] = $("input.phone").val();
31855 tejbeer 230
 
231
		if (customerObj['emailId']) {
232
			if (!validateEmail(customerObj['emailId'])) {
233
				alert("Invalid email id");
234
				return false;
235
			}
236
		}
237
 
238
 
239
 
240
		doPostAjaxRequestWithJsonHandler(`${context}/customer/add`, JSON.stringify(customerObj), function(response) {
27187 amit.gupta 241
			alert("Customer added");
28339 tejbeer 242
			$("input.search-phone").change();
27187 amit.gupta 243
		});
28339 tejbeer 244
 
245
 
27187 amit.gupta 246
	});
31855 tejbeer 247
	$(document).on('click', 'a.select-address', function() {
27187 amit.gupta 248
		$(this).closest('table').data("addressselected", "true").find('td').css("font-weight", "normal");
249
		$(this).closest('tr').find('td').css("font-weight", "bold");
250
		selectedAddressId = $(this).data("addressid");
251
	});
28339 tejbeer 252
	$(document).on('click', 'button.btn-add-address', function() {
31083 amit.gupta 253
		$("form#newaddress").submit();
27187 amit.gupta 254
	});
28339 tejbeer 255
 
24440 amit.gupta 256
}
28339 tejbeer 257
function validateOrderDetails() {
23343 ashik.ali 258
	var sNumbers = [];
29012 amit.gupta 259
	var error = false;
31855 tejbeer 260
	$("form#cd input.serialNumber").each(function() {
23343 ashik.ali 261
		var input = $(this).val().trim();
27187 amit.gupta 262
		var itemType = $(this).attr("itemType");
23343 ashik.ali 263
		$(this).removeClass("border-highlight");
28339 tejbeer 264
		if (sNumbers.indexOf(input) != -1 || (itemType === 'SERIALIZED' && !input)) {
23343 ashik.ali 265
			error = true;
266
			$(this).addClass("border-highlight");
267
		}
27187 amit.gupta 268
		sNumbers.push(input);
23343 ashik.ali 269
	});
28339 tejbeer 270
 
31855 tejbeer 271
	$("form#cd input.unitPrice").each(function() {
27187 amit.gupta 272
		var input = $(this).val().trim();
273
		$(this).removeClass("border-highlight");
28339 tejbeer 274
		if (!input || parseInt(input) <= 0 || isNaN(input)) {
275
			error = true;
27187 amit.gupta 276
			$(this).addClass("border-highlight");
277
		}
278
	});
28339 tejbeer 279
 
23370 ashik.ali 280
	var gstNumber = $("form#cd input[name=gstNumber]").val();
281
	$("form#cd input[name=gstNumber]").removeClass("border-highlight");
28339 tejbeer 282
	if (gstNumber.length > 0 && gstNumber.length != 15) {
23370 ashik.ali 283
		alert("Please provide valid gstNumber");
284
		error = true;
285
		$("form#cd input[name=gstNumber]").addClass("border-highlight");
286
	}
28339 tejbeer 287
 
23343 ashik.ali 288
	var amount = 0;
289
	var netPayableAmount = parseFloat($("form#cd input.netPayableAmount").val());
31855 tejbeer 290
	$("form#cd input.amount").each(function() {
28339 tejbeer 291
		if ($(this).val() == "") {
23343 ashik.ali 292
			$(this).val(0);
293
		}
294
		var tmpAmount = parseFloat($(this).val());
295
		amount = amount + tmpAmount;
296
	});
28339 tejbeer 297
 
23343 ashik.ali 298
	console.log(amount);
299
	console.log(netPayableAmount);
28339 tejbeer 300
 
301
	if (amount != netPayableAmount) {
302
		if (amount < netPayableAmount) {
27187 amit.gupta 303
			alert("[" + (netPayableAmount - amount) + "] is more required to complete the payment");
28339 tejbeer 304
		} else {
27187 amit.gupta 305
			alert("[" + (amount - netPayableAmount) + "] is extra amount, please reduce the amount");
23343 ashik.ali 306
		}
31855 tejbeer 307
		$("form#cd input.netPayableAmount").each(function() {
23343 ashik.ali 308
			$(this).addClass("border-highlight");
309
		});
310
		error = true;
311
	}
28339 tejbeer 312
 
313
	if (error) {
23343 ashik.ali 314
		return false;
315
	}
316
	return true;
28339 tejbeer 317
 
23347 ashik.ali 318
}
319
 
27187 amit.gupta 320
 
28339 tejbeer 321
function getSerialNumbersFromOrder($el) {
23347 ashik.ali 322
	var $serialNumberElement = $el.find('.serialNumber');
28339 tejbeer 323
	if ($serialNumberElement.val() == '') {
23347 ashik.ali 324
		return null;
325
	}
24440 amit.gupta 326
	var insuranceAmount = parseFloat($el.find('.insuranceamount').val());
28339 tejbeer 327
	if (insuranceAmount > 0) {
23347 ashik.ali 328
		insurance = true;
329
		globalInsurace = true;
28339 tejbeer 330
	} else {
23347 ashik.ali 331
		insurance = false;
332
	}
31855 tejbeer 333
	return { 'serialNumber': $serialNumberElement.val(), 'insurance': insurance, 'amount': insuranceAmount }
23347 ashik.ali 334
}
335
 
28339 tejbeer 336
function orderDetailsPayload() {
23419 ashik.ali 337
	var orderObj = {};
338
	var priceQtyArray = [];
339
	var customerObj = {};
340
	var paymentOptionIdAmount = [];
341
	var globalInsurance = false;
28339 tejbeer 342
 
31855 tejbeer 343
	$("form#cd input.serialNumber").each(function() {
23419 ashik.ali 344
		var itemId = parseInt($(this).attr("itemId"));
28339 tejbeer 345
		if (orderObj.hasOwnProperty('fofoOrderItems')) {
23419 ashik.ali 346
			var itemDetails = orderObj['fofoOrderItems'];
28339 tejbeer 347
			if (itemDetails.hasOwnProperty(itemId)) {
23419 ashik.ali 348
				var serialNumbers = itemDetails[itemId];
349
				serialNumbers.push($(this).val());
350
				itemDetails[itemId] = serialNumbers;
28339 tejbeer 351
			} else {
23347 ashik.ali 352
				var serialNumbers = [];
353
				serialNumbers.push($(this).val());
23419 ashik.ali 354
				itemDetails[itemId] = serialNumbers;
23347 ashik.ali 355
			}
28339 tejbeer 356
		} else {
23419 ashik.ali 357
			var serialNumbers = [];
358
			serialNumbers.push($(this).val());
28339 tejbeer 359
			var tmp = {};
360
			tmp[itemId] = serialNumbers;
23419 ashik.ali 361
			orderObj['fofoOrderItems'] = tmp;
362
		}
363
	});
28339 tejbeer 364
	console.log(JSON.stringify(orderObj));
31855 tejbeer 365
	$("#order-items").find("tr:not(:first-child)").each(function(index, el) {
27187 amit.gupta 366
		// console.log(el);
367
		// console.log(index);
368
		var $el = $(el);
369
		var $unitPriceElement = $el.find('.unitPrice');
28395 amit.gupta 370
		var $discountElement = $el.find('.discount');
28339 tejbeer 371
 
27187 amit.gupta 372
		var itemId = parseInt($unitPriceElement.attr("itemId"));
373
		var unitPrice = parseFloat($unitPriceElement.val());
28395 amit.gupta 374
		var discount = parseFloat($discountElement.val());
31083 amit.gupta 375
		if (isNaN(discount)) {
28395 amit.gupta 376
			discount = 0;
377
		}
27187 amit.gupta 378
		var qty = parseInt($unitPriceElement.attr("quantity"));
31083 amit.gupta 379
		var tmpObj = {
380
			'itemId': itemId,
381
			'sellingPrice': unitPrice - discount,
382
			'quantity': qty,
383
			'discountAmount': discount
384
		};
23873 amit.gupta 385
 
28339 tejbeer 386
		if (orderObj['fofoOrderItems'][itemId] === undefined) {
387
			tmpObj['serialNumberDetails'] = [];
388
		} else {
27187 amit.gupta 389
			// tmpObj['serialNumbers'] = orderObj['fofoLineItems'][itemId];
390
			tmpObj['serialNumberDetails'] = [];
391
		}
392
		var found = false;
28339 tejbeer 393
		for (var i = 0; i < priceQtyArray.length; i++) {
394
			if (priceQtyArray[i]["itemId"] == itemId) {
27187 amit.gupta 395
				priceQtyArray[i]["quantity"] = priceQtyArray[i]["quantity"] + 1;
396
				found = true;
397
				break;
398
			}
399
		}
28339 tejbeer 400
		if (!found) {
27187 amit.gupta 401
			priceQtyArray.push(tmpObj);
402
		}
28339 tejbeer 403
	});
404
 
31855 tejbeer 405
	$("#order-items").find("tr:not(:first-child)").each(function(index, el) {
24440 amit.gupta 406
		// console.log(el);
407
		// console.log(index);
23419 ashik.ali 408
		var $serialNumberElement = $(el).find('.serialNumber');
409
		var itemId = parseInt($serialNumberElement.attr("itemId"));
24440 amit.gupta 410
		var insuranceEle = $(el).find('.insuranceamount');
411
		var insuranceAmount = 0;
28339 tejbeer 412
		if (insuranceEle.length > 0) {
24440 amit.gupta 413
			insuranceAmount = parseFloat(insuranceEle.val());
414
		}
415
		var insuranceId = "";
28339 tejbeer 416
		if (insuranceAmount > 0) {
24440 amit.gupta 417
			insuranceId = $(el).find('.insuranceid').val();
418
		}
28339 tejbeer 419
		var ram = $(el).find('.ram').val();
420
		var memory = $(el).find('.memory').val();
31274 amit.gupta 421
		debugger;
28339 tejbeer 422
		var mfgdate = $(el).find('.mfgdate').val();
423
		var serialNumberDetails = {
424
			'serialNumber': $serialNumberElement.val(), 'insurance': insuranceId, 'amount': insuranceAmount,
425
			'ram': ram, 'memory': memory, 'mfgDate': mfgdate
426
		};
24440 amit.gupta 427
		priceQtyArray[index]['serialNumberDetails'].push(serialNumberDetails);
28339 tejbeer 428
 
23419 ashik.ali 429
	});
28339 tejbeer 430
 
23419 ashik.ali 431
	customerObj['gstNumber'] = $("form#cd input[name=gstNumber]").val();
28339 tejbeer 432
	if (customerId == undefined) {
27187 amit.gupta 433
		alert("Please choose customer");
434
		return false;
435
	}
28339 tejbeer 436
	if ($("#customer-address").data("addressselected") == "true") {
27187 amit.gupta 437
		alert("Please select address");
438
		return false;
439
	}
28339 tejbeer 440
	customerObj['customerId'] = customerId;
27187 amit.gupta 441
	customerObj['customerAddressId'] = selectedAddressId;
24440 amit.gupta 442
	customerObj['gender'] = $("#gender").val();
30599 amit.gupta 443
	customerObj['dateOfBirth'] = getDatesFromPicker("#dateOfBirth").startDate;
28339 tejbeer 444
 
445
 
27187 amit.gupta 446
	var paymentOptionSize = parseInt($('#payment-option-id-amount-container').attr("paymentOptionSize"));
24440 amit.gupta 447
	// console.log("paymentOptionSize = "+paymentOptionSize);
28339 tejbeer 448
	for (var index = 0; index < paymentOptionSize; index++) {
23419 ashik.ali 449
		var paymentOptionAmount = 0.0;
28339 tejbeer 450
		if ($('#paymentOptionIdAmount' + index).val() != "") {
451
			paymentOptionAmount = parseFloat($('#paymentOptionIdAmount' + index).val());
23367 ashik.ali 452
		}
28339 tejbeer 453
		var paymentOptionId = $('#paymentOptionIdAmount' + index).attr("paymentOptionId");
23419 ashik.ali 454
		var paymentOptionIdAmountObject = {};
455
		paymentOptionIdAmountObject['paymentOptionId'] = paymentOptionId;
456
		paymentOptionIdAmountObject['amount'] = paymentOptionAmount;
457
		paymentOptionIdAmount.push(paymentOptionIdAmountObject);
458
	}
459
	var retObj = {};
460
	retObj['fofoOrderItems'] = (priceQtyArray);
461
	retObj['customer'] = (customerObj);
28339 tejbeer 462
	retObj['paymentOptions'] = (paymentOptionIdAmount);
463
	retObj['poId'] = $('#poid').val();
464
 
465
	retObj['poItemId'] = $('#poItemId').val();
466
 
23419 ashik.ali 467
	console.log(retObj);
28339 tejbeer 468
	return JSON.stringify(retObj);
23347 ashik.ali 469
}
470
 
27187 amit.gupta 471
function resetInputs() {
472
	$("div.customerinfo").html(customerInfo);
473
	$("div.billinginfo").html(billingInfo).hide();
474
}
31083 amit.gupta 475
 
28339 tejbeer 476
function writeOldCustomerDetailsByMobileNumber(mobileNumber) {
31855 tejbeer 477
	doAjaxRequestHandler(context + "/customer/mobileNumber?mobileNumber=" + mobileNumber, "GET", function(response) {
28339 tejbeer 478
		if (response.response == '') {
24087 amit.gupta 479
			return;
480
		}
23353 ashik.ali 481
		var customer = response.response;
28339 tejbeer 482
		if (customer == null) {
27187 amit.gupta 483
			$('input.phone').attr('value', mobileNumber).attr('readonly', true);
484
			$('button.mk_add_customer').show();
28339 tejbeer 485
 
27187 amit.gupta 486
			return;
487
		}
488
		$('input.firstName').attr('value', customer.firstName).attr('readonly', true);
489
		$('input.lastName').attr('value', customer.lastName).attr('readonly', true);
490
		$('input.phone').attr('value', customer.mobileNumber).attr('readonly', true);
28339 tejbeer 491
		if (customer.emailId != null && customer.emailId != '') {
27693 amit.gupta 492
			$('#emailId').attr('value', customer.emailId).attr('readonly', true);
27682 tejbeer 493
			console.log('helo');
27693 amit.gupta 494
		} else {
495
			$('button.mk_add_email').show();
27187 amit.gupta 496
		}
31083 amit.gupta 497
		$('#firstName').val(customer.firstName);
498
		$('#lastName').val(customer.lastName);
499
		$('#alternatePhone').val(customer.mobileNumber);
28339 tejbeer 500
		customerId = customer.customerId;
501
		$("div.billinginfo").show();
502
		trs = [];
503
		if (customer.addresses != null) {
504
			for (address of customer.addresses) {
505
				if (pendingPO != null) {
506
 
507
					if (pendingPO.customerAddressId == address.id) {
508
						trs.push(getAddressTr(address));
509
					}
510
				} else {
511
					trs.push(getAddressTr(address));
512
				}
513
			}
514
		}
515
		$("#address-body").html(trs.join(""));
516
 
23353 ashik.ali 517
	});
27187 amit.gupta 518
}
31083 amit.gupta 519
 
27187 amit.gupta 520
function getAddressTr(address) {
521
	var tr = [];
522
	tr.push(`<tr><td>${address.name} ${address.lastName}</td>`);
523
	tr.push(`<td>${address.line1}, ${address.line2}</td>`);
524
	tr.push(`<td>${address.city}</td>`);
525
	tr.push(`<td>${address.state}</td>`);
526
	tr.push(`<td>${address.pinCode}</td>`);
527
	tr.push(`<td>${address.phoneNumber}</td>`);
528
	tr.push(`<td><a class="select-address" href="javascript:void(0);" data-addressid="${address.id}">Select address</a></td></tr>`);
529
	return tr.join("");
27693 amit.gupta 530
}
31083 amit.gupta 531
 
27693 amit.gupta 532
function validateEmail(email) {
28339 tejbeer 533
	const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
534
	return re.test(String(email).toLowerCase());
31083 amit.gupta 535
}