﻿/// <reference path="W:\razvoj\WEM\IntelliSenseReference\jquery-vsdoc.js" />
var RefreshCartUIHandlers = new CardUIHandlersArray();

function CardUIHandlersArray() {
  this.funcs = new Array;
}

CardUIHandlersArray.prototype.add = function (f) {

  var handlerExists = false;
  for (var i = 0; i < this.funcs.length; i++) {
    handlerExists = f == this.funcs[i];
    if (handlerExists)
      break;
  }

  if (!handlerExists)
    this.funcs[this.funcs.length] = f;
}

CardUIHandlersArray.prototype.callAllHandlers = function (structureID) {
  for (var i = 0; i < this.funcs.length; i++) {
    this.funcs[i](structureID);
  }
}


function AddToCart(urlAddToCard, structureID) {
  var json = '';

  jQuery.ajax({
    url: urlAddToCard, success: function (data) { json = data; }, async: false
  });

  var cartClientResponse = null;
  if (json != '') {
    cartClientResponse = eval('(' + json + ')');
  }

  RefreshCartUIHandlers.callAllHandlers(structureID);
  return cartClientResponse;
}

function AddQ(textID, amount) {
  var textAmount;
  var el = document.getElementById(textID);
  textAmount = parseInt(el.value);
  if (textAmount == NaN)
    textAmount = 0;

  var newTxtVal = textAmount + amount;
  if (newTxtVal > 0)
    el.value = newTxtVal;
}

function AddQServerSide(url) {
  jQuery.ajax({
    url: url, success: function (data) { }, async: false
  });

  RefreshCartUIHandlers.callAllHandlers(-1);
}

function DeleteCartItem(url){
  jQuery.ajax({
    url: url, success: function (data) { }, async: false
  });

  RefreshCartUIHandlers.callAllHandlers(-1);
}


function ClearCart(clearCartUrl) {
  jQuery.ajax({
    url: clearCartUrl, success: function (data) { }, async: false
  });

  RefreshCartUIHandlers.callAllHandlers(-1);
}

function RefreshCartUi(structureID) {
  RefreshCartUIHandlers.callAllHandlers(structureID);
}

