const STATUS_ERROR = 1;
const STATUS_SUCCESS = 2;

function updateBasket(data)
{
  $("#shoping_cart_total_price").text(data.data.basket_info.total_price);
  $("#shoping_cart_products_count").text(data.data.basket_info.products_count);
}

function add2Basket(id)
{
  $.prompt(
    {
       loading: {
           html:"<div id=\"preview_content\"><img src=\"/images/ajax-loader.gif\" alt=\"\" border=\"0\"></div>",
           buttons: {'Отменить':false},
           focus: 1,
	   submit:function(v,m,f){$.prompt.close()}
       },
	   preview: {
           html:"",
           buttons:{'Добавить':true,'Отменить':false},
           focus: 1,
           submit:function(v,m,f){
              if(!v) return true;
              an = m.find("#add_product_count");
              count = parseInt(an.val());
              if(isNaN(count)|| count<1 ){an.css("border","solid #ff0000 1px");return false;}
              $.prompt.goToState("loading", function(){
	      $.ajax({
                    type:"POST",
          	        dataType:"html",
         	        complete:function(XMLHttpRequest, textStatus){
                           data=$.parseJSON(XMLHttpRequest.responseText);
                           if (data.status==STATUS_ERROR){
                              $.prompt.goToState("error", function(){$.prompt.getCurrentState().find("div:first-child").html(data.errors);});
                           }else{
                              updateBasket(data);
                              $.prompt.goToState("success", function(){$.prompt.getCurrentState().find("div:first-child").html("Продукт успешно добавлен в корзину. Количество товаров в корзине данного типа:"+data.data.some_products_count);});
                           };
                     },
                     url:"/shopping-cart/add/"+id+"/"+count
                  });
              });
              return false;
           }
       },
       success: {
           html:"",
           buttons: {OK:false},
           focus: 1,
           timeout: 5000,
	   submit:function(v,m,f){$.prompt.close()}
       },
       error: {
           html:"",
           buttons: {OK:false},
           focus: 1,
           timeout: 5000,
	   submit:function(v,m,f){$.prompt.close()}
       }
    }
  );
  $.ajax({
     type:"POST",
     dataType:"html",
     complete:function(XMLHttpRequest, textStatus){
         if (XMLHttpRequest.status == 200)
           $.prompt.goToState("preview", function(){$.prompt.getCurrentState().find("div:first-child").html(XMLHttpRequest.responseText);});
         else
           $.prompt.goToState("error", function(){$.prompt.getCurrentState().find("div:first-child").html(XMLHttpRequest.responseText);});
     },
     url:"/shopping-cart/add/"+id+"/preview"
  });
  return false;
}
