var ajaxCart={overrideButtonsInThePage:function(){$('.ajax_add_to_cart_button').unbind('click').click(function(){var idProduct=$(this).attr('rel').replace('ajax_id_product_','');ajaxCart.add(idProduct,null,false,this);return false;});$('body#product p#add_to_cart input').unbind('click').click(function(){ajaxCart.add($('#product_page_product_id').val(),$('#idCombination').val(),true,null,$('#quantity_wanted').val(),null);return false;});},expand:function(){$('#cart_block #cart_block_summary').show();$('#cart_block #cart_block_no_products').hide();$.ajax({type:'GET',url:baseDir+'modules/blockcart/blockcart-set-collapse.php',async:true,data:'ajax_blockcart_display=expand'+'&rand='+new Date().getTime()});},refresh:function(){$.ajax({type:'GET',url:baseDir+'cart.php',async:true,cache:false,dataType:"json",data:'ajax=true&token='+static_token,success:function(jsonData)
{ajaxCart.updateCart(jsonData)},error:function(XMLHttpRequest,textStatus,errorThrown){}});},collapse:function(){$('#cart_block #cart_block_summary').hide();$('#cart_block #cart_block_no_products').show();$.ajax({type:'GET',url:baseDir+'modules/blockcart/blockcart-set-collapse.php',async:true,data:'ajax_blockcart_display=collapse'+'&rand='+new Date().getTime()});},add:function(idProduct,idCombination,addedFromProductPage,callerElement,quantity,whishlist){ajaxCart.updateProductQuantity(0,0);if(addedFromProductPage&&!checkCustomizations())
{alert(fieldRequired);return;}
if(addedFromProductPage)
{$('body#product p#add_to_cart input').attr('disabled','disabled').removeClass('exclusive').addClass('exclusive_disabled');$('.filled').removeClass('filled');}
else
$('.ajax_add_to_cart_button').attr('disabled','disabled');$.ajax({type:'GET',url:baseDir+'cart.php',async:true,cache:false,dataType:"json",data:'add&ajax=true&qty='+((quantity&&quantity!=null)?quantity:'1')+'&id_product='+idProduct+'&token='+static_token+((parseInt(idCombination)&&idCombination!=null)?'&ipa='+parseInt(idCombination):''),success:function(jsonData)
{ajaxCart.updateCart(jsonData);if(addedFromProductPage)
$('body#product p#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled');else
$('.ajax_add_to_cart_button').removeAttr('disabled');},error:function(XMLHttpRequest,textStatus,errorThrown){alert("TECHNICAL ERROR: unable to add the product.\n\nDetails:\nError thrown: "+XMLHttpRequest+"\n"+'Text status: '+textStatus);if(addedFromProductPage)
$('body#product p#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled');else
$('.ajax_add_to_cart_button').removeAttr('disabled');}});},remove:function(idProduct,idCombination,customizationId){$.ajax({type:'GET',url:baseDir+'cart.php',async:true,cache:false,dataType:"json",data:'delete'+'&id_product='+idProduct+'&ipa='+((idCombination!=null&&parseInt(idCombination))?idCombination:'')+((customizationId&&customizationId!=null)?'&id_customization='+customizationId:'')+'&token='+static_token+'&ajax=true',success:function(jsonData){ajaxCart.updateCart(jsonData)},error:function(){alert('ERROR: unable to delete the product');}});},hideOldProducts:function(jsonData){if($('#cart_block #cart_block_list dl.products').length>0)
{var removedProductId=null;var removedProductData=null;var removedProductDomId=null;$('#cart_block_list dl.products dt').each(function(){var domIdProduct=$(this).attr('id');var firstCut=domIdProduct.replace('cart_block_product_','');var ids=firstCut.split('_');var stayInTheCart=false;for(aProduct in jsonData.products)
{if(jsonData.products[aProduct]['id']==ids[0]&&(!ids[1]||jsonData.products[aProduct]['idCombination']==ids[1]))
{stayInTheCart=true;ajaxCart.hideOldProductCustomizations(jsonData.products[aProduct],domIdProduct);}}
if(!stayInTheCart)
{removedProductId=$(this).attr('id');}});if(removedProductId!=null)
{var firstCut=removedProductId.replace('cart_block_product_','');var ids=firstCut.split('_');$('#'+removedProductId).addClass('strike').fadeTo('slow',0,function(){$(this).slideUp('slow',function(){$(this).remove();if($('#cart_block dl.products dt').length==0)
{$('p#cart_block_no_products:hidden').slideDown('fast');$('div#cart_block dl.products').remove();}});});$('dd#cart_block_combination_of_'+ids[0]+(ids[1]?'_'+ids[1]:'')).fadeTo('fast',0,function(){$(this).slideUp('fast',function(){$(this).remove();});});}}},hideOldProductCustomizations:function(product,domIdProduct)
{var customizationList=$('#cart_block #cart_block_list ul#customization_'+product['id']+'_'+product['idCombination']);if(customizationList.length>0)
{$(customizationList).find("li").each(function(){$(this).find("div").each(function(){var customizationDiv=$(this).attr('id');var tmp=customizationDiv.replace('deleteCustomizableProduct_','');var ids=tmp.split('_');if((parseInt(product.idCombination)==parseInt(ids[2]))&&!ajaxCart.doesCustomizationStillExist(product,ids[0]))
$('#'+customizationDiv).parent().addClass('strike').fadeTo('slow',0,function(){$(this).slideUp('slow');$(this).remove();});;});});}
var removeLinks=$('#cart_block_product_'+domIdProduct).find('a.ajax_cart_block_remove_link');if(!product.hasCustomizedDatas&&!removeLinks.length)
$('#'+domIdProduct+' span.remove_link').html('<a class="ajax_cart_block_remove_link" href="'+baseDir+'cart.php?delete&id_product='+product['id']+'&ipa='+product['idCombination']+'&token='+static_token+'" title="'+removingLinkText+'"> </a>');},doesCustomizationStillExist:function(product,customizationId)
{var exists=false;$(product.customizedDatas).each(function(){if(this.customizationId==customizationId)
{exists=true;return false;}});return(exists);},refreshVouchers:function(jsonData){$(jsonData.discounts).each(function(){if(this.id!=undefined&&$('#bloc_cart_voucher_'+this.id).length==1)
{$('#bloc_cart_voucher_'+this.id+' td.price').text(this.price);}});if(jsonData.discounts.length==0)
$('#vouchers').remove();},updateProductQuantity:function(product,quantity)
{$('#cart_block').stop(true).css('opacity',0).fadeTo(0,0,function()
{$(this).fadeTo('slow',1);});},displayNewProducts:function(jsonData){$(jsonData.products).each(function(){if(this.id!=undefined)
{if($('div#cart_block dl.products').length==0)
{$('p#cart_block_no_products:visible').fadeTo('fast',0,function(){$(this).slideUp('fast').fadeTo(0,1);});}}});},displayNewCustomizedDatas:function(product)
{var content='';var productId=parseInt(product.id);var productAttributeId=typeof(product.idCombination)=='undefined'?0:parseInt(product.idCombination);var hasAlreadyCustomizations=$('#cart_block ul#customization_'+productId+'_'+productAttributeId).length;if(!hasAlreadyCustomizations)
{if(!product.hasAttributes)content+='<dd id="cart_block_combination_of_'+productId+'" class="hidden">';content+='<ul class="cart_block_customizations" id="customization_'+productId+'_'+productAttributeId+'">';}
$(product.customizedDatas).each(function(){var done=0;customizationId=parseInt(this.customizationId);productAttributeId=typeof(product.idCombination)=='undefined'?0:parseInt(product.idCombination);if($('#cart_block').find("div[@id^=deleteCustomizableProduct_"+customizationId+"_]").length)
return('');content+='<li name="customization"><div class="deleteCustomizableProduct" id="deleteCustomizableProduct_'+customizationId+'_'+productId+'_'+(productAttributeId?productAttributeId:'0')+'"><a class="ajax_cart_block_remove_link" href="'+baseDir+'cart.php?delete&id_product='+productId+'&ipa='+productAttributeId+'&id_customization='+customizationId+'&token='+static_token+'"> </a></div><span class="quantity-formated"><span class="quantity">'+parseInt(this.quantity)+'</span>x</span>';$(this.datas).each(function(){if(this['type']==CUSTOMIZE_TEXTFIELD)
{$(this.datas).each(function(){if(this['index']==0)
{content+=this.truncatedValue;done=1;return false;}})}});if(!done)
content+=customizationIdMessage+customizationId;if(!hasAlreadyCustomizations)content+='</li>';if(customizationId)
{$('#uploadable_files li div.customizationUploadBrowse img').remove();$('#text_fields li input').attr('value','');}});if(!hasAlreadyCustomizations)
{content+='</ul>';if(!product.hasAttributes)content+='</dd>';}
return(content);},updateCart:function(jsonData){if(jsonData.hasError)
{var errors='';for(error in jsonData.errors)
if(error!='indexOf')
errors+=jsonData.errors[error]+"\n";alert(errors);}
ajaxCart.updateCartEverywhere(jsonData);ajaxCart.hideOldProducts(jsonData);ajaxCart.displayNewProducts(jsonData);ajaxCart.refreshVouchers(jsonData);if(jsonData.products.length>0)
{ajaxCart.expand();}
else
{ajaxCart.collapse();}
$('#cart_block dl.products dt').removeClass('first_item').removeClass('last_item').removeClass('item');$('#cart_block dl.products dt:first').addClass('first_item');$('#cart_block dl.products dt:not(:first,:last)').addClass('item');$('#cart_block dl.products dt:last').addClass('last_item');ajaxCart.overrideButtonsInThePage();},updateCartEverywhere:function(jsonData){$('.ajax_cart_total').text(jsonData.productTotal);$('.ajax_cart_shipping_cost').text(jsonData.shippingCost);$('.cart_block_wrapping_cost').text(jsonData.wrappingCost);$('.ajax_block_cart_total').text(jsonData.total);if(jsonData.nbTotalProducts>0)
{$('.ajax_cart_no_product:visible').hide();$('.ajax_cart_quantity').text(jsonData.nbTotalProducts);$('.ajax_cart_quantity:hidden').fadeIn('slow');$('.ajax_cart_total:hidden').fadeIn('slow');if(jsonData.nbTotalProducts>1)
{$('.ajax_cart_product_txt:visible').hide();$('.ajax_cart_product_txt_s:hidden').show();}
else
{$('.ajax_cart_product_txt:hidden').fadeIn('slow');$('.ajax_cart_product_txt_s:visible').fadeOut('slow');}
var price=parseFloat(jsonData.productTotal.split(' ')[0].replace(',','.'));if(price>=freeShippingLimit)
{$('.ajax_cart_product_shipping:visible').hide();$('.ajax_cart_product_shipping_free:hidden').show();}
else
{$('.ajax_cart_product_shipping:hidden').show();$('.ajax_cart_product_shipping_free:visible').hide();}}
else
{$('.ajax_cart_quantity:visible, .ajax_cart_product_txt_s:visible, .ajax_cart_product_txt:visible, .ajax_cart_total:visible').fadeOut('slow',function(){$('.ajax_cart_no_product:hidden').fadeIn('slow');});}}}
$(document).ready(function(){ajaxCart.overrideButtonsInThePage();ajaxCart.refresh();});