Subversion Repositories SmartDukaan

Rev

Rev 17820 | Go to most recent revision | Details | Last modification | View Log | RSS feed

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