/* *
 * 添加商品到購物車
 */
function addToCart(goodsId, parentId)
{

  var goods        = new Object();
  var spec_arr     = new Array();
  var fittings_arr = new Array();
  var number       = 1;
  var formBuy      = document.forms['GRS_FORMBUY'];

  // 檢查是否有商品規格
  if (formBuy)
  {
    spec_arr = getSelectedAttributes(formBuy);

    if (formBuy.elements['number'])
    {
      number = formBuy.elements['number'].value;
    }
  }

  goods.spec     = spec_arr;
  goods.goods_id = goodsId;
  goods.number   = number;
  goods.parent   = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);

  new Ajax.Request('flow.php?step=add_to_cart', {
                   method: 'post',
                   parameters: 'goods=' + Object.toJSON(goods),
                   onSuccess:addToCartResponse});
}

/* *
 * 處理添加商品到購物車的反饋信息
 */
function addToCartResponse(result)
{
  //用 evalJSON()方法把服務端傳過來的字符串轉化成JSON數據對象。
  var result = result.responseText.evalJSON(true);

  if (result.error > 0)
  {
    // 如果需要缺貨登記，跳轉
    if (result.error == 2)
    {
      alert(result.message);  
//      if (confirm(result.message))
//      {
//        location.href = 'user.php?act=add_booking&id=' + result.goods_id;
//      }
    }
    // 沒選規格，跳到商品詳情頁
    else if (result.error == 6)
    {
      if (confirm(result.message))
      {
        location.href = 'goods.php?id=' + result.goods_id;
      }
    }
    else
    {
      alert(result.message);
    }
  }
  else
  {
    var cartInfo = document.getElementById('GRS_CARTINFO');

    if (cartInfo)
    {
      cartInfo.innerHTML = result.content;
    }

    if (result.one_step_buy == '1')
    {
      location.href = 'flow.php';
    }
    else
    {
      switch(result.confirm_type)
      {
        case '1' :
          if (confirm(result.message)) location.href = 'flow.php';
          break;
        case '2' :
          if (!confirm(result.message)) location.href = 'flow.php';
          break;
        case '3' :
          location.href = 'flow.php';
          break;
        default :
          break;
      }
    }
  }
}

/**
 * 獲得選定的商品屬性
 */
function getSelectedAttributes(formBuy)
{
  var spec_arr = new Array();
  var j = 0;

  for (i = 0; i < formBuy.elements.length; i ++ )
  {
    var prefix = formBuy.elements[i].name.substr(0, 5);

    if (prefix == 'spec_' && (
      (formBuy.elements[i].type == 'radio' && formBuy.elements[i].checked) ||
      formBuy.elements[i].tagName == 'SELECT'))
    {
      spec_arr[j] = formBuy.elements[i].value;
      j++ ;
    }
  }

  return spec_arr;
}

/**
 * 點選可選屬性或改變數量時修改商品價格的函數
 */
function changePrice()
{
  var attr = getSelectedAttributes(document.forms['GRS_FORMBUY']);
  var qty = document.forms['GRS_FORMBUY'].elements['number'].value;
  new Ajax.Request('goods.php', {
                   method: 'get',
                   parameters: 'act=price&id=' + goodsId + '&attr=' + attr + '&number=' + qty,
                   onSuccess:changePriceResponse});
}
/**
 * 接收返回的信息
 */
function changePriceResponse(res)
{
  //用 evalJSON()方法把服務端傳過來的字符串轉化成JSON數據對象。
  var res = res.responseText.evalJSON(true);
  if (res.err_msg.length > 0)
  {
    alert(res.err_msg);
  }
  else
  {
    document.forms['GRS_FORMBUY'].elements['number'].value = res.qty;
    if ($('GRS_GOODS_AMOUNT'))
      $('GRS_GOODS_AMOUNT').innerHTML = res.result;
  }
}
