Subversion Repositories SmartDukaan

Rev

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