Subversion Repositories SmartDukaan

Rev

Rev 1481 | Rev 1582 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1464 varun.gupt 1
$(function(){
1471 varun.gupt 2
	var utils = {
1580 varun.gupt 3
			lastQueryType: -1,
4
 
5
			orderIdSelector: null,
6
 
1471 varun.gupt 7
			resetProductSelector: function()	{
8
				$('#product').html('<option value="-1">Select Product</option>').attr('disabled', 'true');
9
			},
10
			resetForm: function()	{
11
				$('#communication_category').val("-1");
12
				$('#orderComponent, #awbComponent, #productComponent, #subjectComponent, #msgComponent').hide();
13
				this.resetProductSelector();
14
				$('#submit').attr('disabled', 'disabled');
15
				$('#resetFormButton').attr('disabled', 'disabled');
16
			},
17
			activateResetButton: function() {
18
				$('#resetFormButton').removeAttr('disabled');
1580 varun.gupt 19
			},
20
			checkAndUpdateOrderSelector: function()	{
21
				if (this.lastQueryType == 1 || this.lastQueryType == 2)	{
22
					jQuery.ajax({
23
						type: "GET",
24
						url: "/contact-us/all_orders",
25
						success: function(data)	{
26
							console.log('allOrders', data);
27
							$("#order_id").html(data);
28
						}
29
					});
30
				}
31
			},
32
			removeOrderIdSelector: function()	{
33
				var orderIdSelector = $('#order_id');
34
				this.orderIdSelector = $(orderIdSelector).clone(true);
35
				$(orderIdSelector).remove();
36
			},
37
			addOrderIdSelector: function()	{
38
				$(this.orderIdSelector).appendTo('#orderComponent');
39
				this.orderIdSelector = null;
1471 varun.gupt 40
			}
41
	};
42
 
43
	$('#resetFormButton').click(function() {
44
		utils.resetForm();
45
	});
46
 
1580 varun.gupt 47
 
1464 varun.gupt 48
	$('#communication_category').change(function(){
49
		$('#orderComponent, #awbComponent, #productComponent, #subjectComponent, #msgComponent').hide();
50
		$('#frmContactUs input[name="submit"]').removeAttr('disabled');
1471 varun.gupt 51
		utils.resetProductSelector();
1580 varun.gupt 52
		utils.activateResetButton();
1464 varun.gupt 53
 
1580 varun.gupt 54
		console.log(utils.orderIdSelector);
55
 
1464 varun.gupt 56
		switch(parseInt($(this).val()))	{
57
 
58
			case 1:
59
				$('#orderComponent, #productComponent, #subjectComponent, #msgComponent').show();
60
				$('#lblSubject').html('Reason');
61
				$('#reason_to_return').attr('name', 'subject').show();
62
				$('#delivery_problem, #subject').removeAttr('name').hide();
63
 
1580 varun.gupt 64
				if(utils.orderIdSelector)	utils.addOrderIdSelector();
65
 
1464 varun.gupt 66
				jQuery.ajax({
67
					type: "GET",
68
					url: "/contact-us/to_return",
69
					success: function(data)	{
1580 varun.gupt 70
						console.log('returnableOrders', data);
1481 varun.gupt 71
						if($.trim(data) == "<option value='-1'>No Orders Found</option>")	{
72
							alert("You don't hany any completed orders.");
73
							utils.resetForm();
74
						}
75
						else	{
76
							$("#order_id").html(data);
77
						}
1464 varun.gupt 78
					}
79
				});
1580 varun.gupt 80
				utils.lastQueryType = 1;
1464 varun.gupt 81
				break;
82
 
83
			case 2:
84
				$('#orderComponent, #subjectComponent, #msgComponent').show();
85
				$('#lblSubject').html('Reason');
86
				$('#subject').attr('name', 'subject').show();
87
				$('#delivery_problem, #reason_to_return').removeAttr('name').hide();
88
 
1580 varun.gupt 89
				if(utils.orderIdSelector)	utils.addOrderIdSelector();
90
 
1464 varun.gupt 91
				jQuery.ajax({
92
					type: "GET",
93
					url: "/contact-us/to_cancel",
94
					success: function(data)	{
1580 varun.gupt 95
						console.log('cancellableOrders', data);
1481 varun.gupt 96
						if($.trim(data) == "<option value='-1'>No Orders Found</option>")	{
97
							alert("You don't hany any completed orders.");
98
							utils.resetForm();
99
						}
100
						else	{
101
							$("#order_id").html(data);
102
						}
1464 varun.gupt 103
					}
104
				});
1580 varun.gupt 105
				utils.lastQueryType = 2;
1464 varun.gupt 106
				break;
107
 
108
			case 3:
109
				$('#orderComponent, #subjectComponent, #msgComponent').show();
110
				$('#lblSubject').html('Problem Type');
111
				$('#delivery_problem').attr('name', 'subject').show();
112
				$('#reason_to_return, #subject').removeAttr('name').hide();
1580 varun.gupt 113
 
114
				if(utils.orderIdSelector)	utils.addOrderIdSelector();
115
				utils.checkAndUpdateOrderSelector();
116
				utils.lastQueryType = 3;
1464 varun.gupt 117
				break;
118
 
119
			case 4:
120
				$('#orderComponent, #msgComponent').show();
1580 varun.gupt 121
 
122
				if(utils.orderIdSelector)	utils.addOrderIdSelector();
123
				utils.checkAndUpdateOrderSelector();
124
				utils.lastQueryType = 4;
1464 varun.gupt 125
				break;
126
 
127
			case 5:
128
				$('#orderComponent, #msgComponent').show();
1580 varun.gupt 129
				if(utils.orderIdSelector)	utils.addOrderIdSelector();
130
 
131
				utils.checkAndUpdateOrderSelector();
132
				utils.lastQueryType = 5;
1464 varun.gupt 133
				break;
134
 
135
			case 6:
136
				$('#subjectComponent, #msgComponent').show();
137
				$('#lblSubject').html('Product Title');
138
				$('#subject').attr('name', 'subject').show();
139
				$('#delivery_problem, #reason_to_return').removeAttr('name').hide();
1580 varun.gupt 140
				utils.checkAndUpdateOrderSelector();
141
				utils.removeOrderIdSelector();
142
				utils.lastQueryType = 6;
1464 varun.gupt 143
				break;
144
 
145
			case 7:
146
				$('#subjectComponent, #msgComponent').show();
147
				$('#lblSubject').html('Subject');
148
				$('#subject').attr('name', 'subject').show();
149
				$('#delivery_problem, #reason_to_return').removeAttr('name').hide();
1580 varun.gupt 150
				utils.checkAndUpdateOrderSelector();
151
				utils.removeOrderIdSelector();
152
				utils.lastQueryType = 7;
1464 varun.gupt 153
				break;
154
 
155
			default:
1471 varun.gupt 156
				utils.resetForm();
1464 varun.gupt 157
				break;
158
		}
159
	});
160
 
161
	$('#order_id').change(function(){
162
		var orderId = parseInt($(this).val());
163
 
164
		if(isNaN(orderId))	{
165
			alert("Order Id must be an integer");
166
		} else	{
167
			jQuery.ajax({
168
				type: "GET",
169
				url: "/contact-us/" + orderId + "",
170
				success: function(data)	{
171
					$("#product").removeAttr('disabled').html(data);
172
				}
173
			});
174
		}
175
	});
176
 
177
	$('form[name="frmContactUs"]').validate({
178
		rules: {
179
			email: {
180
				required: true,
181
				email: true
182
			},
183
			order_id: {
184
				required: true,
185
				digits: true
1580 varun.gupt 186
/*				required: {
187
					depends: function()	{
188
						return $('#orderComponent:visible');
189
					}
190
				},
191
				digits: {
192
					depends: function()	{
193
						return $('#orderComponent:visible');
194
					}
195
				}*/
1464 varun.gupt 196
			}
1580 varun.gupt 197
		},
198
		messages: {
199
			order_id: {
200
				digits: "Order ID must be a valid number"
201
			}
1464 varun.gupt 202
		}
203
	});
204
});