function callBasketHandler(id, action, type) {
		var args = convertId(id, type);
		var xwtObj = new XWTObject();
		xwtObj.setParameter('AJAX_HANDLER', 'basket');
		xwtObj.setParameter('action', action);
		xwtObj.setParameter('id', args);
		var callback = new BasketCallback();
		xwtObj.setCallbackHandler(callback);
		var path = getContext() + '/AJAXControllerServlet';
		xwtObj.submit(path + '?' + xwtObj.getQuery(xwtObj));
}
function showBasketStatus(id, type) {
	callBasketHandler(id, 'checkStatus', type);
}
function removeFromBasket(id, type) {
	callBasketHandler(id, 'remove', type);
}
function addToBasket(id, type) {
	callBasketHandler(id, 'add', type);
}

function convertId(idList, type) {
	var languageCode = getLanguageSID();
	var idsValues = idList.split(',');
	var ret = '';
	for (var i = 0; i < idsValues.length; i++) {
		var idValue = idsValues[i];
		if (idValue != '') {
			ret += type+languageCode+idValue;
			if (i != idsValues.length - 1) {
				ret += ',';
			}
		}
	}
	return ret;
}

function BasketCallback() {
	this.callback = function(reqResponseXML) {
		var idValue = reqResponseXML.getElementsByTagName("id")[0].childNodes[0].nodeValue
		var context = reqResponseXML.getElementsByTagName("result")[0].childNodes[0].nodeValue
		var ids = idValue.split(',');
		for (var index in ids) {
			var id = ids[index];
			var addToBasketObj = document.getElementById('linkAddToBasket');
			var removeFromBasketObj = document.getElementById('linkRemoveFromBasket');
			if ('true' == context) {
				addToBasketObj.style.display = 'none';
				removeFromBasketObj.style.display = '';
			} else {
				addToBasketObj.style.display = '';
				removeFromBasketObj.style.display = 'none';
			}
		}
		var countsObj = reqResponseXML.getElementsByTagName("count");
		var count = "";
		if (countsObj && countsObj.length > 0 && countsObj[0] && countsObj[0].childNodes.length > 0 ) {
			count = countsObj[0].childNodes[0].nodeValue;			
		}

		var basketCountObj = document.getElementById("header_myBasketCount");
		if (basketCountObj && count && count.length > 0) {
			basketCountObj.innerHTML = count + "";
		}
	}
};