function BBCart( action, itemID, callBack) {

	switch(action) {
		case "add":
			BBVars.currentProdID 	= itemID;
			jQuery.get(
				BBVars.pagesURL	+ "ajax/panier.cfm?formAction=add&attribs=0&quantite_souhaitee=1"
				+ "&produit_id=" + BBVars.currentProdID
				+ ( (typeof(callBack)=="undefined") ? "" : "&acc=true" )
				+ ( (jQuery("#crossSelling_layer ul.popup").length==0) ? "" : "&cross=true" ),
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
		case "addPanierCross":
			BBVars.currentProdID 	= itemID;
			$.get(
				BBVars.pagesURL	+ "ajax/panier.cfm?formAction=addPanierCross&attribs=0&quantite_souhaitee=1"
				+"&produit_id=" 		+BBVars.currentProdID,
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
		case "qtyMinus":
			if( BBVars.currentProdQty-1 > 0) {
				BBVars.currentProdQty -= 1;
				if(BBVars.attDspType==1) BBVars.tmpProdQty -=1;
				$("#"+itemID).html(BBVars.currentProdQty);
			}
			break;
		case "qtyPlus":
			if( BBVars.currentProdQty+1 <= BBSettings.prodMaxQty && BBVars.currentProdQty+1 <= BBVars.currentProdStock) {
				BBVars.currentProdQty += 1;
				if(BBVars.attDspType==1) BBVars.tmpProdQty +=1;
				$("#"+itemID).html(BBVars.currentProdQty);
			} else {
				var maxProd = (BBSettings.prodMaxQty>BBVars.currentProdStock) ? BBVars.currentProdStock : BBSettings.prodMaxQty;
				var message = BBLabels.label_prodMaxQty.replace(/%/,maxProd);
				BBTool_openMsgBox(message, false);
			}
			break;
		case "getProdSheet":
			
			$.get(
				BBVars.pagesURL 	+"fiche.cfm?isAjax=true"
				+"&prodID="			+itemID,
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
		case "getProd360":
			
			$.get(
				BBVars.pagesURL + "ajax/getProd360.cfm?url360="+itemID,
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
			case "OlympusVideo":
			
			$.get(
				BBVars.pagesURL + "ajax/OlympusVideo.cfm?produit_id="+itemID,
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
		case "getAllOptions":
			break;
		case "getOptions":
			if(typeof itemID == "undefined") {
				if(BBVars.currentProdID == 0) itemID = BBSettings.defaultItemName + "1";
				BBVars.attDspType	= 1;
			} else {
				var prodItem 				= $("#"+itemID);
					BBVars.currentProdID 	= prodItem.attr("prodID");
					BBVars.currentColorID 	= prodItem.attr("colorID");
					BBVars.attDspType		= 0;
			}
			$.get(
				BBVars.pagesURL 	+"ajax/quickBuy.cfm"
				+"?prodID="			+BBVars.currentProdID
				+"&attDetID="		+BBVars.currentColorID
				+"&langID="			+BBVars.currentLang
				+"&countryID="		+BBVars.currentCountry
				+"&attDspType="		+BBVars.attDspType,
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
		case "addOption":
			
			if((BBVars.currentProdID+BBVars.currentProdEAN+BBVars.currentOptionID+BBVars.currentProdQty)>1) {
				$.get(
					BBVars.pagesURL 		+"ajax/panier.cfm?formAction=add&attribs=1"
					+"&produit_id=" 		+BBVars.currentProdID
					+"&code_ean=" 			+BBVars.currentProdEAN
					+"&type_vente=" 		+BBVars.currentProdSale
					+"&option_id="			+BBVars.currentOptionID
					+"&quantite_souhaitee="	+BBVars.currentProdQty,
					function(data) {BBTool_openMsgBox(data, true);}
				);
				BBVars.currentProdID	= BBVars.tmpProdID;
				BBVars.currentProdEAN	= BBVars.tmpProdEAN;
				BBVars.currentProdSale	= 1;
				BBVars.currentOptionID	= BBVars.tmpOptionID;
				BBVars.currentProdQty	= BBVars.tmpProdQty;
			} else BBTool_openMsgBox(BBLabels.label_errorAttribs, false);
			break;
		case "addWLOption":
			if((BBVars.currentProdID+BBVars.currentProdEAN+BBVars.currentOptionID+BBVars.currentProdQty)>1) {
				$.get(
					BBVars.pagesURL 		+"ajax/whishlist.cfm?formAction=add_whishlist&attribs=1"
					+"&produit_id=" 		+BBVars.currentProdID
					+"&code_ean=" 			+BBVars.currentProdEAN
					+"&type_vente=" 		+BBVars.currentProdSale
					+"&option_id="			+BBVars.currentOptionID
					+"&quantite_souhaitee="	+BBVars.currentProdQty,
					function(data) {BBTool_openMsgBox(data, true);}
				);
				BBVars.currentProdID	= BBVars.tmpProdID;
				BBVars.currentProdEAN	= BBVars.tmpProdEAN;
				BBVars.currentProdSale	= 1;
				BBVars.currentOptionID	= BBVars.tmpOptionID;
				BBVars.currentProdQty	= BBVars.tmpProdQty;
			} else BBTool_openMsgBox(BBLabels.label_errorAttribs, false);
			break;
		case "setAttrib":
			if(typeof itemID == undefined) itemID = BBSettings.defaultItemName + BBVars.currentProdID + "_1";
			var prodItem = $("#"+itemID);
				BBVars.currentProdEAN		= prodItem.attr("ref");
				BBVars.currentProdSale		= prodItem.attr("type");
				BBVars.currentOptionID		= prodItem.attr("optionID");
				BBVars.currentProdStock		= prodItem.attr("stock");
				BBVars.currentPriceUpd		= eval(prodItem.attr("priceUpd"));
				BBVars.currentOldPriceUpd	= eval(prodItem.attr("oldPriceUpd"));
				//BBSettings.prodMaxQty	= (BBSettings.prodMaxQty>BBVars.currentProdStock) ? BBVars.currentProdStock : BBSettings.prodMaxQty;
			if(BBVars.attDspType==1) {
				BBVars.tmpProdID			= BBVars.currentProdID;
				BBVars.tmpColorID			= BBVars.currentColorID;
				BBVars.tmpProdEAN			= BBVars.currentProdEAN;
				BBVars.tmpOptionID			= BBVars.currentOptionID;
				BBVars.tmpProdQty			= BBVars.currentProdQty;
				BBVars.tmpPriceUpd			= BBVars.currentPriceUpd;
				BBVars.tmpOldPriceUpd		= BBVars.currentOldPriceUpd;
			}
			
			if(BBVars.currentProdStock<=0) BBCart('setAttrib', $(prodItem).next().attr("id"), setAttrib_callBack);
			var currentQty = (eval($("#prodQty"+BBVars.currentProdID).html())>BBVars.currentProdStock) ? BBVars.currentProdStock : $("#prodQty"+BBVars.currentProdID).html();
			$("#prodQty"+BBVars.currentProdID).html(parseInt(currentQty));
			BBVars.currentProdQty = parseInt(currentQty);
			var S = new Array();
			if(BBVars.currentPageName=="fiche") UpdateTotal(BBVars.currentPriceUpd, BBVars.currentOldPriceUpd, S);
			break;
		case "check":
			$.get(
				BBVars.pagesURL + "ajax/panier.cfm?frmAction=check",
				function(data) {BBTool_openMsgBox(data, true);}
			);
			
			break;
		case "coupon":
			$("#"+itemID).attr("value","coupon");
			$("#action").attr("value","coupon");
			BBTool_formPost(itemID, false);
			break;
		case "update":
			$("#action_form").attr("value","update");
			BBTool_formPost(itemID, false);
			/*$.get(
				BBVars.pagesURL + "ajax/panier.cfm?formAction=update",
				function(data) {BBTool_openMsgBox(data, true);}
			);*/
			break;
		case "remove":
			/*$.get(
				BBVars.pagesURL 	+"ajax/panier.cfm?formAction=update"
				+"&cartLineID="		+BBVars.currentProdID
				+"&cartLineQte="	+BBVars.currentColorID
				+"&langID="			+BBVars.currentLang
				+"&countryID="		+BBVars.currentCountry
				+"&attDspType="		+BBVars.attDspType,
				function(data) {BBTool_openMsgBox(data, true);}
			);*/
			//BBTool_formPost(, false);
			$("#cart_form").attr("value","update");
			$("#"+itemID).val(0);
			BBTool_formPost("cart_form", false);
			break;
		case "stockReminder":
			jQuery.get(
				BBVars.pagesURL + "ajax/stockReminder.cfm?formAction=prompt&code_ean=" + itemID,
				function(data) {BBTool_openMsgBox(data, true)}
			);
			break;
		default:
			$.get(
				BBVars.pagesURL + "ajax/panier.cfm?frmAction=check",
				function(data) {BBTool_openMsgBox(data, true);}
			);
			break;
	}

	if($.isFunction((itemID&&callBack)||(itemID||callBack))) ((itemID&&callBack)||(itemID||callBack)).call();
	/*if($.isFunction(eval(itemID))) eval(itemID+"(msgData)");
	if($.isFunction(eval(callBack))) eval(callBack+"(msgData)");*/

}

/*--------------------------------- CALLBACKS ---------------------------------*/

function getOptions_callback(data) {
	BBVars.currentProdQty = 1;
	$(".sizesList").bind("load", function(e) {
		BBCart('setAttrib', 'item'+$(".sizesList", data).attr("prodID")+'_1', setAttrib_callBack);
	});
}

function setAttrib_callBack(data) {
	$(".sizesList[prodID="+BBVars.currentProdID+"] option").each(function() {
		//alert($(this).attr("optionID")+" "+BBVars.currentOptionID);
		if($(this).attr("optionID")==BBVars.currentOptionID) $(this).addClass("selected");
		else $(this).removeClass();
	});
	//$(this).addClass("selected", $(this).attr("ref")==BBVars.currentProdEAN);
	/*alert(currentAttribIndex);
	if(currentAttribIndex!=-1) $("#sizesList li#item"+currentAttribIndex).addClass("selected");*/
}
