Subversion Repositories SmartDukaan

Rev

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