Subversion Repositories SmartDukaan

Rev

Rev 17833 | Rev 17881 | 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
	}
10
 
17804 manish.sha 11
	var cart_details = localStorage.getItem('cart_details');
12
 
13
	localStorage.removeItem('cart_details');
14
	var totalCartValue = 0;
15
	var totalCartQuantity = 0;
16
	var cartItems = {};
17
	var jsonObjToBeStored = {};
18
	var shippingCharges = 0;
17871 manish.sha 19
	var totalSkus = 0;
17804 manish.sha 20
 
21
	totalCartValue = $('.cartitemstotal').data('itemtotal');
22
	shippingCharges = $('.cartitemstotal').data('shipping');
23
 
24
	$('.number-spinner').each(function (index, val) {
25
		var element = $(val);
26
		var quantity = element.find("input").val();
27
		if(parseInt(quantity)>0){
28
			var sku = element.find("button[data-dir='up']").data('id');
29
			var price = element.find("button[data-dir='up']").data('price');
30
 
31
			var prodname = $(this).data('name');
32
		    var brandname = $(this).data('brand');
33
			var itemDetail = {};
34
			totalCartQuantity = totalCartQuantity + parseInt(quantity);
17871 manish.sha 35
			totalSkus = totalSkus +1;
17804 manish.sha 36
			itemDetail['quantity']=parseInt(quantity);
37
			itemDetail['unitprice']=parseInt(price);
38
			itemDetail['productname']=prodname;
39
			itemDetail['brand']=brandname;
40
			cartItems[sku.toString()]=itemDetail;
41
		}
42
	});
43
 
44
	jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
45
	jsonObjToBeStored['totalCartValue'] = totalCartValue;
46
	jsonObjToBeStored['cartItems'] = cartItems;
47
	jsonObjToBeStored['shippingCharges'] = shippingCharges;
17871 manish.sha 48
	jsonObjToBeStored['totalSkus'] = totalSkus;
17804 manish.sha 49
	localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
50
}
51
 
52
$(function(){
53
	loadCartPageDetails();
54
});
55
 
56
$(document).on('click','.number-spinner button',function(){
57
	btn = $(this);
58
    input = btn.closest('.number-spinner').find('input');
59
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
60
	newVal = 0;
61
    btn.closest('.number-spinner').find('button').prop("disabled", false);
62
    var totalCartQuantity = 0;
63
    var totalCartValue = 0;
64
    var shippingCharges;
65
    var cartDetailsObj; 
66
    var jsonObjToBeStored = {};
67
    var cartItems = {};
17871 manish.sha 68
    var totalSkus = 0;
17804 manish.sha 69
    var cart_details = localStorage.getItem('cart_details');
70
    if(cart_details!=undefined){
71
    	cartDetailsObj = JSON.parse(cart_details);
72
    	totalCartQuantity = cartDetailsObj.totalCartQuantity;
73
    	totalCartValue = cartDetailsObj.totalCartValue;
74
    	cartItems = cartDetailsObj.cartItems;
75
    }
76
    var inc = 0;
77
    var dec = 0;
78
    var sku = btn.data('id');
79
    var unitPrice = btn.data('price');
80
    var prodname = $(".number-spinner").data('name');
81
    var brandname = $(".number-spinner").data('brand');
82
    if (btn.attr('data-dir') == 'up') {
83
		if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
84
			if(parseInt(input.val())<5){
85
				inc = 1;
86
				newVal = parseInt(oldValue) + inc;
87
			}else{
88
				inc = 5-(parseInt(input.val())%5);
89
				newVal = parseInt(oldValue) + inc;
90
				if(newVal>parseInt(input.attr('max'))){
91
					inc = parseInt(input.attr('max')) - parseInt(oldValue);
92
					newVal = parseInt(oldValue) + inc;
93
				}
94
			}
95
		}else{
96
			newVal = parseInt(oldValue);
97
			btn.prop("disabled", true);
98
		}
99
		totalCartQuantity = totalCartQuantity + inc;
100
	} else {
101
		if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
102
		    dec = 1;
103
			newVal = parseInt(oldValue) - dec;
104
		}else{
105
			btn.prop("disabled", true);
106
		}
107
		totalCartQuantity = totalCartQuantity - dec;
108
	}
109
 
110
	btn.closest('.number-spinner').find('input').val(newVal);
111
	if(cartDetailsObj==undefined){
112
		jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
113
		totalCartValue = totalCartValue + (unitPrice * newVal);
114
		jsonObjToBeStored['totalCartValue'] = totalCartValue;
115
		var itemDetail = {};
116
		itemDetail['quantity']=newVal;
117
		itemDetail['unitprice']=unitPrice;
118
		itemDetail['productname']=prodname;
119
		itemDetail['brand']=brandname;
120
		cartItems[sku.toString()]=itemDetail;
121
		jsonObjToBeStored['cartItems']=cartItems;
122
		if(parseInt(totalCartValue)>1000){
123
			shippingCharges = 0;
124
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<500){
125
			shippingCharges = 50;
126
		}else{
127
			shippingCharges = 100;
128
		}
17871 manish.sha 129
		$.each( cartItems, function(itemId,value){
130
			if(value['quantity']>0){
131
				totalSkus = totalSkus +1;
132
			}
133
		});
134
		jsonObjToBeStored['totalSkus']=totalSkus;
17832 manish.sha 135
		jsonObjToBeStored['shippingCharges'] = shippingCharges;
17804 manish.sha 136
		localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
137
	}else{
138
		cartDetailsObj.totalCartQuantity = totalCartQuantity;
139
		var itemDetail = cartItems[sku.toString()];
140
		if(itemDetail==undefined){
141
			var itemDetail = {};
142
			itemDetail['quantity']=newVal;
143
			itemDetail['unitprice']=unitPrice;
144
			itemDetail['productname']=prodname;
145
			itemDetail['brand']=brandname;
146
			totalCartValue = totalCartValue + (unitPrice * newVal);
147
			cartItems[sku.toString()]=itemDetail;
148
		}else{
149
			totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
150
			if(newVal==0){
17832 manish.sha 151
				cartItems[sku.toString()].quantity = 0;
152
				cartItems[sku.toString()].unitprice = unitPrice;
17804 manish.sha 153
			}else{
154
				cartItems[sku.toString()].quantity = newVal;
155
				cartItems[sku.toString()].unitprice = unitPrice;
156
			}
157
 
158
		}
17871 manish.sha 159
		$.each( cartItems, function(itemId,value){
160
			if(value['quantity']>0){
161
				totalSkus = totalSkus +1;
162
			}
163
		});
17804 manish.sha 164
		cartDetailsObj.totalCartValue = totalCartValue;
165
		cartDetailsObj.cartItems = cartItems;
17871 manish.sha 166
		cartDetailsObj.totalSkus = totalSkus;
17804 manish.sha 167
		if(parseInt(totalCartValue)>1000){
168
			shippingCharges = 0;
169
		}else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<500){
170
			shippingCharges = 50;
171
		}else{
172
			shippingCharges = 100;
173
		}
174
		cartDetailsObj.shippingCharges = shippingCharges;
175
		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
176
	}
17832 manish.sha 177
	$('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
178
	$('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
17828 manish.sha 179
	var payable = 0;
17804 manish.sha 180
	if(shippingCharges>0){
17828 manish.sha 181
		if(totalCartValue>0){
182
			$('.cartitemstotal').removeClass('hidden');
183
			payable = parseInt(shippingCharges)+parseInt(totalCartValue);
17832 manish.sha 184
		}else{
185
			payable = 0;
17828 manish.sha 186
		}
17820 manish.sha 187
	}else{
17828 manish.sha 188
			payable = parseInt(totalCartValue);
189
			$('.cartitemstotal').addClass('hidden');
17804 manish.sha 190
	}
17832 manish.sha 191
	$('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
192
 
193
	if(payable>0){
194
		$('button.checkoutbtn').prop( "disabled", false );
195
	}else{
196
		$('button.checkoutbtn').prop( "disabled", true );
197
	}
17804 manish.sha 198
});
199
 
200
function numberWithCommas(x) {
201
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
202
}
203
 
204
$(document).on('click','.changepincode',function(){
205
	var pincode = $('.pincodeval').val();
206
	var url = apihost + 'cartdetails/?user_id='+me;
207
    var newForm = $('<form>', {
208
        'action': url,
209
        'method':'post'
210
    }).append($('<input>', {
211
        'name': 'cart_details',
212
        'value': localStorage.getItem('cart_details'),
213
        'type': 'hidden'
214
    })).append($('<input>', {
215
        'name': 'pincode',
216
        'value': pincode,
217
        'type': 'hidden'
218
    }));
219
    newForm.submit();
220
});
221
 
222
$(document).on('click','.checkoutbtn',function(){
223
	var url = apihost + 'shippings/';
224
    var newForm = $('<form>', {
225
        'action': url,
226
        'method':'post'
227
    }).append($('<input>', {
228
        'name': 'cart_details',
229
        'value': localStorage.getItem('cart_details'),
230
        'type': 'hidden'
231
    }));
232
    newForm.submit();
17822 manish.sha 233
});
234
$(document).on('click','.backtodeals',function(){
235
	history.back();
17804 manish.sha 236
});