Subversion Repositories SmartDukaan

Rev

Rev 17881 | Rev 17911 | 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(){
2
	$('.itemquantity').attr('disabled', 'true');
17832 manish.sha 3
	var payable = $('div.cartgrandtotal span.pull-right').text().split(" ");
4
	payable = payable[2];
5
	if(parseInt(payable)>0){
6
		$('button.checkoutbtn').prop( "disabled", false );
7
	}else{
8
		$('button.checkoutbtn').prop( "disabled", true );
9
	}
17881 manish.sha 10
	var estimateString = $('div.popover-markup').data('str');
11
	if(estimateString!="Can't ship here"){
12
		$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
13
		    $(this).prop('disabled', false);
14
		});
15
		var cart_details = localStorage.getItem('cart_details');
16
 
17
		localStorage.removeItem('cart_details');
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
	}else{
55
		$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
56
		    $(this).prop('disabled', true);
57
		});
58
	}
17905 manish.sha 59
	if(!$('div.cartitemstotal').hasClass('hidden')){
60
		$('div.scroll').attr('style', 'margin-bottom: 155px');
61
	}else{
62
		$('div.scroll').attr('style', 'margin-bottom: 100px');
63
	}
17804 manish.sha 64
}
65
 
66
$(function(){
67
	loadCartPageDetails();
68
});
69
 
70
$(document).on('click','.number-spinner button',function(){
71
	btn = $(this);
72
    input = btn.closest('.number-spinner').find('input');
73
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
74
	newVal = 0;
75
    btn.closest('.number-spinner').find('button').prop("disabled", false);
76
    var totalCartQuantity = 0;
77
    var totalCartValue = 0;
78
    var shippingCharges;
79
    var cartDetailsObj; 
80
    var jsonObjToBeStored = {};
81
    var cartItems = {};
17871 manish.sha 82
    var totalSkus = 0;
17804 manish.sha 83
    var cart_details = localStorage.getItem('cart_details');
84
    if(cart_details!=undefined){
85
    	cartDetailsObj = JSON.parse(cart_details);
86
    	totalCartQuantity = cartDetailsObj.totalCartQuantity;
87
    	totalCartValue = cartDetailsObj.totalCartValue;
88
    	cartItems = cartDetailsObj.cartItems;
89
    }
90
    var inc = 0;
91
    var dec = 0;
92
    var sku = btn.data('id');
93
    var unitPrice = btn.data('price');
94
    var prodname = $(".number-spinner").data('name');
95
    var brandname = $(".number-spinner").data('brand');
96
    if (btn.attr('data-dir') == 'up') {
97
		if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
98
			if(parseInt(input.val())<5){
99
				inc = 1;
100
				newVal = parseInt(oldValue) + inc;
101
			}else{
102
				inc = 5-(parseInt(input.val())%5);
103
				newVal = parseInt(oldValue) + inc;
104
				if(newVal>parseInt(input.attr('max'))){
105
					inc = parseInt(input.attr('max')) - parseInt(oldValue);
106
					newVal = parseInt(oldValue) + inc;
107
				}
108
			}
109
		}else{
110
			newVal = parseInt(oldValue);
111
			btn.prop("disabled", true);
112
		}
17905 manish.sha 113
		if(newVal==parseInt(input.attr('max'))){
114
			input.attr('style', 'border: 2px solid #ff0000');
115
		}else{
116
			input.attr('style', 'border: 1px solid #CCCCCC');
117
		}
17804 manish.sha 118
		totalCartQuantity = totalCartQuantity + inc;
119
	} else {
120
		if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
121
		    dec = 1;
122
			newVal = parseInt(oldValue) - dec;
123
		}else{
124
			btn.prop("disabled", true);
125
		}
17905 manish.sha 126
		if(newVal==parseInt(input.attr('min'))){
127
			input.attr('style', 'border: 2px solid #5bc0de');
128
		}else{
129
			input.attr('style', 'border: 1px solid #CCCCCC');
130
		}
17804 manish.sha 131
		totalCartQuantity = totalCartQuantity - dec;
132
	}
17905 manish.sha 133
    $("span.lineitemqty[data-id='"+sku+"']").text(newVal);
17804 manish.sha 134
	btn.closest('.number-spinner').find('input').val(newVal);
135
	if(cartDetailsObj==undefined){
136
		jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
137
		totalCartValue = totalCartValue + (unitPrice * newVal);
138
		jsonObjToBeStored['totalCartValue'] = totalCartValue;
139
		var itemDetail = {};
140
		itemDetail['quantity']=newVal;
141
		itemDetail['unitprice']=unitPrice;
142
		itemDetail['productname']=prodname;
143
		itemDetail['brand']=brandname;
144
		cartItems[sku.toString()]=itemDetail;
145
		jsonObjToBeStored['cartItems']=cartItems;
146
		if(parseInt(totalCartValue)>1000){
147
			shippingCharges = 0;
148
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<500){
149
			shippingCharges = 50;
150
		}else{
151
			shippingCharges = 100;
152
		}
17871 manish.sha 153
		$.each( cartItems, function(itemId,value){
154
			if(value['quantity']>0){
155
				totalSkus = totalSkus +1;
156
			}
157
		});
158
		jsonObjToBeStored['totalSkus']=totalSkus;
17832 manish.sha 159
		jsonObjToBeStored['shippingCharges'] = shippingCharges;
17804 manish.sha 160
		localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
161
	}else{
162
		cartDetailsObj.totalCartQuantity = totalCartQuantity;
163
		var itemDetail = cartItems[sku.toString()];
164
		if(itemDetail==undefined){
165
			var itemDetail = {};
166
			itemDetail['quantity']=newVal;
167
			itemDetail['unitprice']=unitPrice;
168
			itemDetail['productname']=prodname;
169
			itemDetail['brand']=brandname;
170
			totalCartValue = totalCartValue + (unitPrice * newVal);
171
			cartItems[sku.toString()]=itemDetail;
172
		}else{
173
			totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
174
			if(newVal==0){
17832 manish.sha 175
				cartItems[sku.toString()].quantity = 0;
176
				cartItems[sku.toString()].unitprice = unitPrice;
17804 manish.sha 177
			}else{
178
				cartItems[sku.toString()].quantity = newVal;
179
				cartItems[sku.toString()].unitprice = unitPrice;
180
			}
181
 
182
		}
17871 manish.sha 183
		$.each( cartItems, function(itemId,value){
184
			if(value['quantity']>0){
185
				totalSkus = totalSkus +1;
186
			}
187
		});
17804 manish.sha 188
		cartDetailsObj.totalCartValue = totalCartValue;
189
		cartDetailsObj.cartItems = cartItems;
17871 manish.sha 190
		cartDetailsObj.totalSkus = totalSkus;
17804 manish.sha 191
		if(parseInt(totalCartValue)>1000){
192
			shippingCharges = 0;
17905 manish.sha 193
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<1000){
17804 manish.sha 194
			shippingCharges = 50;
17905 manish.sha 195
		}else if(parseInt(totalCartValue)>0 && parseInt(totalCartValue)<500){
196
			shippingCharges = 100;
17804 manish.sha 197
		}else{
17905 manish.sha 198
			shippingCharges = 0;
17804 manish.sha 199
		}
200
		cartDetailsObj.shippingCharges = shippingCharges;
201
		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
202
	}
17832 manish.sha 203
	$('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
204
	$('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
17828 manish.sha 205
	var payable = 0;
17804 manish.sha 206
	if(shippingCharges>0){
17828 manish.sha 207
		if(totalCartValue>0){
208
			$('.cartitemstotal').removeClass('hidden');
209
			payable = parseInt(shippingCharges)+parseInt(totalCartValue);
17832 manish.sha 210
		}else{
211
			payable = 0;
17828 manish.sha 212
		}
17820 manish.sha 213
	}else{
17828 manish.sha 214
			payable = parseInt(totalCartValue);
215
			$('.cartitemstotal').addClass('hidden');
17804 manish.sha 216
	}
17832 manish.sha 217
	$('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
218
 
219
	if(payable>0){
220
		$('button.checkoutbtn').prop( "disabled", false );
221
	}else{
222
		$('button.checkoutbtn').prop( "disabled", true );
223
	}
17905 manish.sha 224
	if(!$('div.cartitemstotal').hasClass('hidden')){
225
		$('div.scroll').attr('style', 'margin-bottom: 155px');
226
	}else{
227
		$('div.scroll').attr('style', 'margin-bottom: 100px');
228
	}
17804 manish.sha 229
});
230
 
231
function numberWithCommas(x) {
232
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
233
}
234
 
235
$(document).on('click','.changepincode',function(){
17881 manish.sha 236
	var pincode = "pin_"+$('.pincodeval').val();
17804 manish.sha 237
	var url = apihost + 'cartdetails/?user_id='+me;
238
    var newForm = $('<form>', {
239
        'action': url,
240
        'method':'post'
241
    }).append($('<input>', {
242
        'name': 'cart_details',
243
        'value': localStorage.getItem('cart_details'),
244
        'type': 'hidden'
245
    })).append($('<input>', {
246
        'name': 'pincode',
247
        'value': pincode,
248
        'type': 'hidden'
249
    }));
250
    newForm.submit();
251
});
252
 
253
$(document).on('click','.checkoutbtn',function(){
254
	var url = apihost + 'shippings/';
255
    var newForm = $('<form>', {
256
        'action': url,
257
        'method':'post'
258
    }).append($('<input>', {
259
        'name': 'cart_details',
260
        'value': localStorage.getItem('cart_details'),
261
        'type': 'hidden'
262
    }));
263
    newForm.submit();
17822 manish.sha 264
});
265
$(document).on('click','.backtodeals',function(){
266
	history.back();
17804 manish.sha 267
});