﻿function addToBasket(qtyid, variantUIid, productId) {
        var variantId =0;
          var qtyTextbox = $get(qtyid);
          var variantList = $get(variantUIid);
          var qtyString = new String(qtyTextbox.value);

          var isInt = /^\d+$/.test(qtyString);  //qtyString.match("0-9");

          if (!isInt) {
              showError("You must enter a valid quantity", productId);
              return;
          }
          
          if (variantList != null && variantList.value != null) {
            variantId = variantList.value;
          }
         
            var qty = qtyTextbox.value;

            var basketRequest = { "__type" : "CXWholesale.Json.AddToBasketRequest", 
        "ProductId": productId,
        "VariantId": variantId,
        "Quantity" : qty
    }

    Sys.Net.WebServiceProxy.invoke('/webservices/BasketService.asmx', 'AddToBasket', false, { "request": basketRequest }, addedSuccessfully, addError, null, 5000);
    
  

      }
      function addedSuccessfully(response, context) {
          var labelText = "";
          var status;
          
          
          //Able to satisfy stock request.
          if (response.QuantityAdded == response.QuantityRequested) {
              $("#" + response.ProductId + "-basketcontainer").removeClass("WorriedBar");
              $("#" + response.ProductId + "-basketcontainer").removeClass("ErrorBar");
              $("#" + response.ProductId + "-basketcontainer").addClass("OKBar");
              labelText = "<span style='float:left;'>Successfully added " + response.QuantityAdded + " to your basket.</span><span style='float:right;align:middle;'><a href=\"/Shop/BasketView.aspx\">View Basket</a></span>";
              status = "Successful";
          }

            //Unable to satisfy all of the request
          if (response.QuantityAdded < response.QuantityRequested) {
              $("#" + response.ProductId + "-basketcontainer").removeClass("OKBar");
              
              $("#" + response.ProductId + "-basketcontainer").removeClass("ErrorBar");
              $("#" + response.ProductId + "-basketcontainer").addClass("WorriedBar");
              labelText = "We have only added <strong>" + response.QuantityAdded + "</strong>, the last of our current stock.";
              status = "Partially Successful";
          }

        //Unable to satisfy any of the request.
          if (response.QuantityAdded == 0) {
              $("#" + response.ProductId + "-basketcontainer").removeClass("OKBar");
              $("#" + response.ProductId + "-basketcontainer").removeClass("WorriedBar");
              
              $("#" + response.ProductId + "-basketcontainer").addClass("ErrorBar");
              labelText = "Unfortunately, we're completely sold out, or you have our remaining stock in your basket already.";
              status = 'No Stock';
          }
          
          var label = $get(response.ProductId + "-basketcontainer");
          if (label != null) {
              label.innerHTML = labelText;
          }

          $("#" + response.ProductId + "-basketcontainer").stop(true, false).hide().fadeIn(700).fadeTo(3500, 1).fadeOut(500);

          try
              { pageTracker._trackEvent('Add to Basket - ' + origin, status, response.ProductName); }
          catch (ex) { }
      }
      function showError(message, productId) {

          $("#" + productId + "-basketcontainer").removeClass("OKBar");
          $("#" + productId + "-basketcontainer").removeClass("WorriedBar");

          $("#" + productId + "-basketcontainer").addClass("ErrorBar");
          labelText = "Unfortunately, we're completely sold out.";
          var label = $get(productId + "-basketcontainer");
          if (label != null) {
              label.innerHTML = message;
          }

          $("#" + productId + "-basketcontainer").stop(true, false).hide().fadeIn(700).fadeTo(3500, 1).fadeOut(500);

      }
      function addError(error, context) {
      
      }
