/* *
 * 註冊 AJAX 某些事件所對應的函數
 */
Ajax.Responders.register ({
  onLoading: showLoader,
  onComplete: hideLoader,
  encoding: 'UTF-8'
  });

/* *
 * 添加商品到購物車
 */
function addToCart(goodsId, type)
{
  var goods        = new Object();
  var spec_arr     = new Array();
  //var spec         = 0;
  var number       = 1;
  var formBuy      = document.forms['GRS_FORMBUY'];
  
  if (!type)
  {
      // 檢查是否有商品規格
      if (formBuy)
      {
        spec_arr = getSelectedAttributes(formBuy);
        if (formBuy.elements['number'])
        {
          number = formBuy.elements['number'].value;
        }
      }
  }

  goods.goods_id = goodsId;
  goods.spec     = spec_arr;
  goods.number   = number;
  
  var url = '../cart/index.php?step=add_to_cart';
  var pars = 'goods=' + Object.toJSON(goods);
  new Ajax.Request(url, {
                   method: 'post',
                   contentType: 'application/x-www-form-urlencoded',
                   asynchronous: true, //是否異步
                   parameters: pars,
                   requestHeaders: {Accept:'application/json'},
                   onSuccess:addToCartResponse});
}

/**
 * 獲得選定的商品屬性
 */
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 addToCartResponse(result)
{
  //用evalJSON()方法把服務端傳過來的字符串轉化成JSON數據對象。
  var result = result.responseText.evalJSON(true);
  
  if (result.error > 0)
  {
    alert(result.message);
  }
  else
  {
      switch(result.confirm_type)
      {
        case 1 :
          if (confirm(result.message)) location.href = '../cart/index.php';
          break;
        case 2 :
          if (!confirm(result.message)) location.href = '../cart/index.php';
          break;
        case 3 :
          location.href = '../cart/index.php';
          break;
        default :
          break;
      }
      
  }
}

/* *
 * 添加商品到收藏夾
 */
function collect(goodsId)
{
  var url = '../member/index.php?act=collect';
  var pars = 'id=' + goodsId;

  new Ajax.Request(url, {
                   method: 'get',
                   contentType: 'application/x-www-form-urlencoded',
                   asynchronous: true, //是否異步
                   parameters: pars,
                   requestHeaders: {Accept:'application/json'},
                   onSuccess: function(result){
                      var result = result.responseText.evalJSON(true);
                      alert(result.message);
                     }});
}


function addEmail(email)
{
  var url = '../member/index.php?act=email_list';
  var pars = 'job=add&email=' + email;
  new Ajax.Request(url, {
                   method: 'get',
                   parameters: pars,
                   onSuccess: function(result){
                      var result = result.responseText;
                      alert(result);
                     }});  
  
}

function delEmail(email)
{
  var url = '../member/index.php?act=email_list';
  var pars = 'job=del&email=' + email;
  new Ajax.Request(url, {
                   method: 'get',
                   parameters: pars,
                   onSuccess: function(result){
                      var result = result.responseText;
                      alert(result);
                     }});  

}

/**
 * 改變商品數量
 */
function setCartNumber()
{
    var url = 'index.php?step=update_cart';
    new Ajax.Request(url, {
                     method: 'post',
                     asynchronous: true, //是否異步
                     contentType: 'application/x-www-form-urlencoded',
                     parameters: $("GRS_CART").serialize(),
                     requestHeaders: {Accept:'application/json'},
                     onSuccess: function(result){
                        var result = result.responseText.evalJSON(true);
                        if (result.error > 0)
                        {
                          alert(result.message);
                        }
                        location.href = 'index.php'
                     }});   
}

function submitPartnerInfo()
{
    var url = '../cart/index.php?step=send_partner';
    new Ajax.Request(url, {
                     method: 'post',
                     asynchronous: true, //是否异步
                     contentType: 'application/x-www-form-urlencoded',
                     parameters: $("PartnerInfo").serialize(),
                     requestHeaders: {Accept:'application/json'},
                     onSuccess: function(result){
                        var result = result.responseText.evalJSON(true);
                        if (result.error > 0)
                        {
                          alert(result.message);
                        }
                        else
                        {
                          alert(result.message);
                          $("PartnerInfo").reset();
                        }
                     }});   

}

function submitCommentInfo()
{
    var url = 'index.php?act=add_comment_info';
    new Ajax.Request(url, {
                     method: 'post',
                     asynchronous: true, //是否异步
                     contentType: 'application/x-www-form-urlencoded',
                     parameters: $("CommentInfo").serialize(),
                     requestHeaders: {Accept:'application/json'},
                     onSuccess: function(result){
                        var result = result.responseText.evalJSON(true);
                        if (result.error > 0)
                        {
                          alert(result.message);
                        }
                        else
                        {
                          location.href = 'index.php'
                        }
                     }});   

}

/* 修復IE6以下版本PNG圖片Alpha */
function fixpng()
{
  var arVersion = navigator.appVersion.split("MSIE")
  var version = parseFloat(arVersion[1])

  if ((version >= 5.5) && (document.body.filters))
  {
     for(var i=0; i<document.images.length; i++)
     {
        var img = document.images[i]
        var imgName = img.src.toUpperCase()
        if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
        {
           var imgID = (img.id) ? "id='" + img.id + "' " : ""
           var imgClass = (img.className) ? "class='" + img.className + "' " : ""
           var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
           var imgStyle = "display:inline-block;" + img.style.cssText
           if (img.align == "left") imgStyle = "float:left;" + imgStyle
           if (img.align == "right") imgStyle = "float:right;" + imgStyle
           if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
           var strNewHTML = "<span " + imgID + imgClass + imgTitle
           + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
           + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
           + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
           img.outerHTML = strNewHTML
           i = i-1
        }
     }
  }
}

/* *
 * 顯示載入信息
 */
function showLoader()
{
  var obj = document.getElementById('loader');

  if (!obj)
  {
    obj = document.createElement("DIV");
    obj.id = "loader";
    obj.innerHTML = "正在處理您的請求...";

    document.body.appendChild(obj);
  }
}

/* *
 * 隱藏載入信息
 */
function hideLoader()
{
  try
  {
    var obj = document.getElementById("loader");
    obj.style.display = 'none';
    document.body.removeChild(obj);
  }
  catch (ex)
  {}
}

