Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
538 rajveer 1
 
2
 
3
$(document).ready(function(){
4
 
5
	tempLogEmail = ""; 	// Store email id of login page for reg user via shop2020 and via facebook
6
	emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
7
 
8
	blnFieldChanged 	= false;
9
	blnCancelClicked 	= false;
10
 
11
	/**
12
		Sort Open & Completed orders field "Ordered On" by descending order
13
	*/
14
	/*
15
	if($("#orderData").length){
16
		$("#orderData").tablesorter( {sortList: [[1,1]]} );
17
	}
18
	*/
19
	/**
20
		Personal Details page 
21
	*/
22
	if($("#personalDetails").length){
23
 
24
		arrPersonalDetail = new Array(7); // Store Personal Detail page field change status and initial data
25
 
26
		/*
27
		perName		 = "Tanuj Shah";
28
		perMonth 	 = "June";
29
		perDay 		 = "4";
30
		perYear 	 = "1984";
31
		perSex 		 = "male";
32
		perCommEmail = "tanuj@tanujshah.com";
33
		perSubscribe = true;
34
		*/
35
		// Personal Details page field name 
36
		frmPersonal  	  = "#frmPersonalDetails";
37
		perFieldName 	  = frmPersonal + " #txtName";
568 rajveer 38
		perFieldDateOfBirth	  = frmPersonal + " #txtDateOfBirth";
538 rajveer 39
		perFieldSex		  = frmPersonal + " input[name='sex']";
40
		perFieldCommEmail = frmPersonal + " #txtCommEmail";
41
		perFieldSubscribe = frmPersonal + " input[name='subscribe']";
42
		perFieldCaptcha   = frmPersonal + " input[name='txtCaptcha']";
43
 
44
		personalDetailSetup();
45
	}
46
 
47
	/**
48
		Login Detail page for reg user via shop2020 
49
	*/
50
	if($("#registeredUserShop2020:visible").length > 0){			
51
		/*
52
		logRegEmail = "tanuj@tanujshah.com";
53
		*/
54
		// Login Details page Registered User field name
55
		frmLogReg 		= "#frmRegisUser";
56
		regFieldEmail	= frmLogReg + " #txtLoginID";
57
		regFieldOldPass	= frmLogReg + " #txtOldPassword";
58
		regFieldNewPass	= frmLogReg + " #txtNewPassword";
59
		regFieldConPass	= frmLogReg + " #txtConfirmPassword";
60
		regFieldCaptcha	= frmLogReg + " input[name='txtCaptcha']";
61
 
62
		registeredUserSetup();
63
	}
64
 
65
	/**
66
		Login Detail page for reg user via facebook 
67
	*/
68
	if($("#registeredUserFacebook:visible").length > 0){
69
		/*
70
		logRegFBEmail = "tanuj@tanujshah.com";
71
		*/
72
 
73
		// Login Details page Registered User via Facebook field name
74
		frmLogRegFB  		= "#frmFacebookUser";
75
		regFieldFBEmail 	= frmLogRegFB + " #txtFacebookLogin";
76
		regFieldFBPass		= frmLogRegFB + " #txtPassword";
77
		regFieldFBCaptcha	= frmLogRegFB + " input[name='txtCaptcha']";
78
 
79
		registeredUserFBSetup();
80
	}
81
 
82
	/**
83
		Shipping Address page 
84
	*/
85
	if($("#shippingAddress").length){
86
 
87
		arrOtherAddID 	= new Array();	// 1D Array
88
		arrBackupAdd	= new Array();	// 1D Array
89
 
90
		shippingAddressSetup();
91
	}
92
 
93
});
94
 
95
/**
96
	Primary Address output for Shipping Address page
97
*/
98
function printPriAddress(str){
99
 
100
	if(str == "default"){
101
		alert("printing primary address first time");
102
		priName 	= "Ankur Jain";
103
		priAdd1 	= "Bldg. No.90890,";
104
		priAdd2 	= "East Anjenya Temple Street, Basavangudi";
105
		priCity 	= "Raipur";
106
		priPinCode 	= "566786";
107
		priState 	= "Madhya Pradesh";
108
		priMobile 	= "9657598799";
109
		priLandline	= "080 - 56745687";
110
	}else if(str == "makePrimary"){
111
		alert("making primary address");	
112
		// backup of primary address
113
		if($(".noAddress1:visible").length != 1){
114
			arrBackupAdd.push($("#primaryAddress .address").html());
115
		}else{
116
			$("#primaryAddress .addressButton").show();
117
			$(".noAddress1").hide();
118
		}
119
 
120
		// Adding new entry as primary address
121
		priName 	= $("#shippingAddress #txtName").val();
122
		priAdd1 	= $("#shippingAddress #txtAddress").val();
123
		priAdd2 	= $("#shippingAddress #txtAddress2").val();
124
		priCity 	= $("#shippingAddress #city option:selected").val();
125
		priPinCode 	= $("#shippingAddress #txtPinCode").val();
126
		priState 	= $("#shippingAddress #state option:selected").val();
127
		priMobile 	= $("#shippingAddress #txtMobile").val();
128
		priLandline	= $("#shippingAddress #txtAreaCode").val() + ' - ' + $("#shippingAddress #txtLandline").val();
129
	}
130
 
131
	tempPri = priName + "<br />" + priAdd1 + "<br />" + priAdd2 + "<br />" + priCity + "<br />" + priPinCode + "<br />" + priState + "<br /> Mobile: " + priMobile + "<br /> Landline: " + priLandline;
132
 
133
	if(str == "default"){
134
		primaryAddress = '<div class="address">';
135
		primaryAddress += tempPri;
136
		primaryAddress += "</div>";
137
 
138
		primaryAddress += '<div class="addressButton">';
139
		primaryAddress += '	 <div class="imgDeleteButton deleteWidth">';
140
		primaryAddress += '		<div class="left">';
141
		primaryAddress += '		<div class="right">';
142
		primaryAddress += '			 <input type="button" onclick="delAddress(\'primaryAddress\');" value="Delete" class="button" />';
143
		primaryAddress += '		</div>';
144
		primaryAddress += '		</div>';
145
		primaryAddress += '	</div>';
146
		primaryAddress += '</div>';
147
 
148
		$("#primaryAddress").html(primaryAddress);
149
	}else if(str == "makePrimary"){
150
		$("#primaryAddress .address").html(tempPri);
151
	}
152
}
153
 
154
/**
155
	Other Address output for Shipping Address page
156
*/
157
function printOtherAddress(str){
158
 
159
	var otherAddress = "";
160
	var addressID 	 = "";
161
 
162
	var tempAdd;
163
 
164
	// No. of addresses to print
165
	if(str == "default"){
166
		len = 2; 
167
	}else{
168
 
169
		// backup of other addresses
170
		for(var i=0; i<arrOtherAddID.length; i++){
171
			var temp = $("#" + arrOtherAddID[i] + " .address").html();
172
			arrBackupAdd.push(temp);
173
		}
174
 
175
		// Add new id for new entry
176
		arrOtherAddID.push('address' + (arrOtherAddID.length + 1));
177
 
178
		len = arrOtherAddID.length;	
179
 
180
		// Reset address id container
181
		for(var i=0; i<len; i++){
182
			arrOtherAddID.pop();
183
		}
184
 
185
		// If no address is visible, make it hidden
186
		if($(".noAddress2:visible").length > 0){
187
			$(".noAddress2").hide();
188
		}
189
	}
190
 
191
	// Print the addresses
192
 
193
	if(len > 0){
194
		for(var i=0; i<len; i++){
195
			if(str == "default"){
196
				alert("print address" + (i+1));	
197
				otherName 	  = "Ankur Jain " + (i+1);
198
				otherAdd1 	  = "Bldg. No.90890,";
199
				otherAdd2 	  = "East Anjenya Temple Street, Basavangudi";
200
				otherCity 	  = "Raipur";
201
				otherPinCode  = "566786";
202
				otherState 	  = "Madhya Pradesh";
203
				otherMobile   = "9657598799";
204
				otherLandline = "080 - 56745687";
205
 
206
				tempAdd = otherName + "<br />" + otherAdd1 + "<br />" + otherAdd2 + "<br />" + otherCity + "<br />" + otherPinCode + "<br />" + otherState + "<br /> Mobile: " + otherMobile + "<br /> Landline: " + otherLandline;
207
			}else {
208
				// Add new entry as first in other address when save button is clicked
209
				if((i == 0) && (str != "makePrimary")){ 
210
					otherName		= $("#shippingAddress #txtName").val();
211
					otherAdd1 		= $("#shippingAddress #txtAddress").val();
212
					otherAdd2 		= $("#shippingAddress #txtAddress2").val();
213
					otherCity 		= $("#shippingAddress #city option:selected").val();
214
					otherPinCode 	= $("#shippingAddress #txtPinCode").val();
215
					otherState 		= $("#shippingAddress #state option:selected").val();
216
					otherMobile 	= $("#shippingAddress #txtMobile").val();
217
					otherLandline	= $("#shippingAddress #txtAreaCode").val() + ' - ' + $("#shippingAddress #txtLandline").val();
218
 
219
					tempAdd = otherName + "<br />" + otherAdd1 + "<br />" + otherAdd2 + "<br />" + otherCity + "<br />" + otherPinCode + "<br />" + otherState + "<br /> Mobile: " + otherMobile + "<br /> Landline: " + otherLandline;
220
				}else{
221
					if(str != "makePrimary"){
222
						tempAdd = arrBackupAdd[i-1];
223
					}else{
224
						tempAdd = arrBackupAdd[i];
225
					}
226
				}
227
			}
228
 
229
			addressID = 'address' + (i+1);
230
			arrOtherAddID.push(addressID);
231
 
232
			otherAddress += '<div id="' + addressID + '">';
233
 
234
				// Address
235
				otherAddress += '<div class="address">';
236
				otherAddress += tempAdd;
237
				otherAddress += '</div>';
238
 
239
				// Buttons
240
				otherAddress += '<div class="addressButton">';
241
 
242
					// Delete button
243
					otherAddress += '<div class="imgDeleteButton deleteWidth">';
244
					otherAddress += '	<div class="left">';
245
					otherAddress += '	<div class="right">';
246
					otherAddress += '		<input type="button" onclick="delAddress(\'' + addressID + '\');" value="Delete" class="button" />';
247
					otherAddress += '	</div>';
248
					otherAddress += '	</div>';
249
					otherAddress += '</div>';
250
 
251
					// Make primary address button
252
					otherAddress += '<div class="imgEnableButton priAddressWidth">';
253
					otherAddress += '		<div class="left">';
254
					otherAddress += '		<div class="right">';
255
					otherAddress += '			 <input type="button" onclick="makePriAddress(\'' + addressID + '\');" value="Make Primary Address" class="button" />';
256
					otherAddress += '		</div>';
257
					otherAddress += '		</div>';
258
					otherAddress += '</div>';
259
					otherAddress += '<div class="clearBoth"></div>';
260
 
261
				otherAddress += '</div>';
262
 
263
				if(i < len-1){	otherAddress += '<br /><br />';	 }
264
 
265
			otherAddress += '</div>';
266
		}
267
 
268
		$("#addressContainer").html(otherAddress);
269
 
270
		// Reset backup array
271
		len = arrBackupAdd.length;
272
 
273
		for(var i=0; i<len; i++){
274
			arrBackupAdd.pop();
275
		}
276
	}else{
277
		$(".noAddress2").show();
278
	}
279
}
280
 
281
/**
282
	Reset Shiping address for Shipping Address page
283
*/
284
function resetShipingAddress(){
285
	$("#shippingAddress #txtName").val("");
286
	$("#shippingAddress #txtAddress").val("");
287
	$("#shippingAddress #txtAddress2").val("");
288
	$("#shippingAddress #city option[value='0']").attr('selected', 'selected')
289
	$("#shippingAddress #state option[value='0']").attr('selected', 'selected')
290
	$("#shippingAddress #txtPinCode").val("");
291
	$("#shippingAddress #txtMobile").val("");
292
	$("#shippingAddress #txtAreaCode").val("Area Code");
293
	$("#shippingAddress #txtLandline").val("");
294
}
295
 
296
/**
297
	Save address for Shipping Address page
298
*/
299
function saveAddress(str){
300
 
301
	if(str != "cancel"){
302
		// form validation
303
		var nameVal 	= jQuery.trim($("#shippingAddress #txtName").val());
304
		var add1Val 	= jQuery.trim($("#shippingAddress #txtAddress").val());
305
		var stateVal 	= $("#shippingAddress #state option:selected").val();
306
		var cityVal 	= $("#shippingAddress #city option:selected").val();
307
		var pinCodeVal  = jQuery.trim($("#shippingAddress #txtPinCode").val());
308
		var mobileVal	= jQuery.trim($("#shippingAddress #txtMobile").val());
309
		var areaCodeVal = jQuery.trim($("#shippingAddress #txtAreaCode").val());
310
		var landLineVal	= jQuery.trim($("#shippingAddress #txtLandline").val());
311
 
312
		if(nameVal.length == 0){
313
			alert("Please enter name.");
314
 
315
			$("#shippingAddress #txtName").focus();
316
			return false;	
317
		}else if(add1Val.length == 0){
318
			alert("Please enter address.");
319
 
320
			$("#shippingAddress #txtAddress").focus();
321
			return false;	
322
		}else if(stateVal == "0"){
323
			alert("Please select state.");
324
 
325
			$("#shippingAddress #state").focus();
326
			return false;	
327
		}else if(cityVal == "0"){
328
			alert("Please select city.");
329
 
330
			$("#shippingAddress #city").focus();
331
			return false;	
332
		}else if(pinCodeVal.length == 0){
333
			alert("Please enter pin code.");
334
 
335
			$("#shippingAddress #txtPinCode").focus();
336
			return false;	
337
		}else if(mobileVal.length == 0){
338
			alert("Please enter mobile no.");
339
 
340
			$("#shippingAddress #txtMobile").focus();
341
			return false;	
342
		}else if(areaCodeVal.length == 0 || areaCodeVal == "Area Code"){
343
			alert("Please enter area code.");
344
 
345
			$("#shippingAddress #txtAreaCode").focus();
346
			return false;	
347
		}else if(landLineVal.length == 0){
348
			alert("Please enter landline no.");
349
 
350
			$("#shippingAddress #txtLandline").focus();
351
			return false;	
352
		}else{
353
			if(str == "makePrimary"){
354
				printPriAddress(str);
355
 
356
				if(arrBackupAdd.length > 0){
357
					printOtherAddress(str);
358
				}
359
			}else if(str == "save"){
360
				printOtherAddress(str);
361
			}
362
		}
363
	}
364
 
365
	// Enable first addAddress button
366
	$("#addAddress1").removeClass('imgDisableButton').addClass('imgEnableButton');
367
	$("#addAddress1 input[disabled='']").removeAttr('disabled');
368
 
369
	// Show second addAddress button
370
	$("#addAddress2").show();
371
 
372
	// Hide add new address form
373
	$("#addNewAddress").hide();
374
	scrollWindow("shippingAddress", 1000);
375
 
376
	// Reset Form
377
	resetShipingAddress();
378
}
379
 
380
/**
381
	Add address for Shipping Address page
382
*/
383
function addNewAddress(){
384
	// Disable first addAddress button
385
	$("#addAddress1").removeClass('imgEnableButton').addClass('imgDisableButton');
386
	$("#addAddress1 input[name='addAddress1']").attr('disabled','disabled');
387
 
388
	// Hide second addAddress button
389
	$("#addAddress2").hide();
390
 
391
	// Show add new address form
392
	$("#addNewAddress").show();
393
	scrollWindow("addNewAddress", 2000);
394
 
395
	$("#addNewAddress #txtName").focus();
396
}
397
 
398
/**
399
	Make Primary address for Shipping Address page
400
*/
401
function makePriAddress(containerID){
402
	alert("making primary address:   " + containerID);
403
	var arrTempAdd = new Array();
404
	var oldAddress = $("#primaryAddress .address").html(newAddress);
405
 
406
	// Make clicked other address as primary address
407
	var newAddress = $("#" + containerID + " .address").html();
408
	$("#primaryAddress .address").html(newAddress);
409
 
410
	// If primary address delete button is hidden, make it visible
411
	if($(".noAddress1:visible").length > 0){
412
		$("#primaryAddress .addressButton").show();
413
		$(".noAddress1").hide();
414
	}
415
 
416
	if(oldAddress != ""){
417
		arrTempAdd.push(oldAddress);
418
 
419
		// Shift Other addresses
420
		for(var i=0; i<arrOtherAddID.length; i++){
421
			if(containerID != arrOtherAddID[i]){
422
				var temp = $("#" + arrOtherAddID[i] + " .address").html();
423
				arrTempAdd.push(temp);
424
			}
425
		}
426
 
427
		// Display arranged other addresses
428
		for(var i=0; i<arrTempAdd.length; i++){
429
			$("#" + arrOtherAddID[i] + " .address").html(arrTempAdd[i]);
430
		}
431
	}else{
432
		// Remove the clicked container because empty address cann't be swapped with this
433
		$("#" + containerID).remove();
434
 
435
		for(var i=0; i<arrOtherAddID.length; i++){
436
			if(containerID == arrOtherAddID[i]){
437
				arrOtherAddID.splice(i, 1)	
438
			}
439
		}
440
 
441
		if(arrOtherAddID.length == 0){
442
			$(".noAddress2").show();
443
		}
444
	}
445
 
446
	scrollWindow('shippingAddress', 1000);	
447
}
448
 
449
/**
450
	Delete address for Shipping Address page
451
*/
452
function delAddress(containerID){
453
 
454
	if(containerID == "primaryAddress"){
455
		if(arrOtherAddID.length > 0){
456
			alert("Deleting primary address:  " + containerID);
457
			// insert 1st other address value to primary address container
458
			var newAddress =  $("#" + arrOtherAddID[0] + " .address").html();
459
			$("#" + containerID + " .address").html(newAddress);
460
 
461
			// remove 1st other address
462
			$("#" + arrOtherAddID[0]).slideUp('slow', function(){
463
				$(this).remove();
464
			});
465
 
466
			arrOtherAddID.shift(); // remove top element
467
 
468
			if(arrOtherAddID.length == 0){
469
				$(".noAddress2").show();
470
			}
471
		}else{
472
			alert("Deleting primary address:  " + containerID);
473
			$("#" + containerID).slideUp('slow', function(){				
474
				$(".address", this).html("");
475
				$(".addressButton", this).hide();
476
				$(this).show();
477
			});
478
 
479
			$(".noAddress1").show();
480
		}
481
	}else{
482
		alert("Deleting other address:  " + containerID);
483
		$("#" + containerID).slideUp('slow', function(){
484
			$(this).remove();
485
		});
486
 
487
		// remove deleted element from array
488
		for(var i=0; i<arrOtherAddID.length; i++){
489
			if(containerID == arrOtherAddID[i]){
490
				arrOtherAddID.splice(i, 1)	
491
			}
492
		}
493
 
494
		if(arrOtherAddID.length == 0){	
495
			$(".noAddress2").show();	
496
		}
497
	}
498
 
499
}
500
 
501
/**
502
	Shipping Address page setup
503
*/
504
function shippingAddressSetup(){
505
 
506
	// Print Primary address
507
 
508
	// printPriAddress('default');
509
 
510
	// Print Other Address
511
	// printOtherAddress('default');
512
 
513
	// Add Address button
514
	$("#shippingAddress input[name=addAddress1]").click(function(){
515
		addNewAddress();
516
	});
517
 
518
	$("#shippingAddress input[name=addAddress2]").click(function(){
519
		addNewAddress();
520
	});
521
 
522
	// AreaCode default value hide
523
	$("#txtAreaCode").focus(function(){
524
		if($(this).val() == "Area Code"){
525
			$(this).val("");
526
		}
527
	});
528
 
529
	// AreaCode default value show
530
	$("#txtAreaCode").blur(function(){
531
		if($(this).val() == ""){
532
			$(this).val("Area Code");
533
		}
534
	});
535
 
536
	// Save and make primary address button
537
	$("#shippingAddress input[name=saveMakePriAddress]").click(function(){
538
		saveAddress('makePrimary');
539
	});
540
 
541
	// Save address button
542
	$("#shippingAddress input[name=saveAddress]").click(function(){
543
		saveAddress('save');
544
	});
545
 
546
	// cancel address button
547
	$("#shippingAddress input[name=cancelAddress]").click(function(){
548
		saveAddress('cancel');
549
	});
550
}
551
 
552
/**
553
	Personal Login Details page setup
554
*/
555
function personalDetailSetup(){
556
 
557
	preFilledValues(frmPersonal);
558
 
559
	// initialize arr
560
	for(var i=0; i<arrPersonalDetail.length; i++){
561
		arrPersonalDetail[i] = new Array(2);
562
 
563
		arrPersonalDetail[i][0] = false;	// This col specify whether its field value is changed or not
564
 
565
		// Following col will hold initial form data
566
		if(i == 0){ arrPersonalDetail[i][1] = perName; }
568 rajveer 567
		else if(i == 1){ arrPersonalDetail[i][1] = perDateOfBirth; }
568
		else if(i == 2){ arrPersonalDetail[i][1] = perSex; }
569
		else if(i == 3){ arrPersonalDetail[i][1] = perCommEmail; }
570
		else if(i == 4){ arrPersonalDetail[i][1] = perSubscribe; }
538 rajveer 571
	}
572
 
573
	// change status for name
574
	$(perFieldName).change(function(){			
575
		if($(this).val() != arrPersonalDetail[0][1]){
576
			perName = $(this).val();
577
			arrPersonalDetail[0][0] = true;
578
		}else{
579
			perName = arrPersonalDetail[0][1];
580
			arrPersonalDetail[0][0] = false;
581
		}
582
 
583
		checkFieldChange(frmPersonal);
584
	});
585
 
586
	// change status for month
568 rajveer 587
	$(perFieldDateOfBirth).change(function(){
538 rajveer 588
		if($("option:selected", this).val() != arrPersonalDetail[1][1]){
568 rajveer 589
			perDateOfBirth = $("option:selected", this).val();
538 rajveer 590
			arrPersonalDetail[1][0] = true;
591
		}else{
568 rajveer 592
			perDateOfBirth = arrPersonalDetail[1][1];
538 rajveer 593
			arrPersonalDetail[1][0] = false;
594
		}
595
 
596
		checkFieldChange(frmPersonal);
597
	});
598
 
599
	// change status for sex
600
	$(perFieldSex).change(function(){
568 rajveer 601
		if($(this).val() != arrPersonalDetail[2][1]){
538 rajveer 602
			perSex = $(this).val();
568 rajveer 603
			arrPersonalDetail[2][0] = true;
538 rajveer 604
		}else{
568 rajveer 605
			perSex = arrPersonalDetail[2][1];
606
			arrPersonalDetail[2][0] = false;
538 rajveer 607
		}
608
 
609
		checkFieldChange(frmPersonal);
610
	});
611
 
612
	// change status for communication email
613
	$(perFieldCommEmail).change(function(){			
568 rajveer 614
		if($(this).val() != arrPersonalDetail[3][1]){
538 rajveer 615
			perCommEmail = $(this).val();
568 rajveer 616
			arrPersonalDetail[3][0] = true;
538 rajveer 617
		}else{
568 rajveer 618
			perCommEmail = arrPersonalDetail[3][1];
619
			arrPersonalDetail[3][0] = false;
538 rajveer 620
		}
621
 
622
		checkFieldChange(frmPersonal);
623
	});
624
 
625
	// change status for subscribe
626
	$(perFieldSubscribe).change(function(){
568 rajveer 627
		if($(this).attr('checked') != arrPersonalDetail[4][1]){
538 rajveer 628
			perSubscribe = $(this).attr('checked');
568 rajveer 629
			arrPersonalDetail[4][0] = true;
538 rajveer 630
		}else{
568 rajveer 631
			perSubscribe = arrPersonalDetail[4][1];
632
			arrPersonalDetail[4][0] = false;
538 rajveer 633
		}
634
 
635
		checkFieldChange(frmPersonal);
636
	});
637
 
638
	// on click of save button
639
	$(frmPersonal).submit(function(){
640
 
641
		var nameVal 	 = jQuery.trim($(perFieldName).val());
642
		var commEmailVal = jQuery.trim($(perFieldCommEmail).val());
643
		var captchaVal 	 = jQuery.trim($(perFieldCaptcha).val());
644
 
645
		if(nameVal.length == 0){
646
			alert("Please enter name.");
647
 
648
			$(perFieldName).focus();
649
			return false;	
650
		}else if(commEmailVal.length == 0){
651
			alert("Please enter communication email.");
652
 
653
			$(perFieldCommEmail).focus();
654
			return false;	
655
		}else if(!commEmailVal.match(emailExp)){
656
			alert("Please enter valid communication email.");
657
 
658
			$(perFieldCommEmail).focus();
659
			return false;	
660
		}else if(captchaVal.length == 0){
661
			alert("Please enter captcha code.");
662
 
663
			$(perFieldCaptcha).focus();
664
			return false;	
665
		}else{
666
			str = "Name : " + perName + "\n";
568 rajveer 667
			str += "Date Of Birth : " + perDateOfBirth + "\n";
538 rajveer 668
			str += "Sex : " + perSex + "\n";
669
			str += "Communication Email : " + perCommEmail + "\n";
670
			str += "Subscribe : " + perSubscribe + "\n";
671
			str += "Captcha : " + captchaVal;
672
 
673
			alert("Submit the updated values to Database: \n\n" + str);
674
		}
675
	});
676
 
677
	// on click of cancel button
678
	$(frmPersonal + " input[name='cancel']").click(function(){
679
		blnCancelClicked = true;
680
		preFilledValues(frmPersonal); // reset values
681
	});
682
}
683
 
684
/**
685
	Login Detail page for registered user via shop2020 setup
686
*/
687
function registeredUserSetup(){
688
	preFilledValues(frmLogReg);
689
 
690
	tempLogEmail = logRegEmail;
691
 
692
	// change status for login email
693
	$(regFieldEmail).change(function(){			
694
		if($(this).val() != tempLogEmail){
695
			logRegEmail = $(this).val();
696
			blnFieldChanged = true;
697
		}else{
698
			logRegEmail = tempLogEmail;
699
			blnFieldChanged = false;
700
		}
701
 
702
		checkFieldChange(frmLogReg);
703
	});
704
 
705
	// change status for old password
706
	$(regFieldOldPass).change(function(){	
707
		blnFieldChanged = true;
708
		checkFieldChange(frmLogReg);
709
	});
710
 
711
	// change status for new password
712
	$(regFieldNewPass).change(function(){	
713
		blnFieldChanged = true;
714
		checkFieldChange(frmLogReg);
715
	});
716
 
717
	// change status for confirm password
718
	$(regFieldConPass).change(function(){	
719
		blnFieldChanged = true;
720
		checkFieldChange(frmLogReg);
721
	});
722
 
723
	// on click of save button
724
	$(frmLogReg).submit(function(){
725
		var emailVal 	 = jQuery.trim($(regFieldEmail).val());
726
		var oldPassVal 	 = jQuery.trim($(regFieldOldPass).val());
727
		var newPassVal 	 = jQuery.trim($(regFieldNewPass).val());
728
		var conPassVal 	 = jQuery.trim($(regFieldConPass).val());
729
		var captchaVal 	 = jQuery.trim($(regFieldCaptcha).val());
730
 
731
		if(emailVal.length == 0){
732
			alert("Please enter Login ID.");
733
 
734
			$(regFieldEmail).focus();
735
			return false;	
736
		}else if(!emailVal.match(emailExp)){
737
			alert("Please enter valid Login ID.");
738
 
739
			$(regFieldEmail).focus();
740
			return false;	
741
		}else if(oldPassVal.length == 0){
742
			alert("Please enter old password.");
743
 
744
			$(regFieldOldPass).focus();
745
			return false;	
746
		}else if(newPassVal.length == 0){
747
			alert("Please enter new password.");
748
 
749
			$(regFieldNewPass).focus();
750
			return false;	
751
		}else if(newPassVal.length < 6){
752
			alert("Password length should be minimum 6 characters long!");
753
 
754
			$(regFieldNewPass).focus();
755
			return false;	
756
		}else if(conPassVal.length == 0){
757
			alert("Please enter confirm password.");
758
 
759
			$(regFieldConPass).focus();
760
			return false;	
761
		}else if(conPassVal.length < 6){
762
			alert("Password length should be minimum 6 characters long!");
763
 
764
			$(regFieldConPass).focus();
765
			return false;	
766
		}else if(newPassVal != conPassVal){
767
			alert("Confirm password doesn't match with new password!");
768
 
769
			$(regFieldConPass).focus();
770
			return false;	
771
		}else if(captchaVal.length == 0){
772
			alert("Please enter captcha code.");
773
 
774
			$(regFieldCaptcha).focus();
775
			return false;	
776
		}else{
777
			str = "Login ID : " + logRegEmail + "\n";
778
			str += "Old Password : " + oldPassVal + "\n";
779
			str += "New Password : " + newPassVal + "\n";
780
			str += "Captcha : " + captchaVal;
781
 
782
			alert("Submit the updated values to Database: \n\n" + str);
783
		}
784
 
785
	});
786
 
787
	// on click of cancel button
788
	$(frmLogReg + " input[name='cancel']").click(function(){
789
		blnCancelClicked = true;
790
		preFilledValues(frmLogReg);	// reset values
791
	});
792
}
793
 
794
/**
795
	Login Detail page for registered user via facebook setup
796
*/
797
function registeredUserFBSetup(){
798
	preFilledValues(frmLogRegFB);
799
 
800
	tempLogEmail = logRegFBEmail;
801
 
802
	// change status for login email
803
	$(regFieldFBEmail).change(function(){			
804
		if($(this).val() != tempLogEmail){
805
			logRegFBEmail = $(this).val();
806
			blnFieldChanged = true;
807
		}else{
808
			logRegFBEmail = tempLogEmail;
809
			blnFieldChanged = false;
810
		}
811
 
812
		checkFieldChange(frmLogRegFB);
813
	});
814
 
815
	// change status for old password
816
	$(regFieldFBPass).change(function(){	
817
		blnFieldChanged = true;
818
		checkFieldChange(frmLogRegFB);
819
	});
820
 
821
	// on click of save button
822
	$(frmLogRegFB).submit(function(){
823
		var emailVal 	 = jQuery.trim($(regFieldFBEmail).val());
824
		var passVal 	 = jQuery.trim($(regFieldFBPass).val());
825
		var captchaVal 	 = jQuery.trim($(regFieldFBCaptcha).val());
826
 
827
		if(emailVal.length == 0){
828
			alert("Please enter Login ID.");
829
 
830
			$(regFieldFBEmail).focus();
831
			return false;	
832
		}else if(!emailVal.match(emailExp)){
833
			alert("Please enter valid Login ID.");
834
 
835
			$(regFieldFBEmail).focus();
836
			return false;	
837
		}else if(passVal.length == 0){
838
			alert("Please enter password.");
839
 
840
			$(regFieldFBPass).focus();
841
			return false;	
842
		}else if(captchaVal.length == 0){
843
			alert("Please enter captcha code.");
844
 
845
			$(regFieldFBCaptcha).focus();
846
			return false;	
847
		}else{
848
			str = "Facbook Login : " + logRegFBEmail + "\n";
849
			str += "Old Password : " + passVal + "\n";
850
			str += "Captcha : " + captchaVal;
851
 
852
			alert("Submit the updated values to Database: \n\n" + str);
853
		}
854
 
855
	});
856
 
857
	// on click of cancel button
858
	$(frmLogRegFB + " input[name='cancel']").click(function(){
859
		blnCancelClicked = true;
860
		preFilledValues(frmLogRegFB);	// reset values
861
	});
862
}
863
 
864
/**
865
	Pre-filled values of Personal & Login Details page
866
*/
867
function preFilledValues(frm){
868
 
869
	if(frm == "#frmPersonalDetails"){
870
 
871
		if(blnCancelClicked){
872
			perName 	 = arrPersonalDetail[0][1];
568 rajveer 873
			perDateOfBirth 	 = arrPersonalDetail[1][1];
874
			perSex 		 = arrPersonalDetail[2][1];
875
			perCommEmail = arrPersonalDetail[3][1];
876
			perSubscribe = arrPersonalDetail[4][1];
538 rajveer 877
 
878
			$(perFieldCaptcha).val("");
879
 
880
			blnCancelClicked = false;
881
		}
882
 
883
		$(perFieldName).val(perName);
884
 
568 rajveer 885
		$(perFieldDateOfBirth).val(perDateOfBirth);
538 rajveer 886
 
887
		$(frmPersonal + " input[value='" + perSex + "']").attr("checked", "checked");
888
 
889
		$(perFieldCommEmail).val(perCommEmail);
890
 
891
		if(perSubscribe){ $(perFieldSubscribe).attr("checked", "checked");	}
892
 
893
		disableSaveCancel(frm)
894
 
895
	}else if(frm == "#frmRegisUser"){
896
 
897
		if(blnCancelClicked){ 
898
			logRegEmail	= tempLogEmail;	
899
 
900
			$(regFieldCaptcha).val("");
901
			$(regFieldOldPass).val("");
902
			$(regFieldNewPass).val("");
903
			$(regFieldConPass).val("");
904
 
905
			blnCancelClicked = false;
906
		}
907
 
908
		$(regFieldEmail).val(logRegEmail);
909
 
910
		disableSaveCancel(frm)
911
 
912
	}else if(frm == "#frmFacebookUser"){
913
 
914
		if(blnCancelClicked){ 
915
			logRegFBEmail	= tempLogEmail;	
916
 
917
			$(regFieldFBCaptcha).val("");
918
			$(regFieldFBEmail).val("");
919
			$(regFieldFBPass).val("");
920
 
921
			blnCancelClicked = false;
922
		}
923
 
924
		$(regFieldFBEmail).val(logRegFBEmail);
925
 
926
		disableSaveCancel(frm)
927
	}
928
 
929
}
930
 
931
/**
932
	Check if any field is changed for Personal & Login Details page, if yes then enable save & cancel buttons
933
*/
934
function checkFieldChange(frm){
935
 
936
	if(frm == "#frmPersonalDetails"){
937
		for(var i=0; i<arrPersonalDetail.length; i++){
938
			if(arrPersonalDetail[i][0]){
939
				blnFieldChanged = true;
940
			}
941
		}
942
	}
943
 
944
	// if field changed enable buttons or else disable them
945
	if(blnFieldChanged){
946
		enableSaveCancel(frm)
947
	}else{
948
		disableSaveCancel(frm)
949
	}
950
 
951
	blnFieldChanged = false;
952
}
953
 
954
/**
955
	Enable save & cancel button for Personal & Login Details page
956
*/
957
function enableSaveCancel(frm){
958
 
959
	var frmButtonID;
960
 
961
	if(frm == "#frmPersonalDetails"){
962
		frmButtonID = "#formButtons";
963
	}else if(frm == "#frmRegisUser"){
964
		frmButtonID = "#formButtons1";
965
	}else if(frm == "#frmFacebookUser"){
966
		frmButtonID = "#formButtons2";
967
	}
968
 
969
	$(frm + " " + frmButtonID + " .imgDisableButton").removeClass('imgDisableButton').addClass('imgEnableButton');
970
	$(frm + " " + frmButtonID + " input[disabled='']").removeAttr('disabled');
971
}
972
 
973
/**
974
	Disable save & cancel button for Personal & Login Details page
975
*/
976
function disableSaveCancel(frm){
977
 
978
	var frmButtonID;
979
 
980
	if(frm == "#frmPersonalDetails"){
981
		frmButtonID = "#formButtons";
982
	}else if(frm == "#frmRegisUser"){
983
		frmButtonID = "#formButtons1";
984
	}else if(frm == "#frmFacebookUser"){
985
		frmButtonID = "#formButtons2";
986
	}
987
 
988
	$(frm + " " + frmButtonID + " .imgEnableButton").removeClass('imgEnableButton').addClass('imgDisableButton');
989
	$(frm + " " + frmButtonID + " input").attr("disabled", "disabled");
990
}
991
 
992
/** 
993
	Scroll window either to top or bottom
994
*/
995
function scrollWindow(id, delay){
996
	$('html, body').animate({
997
		scrollTop: $("#" + id).offset().top
998
	}, delay);
999
}
1000
 
1001
/** 
1002
	Show Shipment details on click of AWBNo. link
1003
*/
1004
function showShipmentDetails(value){
1005
	jQuery.ajax({
1006
          type: "GET",
1007
          url: "./aramax-updates/"+value,
1008
          success: function(msg){
1009
    	       $("#orderShippingStatus").html(msg);
1010
          }
1011
     	});
1012
 
1013
	$("#shipmentDetails").show();
1014
	$("#shipmentDetails .awbNo").text(value);
1015
 
1016
	scrollWindow('shipmentDetails', 2000);
1017
}
1018
 
1019
/** 
1020
	Close Shipment details on click of close button
1021
*/
1022
function closeShipmentDetails(){
1023
	$("#shipmentDetails").hide();
1024
 
1025
	scrollWindow('myAccount', 1000);
1026
}