/* *
 * 添加商品到購物車
 */
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);

  
	jQuery.ajax({
    type: 'POST',
    url: 'flow.php?step=add_to_cart',
    cache: false,
    data: 'goods=' + Object.toJSON(goods),
    dataType: 'json',
    beforeSend: function(XMLHttpRequest) {      
      showLoader();
    },
    complete: function(XMLHttpRequest, textStatus) {
      hideLoader();
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert('服務器沒有返回數據，可能服務器忙，請重試');
    },
    success: function(data, textStatus) {

      if (data.error > 0) {
				// 如果需要缺貨登記，跳轉
				if (data.error == 2) {
					alert(data.message);
				}
				// 沒選規格，跳到商品詳情頁
				else if (data.error == 6) {
					if (confirm(data.message)) {
						location.href = 'goods.php?id=' + data.goods_id;
					}
				}
				else {
					alert(data.message);
				}
			}
			else {

				switch(data.confirm_type) {
					case '1' :
						if (confirm(data.message)) location.href = 'flow.php';
						break;
					case '2' :
						if (!confirm(data.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;
    }
  }  

	jQuery.ajax({
		type: 'GET',
		url: 'goods.php',
		cache: false,
		data: 'act=price&id=' + goodsId + '&attr=' + attr + '&number=' + qty,
		dataType: 'json',
		beforeSend: function(XMLHttpRequest) {			
			showLoader();
			jQuery.blockUI({ message: '<div id="load-div"><img src="' + $templateDir + 'images/loader.gif" width="16" height="16" alt="正在處理您的請求..." align="absmiddle" /> 正在處理您的請求...</div>' ,css: {backgroundColor: '#fff', color: '#000',  padding: '10px 0px'}});
		},
		complete: function(XMLHttpRequest, textStatus) {
			hideLoader();
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			jQuery.unblockUI({
				onUnblock: function() {
					alert('服務器沒有返回數據，可能服務器忙，請重試');
				}
			});
		},
		success: function(data, textStatus) {
			jQuery.unblockUI({
				onUnblock: function() {
					if (data.err_msg.length > 0) {
						alert(data.err_msg);
					}
					else {
						document.forms['GRS_FORMBUY'].elements['number'].value = data.qty;
						jQuery('#GRS_GOODS_AMOUNT').html(data.result);
					}	
				}
			});
		}
	});
}

/* *
 * 添加商品到收藏夾
 */
function collect(goodsId) {
	jQuery.ajax({
		type: 'GET',
		url: 'user.php?act=collect',
		cache: false,
		data: 'id=' + goodsId,
		dataType: 'json',
		beforeSend: function(XMLHttpRequest) {			
			showLoader();
		},
		complete: function(XMLHttpRequest, textStatus) {
			hideLoader();
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert('系統發生錯誤！');
		},
		success: function(data, textStatus) {
			alert(data.message);
		}
	});
}
