Subversion Repositories SmartDukaan

Rev

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