Subversion Repositories SmartDukaan

Rev

Rev 17905 | Rev 17909 | 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 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');
17871 manish.sha 6
	$(".pmfooter span.carttotalitemsval").text('0');
17766 manish.sha 7
	$(".pmfooter span.badge").text('0');
8
	$(".pmfooter").addClass('hidden');
9
}else{
10
	var cartDetailsObj = JSON.parse(cart_details);
11
	if(cartDetailsObj.totalCartQuantity > 0){
12
		$(".pmfooter span.badge").text(cartDetailsObj.totalCartQuantity.toString());
17871 manish.sha 13
		$(".pmfooter span.carttotalitemsval").text(cartDetailsObj.totalSkus.toString());
17766 manish.sha 14
		var totalCartValue = cartDetailsObj.totalCartValue;
15
		var priceChangeMap = {};
16
		$.each(cartDetailsObj.cartItems, function(key,val) {
17
			var newUnitPrice = $(".number-spinner button[data-id='"+key+"']").data('price');
17774 manish.sha 18
			if(newUnitPrice!=undefined){
19
				$(".number-spinner button[data-id='"+key+"']").closest('.number-spinner').find('input').val(val.quantity);
20
				if(parseInt(newUnitPrice)!=parseInt(val.unitprice)){
21
					totalCartValue = totalCartValue - (parseInt(val.unitprice)*parseInt(val.quantity)) + (parseInt(newUnitPrice)*parseInt(val.quantity));
22
					priceChangeMap[key] = newUnitPrice;
23
				}
17766 manish.sha 24
			}
25
		});
26
		$(".pmfooter span.carttotalval").text(numberWithCommas(totalCartValue));
17774 manish.sha 27
		if(totalCartValue!=undefined){
28
			cartDetailsObj.totalCartValue = totalCartValue;
29
		}
17766 manish.sha 30
		var cartItems = cartDetailsObj.cartItems;
31
		$.each(priceChangeMap, function(key,val) {
17804 manish.sha 32
			cartItems[key].unitprice = val;
17766 manish.sha 33
		});
34
		cartDetailsObj.cartItems = cartItems;
35
		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
36
		$(".pmfooter").removeClass('hidden');
37
	}else{
17827 manish.sha 38
		$.each(cartDetailsObj.cartItems, function(key,val) {
39
			var newUnitPrice = $(".number-spinner button[data-id='"+key+"']").data('price');
40
			if(newUnitPrice!=undefined){
41
				$(".number-spinner button[data-id='"+key+"']").closest('.number-spinner').find('input').val(val.quantity);
42
				if(parseInt(newUnitPrice)!=parseInt(val.unitprice)){
43
					totalCartValue = totalCartValue - (parseInt(val.unitprice)*parseInt(val.quantity)) + (parseInt(newUnitPrice)*parseInt(val.quantity));
44
					priceChangeMap[key] = newUnitPrice;
45
				}
46
			}
47
		});
17766 manish.sha 48
		$(".pmfooter span.carttotalval").text('0');
49
		$(".pmfooter span.badge").text('0');
17871 manish.sha 50
		$(".pmfooter span.carttotalitemsval").text('0');
17766 manish.sha 51
		$(".pmfooter").addClass('hidden');
52
	}
17804 manish.sha 53
	}
17766 manish.sha 54
}
17804 manish.sha 55
$(function(){
56
	loadCartDetails();
57
});
58
$(document).on('click','.number-spinner button',function(){
17766 manish.sha 59
    btn = $(this);
60
    input = btn.closest('.number-spinner').find('input');
61
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
62
	newVal = 0;
63
    btn.closest('.number-spinner').find('button').prop("disabled", false);
64
    var totalCartQuantity = 0;
65
    var totalCartValue = 0;
17871 manish.sha 66
    var totalSkus = 0;
17766 manish.sha 67
    var cartDetailsObj; 
68
    var jsonObjToBeStored = {};
69
    var cartItems = {};
70
    var cart_details = localStorage.getItem('cart_details');
71
    if(cart_details!=undefined){
72
    	cartDetailsObj = JSON.parse(cart_details);
73
    	totalCartQuantity = cartDetailsObj.totalCartQuantity;
74
    	totalCartValue = cartDetailsObj.totalCartValue;
75
    	cartItems = cartDetailsObj.cartItems;
76
    }
77
    var inc = 0;
78
    var dec = 0;
79
    var sku = btn.data('id');
80
    var unitPrice = btn.data('price');
81
    var prodname = $(".number-spinner").data('name');
82
    var brandname = $(".number-spinner").data('brand');
83
    if (btn.attr('data-dir') == 'up') {
84
		if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
85
			if(parseInt(input.val())<5){
86
				inc = 1;
87
				newVal = parseInt(oldValue) + inc;
88
			}else{
89
				inc = 5-(parseInt(input.val())%5);
90
				newVal = parseInt(oldValue) + inc;
17804 manish.sha 91
				if(newVal>parseInt(input.attr('max'))){
92
					inc = parseInt(input.attr('max')) - parseInt(oldValue);
93
					newVal = parseInt(oldValue) + inc;
94
				}
17766 manish.sha 95
			}
96
		}else{
97
			newVal = parseInt(oldValue);
98
			btn.prop("disabled", true);
99
		}
100
		totalCartQuantity = totalCartQuantity + inc;
101
	} else {
102
		if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
103
		    dec = 1;
104
			newVal = parseInt(oldValue) - dec;
105
		}else{
106
			btn.prop("disabled", true);
107
		}
108
		totalCartQuantity = totalCartQuantity - dec;
109
	}
110
 
111
	btn.closest('.number-spinner').find('input').val(newVal);
112
	if(cartDetailsObj==undefined){
113
		jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
114
		totalCartValue = totalCartValue + (unitPrice * newVal);
115
		jsonObjToBeStored['totalCartValue'] = totalCartValue;
116
		var itemDetail = {};
117
		itemDetail['quantity']=newVal;
118
		itemDetail['unitprice']=unitPrice;
119
		itemDetail['productname']=prodname;
120
		itemDetail['brand']=brandname;
121
		cartItems[sku.toString()]=itemDetail;
17871 manish.sha 122
		$.each( cartItems, function(itemId,value){
123
			if(value['quantity']>0){
124
				totalSkus = totalSkus +1;
125
			}
126
		});
17766 manish.sha 127
		jsonObjToBeStored['cartItems']=cartItems;
17871 manish.sha 128
		jsonObjToBeStored['totalSkus']=totalSkus;
17766 manish.sha 129
		localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
130
	}else{
131
		cartDetailsObj.totalCartQuantity = totalCartQuantity;
132
		var itemDetail = cartItems[sku.toString()];
133
		if(itemDetail==undefined){
134
			var itemDetail = {};
135
			itemDetail['quantity']=newVal;
136
			itemDetail['unitprice']=unitPrice;
137
			itemDetail['productname']=prodname;
138
			itemDetail['brand']=brandname;
139
			totalCartValue = totalCartValue + (unitPrice * newVal);
140
			cartItems[sku.toString()]=itemDetail;
141
		}else{
142
			totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
143
			if(newVal==0){
17831 manish.sha 144
				cartItems[sku.toString()].quantity = 0;
145
				cartItems[sku.toString()].unitprice = unitPrice;
17766 manish.sha 146
			}else{
147
				cartItems[sku.toString()].quantity = newVal;
148
				cartItems[sku.toString()].unitprice = unitPrice;
149
			}
150
 
151
		}
17871 manish.sha 152
		$.each( cartItems, function(itemId,value){
153
			if(value['quantity']>0){
154
				totalSkus = totalSkus +1;
155
			}
156
		});
17766 manish.sha 157
		cartDetailsObj.totalCartValue = totalCartValue;
17871 manish.sha 158
		cartDetailsObj.totalSkus = totalSkus;
17766 manish.sha 159
		cartDetailsObj.cartItems = cartItems;
160
		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
161
	}
162
	if(totalCartQuantity > 0){
163
		$(".pmfooter span.carttotalval").text(numberWithCommas(totalCartValue));
164
		$(".pmfooter span.badge").text(totalCartQuantity);
17871 manish.sha 165
		$(".pmfooter span.carttotalitemsval").text(totalSkus);
17766 manish.sha 166
		$(".pmfooter").removeClass('hidden');
167
	}else{
168
		$(".pmfooter span.carttotalval").text('0');
169
		$(".pmfooter span.badge").text('0');
17871 manish.sha 170
		$(".pmfooter span.carttotalitemsval").text('0');
17766 manish.sha 171
		$(".pmfooter").addClass('hidden');
172
	}
173
});
174
 
175
$(document).on('click','.see_more_colors',function(){
17804 manish.sha 176
	var id = $(".number-spinner button").data('id');
177
	$(".morecoloroptions_"+$(this).data('id')+" button:first-child" ).addClass("active");
17766 manish.sha 178
	$('.morecoloroptions_'+$(this).data('id')).toggleClass('hidden');
179
});
180
 
17804 manish.sha 181
$(document).on('click','.button-checkbox > .btn',function(){
182
    $(this).addClass('active').siblings().removeClass('active');
183
    var cart_details = localStorage.getItem('cart_details');
184
    if(cart_details!=undefined){
185
    	var cartDetailsObj = JSON.parse(cart_details);
186
    	var item = cartDetailsObj.cartItems[$(this).data('id')];
187
    	if(item!=undefined){
17819 manish.sha 188
    		$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('id',$(this).data('id'));
189
    		$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('price',parseInt($(this).data('price')));
17804 manish.sha 190
    		$(".number-spinner input[data-did='"+$(this).data('did')+"']").attr('max',parseInt($(this).data('max')));
191
    		$(".number-spinner input[data-did='"+$(this).data('did')+"']").val(item.quantity);
192
    		$(".viewproduct span[data-did='"+$(this).data('did')+"']").text(parseInt($(this).data('price')));
193
    		cartDetailsObj.cartItems[$(this).data('id')].unitprice = parseInt($(this).data('price'));
194
    		localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
195
       	}else{
17819 manish.sha 196
       		$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('id',$(this).data('id'));
197
    		$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('price',parseInt($(this).data('price')));
17804 manish.sha 198
    		$(".number-spinner input[data-did='"+$(this).data('did')+"']").attr('max',parseInt($(this).data('max')));
199
    		$(".number-spinner input[data-did='"+$(this).data('did')+"']").val('0');
200
    		$(".viewproduct span[data-did='"+$(this).data('did')+"']").text(parseInt($(this).data('price')));
201
       	}
202
    }else{
17819 manish.sha 203
    	$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('id',$(this).data('id'));
204
		$(".number-spinner button[data-did='"+$(this).data('did')+"']").data('price',parseInt($(this).data('price')));
17804 manish.sha 205
		$(".number-spinner input[data-did='"+$(this).data('did')+"']").attr('max',parseInt($(this).data('max')));
206
		$(".number-spinner input[data-did='"+$(this).data('did')+"']").val('0');
207
		$(".viewproduct span[data-did='"+$(this).data('did')+"']").text(parseInt($(this).data('price')));
208
    }
209
 
17766 manish.sha 210
});
211
 
212
$("#bottomNav").click(function(){
17775 manish.sha 213
	var url = apihost + 'cartdetails/?user_id='+me;
17766 manish.sha 214
    var newForm = $('<form>', {
215
        'action': url,
216
        'method':'post'
217
    }).append($('<input>', {
218
        'name': 'cart_details',
219
        'value': localStorage.getItem('cart_details'),
220
        'type': 'hidden'
221
    }));
222
    newForm.submit();
223
});
224
 
225
function numberWithCommas(x) {
226
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
227
}
17839 manish.sha 228
 
229
$(document).on('click','.radGroup2',function(){
230
    var pin = $(this).data('pin');
231
     var add_id = $(this).data('id');
17882 naman 232
 
17839 manish.sha 233
    $('#loadingModal').modal('show');
234
    $.ajax({
235
    method: "GET",
17882 naman 236
    url: apihost+"shippings/isServicable/"+pin
17839 manish.sha 237
  })
238
    .done(function( msg ) {
17882 naman 239
        console.log(msg);
17839 manish.sha 240
        $('#loadingModal').modal('hide');
241
        if(msg== 'true'){
242
            $('.myaddress').removeClass('addressselect');
243
            $('#address'+add_id).addClass('addressselect');
244
        }
245
        if(msg== 'false'){
246
            $('#message').empty();
247
            $('#message').append("Location is not serviceable...");
248
            $('#message').removeClass('hidden');
249
            $("input:radio").removeAttr("checked");
250
            $('.myaddress').removeClass('addressselect');
251
            setTimeout(function() {
252
                $('#message').addClass('hidden');
253
            }, 2000);
254
        }
255
 
256
        // alert(msg);
257
    });
258
}); 
259
 
260
$(document).on('click','#showmore',function(){
261
    $("#showmoreaddressdropdown").toggle();
262
    if($('#showmore').html() == 'Show More')
263
    {
264
        $("#showmore").html('Show Less');
265
    }
266
    else if($("#showmore").html() == 'Show Less')
267
    {
268
        // $("#showmore").empty();
269
        $("#showmore").html('Show More');    
270
    }
271
});
272
 
17882 naman 273
 
274
 
275
$(document).on('click', '.submit_check', function(){
276
	var formData = {
277
        'name'              : $('#name').val(),
278
        'line1'             : $('#line1').val(),
279
        'city'    			: $('#city').val(),
280
        'phone'				: $('#phone').val(),
281
        'state'				: $('#state').val(),
282
        'pin'				: $('#pin').val()
283
    };
17907 amit.gupta 284
    debugger;
285
    if (!$myForm[0].checkValidity()) {
286
    	return;
287
    }
17882 naman 288
    payOption = $(this).data('name');
289
    $.ajax({
290
                method: "POST",
291
                url:  apihost + "shippings/submitcheck",
292
                data: formData,
293
            },'json').done(function(msg){ 
294
            	console.log(msg);
17893 amit.gupta 295
            	if(msg=='')
17882 naman 296
            	{	
297
            		window.location.replace(apihost + "shippings/index/"+msg);
298
            	} else {
299
            		if(payOption=='cod'){
17893 amit.gupta 300
            			confirmCheckout(msg);
17882 naman 301
            		} else if (payOption=='other_option'){
17893 amit.gupta 302
            			confirmPrepaid(msg);
17882 naman 303
            		}
304
            	}    	                    
305
            }); 
306
	});
307
 
17893 amit.gupta 308
function confirmPrepaid(addressid){
17907 amit.gupta 309
	if (typeof addressid=="undefined"){
17893 amit.gupta 310
		addressid=$("input.css-checkbox:checked").val();
311
	}
17882 naman 312
	var url = apihost + 'checkout/?user_id='+me+'&cod=0';
17871 manish.sha 313
    var newForm = $('<form>', {
314
        'action': url,
315
        'method':'post'
316
    }).append($('<input>', {
317
        'name': 'addressid',
17893 amit.gupta 318
        'value': addressid,
17871 manish.sha 319
        'type': 'hidden'
17882 naman 320
    })).append($('<input>', {
321
        'name': 'cart_details',
322
        'value': localStorage.getItem('cart_details'),
323
        'type': 'hidden'
17871 manish.sha 324
    }));
325
    newForm.submit();
17882 naman 326
}
17871 manish.sha 327
 
17893 amit.gupta 328
function confirmCheckout(addressid){
17882 naman 329
	var url = apihost + 'checkout/?user_id='+me+'&cod=1';
17907 amit.gupta 330
	if (typeof addressid=="undefined"){
17893 amit.gupta 331
		addressid=$("input.css-checkbox:checked").val();
332
	}
17871 manish.sha 333
    var newForm = $('<form>', {
334
        'action': url,
335
        'method':'post'
336
    }).append($('<input>', {
337
        'name': 'addressid',
17893 amit.gupta 338
        'value': addressid,
17871 manish.sha 339
        'type': 'hidden'
340
    }));
341
    newForm.submit();
17882 naman 342
}
343
$(document).on('click','a.confirmprepaid',confirmPrepaid);
344
$(document).on('click','button.confirmcheckout',confirmCheckout);
17871 manish.sha 345
 
17766 manish.sha 346
/*
347
$('.button-checkbox').each(function () {
348
 
349
    // Settings
350
    var $widget = $(this),
351
        $button = $widget.find('button'),
352
        $checkbox = $widget.find('input:checkbox'),
353
        color = $button.data('color'),
354
        settings = {
355
            on: {
356
                icon: 'glyphicon glyphicon-check'
357
            },
358
            off: {
359
                icon: 'glyphicon glyphicon-unchecked'
360
            }
361
        };
362
 
363
    // Event Handlers
364
    $button.on('click', function () {
365
        $checkbox.prop('checked', !$checkbox.is(':checked'));
366
        $checkbox.triggerHandler('change');
367
        updateDisplay();
368
    });
369
    $checkbox.on('change', function () {
370
        updateDisplay();
371
    });
372
 
373
    // Actions
374
    function updateDisplay() {
375
        var isChecked = $checkbox.is(':checked');
376
 
377
        // Set the button's state
378
        $button.data('state', (isChecked) ? "on" : "off");
379
 
380
        // Set the button's icon
381
        $button.find('.state-icon')
382
            .removeClass()
383
            .addClass('state-icon ' + settings[$button.data('state')].icon);
384
 
385
        // Update the button's color
386
        if (isChecked) {
387
            $button
388
                .removeClass('btn-default')
389
                .addClass('colorbtn active');
390
        }
391
        else {
392
            $button
393
                .removeClass('colorbtn active')
394
                .addClass('btn-default');
395
        }
396
    }
397
 
398
    // Initialization
399
    function init() {
400
 
401
        updateDisplay();
402
 
403
        // Inject the icon if applicable
404
        if ($button.find('.state-icon').length == 0) {
405
            $button.prepend('<i class="state-icon ' + settings[$button.data('state')].icon + '"></i>');
406
        }
407
    }
408
    init();
409
});*/