Subversion Repositories SmartDukaan

Rev

Rev 23500 | Rev 24202 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23343 ashik.ali 1
$(function() {
2
	$(".cart_icon_header").live('click', function() {
3
		loadCart("main-content");
4
	});
5
 
6
	$(".cart-checkout").live('click', function() {
7
		checkout("main-content");
8
	});
9
 
10
	$(".add-to-bag").live('click', function() {
23405 amit.gupta 11
		$('#catalogModalBody').hide();
23343 ashik.ali 12
		var itemId = $(this).attr('data');
13
		$("#bagModel .itemId").val(itemId);
14
		$("#bagModel .quantity").val(0);
23500 ashik.ali 15
		doGetAjaxRequestHandler(context+"/checkItemAvailability/?itemId="+itemId, function(response){
23347 ashik.ali 16
			var obj = JSON.parse(response);
17
			console.log(obj);
18
			console.log(obj.displayName);
19
			$(".modal-body h4.bagModalProductInfo.modelHeaderCustom > span").text(obj.displayName);
20
			$(".modal-body h4.bagModalAvailability.modelHeaderCustom > span").text(obj.availability);
23405 amit.gupta 21
			inputEle = [];
22
			if("earlyImeis" in obj) {
23
				for(i in obj.earlyImeis) {
24
					inputEle.push('<span class="input-group-addon">');
25
					inputEle.push('<input type="checkbox" aria-label="..." name="interest" value="'  + obj.earlyImeis[i] +  '" id="'  + obj.earlyImeis[i] +  '"/>');
26
					inputEle.push('<label for="'  + obj.earlyImeis[i] +  '">'  + obj.earlyImeis[i] +  '</label>');
27
					inputEle.push('</span>');
23967 amit.gupta 28
					if(i%3==2){
29
						inputEle.push('</br>');
30
					}
23405 amit.gupta 31
					$(".modal-body h4.bagMaodalEarlyImeis.modelHeaderCustom > span").html(inputEle.join(''));
32
				}
33
				$(".modal-body h4.bagMaodalEarlyImeis.modelHeaderCustom").show();
34
				$(".modal-body h4.bagMaodalQuantity.modelHeaderCustom").hide();
35
			} else {
36
				$(".modal-body h4.bagMaodalEarlyImeis.modelHeaderCustom").hide();
37
				$(".modal-body h4.bagMaodalQuantity.modelHeaderCustom").show();
38
 
39
			}
23347 ashik.ali 40
			$("#bagModel .availability").val(obj.availability);
23405 amit.gupta 41
			$('#catalogModalBody').show();
23347 ashik.ali 42
		});
43
 
23343 ashik.ali 44
	});
45
 
46
	//addToBagButton
47
 
48
	$("#addToBagButton").live('click', function() {
49
		var itemId = $("#bagModel .itemId").val();
50
		var tempAvailability = $("#bagModel .availability").val();
51
		var quantity = $("#bagModel .quantity").val();
23405 amit.gupta 52
		imeiCount = $('h4.bagMaodalEarlyImeis').find('input').length;
53
		if(imeiCount > 0) {
54
			quantity = $('h4.bagMaodalEarlyImeis').find('input:checked').length;
55
			if(quantity == 0) {
56
				alert("Please check one of the imei(s)");
57
				return;
58
			}
59
		} else if (!quantity || parseInt(quantity) <= 0 || isNaN(parseInt(quantity)) || quantity.indexOf('.') != -1){
23343 ashik.ali 60
			alert("Please enter valid quantity");
61
			return;
62
		}
63
 
23500 ashik.ali 64
		doGetAjaxRequestHandler(context+"/checkItemAvailability/?itemId="+itemId, function(response){
65
			var obj = JSON.parse(response);
66
			console.log(obj);
67
			if (obj.availability < parseInt(quantity) || obj.availability == 0){
68
				alert("You don't have enough inventory of this item");
69
				return;
70
			}
71
			var obj = {'itemId':obj.itemId,'displayName':obj.displayName,'quantity':parseInt(quantity),'iconUrl':obj.iconUrl};
72
			if(imeiCount > 0) {
73
				obj['imeis'] = [];
74
				$('h4.bagMaodalEarlyImeis').find('input:checked').each(function(index, ele){
75
					obj['imeis'].push(ele.value);
76
				});
77
			}
78
			console.log(obj);
79
			addItemInLocalStorage(obj);
80
			alert("Item added to bag successfully");
81
			$('#bagModel').modal('hide');
82
 
83
		});	
84
 
23343 ashik.ali 85
	});
86
 
87
	$(".cart-trash").live('click',function(){
88
		var itemId = $(this).attr('data');
89
		removeItemFromLocalStorage(itemId);
90
		$('div[itemId="' + itemId + '"]').remove();
91
		if ($('#cart-details').html().trim() == ""){
92
			$('#cart-details-empty').show();
93
			$('#cart-checkout').hide();
94
		}
95
	});
96
 
97
	$(".cart-qty").live('change paste keyup mouseup', function() {
98
		var itemId = $(this).attr('data');
99
		var maxQty = $(this).attr('max');
100
		var qty = $(this).val();
101
		if (!qty){
102
			qty = 0;
103
		}
104
		if(parseInt(qty) < 0){
105
			alert("Invalid quantity");
106
			$(this).val(0);
107
			qty = 0;
108
		}
109
		if (parseInt(qty) > parseInt(maxQty)){
110
			alert("You don't have availability of "+qty);
111
			$(this).val(maxQty);
112
			qty = maxQty;
113
		}
114
		changeQuantityInLocalStorage(itemId, qty);
115
	});
116
});
117
 
118
 
119
 
120
function addItemInLocalStorage(bagObj){
121
	if (localStorage.getItem("bag")!=null){
122
		var bag = JSON.parse(localStorage.getItem("bag"));
123
		bag[bagObj.itemId] = bagObj
124
		localStorage.setItem("bag",JSON.stringify(bag));
125
		bag = localStorage.getItem("bag")
126
		$("#cart_bar").find('span').text(Object.keys(JSON.parse(bag)).length);
127
	}
128
	else{
129
		var tempObj = {};
130
		tempObj[bagObj.itemId] = bagObj
131
		localStorage.setItem("bag",JSON.stringify(tempObj));
132
		var bag = localStorage.getItem("bag")
133
		$("#cart_bar").find('span').text(Object.keys(JSON.parse(bag)).length);
134
	}
135
}
136
 
137
 
138
function changeQuantityInLocalStorage(itemId, newQuantity){
139
	var bag = JSON.parse(localStorage.getItem("bag"));
140
	bag[itemId].quantity = newQuantity;
141
	localStorage.setItem("bag",JSON.stringify(bag));
142
}
143
 
144
function removeItemFromLocalStorage(itemId){
145
	if (localStorage.getItem("bag")!=null){
146
		var bag = JSON.parse(localStorage.getItem("bag"));
147
		delete bag[itemId];
148
		localStorage.setItem("bag",JSON.stringify(bag));
149
		$("#cart_bar").find('span').text(Object.keys(bag).length);
150
	}
151
}
152
 
153
function emptyBag(){
154
	localStorage.setItem("bag",JSON.stringify({}));
155
	$("#cart_bar").find('span').text(0);
156
}
157
 
158
function loadCart(domId){
159
	var params = {
160
			"cartData":localStorage.getItem("bag")
161
		}
23500 ashik.ali 162
	doPostAjaxRequestWithParamsHandler(context+"/cart", params, function(response){
23343 ashik.ali 163
		$('#' + domId).html(response);
164
	});
165
}
166
 
167
function checkout(domId){
168
	var params = {
169
			"cartData":localStorage.getItem("bag")
170
		}
23500 ashik.ali 171
	doPostAjaxRequestWithParamsHandler(context+"/validate-cart", params, function(response){
23343 ashik.ali 172
		$('#' + domId).html(response);
173
		var obj = JSON.parse(response);
23500 ashik.ali 174
		redirectCart(obj.redirectUrl, obj.params, "main-content");
23343 ashik.ali 175
		$('#main-content').html(response);
176
	});
177
}
178
 
23500 ashik.ali 179
function redirectCart(url, cartData, domId){
180
	var params = {
181
		"cartData":cartData	
182
	}
183
	doPostAjaxRequestWithParamsHandler(context + url, params, function(response){
184
        $('#' + domId).html(response);
185
        cartData = JSON.parse(cartData);
186
        for(itemId in cartData) {
187
        	if('imeis' in cartData[itemId]){
188
        		$('#order-details').find('input[name="serialNumber"][itemId="' + itemId + '"]').each(function(i,e){
189
        			e.value = cartData[itemId].imeis[i];
190
        		});
191
        	}
23343 ashik.ali 192
        }
23500 ashik.ali 193
        window.dispatchEvent(new Event('resize'));
194
	}); 
23343 ashik.ali 195
}