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