Subversion Repositories SmartDukaan

Rev

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