Subversion Repositories SmartDukaan

Rev

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