Subversion Repositories SmartDukaan

Rev

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