Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
17804 manish.sha 1
function loadCartPageDetails(){
17832 manish.sha 2
	var payable = $('div.cartgrandtotal span.pull-right').text().split(" ");
3
	payable = payable[2];
4
	if(parseInt(payable)>0){
5
		$('button.checkoutbtn').prop( "disabled", false );
6
	}else{
7
		$('button.checkoutbtn').prop( "disabled", true );
8
	}
17947 manish.sha 9
	var input = $('input#refresh').val();
10
 
11
	if(input == 'yes'){
17881 manish.sha 12
		var cart_details = localStorage.getItem('cart_details');
17911 manish.sha 13
		if(cart_details!=undefined){
17947 manish.sha 14
			var cartDetailsObj = JSON.parse(cart_details);
15
			var totalCartValue = cartDetailsObj.totalCartValue
16
			var totalCartQuantity = cartDetailsObj.totalCartQuantity
17
			var cartItems = cartDetailsObj.cartItems
18
			var shippingCharges =cartDetailsObj.shippingCharges;
19
			var totalSkus = cartDetailsObj.totalSkus;
20
			$.each(cartDetailsObj.cartItems, function(key,val) {
21
				$("div.number-spinner button[data-id='"+key+"']").closest('.number-spinner').find('input').val(val.quantity);
22
				$("span.lineitemqty[data-id='"+key+"']").text(val.quantity);
18007 manish.sha 23
				$("span.packQuantity[data-id='"+key+"']").text(val.quantity*$("span.packQuantity[data-id='"+key+"']").data('pack'));
17947 manish.sha 24
				$("span.lineitemtotal[data-id='"+key+"']").text(' ₹ '+ (parseInt(val.quantity)*parseInt(val.unitprice)).toString());
25
			});
26
			$('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
27
			$('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
28
			var payable = 0;
29
			if(shippingCharges>0){
30
				if(totalCartValue>0){
31
					$('.cartitemstotal').removeClass('hidden');
32
					payable = parseInt(shippingCharges)+parseInt(totalCartValue);
33
				}else{
34
					payable = 0;
17911 manish.sha 35
				}
17947 manish.sha 36
			}else{
37
					payable = parseInt(totalCartValue);
38
					$('.cartitemstotal').addClass('hidden');
39
			}
40
			$('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
17911 manish.sha 41
 
17947 manish.sha 42
			if(payable>0){
43
				$('button.checkoutbtn').prop( "disabled", false );
44
			}else{
45
				$('button.checkoutbtn').prop( "disabled", true );
46
			}
47
			var estimateString = $('div.popover-markup').data('str');
48
			if(estimateString!="Can't ship here"){
49
				$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
50
					$(this).prop('disabled', false);
51
				});
52
			}else{
53
				$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
54
					$(this).prop('disabled', true);
55
				});
56
			}
57
 
17956 manish.sha 58
		}else{
59
			window.location.href = apihost + 'cartdetails/?user_id='+me;
17911 manish.sha 60
		}
17881 manish.sha 61
	}else{
17947 manish.sha 62
		$('input#refresh').val('yes');
63
		var estimateString = $('div.popover-markup').data('str');
64
		if(estimateString!="Can't ship here"){
65
			$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
66
			    $(this).prop('disabled', false);
67
			});
68
			var cart_details = localStorage.getItem('cart_details');
69
 
70
			localStorage.removeItem('cart_details');
71
			if(cart_details!=undefined){
72
				var totalCartValue = 0;
73
				var totalCartQuantity = 0;
74
				var cartItems = {};
75
				var jsonObjToBeStored = {};
76
				var shippingCharges = 0;
77
				var totalSkus = 0;
78
 
79
				totalCartValue = $('.cartitemstotal').data('itemtotal');
80
				shippingCharges = $('.cartitemstotal').data('shipping');
81
 
82
				$('.number-spinner').each(function (index, val) {
83
					var element = $(val);
84
					var quantity = element.find("input").val();
85
					if(parseInt(quantity)>0){
86
						var sku = element.find("button[data-dir='up']").data('id');
87
						var price = element.find("button[data-dir='up']").data('price');
18007 manish.sha 88
						var catalogItemId = element.find("button[data-dir='up']").data('identifier');
17947 manish.sha 89
						var prodname = $(this).data('name');
90
					    var brandname = $(this).data('brand');
91
						var itemDetail = {};
92
						totalCartQuantity = totalCartQuantity + parseInt(quantity);
93
						totalSkus = totalSkus +1;
17919 manish.sha 94
						itemDetail['quantity']=parseInt(quantity);
95
						itemDetail['unitprice']=parseInt(price);
96
						itemDetail['productname']=prodname;
97
						itemDetail['brand']=brandname;
18007 manish.sha 98
						itemDetail['catalogItemId'] = catalogItemId.toString();
17947 manish.sha 99
						cartItems[sku.toString()]=itemDetail;
17919 manish.sha 100
					}
17947 manish.sha 101
				});
102
 
103
				jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
104
				jsonObjToBeStored['totalCartValue'] = totalCartValue;
105
				jsonObjToBeStored['cartItems'] = cartItems;
106
				jsonObjToBeStored['shippingCharges'] = shippingCharges;
107
				jsonObjToBeStored['totalSkus'] = totalSkus;
108
				localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
109
			}
110
		}else{
111
			var cart_details = localStorage.getItem('cart_details');
112
			if(cart_details!=undefined){
113
				var cartDetailsObj = JSON.parse(cart_details);
114
				var totalCartValue = cartDetailsObj.totalCartValue
115
				var totalCartQuantity = cartDetailsObj.totalCartQuantity
116
				var cartItems = cartDetailsObj.cartItems
117
				var jsonObjToBeStored = {};
118
				var shippingCharges = $('.cartitemstotal').data('shipping');
119
				var totalSkus = cartDetailsObj.totalSkus
120
				$('.number-spinner').each(function (index, val) {
121
					var element = $(val);
122
					var quantity = element.find("input").val();
123
					var estimate = element.data('estimate');
18007 manish.sha 124
					var catalogItemId = element.find("button[data-dir='up']").data('identifier');
17947 manish.sha 125
					if(parseInt(quantity)==0 && estimate==""){
126
						var sku = element.find("button[data-dir='up']").data('id');
127
						var price = element.find("button[data-dir='up']").data('price');
128
						var prodname = $(this).data('name');
129
					    var brandname = $(this).data('brand');
130
						var itemDetail = cartDetailsObj.cartItems[sku.toString()];
131
						if(itemDetail==undefined){
132
							itemDetail = {};
133
							itemDetail['quantity']=parseInt(quantity);
134
							itemDetail['unitprice']=parseInt(price);
135
							itemDetail['productname']=prodname;
136
							itemDetail['brand']=brandname;
18007 manish.sha 137
							itemDetail['catalogItemId'] = catalogItemId.toString();
17947 manish.sha 138
							cartItems[sku.toString()] = itemDetail;
139
						}else{
140
							totalCartValue = totalCartValue - (itemDetail.quantity*itemDetail.unitprice);
141
							totalSkus = totalSkus -1;
142
							totalCartQuantity = totalCartQuantity - itemDetail.quantity;
143
							itemDetail.quantity = 0;
144
							itemDetail.unitprice = parseInt(price);
18007 manish.sha 145
							if(!itemDetail.hasOwnProperty('catalogItemId')){
146
								itemDetail['catalogItemId'] = catalogItemId.toString();
147
							}
17947 manish.sha 148
							cartItems[sku.toString()] = itemDetail;
149
						}
150
					}
151
				});
152
				if(parseInt(totalCartValue)>1000){
153
					shippingCharges = 0;
154
				}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<1000){
155
					shippingCharges = 50;
156
				}else if(parseInt(totalCartValue)>0 && parseInt(totalCartValue)<500){
157
					shippingCharges = 100;
158
				}else{
159
					shippingCharges = 0;
17919 manish.sha 160
				}
17947 manish.sha 161
				cartDetailsObj.totalCartQuantity = totalCartQuantity;
162
				cartDetailsObj.totalCartValue = totalCartValue;
163
				cartDetailsObj.cartItems = cartItems;
164
				cartDetailsObj.shippingCharges = shippingCharges;
165
				cartDetailsObj.totalSkus = totalSkus;
166
				localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
167
			}
168
			$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
169
			    $(this).prop('disabled', true);
17919 manish.sha 170
			});
171
		}
17881 manish.sha 172
	}
17953 manish.sha 173
 
174
	if(!$('div.cartitemstotal').hasClass('hidden')){
175
		$('div.scroll').attr('style', 'margin-bottom: 155px');
176
	}else{
177
		$('div.scroll').attr('style', 'margin-bottom: 100px');
178
	}
17804 manish.sha 179
}
180
 
181
$(function(){
182
	loadCartPageDetails();
183
});
184
 
185
$(document).on('click','.number-spinner button',function(){
186
	btn = $(this);
187
    input = btn.closest('.number-spinner').find('input');
188
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
189
	newVal = 0;
190
    btn.closest('.number-spinner').find('button').prop("disabled", false);
191
    var totalCartQuantity = 0;
192
    var totalCartValue = 0;
193
    var shippingCharges;
194
    var cartDetailsObj; 
195
    var jsonObjToBeStored = {};
196
    var cartItems = {};
17871 manish.sha 197
    var totalSkus = 0;
17804 manish.sha 198
    var cart_details = localStorage.getItem('cart_details');
199
    if(cart_details!=undefined){
200
    	cartDetailsObj = JSON.parse(cart_details);
201
    	totalCartQuantity = cartDetailsObj.totalCartQuantity;
202
    	totalCartValue = cartDetailsObj.totalCartValue;
203
    	cartItems = cartDetailsObj.cartItems;
204
    }
205
    var inc = 0;
206
    var dec = 0;
207
    var sku = btn.data('id');
208
    var unitPrice = btn.data('price');
18007 manish.sha 209
    var prodname = btn.data('name');
210
    var brandname = btn.data('brand');
211
    var catalogItemId = btn.data('identifier');
17804 manish.sha 212
    if (btn.attr('data-dir') == 'up') {
213
		if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
214
			if(parseInt(input.val())<5){
215
				inc = 1;
216
				newVal = parseInt(oldValue) + inc;
217
			}else{
218
				inc = 5-(parseInt(input.val())%5);
219
				newVal = parseInt(oldValue) + inc;
220
				if(newVal>parseInt(input.attr('max'))){
221
					inc = parseInt(input.attr('max')) - parseInt(oldValue);
222
					newVal = parseInt(oldValue) + inc;
223
				}
224
			}
225
		}else{
226
			newVal = parseInt(oldValue);
227
			btn.prop("disabled", true);
228
		}
17905 manish.sha 229
		if(newVal==parseInt(input.attr('max'))){
230
			input.attr('style', 'border: 2px solid #ff0000');
231
		}else{
232
			input.attr('style', 'border: 1px solid #CCCCCC');
233
		}
17804 manish.sha 234
		totalCartQuantity = totalCartQuantity + inc;
235
	} else {
236
		if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
237
		    dec = 1;
238
			newVal = parseInt(oldValue) - dec;
239
		}else{
240
			btn.prop("disabled", true);
241
		}
17905 manish.sha 242
		if(newVal==parseInt(input.attr('min'))){
243
			input.attr('style', 'border: 2px solid #5bc0de');
244
		}else{
245
			input.attr('style', 'border: 1px solid #CCCCCC');
246
		}
17804 manish.sha 247
		totalCartQuantity = totalCartQuantity - dec;
248
	}
17905 manish.sha 249
    $("span.lineitemqty[data-id='"+sku+"']").text(newVal);
17804 manish.sha 250
	btn.closest('.number-spinner').find('input').val(newVal);
18007 manish.sha 251
	$("span.packQuantity[data-id='"+sku+"']").text(newVal*$("span.packQuantity[data-id='"+sku+"']").data('pack'));
17947 manish.sha 252
	$("span.lineitemtotal[data-id='"+sku+"']").text(' ₹ '+ (parseInt(newVal)*parseInt(unitPrice)).toString());
17804 manish.sha 253
	if(cartDetailsObj==undefined){
254
		jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
255
		totalCartValue = totalCartValue + (unitPrice * newVal);
256
		jsonObjToBeStored['totalCartValue'] = totalCartValue;
257
		var itemDetail = {};
258
		itemDetail['quantity']=newVal;
259
		itemDetail['unitprice']=unitPrice;
260
		itemDetail['productname']=prodname;
261
		itemDetail['brand']=brandname;
18007 manish.sha 262
		itemDetail['catalogItemId'] = catalogItemId.toString();
17804 manish.sha 263
		cartItems[sku.toString()]=itemDetail;
264
		jsonObjToBeStored['cartItems']=cartItems;
265
		if(parseInt(totalCartValue)>1000){
266
			shippingCharges = 0;
267
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<500){
268
			shippingCharges = 50;
269
		}else{
270
			shippingCharges = 100;
271
		}
17871 manish.sha 272
		$.each( cartItems, function(itemId,value){
273
			if(value['quantity']>0){
274
				totalSkus = totalSkus +1;
275
			}
276
		});
277
		jsonObjToBeStored['totalSkus']=totalSkus;
17832 manish.sha 278
		jsonObjToBeStored['shippingCharges'] = shippingCharges;
17804 manish.sha 279
		localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
280
	}else{
281
		cartDetailsObj.totalCartQuantity = totalCartQuantity;
282
		var itemDetail = cartItems[sku.toString()];
283
		if(itemDetail==undefined){
284
			var itemDetail = {};
285
			itemDetail['quantity']=newVal;
286
			itemDetail['unitprice']=unitPrice;
287
			itemDetail['productname']=prodname;
288
			itemDetail['brand']=brandname;
18007 manish.sha 289
			itemDetail['catalogItemId'] = catalogItemId.toString();
17804 manish.sha 290
			totalCartValue = totalCartValue + (unitPrice * newVal);
291
			cartItems[sku.toString()]=itemDetail;
292
		}else{
293
			totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
294
			if(newVal==0){
17832 manish.sha 295
				cartItems[sku.toString()].quantity = 0;
296
				cartItems[sku.toString()].unitprice = unitPrice;
17804 manish.sha 297
			}else{
298
				cartItems[sku.toString()].quantity = newVal;
299
				cartItems[sku.toString()].unitprice = unitPrice;
300
			}
301
 
302
		}
17871 manish.sha 303
		$.each( cartItems, function(itemId,value){
304
			if(value['quantity']>0){
305
				totalSkus = totalSkus +1;
306
			}
307
		});
17804 manish.sha 308
		cartDetailsObj.totalCartValue = totalCartValue;
309
		cartDetailsObj.cartItems = cartItems;
17871 manish.sha 310
		cartDetailsObj.totalSkus = totalSkus;
17804 manish.sha 311
		if(parseInt(totalCartValue)>1000){
312
			shippingCharges = 0;
17905 manish.sha 313
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<1000){
17804 manish.sha 314
			shippingCharges = 50;
17905 manish.sha 315
		}else if(parseInt(totalCartValue)>0 && parseInt(totalCartValue)<500){
316
			shippingCharges = 100;
17804 manish.sha 317
		}else{
17905 manish.sha 318
			shippingCharges = 0;
17804 manish.sha 319
		}
320
		cartDetailsObj.shippingCharges = shippingCharges;
321
		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
322
	}
17832 manish.sha 323
	$('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
324
	$('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
17828 manish.sha 325
	var payable = 0;
17804 manish.sha 326
	if(shippingCharges>0){
17828 manish.sha 327
		if(totalCartValue>0){
328
			$('.cartitemstotal').removeClass('hidden');
329
			payable = parseInt(shippingCharges)+parseInt(totalCartValue);
17832 manish.sha 330
		}else{
331
			payable = 0;
17828 manish.sha 332
		}
17820 manish.sha 333
	}else{
17828 manish.sha 334
			payable = parseInt(totalCartValue);
335
			$('.cartitemstotal').addClass('hidden');
17804 manish.sha 336
	}
17832 manish.sha 337
	$('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
338
 
339
	if(payable>0){
340
		$('button.checkoutbtn').prop( "disabled", false );
341
	}else{
342
		$('button.checkoutbtn').prop( "disabled", true );
343
	}
17905 manish.sha 344
	if(!$('div.cartitemstotal').hasClass('hidden')){
345
		$('div.scroll').attr('style', 'margin-bottom: 155px');
346
	}else{
347
		$('div.scroll').attr('style', 'margin-bottom: 100px');
348
	}
17804 manish.sha 349
});
350
 
351
function numberWithCommas(x) {
352
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
353
}
354
 
355
$(document).on('click','.changepincode',function(){
17919 manish.sha 356
	$('#cartLoadingModal').modal('show');
17881 manish.sha 357
	var pincode = "pin_"+$('.pincodeval').val();
17804 manish.sha 358
	var url = apihost + 'cartdetails/?user_id='+me;
359
    var newForm = $('<form>', {
360
        'action': url,
361
        'method':'post'
362
    }).append($('<input>', {
363
        'name': 'cart_details',
364
        'value': localStorage.getItem('cart_details'),
365
        'type': 'hidden'
366
    })).append($('<input>', {
367
        'name': 'pincode',
368
        'value': pincode,
369
        'type': 'hidden'
370
    }));
371
    newForm.submit();
372
});
373
 
374
$(document).on('click','.checkoutbtn',function(){
17919 manish.sha 375
	$('#cartLoadingModal').modal('show');
17804 manish.sha 376
	var url = apihost + 'shippings/';
377
    var newForm = $('<form>', {
378
        'action': url,
379
        'method':'post'
380
    }).append($('<input>', {
381
        'name': 'cart_details',
382
        'value': localStorage.getItem('cart_details'),
383
        'type': 'hidden'
384
    }));
385
    newForm.submit();
17822 manish.sha 386
});
387
$(document).on('click','.backtodeals',function(){
17919 manish.sha 388
	$('#cartLoadingModal').modal('show');
17822 manish.sha 389
	history.back();
17804 manish.sha 390
});