Subversion Repositories SmartDukaan

Rev

Rev 18007 | Rev 18025 | 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
	}
18019 manish.sha 179
 
180
	var currentShippingCharges = $('div.cartitemstotal span.shippingval').text().split(" ");
181
	currentShippingCharges = parseInt(currentShippingCharges[1]);
182
	var currentItemTotal = $('div.cartitemstotal span.itemstotal').text().split(" ");
183
	currentItemTotal = currentItemTotal[1].toString();
184
	currentItemTotal = currentItemTotal.replace(/\,/g,'');
185
	currentItemTotal = parseFloat(currentItemTotal[1]);
186
	if(currentShippingCharges>0){
187
		if(currentItemTotal>0){
188
			var additionalAmount = 1000.0-currentItemTotal;
189
			additionalAmount = additionalAmount.toFixed();
190
			$('span.cartheader').attr('style', 'font-size: 8pt;padding-left: 18px;');
191
			$('span.cartheader').text('');
192
			$("<a class='addMoreItems' href='/category/6'><u>Add Items Worth <span style='color:#ff0000;'>₹ "+additionalAmount+"</span> for Free Shipping</u></a>").appendTo('span.cartheader');
193
		}else{
194
			$('span.cartheader').text('');
195
			$('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
196
			$('span.cartheader').text('Cart Details');
197
		}
198
	}else{
199
		$('span.cartheader').text('');
200
		$('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
201
		$('span.cartheader').text('Cart Details');
202
	}
203
 
17804 manish.sha 204
}
205
 
206
$(function(){
207
	loadCartPageDetails();
208
});
209
 
210
$(document).on('click','.number-spinner button',function(){
211
	btn = $(this);
212
    input = btn.closest('.number-spinner').find('input');
213
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
214
	newVal = 0;
215
    btn.closest('.number-spinner').find('button').prop("disabled", false);
216
    var totalCartQuantity = 0;
217
    var totalCartValue = 0;
218
    var shippingCharges;
219
    var cartDetailsObj; 
220
    var jsonObjToBeStored = {};
221
    var cartItems = {};
17871 manish.sha 222
    var totalSkus = 0;
17804 manish.sha 223
    var cart_details = localStorage.getItem('cart_details');
224
    if(cart_details!=undefined){
225
    	cartDetailsObj = JSON.parse(cart_details);
226
    	totalCartQuantity = cartDetailsObj.totalCartQuantity;
227
    	totalCartValue = cartDetailsObj.totalCartValue;
228
    	cartItems = cartDetailsObj.cartItems;
229
    }
230
    var inc = 0;
231
    var dec = 0;
232
    var sku = btn.data('id');
233
    var unitPrice = btn.data('price');
18007 manish.sha 234
    var prodname = btn.data('name');
235
    var brandname = btn.data('brand');
236
    var catalogItemId = btn.data('identifier');
17804 manish.sha 237
    if (btn.attr('data-dir') == 'up') {
238
		if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
239
			if(parseInt(input.val())<5){
240
				inc = 1;
241
				newVal = parseInt(oldValue) + inc;
242
			}else{
243
				inc = 5-(parseInt(input.val())%5);
244
				newVal = parseInt(oldValue) + inc;
245
				if(newVal>parseInt(input.attr('max'))){
246
					inc = parseInt(input.attr('max')) - parseInt(oldValue);
247
					newVal = parseInt(oldValue) + inc;
248
				}
249
			}
250
		}else{
251
			newVal = parseInt(oldValue);
252
			btn.prop("disabled", true);
253
		}
17905 manish.sha 254
		if(newVal==parseInt(input.attr('max'))){
255
			input.attr('style', 'border: 2px solid #ff0000');
256
		}else{
257
			input.attr('style', 'border: 1px solid #CCCCCC');
258
		}
17804 manish.sha 259
		totalCartQuantity = totalCartQuantity + inc;
260
	} else {
261
		if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
262
		    dec = 1;
263
			newVal = parseInt(oldValue) - dec;
264
		}else{
265
			btn.prop("disabled", true);
266
		}
17905 manish.sha 267
		if(newVal==parseInt(input.attr('min'))){
268
			input.attr('style', 'border: 2px solid #5bc0de');
269
		}else{
270
			input.attr('style', 'border: 1px solid #CCCCCC');
271
		}
17804 manish.sha 272
		totalCartQuantity = totalCartQuantity - dec;
273
	}
17905 manish.sha 274
    $("span.lineitemqty[data-id='"+sku+"']").text(newVal);
17804 manish.sha 275
	btn.closest('.number-spinner').find('input').val(newVal);
18007 manish.sha 276
	$("span.packQuantity[data-id='"+sku+"']").text(newVal*$("span.packQuantity[data-id='"+sku+"']").data('pack'));
17947 manish.sha 277
	$("span.lineitemtotal[data-id='"+sku+"']").text(' ₹ '+ (parseInt(newVal)*parseInt(unitPrice)).toString());
17804 manish.sha 278
	if(cartDetailsObj==undefined){
279
		jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
280
		totalCartValue = totalCartValue + (unitPrice * newVal);
281
		jsonObjToBeStored['totalCartValue'] = totalCartValue;
282
		var itemDetail = {};
283
		itemDetail['quantity']=newVal;
284
		itemDetail['unitprice']=unitPrice;
285
		itemDetail['productname']=prodname;
286
		itemDetail['brand']=brandname;
18007 manish.sha 287
		itemDetail['catalogItemId'] = catalogItemId.toString();
17804 manish.sha 288
		cartItems[sku.toString()]=itemDetail;
289
		jsonObjToBeStored['cartItems']=cartItems;
290
		if(parseInt(totalCartValue)>1000){
291
			shippingCharges = 0;
292
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<500){
293
			shippingCharges = 50;
294
		}else{
295
			shippingCharges = 100;
296
		}
17871 manish.sha 297
		$.each( cartItems, function(itemId,value){
298
			if(value['quantity']>0){
299
				totalSkus = totalSkus +1;
300
			}
301
		});
302
		jsonObjToBeStored['totalSkus']=totalSkus;
17832 manish.sha 303
		jsonObjToBeStored['shippingCharges'] = shippingCharges;
17804 manish.sha 304
		localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
305
	}else{
306
		cartDetailsObj.totalCartQuantity = totalCartQuantity;
307
		var itemDetail = cartItems[sku.toString()];
308
		if(itemDetail==undefined){
309
			var itemDetail = {};
310
			itemDetail['quantity']=newVal;
311
			itemDetail['unitprice']=unitPrice;
312
			itemDetail['productname']=prodname;
313
			itemDetail['brand']=brandname;
18007 manish.sha 314
			itemDetail['catalogItemId'] = catalogItemId.toString();
17804 manish.sha 315
			totalCartValue = totalCartValue + (unitPrice * newVal);
316
			cartItems[sku.toString()]=itemDetail;
317
		}else{
318
			totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
319
			if(newVal==0){
17832 manish.sha 320
				cartItems[sku.toString()].quantity = 0;
321
				cartItems[sku.toString()].unitprice = unitPrice;
17804 manish.sha 322
			}else{
323
				cartItems[sku.toString()].quantity = newVal;
324
				cartItems[sku.toString()].unitprice = unitPrice;
325
			}
326
 
327
		}
17871 manish.sha 328
		$.each( cartItems, function(itemId,value){
329
			if(value['quantity']>0){
330
				totalSkus = totalSkus +1;
331
			}
332
		});
17804 manish.sha 333
		cartDetailsObj.totalCartValue = totalCartValue;
334
		cartDetailsObj.cartItems = cartItems;
17871 manish.sha 335
		cartDetailsObj.totalSkus = totalSkus;
17804 manish.sha 336
		if(parseInt(totalCartValue)>1000){
337
			shippingCharges = 0;
17905 manish.sha 338
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<1000){
17804 manish.sha 339
			shippingCharges = 50;
17905 manish.sha 340
		}else if(parseInt(totalCartValue)>0 && parseInt(totalCartValue)<500){
341
			shippingCharges = 100;
17804 manish.sha 342
		}else{
17905 manish.sha 343
			shippingCharges = 0;
17804 manish.sha 344
		}
345
		cartDetailsObj.shippingCharges = shippingCharges;
346
		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
347
	}
17832 manish.sha 348
	$('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
349
	$('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
17828 manish.sha 350
	var payable = 0;
17804 manish.sha 351
	if(shippingCharges>0){
17828 manish.sha 352
		if(totalCartValue>0){
353
			$('.cartitemstotal').removeClass('hidden');
18019 manish.sha 354
			var additionalAmount = 1000.0-totalCartValue;
355
			additionalAmount = additionalAmount.toFixed();
356
			$('span.cartheader').attr('style', 'font-size: 8pt;padding-left: 18px;');
357
			$('span.cartheader').text('');
358
			$("<a class='addMoreItems' href='/category/6'><u>Add Items Worth <span style='color:#ff0000;'>₹ "+additionalAmount+"</span> for Free Shipping</u></a>").appendTo('span.cartheader');
17828 manish.sha 359
			payable = parseInt(shippingCharges)+parseInt(totalCartValue);
17832 manish.sha 360
		}else{
361
			payable = 0;
18019 manish.sha 362
			$('span.cartheader').text('');
363
			$('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
364
			$('span.cartheader').text('Cart Details');
17828 manish.sha 365
		}
17820 manish.sha 366
	}else{
17828 manish.sha 367
			payable = parseInt(totalCartValue);
18019 manish.sha 368
			$('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
369
			$('span.cartheader').text('');
370
			$('span.cartheader').text('Cart Details');
17828 manish.sha 371
			$('.cartitemstotal').addClass('hidden');
17804 manish.sha 372
	}
17832 manish.sha 373
	$('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
374
 
375
	if(payable>0){
376
		$('button.checkoutbtn').prop( "disabled", false );
377
	}else{
378
		$('button.checkoutbtn').prop( "disabled", true );
379
	}
17905 manish.sha 380
	if(!$('div.cartitemstotal').hasClass('hidden')){
381
		$('div.scroll').attr('style', 'margin-bottom: 155px');
382
	}else{
383
		$('div.scroll').attr('style', 'margin-bottom: 100px');
384
	}
17804 manish.sha 385
});
386
 
387
function numberWithCommas(x) {
388
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
389
}
390
 
391
$(document).on('click','.changepincode',function(){
17919 manish.sha 392
	$('#cartLoadingModal').modal('show');
17881 manish.sha 393
	var pincode = "pin_"+$('.pincodeval').val();
17804 manish.sha 394
	var url = apihost + 'cartdetails/?user_id='+me;
395
    var newForm = $('<form>', {
396
        'action': url,
397
        'method':'post'
398
    }).append($('<input>', {
399
        'name': 'cart_details',
400
        'value': localStorage.getItem('cart_details'),
401
        'type': 'hidden'
402
    })).append($('<input>', {
403
        'name': 'pincode',
404
        'value': pincode,
405
        'type': 'hidden'
406
    }));
407
    newForm.submit();
408
});
409
 
18019 manish.sha 410
$(document).on('click','a.addMoreItems',function(){
411
	$('#cartLoadingModal').modal('show');
412
});
413
 
17804 manish.sha 414
$(document).on('click','.checkoutbtn',function(){
17919 manish.sha 415
	$('#cartLoadingModal').modal('show');
17804 manish.sha 416
	var url = apihost + 'shippings/';
417
    var newForm = $('<form>', {
418
        'action': url,
419
        'method':'post'
420
    }).append($('<input>', {
421
        'name': 'cart_details',
422
        'value': localStorage.getItem('cart_details'),
423
        'type': 'hidden'
424
    }));
425
    newForm.submit();
17822 manish.sha 426
});
427
$(document).on('click','.backtodeals',function(){
17919 manish.sha 428
	$('#cartLoadingModal').modal('show');
18019 manish.sha 429
	window.location.href = apihost + 'category/6';
17804 manish.sha 430
});