//
//-------------------------------------------------------------------
// Licensed Materials - Property of IBM
//
// WebSphere Commerce
//
// (c) Copyright IBM Corp. 2006
//
// US Government Users Restricted Rights - Use, duplication or
// disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//-------------------------------------------------------------------
//

var busy = false;
//
// ***
// * This javascript function is used by the 'Add to Shopcart' button.  Since the HTML form is shared by both 'Add to Shopcart' and 'Add to Wish List' button,
// * appropriate values are set using this javascript before the form is submitted.
// * The variable 'busy' is used to avoid submitting the same forms multiple times when users click the button more than once.
// ***
//

function Add2ShopCart_ORG(form)
{
       if (!busy) {
              busy = true;
              form.action="OrderItemAdd";
              form.URL.value='OrderCalculate?URL=OrderItemDisplay';
              form.submit();
       }
}

function Add2ShopCart() {
  if(!busy) {
    busy=true;
    var storeId             = document.OrderItemAddForm.storeId.value;
    var catalogId           = document.OrderItemAddForm.catalogId.value;
    var langId              = document.OrderItemAddForm.langId.value;
    var orderId             = document.OrderItemAddForm.orderId.value;
    var errorViewName       = document.OrderItemAddForm.errorViewName.value;
    var catEntryId          = document.OrderItemAddForm.catEntryId.value;
    var productId           = document.OrderItemAddForm.productId.value;
    var calculationUsageId  = document.OrderItemAddForm.calculationUsageId.value;
    var quantity            = document.OrderItemAddForm.quantity.value;
    
    var url_string = 'storeId='+storeId+'&'+
                     'catalogId='+catalogId+'&'+
                     'langId='+langId+'&'+
//                     'orderId='+orderId+'&'+
                     'orderId=.'+'&'+
                     'errorViewName='+errorViewName+'&'+
                     'catEntryId='+catEntryId+'&'+
                     'productId='+productId+'&'+
                     'calculationUsageId='+calculationUsageId+'&'+
                     'quantity='+quantity+'&'+
                     'merge=***'+'&'+
                     'remerge=***'+'&'+
                     'allocate=***'+'&'+                     
                     'URL=OrderCalculate%3fitem_quantity*=%26URL=AddedToBasket';
    setAJContainer();
    ajax('OrderItemAdd','post',url_string,checkAjaxResponseAdd2Basket);
  }
}

function Back2ShopCart(storeId,catalogId,langId) {
  window.location.href='OrderCalculate?URL=OrderItemDisplay&storeId='+storeId+'&catalogId='+catalogId+'&langId='+langId+'&deleteOutOfStockOrderItem=Y&orderId=.';
}

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(0,1) == '\n') {
    s = s.substring(1,s.length);
  }
  while (s.substring(0,1) == '\t') {
    s = s.substring(1,s.length);
  }
  while (s.substring(0,1) == '\r') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  while (s.substring(s.length-1,s.length) == '\n') {
    s = s.substring(0,s.length-1);
  }
  return s;
}


function checkAjaxResponseAdd2Basket(xmlhttprequest) {
  try {
    var xmldoc = xmlhttprequest;

    xmldoc = trim(xmldoc);

    if(window.ActiveXObject) {
       var xml = new ActiveXObject("Microsoft.XMLDOM");
       xml.loadXML(xmldoc);
    }
    else if (document.implementation) {
       var xml = (new DOMParser()).parseFromString(xmldoc, "text/xml");
    }


    if( xml!=null ) {
      var basketsize  = xml.documentElement.getAttribute("basketsize");
      var itemtext    = xml.documentElement.getAttribute("itemtext");
      var baskettotal = xml.documentElement.getAttribute("baskettotal");
      var productname = xml.documentElement.getAttribute("productname");
      var partNumber  = xml.documentElement.getAttribute("partNumber");
      var productimg  = xml.documentElement.getAttribute("productimg");
      

      if( productimg!=null && productname!=null && partNumber!=null ) {
        document.getElementById("add2basketlayer_img").innerHTML    = '<img src="'+productimg+'" border="0" alt=""/>';
        document.getElementById("add2basketlayer_desc").innerHTML   = productname+'<br>'+partNumber;
      }
      
      if(basketsize!=null && itemtext!=null && baskettotal!=null) {
        document.getElementById("header_basket_quantity").innerHTML = basketsize + ' ' + itemtext + ' ' + baskettotal;
      }

      document.getElementById("header_checkout_active").style.display   = ''; 
      document.getElementById("header_checkout_inactive").style.display = 'none'; 

      slideInAdd2Basket();
    }
  }
  catch(ex) {
  }
  busy=false;
}



// This javascript function is used by the 'Add to Wish List' button to set appropriate values before the form is submitted
function Add2WishList(form)
{
       if (!busy) {
              busy = true;  
              form.action="InterestItemAdd"
              form.URL.value='InterestItemDisplay'
              form.submit()
       }
}

