Subversion Repositories SmartDukaan

Rev

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