Subversion Repositories SmartDukaan

Rev

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