Subversion Repositories SmartDukaan

Rev

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