Subversion Repositories SmartDukaan

Rev

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