$(document).ready(function () {
   makeAddAction();
   makeButtonsEvents();

});
function makeAddAction()
{


  $('.ajax_add_to_cart_button').each(function(){
    var href  = $(this).attr('href');
    $(this).click(function(){
      var id  = $(this).attr('gsId');
      basketAddAnimate(id);
      $.ajax({
        type: 'GET',
        url: href+'&ajax=1',
        dataType : "json",
        cache:  false,
        success: function (data, textStatus) {
          //alert(data.message);
          $('#cart_block_no_products').html(data.short_info);
          $('#cart_block_total').html(data.summa);
          
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          //alert("TECHNICAL ERROR: unable to refresh the cart.\n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
        }
      });
      return false;
    });

  });

}
function basketAddAnimate(id)
{
  var imageContainer  = $('.ajax_block_product img[imageId='+ id + '], #image-block img[imageId='+id+']');

  if(imageContainer.length==0)
  {
    return;
  }


  var width       = imageContainer.width();
  var height      = imageContainer.height();
  var scrollTop   =  imageContainer.scrollTop();
  var scrollLeft  =  imageContainer.scrollLeft();
  var top         =  imageContainer.offset().top;
  var left        =  imageContainer.offset().left;



  var myDiv = $('<img>');

  myDiv.css({
    position: 'absolute',
    top: top,
    left: left,
    border: '1px silver solid',
    visibility: 'visible',
    width: width+'px',
    height: height+'px'
  });


  myDiv.attr('src',imageContainer.attr('src'));
  myDiv.appendTo("body");

  var dstObj  = $('#cart_block');

  var dest={
    x: dstObj.offset().left,
    y: dstObj.offset().top,
    width: dstObj.width(),
    height: dstObj.height()
  };

  myDiv.animate({
    left: dest.x, top: dest.y
  }, 1800, "", function(){
    $(this).fadeTo(100,.1 , function(){
      $(this).hide();
      $(dstObj).fadeTo(100,0.3,function(){
        $(dstObj).fadeTo(200,1,function(){
          $(dstObj).fadeTo(100,0.3,function(){
            $(dstObj).fadeTo(200,1,function(){
            
            })
          });
        })
      })
    });
  });


}
function makeButtonsEvents()
{
  $('.btnRemove').each(function(){
    var href  = $(this).attr('href');
    var removeGood  = $(this).attr('gsId');
    $(this).click(function(){
      $.ajax({
        type: 'GET',
        url: href+'&ajax=1',
        dataType : "json",
        cache:  false,
        success: function (data, textStatus) {
          $('#cart_block_no_products').html(data.short_info);
          $('#cart_block_total, #basket_summ_form').html(data.summa);


          //alert('#basketRow_'+removeGood);
          animateDeleteGoods($('#basketRow_'+removeGood));
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          //alert("TECHNICAL ERROR: unable to refresh the cart.\n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
        }
      });
      return false;
    })
  });
  $('.btnrefresh').each(function(){
    var href  = $(this).attr('href');
    var refreshGood   = $(this).attr('gsId');

    var newQantityObj = $(this).parent().find('input');

    $(this).click(function(){
      qantity = newQantityObj.attr('value');
      if(qantity==0)
      {
        $('#basketRow_'+refreshGood+' .btnRemove').click();
      }
      else
      {
        $.ajax({
          type: 'GET',
          url: href+'&ajax=1&quantity='+ qantity,
          dataType : "json",
          cache:  false,
          success: function (data, textStatus) {
            $('#cart_block_no_products').html(data.short_info);
            $('#cart_block_total, #basket_summ_form').html(data.summa);

            $('#currentGoodsSumm_'+refreshGood).html(data.summa_single_good)

          },
          error: function(XMLHttpRequest, textStatus, errorThrown) {
            //alert("TECHNICAL ERROR: unable to refresh the cart.\n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
          }
        });
      }
      return false;
    })
  });

}
function animateDeleteGoods(aObj)
{
  aObj.animate({
      opacity: 0
    }, 300, "", function(){
      $(this).hide();
    });
}
function basketRefresh()
{
  var options = {
    url: "/basket/?action=refreshAll&ajax=1",
    type: "POST",
    dataType: 'json',
    success: function(data) {

      $('#FormBasketContainer').html(data.form);
      $('.basket-info-content span').html(data.info.short_info);
      $('#SummaItogo').html(data.info.summa);
      makeButtonsEvents();
      return false;
    }
  };
  $("#BasketRefreshForm").ajaxSubmit(options);
  return false;

}

