Subversion Repositories SmartDukaan

Rev

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