/**
 * Changes the number of the 'add to cart' number
 *
 * @param string sign
 */
function cart_change_number(id, sign)
{
   var number = document.getElementById(id);

   if (number)
   {
      if (sign == "+")
      {
         number.value = parseInt(number.value) + 1;
      }
      else
      {
         if (parseInt(number.value) > 0)
         {
            number.value = parseInt(number.value) - 1;
         }
      }
   }
}

/**
 * Deletes an item from the cart
 */
function cart_delete_item(productcode, productnumber, refresh)
{
   var deleted = false;
   if (confirm("Wilt u artikel " + productnumber + " uit uw winkelwagen verwijderen?"))
   {
      var params = "";
      params += "script=/cart";
      params += "&action=save_item";
      params += "&productcode=" + productcode;
      params += "&productnumber=" + productnumber;
      params += "&number=0";
      params += "&refresh=" + refresh;
      if (refresh == "1")
      {
         ajax_execute("ajax.php", params, "frame_main");
      }
      else
      {
         ajax_execute("ajax.php", params, "cart");
         cart_show_message();
      }
      deleted = true;
   }
   return deleted;
}

/**
 * Fills the selected address to the cart
 */
function cart_fill_address(deb, vza, is_internal)
{
   var params = "";
   params += "script=/cart_address";
   params += "&deb=" + deb;
   params += "&vza=" + vza;
   if (is_internal)
   {
   	params += "&is_internal=1";
   }
   ajax_execute("ajax.php", params, "cart_address");
}

/**
 * Hides the message shown when saving to the cart
 */
function cart_hide_message()
{
   var message = document.getElementById("cart_message");
   if (message)
   {
      message.style.display = "none";
   }
}

/**
 * Reloads the cart overview
 */
function cart_recalculate()
{
   window.location.href = "index.php?script=/customers/cart";
}

/**
 * Refreshes the cart
 */
function cart_refresh()
{
   var params = "";
   params += "script=/cart";
   ajax_execute("ajax.php", params, "cart");
}

/**
 * Updates the cart status during the handling
 */
function cart_update_status()
{
   var params = "";
   params += "script=/cart_save_status";
   params += "&action=save";
   params += "&ID=" + document.getElementById("cart_ID").value;
   params += "&status=" + document.getElementById("cart_status").value;
   ajax_execute("ajax_backend.php", params, "message_container");
   show_message();
}

/**
 * Saves the new item data to the cart
 */
function cart_save_item(productcode, productnumber, number)
{
   var params = "";
   params += "script=/cart";
   params += "&action=save_item";
   params += "&productcode=" + productcode;
   params += "&productnumber=" + productnumber;
   params += "&number=" + number;
   ajax_execute("ajax.php", params, "cart");
   cart_show_message();

   /**
   var stock = document.getElementById("stock_" + productcode + "_" + productnumber);
   var backorder = document.getElementById("backorder_" + productcode + "_" + productnumber);
   if (stock && backorder)
   {
      backorder.innerHTML = Math.abs(parseInt(stock.innerHTML) - number);
   }
   */
}

/**
 * Displays the message shown when saving to the cart
 */
function cart_show_message()
{
   var message = document.getElementById("cart_message");
   if (message)
   {
      message.style.display = "block";
   }
   setTimeout("cart_hide_message()", 2500);
}

/**
 * Switches the tabs of the step
 */
function cart_switch_step(number)
{
   var step_1 = document.getElementById("cart_step_1");
   var step_2 = document.getElementById("cart_step_2");
   var step_3 = document.getElementById("cart_step_3");
   var step_4 = document.getElementById("cart_step_4");

   var deb_delivery = document.getElementById("cart_address_deb");
   var vza_delivery = document.getElementById("cart_address_vza");
   var name = document.getElementById("cart_address_name");
   var attn = document.getElementById("cart_address_attn");
   var address = document.getElementById("cart_address_address");
   var zip = document.getElementById("cart_address_zip");
   var place = document.getElementById("cart_address_place");
   var reference = document.getElementById("cart_reference");
   var remarks = document.getElementById("cart_remarks");
   var shipping_method = document.getElementById("cart_shipping_method");
   var take_away_location = document.getElementById("take_away_location");
   var terms = document.getElementById("cart_terms");

   switch (number)
   {
      case 2:
         step_1.style.display = "none";
         step_2.style.display = "block";
         step_3.style.display = "none";
         break;

      case 3:
         if (deb_delivery && vza_delivery)
         {
            if (deb_delivery.value == "000")
            {
               if (name.value != "" && address.value != "" && zip.value != "" && place.value != "")
               {
                  step_1.style.display = "none";
                  step_2.style.display = "none";
                  step_3.style.display = "block";
               }
               else
               {
                  alert("Nog niet alle benodigde adresgegevens zijn ingevuld.");
               }
            }
            else
            {
               step_1.style.display = "none";
               step_2.style.display = "none";
               step_3.style.display = "block";
            }
         }
         else
         {
            alert("U hebt nog geen afleveradres geselecteerd.");
         }
         break;

      case 4:
         if (reference.value != "" && terms.checked)
         {
            var params = "";
            params += "script=/cart_place";
            params += "&deb_delivery=" + deb_delivery.value;
            params += "&vza_delivery=" + vza_delivery.value;
            if (name)
            {
               params += "&name=" + encodeURI(name.value);
               params += "&attn=" + encodeURI(attn.value);
               params += "&address=" + encodeURI(address.value);
               params += "&zip=" + encodeURI(zip.value);
               params += "&place=" + encodeURI(place.value);
            }
            params += "&remarks=" + encodeURI(remarks.value);
            params += "&reference=" + encodeURI(reference.value);
	         params += "&shipping_method=" + encodeURI(shipping_method.value);
            if (take_away_location)
            {
            	params += "&take_away_location=" + encodeURI(take_away_location.value);
            }
            ajax_execute("ajax.php", params, "cart_step_4");

            step_1.style.display = "none";
            step_2.style.display = "none";
            step_3.style.display = "none";
            step_4.style.display = "block";
            cart_refresh();
         }
         else
         {
            if (reference.value == "")
            {
               alert("U hebt geen bestelreferentie opgegeven.");
            }
            else
            {
               if (!terms.checked)
               {
                  alert("U bent nog niet akkoord gegaan met de leveringsvoorwaarden.");
               }
            }
         }
         break;

      case 1:
      default:
         step_1.style.display = "block";
         step_2.style.display = "none";
         step_3.style.display = "none";
         break;
   }
}

