Subversion Repositories SmartDukaan

Rev

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