Subversion Repositories SmartDukaan

Rev

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