
cart = 
 {
  init:function()
   {
    var self = this;
    this.div = $('#cart-div').css('cursor','pointer').click(function()
     {
      self.show();
     });
    this.label = $('#cart-label');
    this.alert = mdpc.dialog("#cart_alert", 0, 0);
    this.preview = mdpc.dialog("#cart_preview", 0, 0);
    $('#cart_preview_img').css('cursor','pointer').click(function(){        self.dialog.show();
});
    $('#goto_cart').click(function(){ self.show(); });
    $("#cart-test").css('cursor','pointer').click(function()
     {
        self.alert.show();
     });
    $('.coupon_add').submit(function()
     {
      var code=$(this).find('.discount_code').val();
      if (code)
        $.getJSON(mdpc.cfg.site_root+'store/cart', {'get':'1', 'discount_code':code}, function(json)
         {
          if (json['bad_coupon'])
           {
            // TODO : alert user that coupon code is bad
            $('#cart_alert_title').html('Code coupon invalide !');
            $('#cart_alert_contents').html('');
            $('#cart_alert #confirm').hide();
            $('#cart_alert #cancel').hide();
            $('#cart_alert #goto_cart').show();
            $('#cart_alert #checkout').hide();
            self.alert.show();
           }
          else
           {
            self.update(json);
           }
         });
      return false;
     });
    this.contents_activate();
   },
  contents_activate:function()
   {
    var self = this;
    $('.cart-preview').css('cursor','pointer').click(function()
     {
      var pxo=$.evalJSON($(this).attr('data'));
      pxo[1]['width']=640;
      pxo[1]['height']=640;
      $('#cart_preview_img').attr('src',mdpc.cfg.site_root+'tools/render?cache=no&pxo='+escape($.toJSON(pxo)));
      self.preview.show();
     });
    $('.cart_del_button').click(function()
     {
      var index = this.id.split('_')[2];
      $('#cart_alert_title').html('Supprimer du panier ?');
      $('#cart_alert #goto_cart').hide();
      $('#cart_alert #checkout').hide();
      
      var cells=$(this).parent().parent().children();
      var description = cells.eq(0).html();
      
      var table = '<table class="nice_table"><tr><th>Description</th><th>Qté</th><th>Aperçu</th><th>Prix</th></tr><tr><td>'+cells.eq(0).html()+'</td><td>'+cells.eq(1).html()+'</td><td>'+cells.eq(2).html()+'</td><td>'+cells.eq(5).html()+'</td></tr></table>';
      
      $('#cart_alert #cart_alert_contents').html(table);
      $('#cart_alert #confirm').click(function()
       {
        $.getJSON(mdpc.cfg.site_root+'store/cart', {'get':'1', 'del': index}, function(json)
         {
          self.update(json);
          $('#cart_alert_title').html('Le produit a été supprimé du panier');
          $('#cart_alert_contents').html('');
          $('#cart_alert #confirm').hide();
          $('#cart_alert #cancel').hide();
          $('#cart_alert #goto_cart').show();
          $('#cart_alert #checkout').hide();
//          self.alert.show();
         });
       });
      $('#cart_alert #confirm').show();
      $('#cart_alert #cancel').show();
      $('#cart_alert #goto_cart').hide();
      $('#cart_alert #checkout').hide();
      self.alert.show();
     });

    $('.cart_mod_button').click(function()
     {
      $('#cart_alert #confirm').hide();
      $('#cart_alert #cancel').show();
      $('#cart_alert #goto_cart').hide();
      $('#cart_alert #checkout').hide();
      self.alert.show();
     });
   },
  show:function()
   {
    this.dialog = mdpc.dialog("#cart_cbox", 1, 1);
   },
  addTo:function(qty, pxo, product, price)
   {
    var self = this;
    
    pxo[1]['width']=80;
    pxo[1]['height']=80;
    pxo[1]['context']='%product';
    pxo[1]['pos']='aspect';
    var table = '<table class="nice_table"><tr><th>Description</th><th>Qté</th><th>Aperçu</th><th>Prix</th></tr><tr><td>'+product+'</td><td>'+qty+'</td><td><img width="80" height="80" src="'+mdpc.cfg.site_root+'tools/render?cache=no&pxo='+escape($.toJSON(pxo))+'"/></td><td>'+price+'</td></tr></table>';
    $('#cart_alert_contents').html(table);
    delete pxo[1]['width'];
    delete pxo[1]['height'];
    delete pxo[1]['context'];
    delete pxo[1]['aspect'];
    $.getJSON(mdpc.cfg.site_root+'store/cart', {'get':'1', 'qty':qty, 'pxo':$.toJSON(pxo)}, function(json)
     {
      self.update(json);
      $('#cart_alert #confirm').hide();
      $('#cart_alert #cancel').hide();
      $('#cart_alert #goto_cart').show();
      $('#cart_alert #checkout').show();
      $('#cart_alert_title').html('Le produit a été ajouté au panier');
      self.alert.show();
     });
   },
  update:function(json)
   {
    var self=this;
    $('.cart_contents').html(json['cart_contents']);
    $('.cart_label').html(json['cart_label']);
    this.contents_activate();
    if (json['cart_empty'])
      $('#cart_cbox #cart_checkout').hide();
    else
      $('#cart_cbox #cart_checkout').show();
    if (this.dialog)
      this.dialog.cb.colorbox.resize();
   }
 };

