Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
23343 ashik.ali 1
$(function() {
24202 amit.gupta 2
	callback = function(value) {
24203 amit.gupta 3
		removeItemFromLocalStorage(giftItemId);
24202 amit.gupta 4
		if(isNaN(value)) {
5
			bootbox("No of watches should be a number. Set '0' specifically");
6
			return;
7
		}else {
8
			loadCart("main-content", value);
9
		}
10
	}
23343 ashik.ali 11
	$(".cart_icon_header").live('click', function() {
24202 amit.gupta 12
		if(hasGift) {
13
			bootBoxObj = { 
14
						size: "medium",
15
						title: "Add Number of Watch as Gift", 
16
						callback: callback,
17
						inputType:'number'
18
					};
19
 
20
			bootbox.prompt(bootBoxObj);
21
		} else {
22
				loadCart('main-content', 0);
23
		}
23343 ashik.ali 24
	});
25
 
24202 amit.gupta 26
 
23343 ashik.ali 27
	$(".cart-checkout").live('click', function() {
28
		checkout("main-content");
29
	});
30
 
31
	$(".add-to-bag").live('click', function() {
24202 amit.gupta 32
		added=false;
23405 amit.gupta 33
		$('#catalogModalBody').hide();
23343 ashik.ali 34
		var itemId = $(this).attr('data');
35
		$("#bagModel .itemId").val(itemId);
36
		$("#bagModel .quantity").val(0);
23500 ashik.ali 37
		doGetAjaxRequestHandler(context+"/checkItemAvailability/?itemId="+itemId, function(response){
23347 ashik.ali 38
			var obj = JSON.parse(response);
39
			console.log(obj);
40
			console.log(obj.displayName);
41
			$(".modal-body h4.bagModalProductInfo.modelHeaderCustom > span").text(obj.displayName);
42
			$(".modal-body h4.bagModalAvailability.modelHeaderCustom > span").text(obj.availability);
23405 amit.gupta 43
			inputEle = [];
44
			if("earlyImeis" in obj) {
45
				for(i in obj.earlyImeis) {
46
					inputEle.push('<span class="input-group-addon">');
47
					inputEle.push('<input type="checkbox" aria-label="..." name="interest" value="'  + obj.earlyImeis[i] +  '" id="'  + obj.earlyImeis[i] +  '"/>');
48
					inputEle.push('<label for="'  + obj.earlyImeis[i] +  '">'  + obj.earlyImeis[i] +  '</label>');
49
					inputEle.push('</span>');
23967 amit.gupta 50
					if(i%3==2){
51
						inputEle.push('</br>');
52
					}
23405 amit.gupta 53
					$(".modal-body h4.bagMaodalEarlyImeis.modelHeaderCustom > span").html(inputEle.join(''));
54
				}
55
				$(".modal-body h4.bagMaodalEarlyImeis.modelHeaderCustom").show();
56
				$(".modal-body h4.bagMaodalQuantity.modelHeaderCustom").hide();
57
			} else {
58
				$(".modal-body h4.bagMaodalEarlyImeis.modelHeaderCustom").hide();
59
				$(".modal-body h4.bagMaodalQuantity.modelHeaderCustom").show();
60
 
61
			}
23347 ashik.ali 62
			$("#bagModel .availability").val(obj.availability);
23405 amit.gupta 63
			$('#catalogModalBody').show();
23347 ashik.ali 64
		});
65
 
24202 amit.gupta 66
 
23343 ashik.ali 67
	});
68
 
24202 amit.gupta 69
	// addToBagButton
23343 ashik.ali 70
 
71
	$("#addToBagButton").live('click', function() {
72
		var itemId = $("#bagModel .itemId").val();
73
		var tempAvailability = $("#bagModel .availability").val();
74
		var quantity = $("#bagModel .quantity").val();
23405 amit.gupta 75
		imeiCount = $('h4.bagMaodalEarlyImeis').find('input').length;
76
		if(imeiCount > 0) {
77
			quantity = $('h4.bagMaodalEarlyImeis').find('input:checked').length;
78
			if(quantity == 0) {
79
				alert("Please check one of the imei(s)");
80
				return;
81
			}
82
		} else if (!quantity || parseInt(quantity) <= 0 || isNaN(parseInt(quantity)) || quantity.indexOf('.') != -1){
23343 ashik.ali 83
			alert("Please enter valid quantity");
84
			return;
85
		}
86
 
23500 ashik.ali 87
		doGetAjaxRequestHandler(context+"/checkItemAvailability/?itemId="+itemId, function(response){
88
			var obj = JSON.parse(response);
89
			console.log(obj);
90
			if (obj.availability < parseInt(quantity) || obj.availability == 0){
91
				alert("You don't have enough inventory of this item");
92
				return;
93
			}
94
			var obj = {'itemId':obj.itemId,'displayName':obj.displayName,'quantity':parseInt(quantity),'iconUrl':obj.iconUrl};
95
			if(imeiCount > 0) {
96
				obj['imeis'] = [];
97
				$('h4.bagMaodalEarlyImeis').find('input:checked').each(function(index, ele){
98
					obj['imeis'].push(ele.value);
99
				});
100
			}
101
			console.log(obj);
102
			addItemInLocalStorage(obj);
103
			alert("Item added to bag successfully");
104
			$('#bagModel').modal('hide');
105
 
106
		});	
107
 
23343 ashik.ali 108
	});
109
 
110
	$(".cart-trash").live('click',function(){
111
		var itemId = $(this).attr('data');
112
		removeItemFromLocalStorage(itemId);
113
		$('div[itemId="' + itemId + '"]').remove();
114
		if ($('#cart-details').html().trim() == ""){
115
			$('#cart-details-empty').show();
116
			$('#cart-checkout').hide();
117
		}
118
	});
119
 
120
	$(".cart-qty").live('change paste keyup mouseup', function() {
121
		var itemId = $(this).attr('data');
122
		var maxQty = $(this).attr('max');
123
		var qty = $(this).val();
124
		if (!qty){
125
			qty = 0;
126
		}
127
		if(parseInt(qty) < 0){
128
			alert("Invalid quantity");
129
			$(this).val(0);
130
			qty = 0;
131
		}
132
		if (parseInt(qty) > parseInt(maxQty)){
133
			alert("You don't have availability of "+qty);
134
			$(this).val(maxQty);
135
			qty = maxQty;
136
		}
137
		changeQuantityInLocalStorage(itemId, qty);
138
	});
139
});
140
 
141
 
142
 
143
function addItemInLocalStorage(bagObj){
144
	if (localStorage.getItem("bag")!=null){
145
		var bag = JSON.parse(localStorage.getItem("bag"));
146
		bag[bagObj.itemId] = bagObj
147
		localStorage.setItem("bag",JSON.stringify(bag));
148
		bag = localStorage.getItem("bag")
149
		$("#cart_bar").find('span').text(Object.keys(JSON.parse(bag)).length);
150
	}
151
	else{
152
		var tempObj = {};
153
		tempObj[bagObj.itemId] = bagObj
154
		localStorage.setItem("bag",JSON.stringify(tempObj));
155
		var bag = localStorage.getItem("bag")
156
		$("#cart_bar").find('span').text(Object.keys(JSON.parse(bag)).length);
157
	}
158
}
159
 
160
 
161
function changeQuantityInLocalStorage(itemId, newQuantity){
162
	var bag = JSON.parse(localStorage.getItem("bag"));
24202 amit.gupta 163
	if (typeof bag[itemId]=="undefined") {
164
		bag[itemId] = {};
165
		bag[itemId].itemId=itemId;
166
		bag[itemId].displayName = "SmartDukaan Gift Watch";
24203 amit.gupta 167
		bag[itemId].iconUrl = "";
168
		delete bag["giftQty"];
24202 amit.gupta 169
 
170
	}
23343 ashik.ali 171
	bag[itemId].quantity = newQuantity;
172
	localStorage.setItem("bag",JSON.stringify(bag));
173
}
174
 
175
function removeItemFromLocalStorage(itemId){
176
	if (localStorage.getItem("bag")!=null){
177
		var bag = JSON.parse(localStorage.getItem("bag"));
178
		delete bag[itemId];
179
		localStorage.setItem("bag",JSON.stringify(bag));
180
		$("#cart_bar").find('span').text(Object.keys(bag).length);
181
	}
182
}
183
 
24202 amit.gupta 184
function addGiftQty(giftQty) {
185
	if (localStorage.getItem("bag")!=null){
186
		var bag = JSON.parse(localStorage.getItem("bag"));
187
		bag["giftQty"] = giftQty;
188
		localStorage.setItem("bag",JSON.stringify(bag));
189
		$("#cart_bar").find('span').text(Object.keys(bag).length);
190
	}
191
}
192
 
23343 ashik.ali 193
function emptyBag(){
194
	localStorage.setItem("bag",JSON.stringify({}));
195
	$("#cart_bar").find('span').text(0);
196
}
197
 
24202 amit.gupta 198
function loadCart(domId, giftQty){
199
	addGiftQty(giftQty);
23343 ashik.ali 200
	var params = {
201
			"cartData":localStorage.getItem("bag")
202
		}
23500 ashik.ali 203
	doPostAjaxRequestWithParamsHandler(context+"/cart", params, function(response){
23343 ashik.ali 204
		$('#' + domId).html(response);
205
	});
206
}
207
 
208
function checkout(domId){
209
	var params = {
210
			"cartData":localStorage.getItem("bag")
211
		}
23500 ashik.ali 212
	doPostAjaxRequestWithParamsHandler(context+"/validate-cart", params, function(response){
23343 ashik.ali 213
		$('#' + domId).html(response);
214
		var obj = JSON.parse(response);
23500 ashik.ali 215
		redirectCart(obj.redirectUrl, obj.params, "main-content");
23343 ashik.ali 216
		$('#main-content').html(response);
217
	});
218
}
219
 
23500 ashik.ali 220
function redirectCart(url, cartData, domId){
221
	var params = {
222
		"cartData":cartData	
223
	}
224
	doPostAjaxRequestWithParamsHandler(context + url, params, function(response){
225
        $('#' + domId).html(response);
226
        cartData = JSON.parse(cartData);
227
        for(itemId in cartData) {
228
        	if('imeis' in cartData[itemId]){
229
        		$('#order-details').find('input[name="serialNumber"][itemId="' + itemId + '"]').each(function(i,e){
230
        			e.value = cartData[itemId].imeis[i];
231
        		});
232
        	}
23343 ashik.ali 233
        }
23500 ashik.ali 234
        window.dispatchEvent(new Event('resize'));
235
	}); 
23343 ashik.ali 236
}