Subversion Repositories SmartDukaan

Rev

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