Subversion Repositories SmartDukaan

Rev

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