function _Carrito(){
  var oRef = this;

  this.total = jsVars.carrito;

  this.addItem = function(idArticulo,idOpcion,cantidad,fnCallback){
    if(cantidad < 1 || cantidad == ''){
      PanelAlert.show('Subir al carrito','Es necesario al menos 1 articulo para subir al carrito');
      return;
    }
    
    var cbError = function(){
      oAjaxError.show();
      fnCallback({status:false,msg:'ajaxError'});
    }

    var cbSuccess = function(o){
      if(o.status){
        oRef.setTotal(o.total);
        fnCallback(o);
      }else{
        PanelAlert.show('Agregar al Carrito',o.msg);
        fnCallback(o);
      }
    }
    var params = {'idArticulo':idArticulo,'idOpcion':idOpcion,'intCantidad':cantidad};
    $.ajax({url:'/cuenta/carrito/addToCart.json.php',type:'get',data:params,success:cbSuccess,error:cbError,dataType:'json'});
    //$.get('/cuenta/carrito/addToCart.json.php?',params,cbSuccess,'json');
  }

  this.removeItem = function(idArticulo,idOpcion,fnSuccess){
    var cback = function(o){
      PanelLoading.hide();
      if(o.status){
        oRef.setTotal(o.total);
        fnSuccess();
      }else{
        PanelAlert.show('Sacar del Carrito',o.msg);
      }
    }
    PanelLoading.show();
    $.get('/cuenta/carrito/sacarDelCarrito.json.php',{'idArticulo':idArticulo,'idOpcion':idOpcion},cback,'json');
  }
  
  this.vaciar = function(fnSuccess){
    var cback = function(o){
      PanelLoading.hide();
      if(o.status){
        oRef.setTotal(0);
        fnSuccess();
      }else{
        PanelAlert.show('Sacar del Carrito',o.msg);
      }
    }
    PanelLoading.show();
    $.get('/cuenta/carrito/vaciarCarrito.json.php',cback,'json');
  }

  this.setTotal = function(total){
    this.total = total;
    $('#headerCartTotal').html(priceFormat(total));
  }
}

var oCarrito = null;
$(document).ready(function(){oCarrito = new _Carrito});
