$(document).ready(function() {
  /***********show sizes******/
  $('.js-product-sizes').mouseenter(function(){
    var $this=$(this);
    $this.hide().next('.product-sizes').show();
  });

  $('.js-product-sizes-cont').mouseleave(function(){
    var $this=$(this);
    $this.hide().prev('.js-product-sizes').show();
  });

  /*********** get real residue*************/
  $('.js-product-sizes-table').live('click',function(){
    var $this=$(this);
    var url=$this.attr('href');
    var $parent=$this.parents('.size');

    $('.js-product-sizes-table',$parent).removeClass('selected');
    $this.addClass('selected');
    $.getJSON(url, function(data){
      if(data)
      {
        var ost=0;
        if(data.ostatok>5)
          ost=5;
        else
          ost=data.ostatok;

        if(data.ostatok==0)
        {
          $this.remove();
          alert(data.size+' размера к сожалению нет.');
        }else{
          var options = '';
          for (var i = 1; i <=ost; i++) {
            options += '<option value="'+data.rs_products_id+'_' + data.id+'_'+data.size+ '_'+i+'">' + i+ '</option>';
          }
          $("#o_"+data.rs_products_id).html(options).removeClass('disabled');
        }
      }else{
        alert('not found sizes for product ');
      }
    });
    return false;
  });

  /*************** add goods to shopcart ****************/
  $('.buy').live('click',function(){
    var $this=$(this);
    var url=$this.attr('href');
    var need_choose=$this.hasClass('js-need-choose');
    var tmp=$this.attr('id');

    tmp=tmp.split('_');
    var id=tmp[1];

    if(need_choose){
      $.colorbox({
        href: '#ost_'+id,
        inline:true,
        width: "50%",
        onOpen: function(){
          $('#ost_'+id).show();
        },
        onCleanup: function(){
          $('#ost_'+id).hide();
        }
      });
      return false;
    }

    var $selected=$('#o_'+id+' :selected');
    var selected=$selected.val();

    if(selected==0)
    {
      alert('Выберите размер !');
      return false;
    }else{
      tmp=selected.split('_');
      url+='/size/'+tmp[2]+'/count/'+tmp[3];
    }

    $.getJSON(url, function(data){
      showShopcart(data, id);
      recalcShopcart(data.sum);
    });
    return false;
  });

  //show shopcart
  $('div.shopcart, div.shopcart a').live('click',function(){
    $.getJSON('/shopcart', function(data){
      showShopcart(data);
    });
    return false;
  });

  //delete row from shopcart
  $('td.del a').live('click',function(){
    var $this=$(this);
    var tmp=$this.attr('id').split('-');
    var $tr=$this.parents('tr:first');
    var $table=$tr.parents('table:first');

    $.getJSON('/shopcart/remove/'+tmp[1]+'/'+tmp[2],function(data){
      $tr.remove();
      //if we don't have other tr
      if($table.find('tr').length==0){
        var $table_parent=$table.parents('table');
        $table.parents('tr:first').remove();
        //if in table shopcart 0 goods then remove it
        if($table_parent.find('tr').length==0){
          $table_parent.remove();
          $('table#cart-header').remove();
          $('#cboxLoadedContent').append('<h2>Ваша корзина пуста</h2>');
        }
      }
      recalcShopcart(data);
    });

    return false;
  });


  //hide shopcart
  $('.js-shopcart-close').live('click',function(){
    $.colorbox.close();
    return false;
  });

  $('.js-recalc-ostatok').live('change',function(){
    var $this=$(this);
    var tmp=$this.val();
    tmp=tmp.split('-');
    var url='/shopcart/change/id/'+tmp[0]+'/size/'+tmp[1]+'/count/'+tmp[2];

    $.getJSON(url, function(data){
      recalcShopcart(data.sum);
    });
  });
});

function showShopcart(data,id){
  var footer_html='',title_html='',height_val='250px';
  if(data.sum.count){
    footer_html='<div class="shopcart-sum">В корзине товаров <span class="js-shopcart-count">'+data.sum.count+'</span> ';
    footer_html+='на сумму <span class="js-shopcart-sum">'+data.sum.sum+'</span></div>';
    footer_html+='<div class="float-lft"><div class="red_button"><a class="red_button_btn js-shopcart-close" href="#"><span>Продолжить покупки</span></a></div></div>';
    footer_html+='<div class="float-rgt"><div class="red_button"><a class="red_button_btn" href="/shopcart/order"><span>Оформить заказ</span></a></div></div>';
    footer_html+='<div class="cls"></div>';

    title_html='<br/><table class="cart" id="cart-header"><tr><th>Товар</th><th>Описание</th><th>Количество</th><th>Цена</th><th></th></tr></table>';
    height_val="630px";
  }


  $.colorbox({
    html: data.html,
    footer: footer_html,
    width: "60%",
    height: height_val,
    title: 'Ваша корзина'+title_html,
    onCleanup: function(){
      if(typeof id!='undefined')
        $('#ost_'+id).hide();
    },
    onComplete: function(){
      var $cb = $('#colorbox');
      $cb.height($cb.height()+50);
    }
  });
}
function recalcShopcart(data){
  $('.js-shopcart-count').html(data.count);
  $('.js-shopcart-sum').html(data.sum);
}
