Subversion Repositories SmartDukaan

Rev

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