Subversion Repositories SmartDukaan

Rev

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