| 17804 |
manish.sha |
1 |
function loadCartDetails(){
|
| 17766 |
manish.sha |
2 |
$('.itemquantity').attr('disabled', 'true');
|
|
|
3 |
var cart_details = localStorage.getItem('cart_details');
|
|
|
4 |
if(cart_details==undefined){
|
|
|
5 |
$(".pmfooter span.carttotalval").text('0');
|
|
|
6 |
$(".pmfooter span.badge").text('0');
|
|
|
7 |
$(".pmfooter").addClass('hidden');
|
|
|
8 |
}else{
|
|
|
9 |
var cartDetailsObj = JSON.parse(cart_details);
|
|
|
10 |
if(cartDetailsObj.totalCartQuantity > 0){
|
|
|
11 |
$(".pmfooter span.badge").text(cartDetailsObj.totalCartQuantity.toString());
|
|
|
12 |
var totalCartValue = cartDetailsObj.totalCartValue;
|
|
|
13 |
var priceChangeMap = {};
|
|
|
14 |
$.each(cartDetailsObj.cartItems, function(key,val) {
|
|
|
15 |
var newUnitPrice = $(".number-spinner button[data-id='"+key+"']").data('price');
|
| 17774 |
manish.sha |
16 |
if(newUnitPrice!=undefined){
|
|
|
17 |
$(".number-spinner button[data-id='"+key+"']").closest('.number-spinner').find('input').val(val.quantity);
|
|
|
18 |
if(parseInt(newUnitPrice)!=parseInt(val.unitprice)){
|
|
|
19 |
totalCartValue = totalCartValue - (parseInt(val.unitprice)*parseInt(val.quantity)) + (parseInt(newUnitPrice)*parseInt(val.quantity));
|
|
|
20 |
priceChangeMap[key] = newUnitPrice;
|
|
|
21 |
}
|
| 17766 |
manish.sha |
22 |
}
|
|
|
23 |
});
|
|
|
24 |
$(".pmfooter span.carttotalval").text(numberWithCommas(totalCartValue));
|
| 17774 |
manish.sha |
25 |
if(totalCartValue!=undefined){
|
|
|
26 |
cartDetailsObj.totalCartValue = totalCartValue;
|
|
|
27 |
}
|
| 17766 |
manish.sha |
28 |
var cartItems = cartDetailsObj.cartItems;
|
|
|
29 |
$.each(priceChangeMap, function(key,val) {
|
| 17804 |
manish.sha |
30 |
cartItems[key].unitprice = val;
|
| 17766 |
manish.sha |
31 |
});
|
|
|
32 |
cartDetailsObj.cartItems = cartItems;
|
|
|
33 |
localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
|
|
|
34 |
$(".pmfooter").removeClass('hidden');
|
|
|
35 |
}else{
|
|
|
36 |
$(".pmfooter span.carttotalval").text('0');
|
|
|
37 |
$(".pmfooter span.badge").text('0');
|
|
|
38 |
$(".pmfooter").addClass('hidden');
|
|
|
39 |
}
|
| 17804 |
manish.sha |
40 |
}
|
| 17766 |
manish.sha |
41 |
}
|
| 17804 |
manish.sha |
42 |
$(function(){
|
|
|
43 |
loadCartDetails();
|
|
|
44 |
});
|
|
|
45 |
$(document).on('click','.number-spinner button',function(){
|
| 17766 |
manish.sha |
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 cartDetailsObj;
|
|
|
54 |
var jsonObjToBeStored = {};
|
|
|
55 |
var cartItems = {};
|
|
|
56 |
var cart_details = localStorage.getItem('cart_details');
|
|
|
57 |
if(cart_details!=undefined){
|
|
|
58 |
cartDetailsObj = JSON.parse(cart_details);
|
|
|
59 |
totalCartQuantity = cartDetailsObj.totalCartQuantity;
|
|
|
60 |
totalCartValue = cartDetailsObj.totalCartValue;
|
|
|
61 |
cartItems = cartDetailsObj.cartItems;
|
|
|
62 |
}
|
|
|
63 |
var inc = 0;
|
|
|
64 |
var dec = 0;
|
|
|
65 |
var sku = btn.data('id');
|
|
|
66 |
var unitPrice = btn.data('price');
|
|
|
67 |
var prodname = $(".number-spinner").data('name');
|
|
|
68 |
var brandname = $(".number-spinner").data('brand');
|
|
|
69 |
if (btn.attr('data-dir') == 'up') {
|
|
|
70 |
if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
|
|
|
71 |
if(parseInt(input.val())<5){
|
|
|
72 |
inc = 1;
|
|
|
73 |
newVal = parseInt(oldValue) + inc;
|
|
|
74 |
}else{
|
|
|
75 |
inc = 5-(parseInt(input.val())%5);
|
|
|
76 |
newVal = parseInt(oldValue) + inc;
|
| 17804 |
manish.sha |
77 |
if(newVal>parseInt(input.attr('max'))){
|
|
|
78 |
inc = parseInt(input.attr('max')) - parseInt(oldValue);
|
|
|
79 |
newVal = parseInt(oldValue) + inc;
|
|
|
80 |
}
|
| 17766 |
manish.sha |
81 |
}
|
|
|
82 |
}else{
|
|
|
83 |
newVal = parseInt(oldValue);
|
|
|
84 |
btn.prop("disabled", true);
|
|
|
85 |
}
|
|
|
86 |
totalCartQuantity = totalCartQuantity + inc;
|
|
|
87 |
} else {
|
|
|
88 |
if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
|
|
|
89 |
dec = 1;
|
|
|
90 |
newVal = parseInt(oldValue) - dec;
|
|
|
91 |
}else{
|
|
|
92 |
btn.prop("disabled", true);
|
|
|
93 |
}
|
|
|
94 |
totalCartQuantity = totalCartQuantity - dec;
|
|
|
95 |
}
|
|
|
96 |
|
|
|
97 |
btn.closest('.number-spinner').find('input').val(newVal);
|
|
|
98 |
if(cartDetailsObj==undefined){
|
|
|
99 |
jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
|
|
|
100 |
totalCartValue = totalCartValue + (unitPrice * newVal);
|
|
|
101 |
jsonObjToBeStored['totalCartValue'] = totalCartValue;
|
|
|
102 |
var itemDetail = {};
|
|
|
103 |
itemDetail['quantity']=newVal;
|
|
|
104 |
itemDetail['unitprice']=unitPrice;
|
|
|
105 |
itemDetail['productname']=prodname;
|
|
|
106 |
itemDetail['brand']=brandname;
|
|
|
107 |
cartItems[sku.toString()]=itemDetail;
|
|
|
108 |
jsonObjToBeStored['cartItems']=cartItems;
|
|
|
109 |
localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
|
|
|
110 |
}else{
|
|
|
111 |
cartDetailsObj.totalCartQuantity = totalCartQuantity;
|
|
|
112 |
var itemDetail = cartItems[sku.toString()];
|
|
|
113 |
if(itemDetail==undefined){
|
|
|
114 |
var itemDetail = {};
|
|
|
115 |
itemDetail['quantity']=newVal;
|
|
|
116 |
itemDetail['unitprice']=unitPrice;
|
|
|
117 |
itemDetail['productname']=prodname;
|
|
|
118 |
itemDetail['brand']=brandname;
|
|
|
119 |
totalCartValue = totalCartValue + (unitPrice * newVal);
|
|
|
120 |
cartItems[sku.toString()]=itemDetail;
|
|
|
121 |
}else{
|
|
|
122 |
totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
|
|
|
123 |
if(newVal==0){
|
|
|
124 |
delete cartItems[sku.toString()];
|
|
|
125 |
}else{
|
|
|
126 |
cartItems[sku.toString()].quantity = newVal;
|
|
|
127 |
cartItems[sku.toString()].unitprice = unitPrice;
|
|
|
128 |
}
|
|
|
129 |
|
|
|
130 |
}
|
|
|
131 |
cartDetailsObj.totalCartValue = totalCartValue;
|
|
|
132 |
cartDetailsObj.cartItems = cartItems;
|
|
|
133 |
localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
|
|
|
134 |
}
|
|
|
135 |
if(totalCartQuantity > 0){
|
|
|
136 |
$(".pmfooter span.carttotalval").text(numberWithCommas(totalCartValue));
|
|
|
137 |
$(".pmfooter span.badge").text(totalCartQuantity);
|
|
|
138 |
$(".pmfooter").removeClass('hidden');
|
|
|
139 |
}else{
|
|
|
140 |
$(".pmfooter span.carttotalval").text('0');
|
|
|
141 |
$(".pmfooter span.badge").text('0');
|
|
|
142 |
$(".pmfooter").addClass('hidden');
|
|
|
143 |
}
|
|
|
144 |
});
|
|
|
145 |
|
|
|
146 |
$(document).on('click','.see_more_colors',function(){
|
| 17804 |
manish.sha |
147 |
var id = $(".number-spinner button").data('id');
|
|
|
148 |
$(".morecoloroptions_"+$(this).data('id')+" button:first-child" ).addClass("active");
|
| 17766 |
manish.sha |
149 |
$('.morecoloroptions_'+$(this).data('id')).toggleClass('hidden');
|
|
|
150 |
});
|
|
|
151 |
|
| 17804 |
manish.sha |
152 |
$(document).on('click','.button-checkbox > .btn',function(){
|
|
|
153 |
$(this).addClass('active').siblings().removeClass('active');
|
|
|
154 |
var cart_details = localStorage.getItem('cart_details');
|
|
|
155 |
if(cart_details!=undefined){
|
|
|
156 |
var cartDetailsObj = JSON.parse(cart_details);
|
|
|
157 |
var item = cartDetailsObj.cartItems[$(this).data('id')];
|
|
|
158 |
if(item!=undefined){
|
| 17819 |
manish.sha |
159 |
$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('id',$(this).data('id'));
|
|
|
160 |
$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('price',parseInt($(this).data('price')));
|
| 17804 |
manish.sha |
161 |
$(".number-spinner input[data-did='"+$(this).data('did')+"']").attr('max',parseInt($(this).data('max')));
|
|
|
162 |
$(".number-spinner input[data-did='"+$(this).data('did')+"']").val(item.quantity);
|
|
|
163 |
$(".viewproduct span[data-did='"+$(this).data('did')+"']").text(parseInt($(this).data('price')));
|
|
|
164 |
cartDetailsObj.cartItems[$(this).data('id')].unitprice = parseInt($(this).data('price'));
|
|
|
165 |
localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
|
|
|
166 |
}else{
|
| 17819 |
manish.sha |
167 |
$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('id',$(this).data('id'));
|
|
|
168 |
$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('price',parseInt($(this).data('price')));
|
| 17804 |
manish.sha |
169 |
$(".number-spinner input[data-did='"+$(this).data('did')+"']").attr('max',parseInt($(this).data('max')));
|
|
|
170 |
$(".number-spinner input[data-did='"+$(this).data('did')+"']").val('0');
|
|
|
171 |
$(".viewproduct span[data-did='"+$(this).data('did')+"']").text(parseInt($(this).data('price')));
|
|
|
172 |
}
|
|
|
173 |
}else{
|
| 17819 |
manish.sha |
174 |
$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('id',$(this).data('id'));
|
|
|
175 |
$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('price',parseInt($(this).data('price')));
|
| 17804 |
manish.sha |
176 |
$(".number-spinner input[data-did='"+$(this).data('did')+"']").attr('max',parseInt($(this).data('max')));
|
|
|
177 |
$(".number-spinner input[data-did='"+$(this).data('did')+"']").val('0');
|
|
|
178 |
$(".viewproduct span[data-did='"+$(this).data('did')+"']").text(parseInt($(this).data('price')));
|
|
|
179 |
}
|
|
|
180 |
|
| 17766 |
manish.sha |
181 |
});
|
|
|
182 |
|
|
|
183 |
$("#bottomNav").click(function(){
|
| 17775 |
manish.sha |
184 |
var url = apihost + 'cartdetails/?user_id='+me;
|
| 17766 |
manish.sha |
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 |
});
|
|
|
195 |
|
|
|
196 |
function numberWithCommas(x) {
|
|
|
197 |
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
|
198 |
}
|
|
|
199 |
/*
|
|
|
200 |
$('.button-checkbox').each(function () {
|
|
|
201 |
|
|
|
202 |
// Settings
|
|
|
203 |
var $widget = $(this),
|
|
|
204 |
$button = $widget.find('button'),
|
|
|
205 |
$checkbox = $widget.find('input:checkbox'),
|
|
|
206 |
color = $button.data('color'),
|
|
|
207 |
settings = {
|
|
|
208 |
on: {
|
|
|
209 |
icon: 'glyphicon glyphicon-check'
|
|
|
210 |
},
|
|
|
211 |
off: {
|
|
|
212 |
icon: 'glyphicon glyphicon-unchecked'
|
|
|
213 |
}
|
|
|
214 |
};
|
|
|
215 |
|
|
|
216 |
// Event Handlers
|
|
|
217 |
$button.on('click', function () {
|
|
|
218 |
$checkbox.prop('checked', !$checkbox.is(':checked'));
|
|
|
219 |
$checkbox.triggerHandler('change');
|
|
|
220 |
updateDisplay();
|
|
|
221 |
});
|
|
|
222 |
$checkbox.on('change', function () {
|
|
|
223 |
updateDisplay();
|
|
|
224 |
});
|
|
|
225 |
|
|
|
226 |
// Actions
|
|
|
227 |
function updateDisplay() {
|
|
|
228 |
var isChecked = $checkbox.is(':checked');
|
|
|
229 |
|
|
|
230 |
// Set the button's state
|
|
|
231 |
$button.data('state', (isChecked) ? "on" : "off");
|
|
|
232 |
|
|
|
233 |
// Set the button's icon
|
|
|
234 |
$button.find('.state-icon')
|
|
|
235 |
.removeClass()
|
|
|
236 |
.addClass('state-icon ' + settings[$button.data('state')].icon);
|
|
|
237 |
|
|
|
238 |
// Update the button's color
|
|
|
239 |
if (isChecked) {
|
|
|
240 |
$button
|
|
|
241 |
.removeClass('btn-default')
|
|
|
242 |
.addClass('colorbtn active');
|
|
|
243 |
}
|
|
|
244 |
else {
|
|
|
245 |
$button
|
|
|
246 |
.removeClass('colorbtn active')
|
|
|
247 |
.addClass('btn-default');
|
|
|
248 |
}
|
|
|
249 |
}
|
|
|
250 |
|
|
|
251 |
// Initialization
|
|
|
252 |
function init() {
|
|
|
253 |
|
|
|
254 |
updateDisplay();
|
|
|
255 |
|
|
|
256 |
// Inject the icon if applicable
|
|
|
257 |
if ($button.find('.state-icon').length == 0) {
|
|
|
258 |
$button.prepend('<i class="state-icon ' + settings[$button.data('state')].icon + '"></i>');
|
|
|
259 |
}
|
|
|
260 |
}
|
|
|
261 |
init();
|
|
|
262 |
});*/
|