Subversion Repositories SmartDukaan

Rev

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