var cartInfoPanel = Class.create({
  initialize: function() {
    this.container = $('contCart');
    this.cartQty = $('cartContentCount');
    this.pluralizer = $('cartPluralizer');
  },
  
  setQty: function(qty) {
    if (!isNaN(qty)) {
      qty = Number(qty);
      this.cartQty.update(qty);
      if (qty == 1) {
        this.pluralizer.hide();
      } else {
        this.pluralizer.show();
      }
      if ((qty == 0) && (this.container.visible())) {
        new Effect.BlindUp(this.container);
      } else if ((qty > 0) && (!this.container.visible())) {
        new Effect.BlindDown(this.container);
      }
    } else {
      var objThis = this;
      new Ajax.Request('/', {
        method: 'post',
        parameters: { "option":"com_sngevents", "controller":"cart", "task":"get_item_count" },
        onSuccess: function(transport) {
          if (!transport.responseText.isJSON()) {
            var objResponse = new Object();
            objResponse.arErr = new Array(transport.responseText);
            objResponse.arDebug = new Array();
          } else {
            var objResponse = transport.responseText.evalJSON();
          }
          if (objResponse.arErr.length) {
            alert('ERROR');
          } else {
            objThis.setQty(objResponse.dataResult);
          }
        }
      });
    }
  }
});

function mod_sngCartInit() {
  objCartInfoPanel = new cartInfoPanel();
}

document.observe("dom:loaded", mod_sngCartInit);