/* *
 * 添加商品到購物車
 */
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),
                   onComplete: hideLoader,
                   onLoading: showLoader,
                   onSuccess: addToCartResponse});
}

/* *
 * 處理添加商品到購物車的反饋信息
 */
function addToCartResponse(result)
{

  
	var res   = result.responseText;
  if (!res.isJSON())
    alert(res);
  else
  {
		//用 evalJSON()方法把服務端傳過來的字符串轉化成JSON數據對象。
		res = res.evalJSON(true);
		if (res.error > 0)
		{
			// 如果需要缺貨登記，跳轉
			if (res.error == 2)
			{
	
				if (confirm(res.message))
				{
					location.href = 'member.php?act=add_booking&id=' + res.goods_id;
				}
			}
			// 沒選規格，跳到商品詳情頁
			else if (res.error == 6)
			{
				if (confirm(res.message))
				{
					location.href = 'goods.php?id=' + res.goods_id;
				}
			}
			else
			{
				alert(res.message);
			}
		}
		else
		{
			var cartInfo = document.getElementById('GRS_CARTINFO');
	
			if (cartInfo)
			{
				cartInfo.innerHTML = res.content;
			}
	
			if (res.one_step_buy == '1')
			{
				location.href = 'flow.php';
			}
			else
			{
				switch(res.confirm_type)
				{
					case '1' :
						if (confirm(res.message)) location.href = 'flow.php';
						break;
					case '2' :
						if (!confirm(res.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(arr_id)
{
  var formBuy  = document.forms['GRS_FORMBUY'];
  (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);

  if (!(typeof(arr_id) == "undefined"))
  {
    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].value = arr_id;
      }
      else if (prefix == 'spec_' && formBuy.elements[i].type == 'select-one')
      {
        formBuy.elements[i].value = arr_id;
      }
    }
  }

  var attr     = getSelectedAttributes(formBuy);

  var qty      = 1;
  if (formBuy)
  {
    if (formBuy.elements['number'])
    {
      qty = 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;
  }
}

/* *
 * 添加商品到收藏夾
 */
function collect(goodsId)
{
  new Ajax.Request('member.php?act=collect', {
                   method: 'get',
                   parameters: 'id=' + goodsId,
                   onLoading: showLoader,
                   onComplete: hideLoader,
                   onSuccess: collectResponse});
}

/* *
 * 處理收藏商品的反饋信息
 */
function collectResponse(result)
{
  var result = result.responseText.evalJSON(true);
  alert(result.message);
}

function display_mode(str)
{
    $('display').value = str;
    setTimeout(doSubmit, 0);
    function doSubmit() {document.forms['listform'].submit();}
}