﻿var process_request  = "正在处理您的请求……";

var selectedShipping = null;
var selectedPayment  = null;
var selectedPack     = null;
var selectedCard     = null;
var selectedSurplus  = '';
var selectedBonus    = 0;
var selectedIntegral = 0;
var selectedOOS      = null;
var alertedSurplus   = false;

var groupBuyShipping = null;
var groupBuyPayment  = null;

/* *
 * 改变配送方式
 */
function selectShipping(obj)
{
  if (selectedShipping == obj)
  {
    return;
  }
  else
  {
    selectedShipping = obj;
  }

  var supportCod = obj.attributes['supportcod'].value + 0;
  var theForm = obj.form;

  for (i = 0; i < theForm.elements.length; i ++ )
  {
    if (theForm.elements[i].name == 'payment' && theForm.elements[i].attributes['iscod'].value == '1')
    {
      if (supportCod == 0)
      {
        theForm.elements[i].checked = false;
        theForm.elements[i].disabled = true;
      }
      else
      {
        theForm.elements[i].disabled = false;
      }
    }
  }


  var now = new Date();
  //Ajax.call('assistant/flow.ashx?Act=select_shipping', 'ShippingID=' + obj.value, orderShippingSelectedResponse, 'GET', 'JSON');
  
    jQuery.ajax({
        type: "get",
        url: "assistant/flow.ashx?Act=select_shipping&ShippingID=" + obj.value,
        success: function(data, textStatus) {
            orderShippingSelectedResponse(data);
        },
        dataType: "json"
    });
}

/**
 * 改变配送方式结果
 */
function orderShippingSelectedResponse(result)
{
  orderSelectedResponse(result);
}

/* *
 * 改变支付方式
 */
function selectPayment(obj)
{
  if (selectedPayment == obj)
  {
    return;
  }
  else
  {
    selectedPayment = obj;
  }

  //Ajax.call('assistant/flow.ashx?Act=select_payment', 'Payment=' + obj.value, orderSelectedResponse, 'GET', 'JSON');

  jQuery.ajax({
      type: "get",
      url: "assistant/flow.ashx?a="+ Math.random() +"&Act=select_payment&Payment=" + obj.value,
      success: function(data, textStatus) {
          document.getElementById("selectInstallmentTimes").value = "3";
          document.getElementById("tbInstallmentTimes").style.display = data.pay_code == "Icbc" ? "block" : "none";
          orderSelectedResponse(data);
      },
      dataType: "json"
  });
}

function changeInstallmentTimes(times) {
    if (times > 0) {
        jQuery.ajax({
        type: "get",
            url: "assistant/flow.ashx?Act=change_installmenttimes&Times=" + times,
            success: function(data, textStatus) {
            },
            dataType: "json"
        });
    }
}

/* *
 * 团购购物流程 --> 改变配送方式
 */
function handleGroupBuyShipping(obj)
{
  if (groupBuyShipping == obj)
  {
    return;
  }
  else
  {
    groupBuyShipping = obj;
  }

  var supportCod = obj.attributes['supportcod'].value + 0;
  var theForm = obj.form;

  for (i = 0; i < theForm.elements.length; i ++ )
  {
    if (theForm.elements[i].name == 'payment' && theForm.elements[i].attributes['iscod'].value == '1')
    {
      if (supportCod == 0)
      {
        theForm.elements[i].checked = false;
        theForm.elements[i].disabled = true;
      }
      else
      {
        theForm.elements[i].disabled = false;
      }
    }
  }


  //Ajax.call('assistant/flow.ashx?Act=group_buy_select_shipping', 'ShippingID=' + obj.value, orderSelectedResponse, 'GET');
  
    jQuery.ajax({
        type: "get",
        url: "assistant/flow.ashx?Act=group_buy_select_shipping&ShippingID=" + obj.value,
        success: function(data, textStatus) {
            orderSelectedResponse(data);
        },
        dataType: "html"
    });
  
}

/* *
 * 团购购物流程 --> 改变支付方式
 */
function handleGroupBuyPayment(obj)
{
  if (groupBuyPayment == obj)
  {
    return;
  }
  else
  {
    groupBuyPayment = obj;
  }

  //Ajax.call('assistant/flow.ashx?Act=group_buy_select_payment', 'Payment=' + obj.value, orderSelectedResponse, 'GET');
   
    jQuery.ajax({
        type: "get",
        url: "assistant/flow.ashx?Act=group_buy_select_payment&Payment=" + obj.value,
        success: function(data, textStatus) {
            orderSelectedResponse(data);
        },
        dataType: "html"
    });
}

/* *
 * 改变商品包装
 */
function selectPack(obj)
{
  if (selectedPack == obj)
  {
    return;
  }
  else
  {
    selectedPack = obj;
  }

  Ajax.call('flow.aspx?step=select_pack', 'pack=' + obj.value, orderSelectedResponse, 'GET', 'JSON');
    
}

/* *
 * 改变祝福贺卡
 */
function selectCard(obj)
{
  if (selectedCard == obj)
  {
    return;
  }
  else
  {
    selectedCard = obj;
  }

  Ajax.call('flow.aspx?step=select_card', 'card=' + obj.value, orderSelectedResponse, 'GET', 'JSON');
}

/* *
 * 选定了配送保价
 */
function selectInsure(needInsure)
{
  needInsure = needInsure ? 1 : 0;
  //Ajax.call('../assistant/flow.ashx?Act=select_insure', 'Insure=' + needInsure, orderSelectedResponse, 'GET', 'JSON');
    
    jQuery.ajax({
        type: "get",
        url: "assistant/flow.ashx?Act=select_insure&Insure=" + needInsure,
        success: function(data, textStatus) {
            orderSelectedResponse(data);
        },
        dataType: "json"
    });
}

/* *
* 选定了货到付款
*/
function selectCod(isCod) {
    document.getElementById("tbPayment").style.display = isCod ? "none" : "block";
}

/**
 * 团购购物流程 --> 选定了配送保价
 */
function handleGroupBuyInsure(needInsure)
{
  needInsure = needInsure ? 1 : 0;

  //Ajax.call('assistant/flow.ashx?Act=select_insure', 'Insure=' + needInsure, orderSelectedResponse, 'GET', 'JSON');
      
    jQuery.ajax({
        type: "get",
        url: "assistant/flow.ashx?Act=select_insure&Insure=" + needInsure,
        success: function(data, textStatus) {
            orderSelectedResponse(data);
        },
        dataType: "json"
    });
}

/* *
 * 回调函数
 */
function orderSelectedResponse(result)
{
  if (result.error || result.error > 0)
  {
    alert(result.message);
    location.href = '../';
  }

  try
  {
    var layer = document.getElementById("IDO_ORDERTOTAL");

    layer.innerHTML = (typeof result == "object") ? result.content : result;

    if (result.payment != undefined)
    {
      var surplusObj = document.forms['theForm'].elements['surplus'];
      if (surplusObj != undefined)
      {
        surplusObj.disabled = result.pay_code == 'Balance';
      }
    }
  }
  catch (ex) { }
}

/* *
 * 改变余额
 */
function changeSurplus(val)
{
  if (selectedSurplus == val)
  {
    return;
  }
  else
  {
    selectedSurplus = val;
  }

  //Ajax.call('flow.aspx?step=change_surplus', 'surplus=' + val, changeSurplusResponse, 'GET', 'JSON');
   
   jQuery.ajax({
        type: "get",
        url: "flow.aspx?step=change_surplus&surplus=" + needInsure,
        success: function(data, textStatus) {
            changeSurplusResponse(data);
        },
        dataType: "json"
    });
}

/* *
 * 改变余额回调函数
 */
function changeSurplusResponse(obj)
{
  if (obj.error)
  {
    try
    {
      document.getElementById("IDO_SURPLUS_NOTICE").innerHTML = obj.error;
      document.getElementById('IDO_SURPLUS').value = '0';
      document.getElementById('IDO_SURPLUS').focus();
    }
    catch (ex) { }
  }
  else
  {
    try
    {
      document.getElementById("IDO_SURPLUS_NOTICE").innerHTML = '';
    }
    catch (ex) { }
    orderSelectedResponse(obj.content);
  }
}

/* *
 * 改变积分
 */
function changeIntegral(val)
{
  if (selectedIntegral == val)
  {
    return;
  }
  else
  {
    selectedIntegral = val;
  }
  
   jQuery.ajax({
        type: "get",
        url: "assistant/flow.ashx?act=check_integral&integral=" + val,
        success: function(data, textStatus) {
            changeIntegralResponse(data);
        },
        dataType: "json"
    });
}

/* *
 * 改变积分回调函数
 */
function changeIntegralResponse(obj)
{
  if (obj.error)
  {
    try
    {
      document.getElementById('IDO_INTEGRAL_NOTICE').innerHTML = obj.error;
      document.getElementById('IDO_INTEGRAL').value = '0';
      document.getElementById('IDO_INTEGRAL').focus();
    }
    catch (ex) { }
  }
  else
  {
    try
    {
      document.getElementById('IDO_INTEGRAL_NOTICE').innerHTML = '';
    }
    catch (ex) { }
    orderSelectedResponse(obj.content);
  }
}

/* *
 * 改变红包
 */
function changeBonus(val)
{
  if (selectedBonus == val)
  {
    return;
  }
  else
  {
    selectedBonus = val;
  }

  //Ajax.call('flow.aspx?step=change_bonus', 'change_bonus=' + val, changeBonusResponse, 'GET', 'JSON');
    
   jQuery.ajax({
        type: "get",
        url: "flow.aspx?step=change_bonus&change_bonus=" + val,
        success: function(data, textStatus) {
            changeBonusResponse(data);
        },
        dataType: "json"
    });
}

/* *
 * 改变红包的回调函数
 */
function changeBonusResponse(obj)
{
  if (obj.error)
  {
    alert(obj.error);

    try
    {
      document.getElementById('IDO_BONUS').value = '0';
    }
    catch (ex) { }
  }
  else
  {
    orderSelectedResponse(obj.content);
  }
}

/**
 * 验证红包序列号
 * @param string bonusSn 红包序列号
 */
function validateBonus(bonusSn)
{
  //Ajax.call('flow.aspx?step=validate_bonus', 'bonus_sn=' + bonusSn, validateBonusResponse, 'GET');
      
   jQuery.ajax({
        type: "get",
        url: "flow.aspx?step=validate_bonus&bonus_sn=" + bonusSn,
        success: function(data, textStatus) {
            validateBonusResponse(data);
        },
        dataType: "html"
    });
}

function validateBonusResponse(result)
{
  alert(result);
}

/* *
 * 改变发票的方式
 */
function changeNeedInv()
{
  var obj        = document.getElementById('IDO_NEEDINV');
  var objType    = document.getElementById('IDO_INVTYPE');
  var objPayee   = document.getElementById('IDO_INVPAYEE');
  var objContent = document.getElementById('IDO_INVCONTENT');
  var needInv    = obj.checked ? 1 : 0;
  var invType    = obj.checked ? (objType != undefined ? objType.value : '') : '';
  var invPayee   = obj.checked ? objPayee.value : '';
  var invContent = obj.checked ? objContent.value : '';
  objType.disabled = objPayee.disabled = objContent.disabled = ! obj.checked;
  if(objType != null)
  {
    objType.disabled = ! obj.checked;
  }

  //Ajax.call('flow.aspx?step=change_needinv', 'need_inv=' + needInv + '&inv_type=' + encodeURIComponent(invType) + '&inv_payee=' + encodeURIComponent(invPayee) + '&inv_content=' + encodeURIComponent(invContent), orderSelectedResponse, 'GET');
        
   jQuery.ajax({
        type: "get",
        url: 'flow.aspx?step=change_needinv&need_inv=' + needInv + '&inv_type=' + encodeURIComponent(invType) + '&inv_payee=' + encodeURIComponent(invPayee) + '&inv_content=' + encodeURIComponent(invContent),
        success: function(data, textStatus) {
            orderSelectedResponse(data);
        },
        dataType: "html"
    });
}

/* *
 * 改变发票的方式
 */
function groupBuyChangeNeedInv()
{
  var obj        = document.getElementById('IDO_NEEDINV');
  var objPayee   = document.getElementById('IDO_INVPAYEE');
  var objContent = document.getElementById('IDO_INVCONTENT');
  var needInv    = obj.checked ? 1 : 0;
  var invPayee   = obj.checked ? objPayee.value : '';
  var invContent = obj.checked ? objContent.value : '';
  objPayee.disabled = objContent.disabled = ! obj.checked;

  //Ajax.call('group_buy.aspx?act=change_needinv', 'need_idv=' + needInv + '&amp;payee=' + invPayee + '&amp;content=' + invContent, null, 'GET');
  
   jQuery.ajax({
        type: "get",
        url: 'group_buy.aspx?act=change_needinv&need_idv=' + needInv + '&amp;payee=' + invPayee + '&amp;content=' + invContent,
        success: function(data, textStatus) {
        },
        dataType: "html"
    });
}

/* *
 * 改变缺货处理时的处理方式
 */
function changeOOS(obj)
{
  if (selectedOOS == obj)
  {
    return;
  }
  else
  {
    selectedOOS = obj;
  }

  //Ajax.call('flow.aspx?step=change_oos', 'oos=' + obj.value, null, 'GET');
   jQuery.ajax({
        type: "get",
        url: 'flow.aspx?step=change_oos&oos=' + obj.value,
        success: function(data, textStatus) {
        },
        dataType: "html"
    });
}

/* *
 * 检查提交的订单表单
 */
function checkOrderForm(frm)
{
  var paymentSelected = false;
  var shippingSelected = false;

  // 检查是否选择了支付配送方式
  for (i = 0; i < frm.elements.length; i ++ )
  {
    if (frm.elements[i].name == 'shipping' && frm.elements[i].checked)
    {
      shippingSelected = true;
    }

    if (frm.elements[i].name == 'payment' && frm.elements[i].checked)
    {
      paymentSelected = true;
    }
  }

  if ( ! shippingSelected)
  {
    alert('您必须选定一个配送方式');
    return false;
  }

  if ( ! paymentSelected)
  {
    alert('您必须选定一个支付方式');
    return false;
  }

  // 检查用户输入的余额
  if (document.getElementById("IDO_SURPLUS"))
  {
    var surplus = document.getElementById("IDO_SURPLUS").value;
    //var error   = Utils.trim(Ajax.call('assistant/flow.ashx?Act=check_surplus', 'surplus=' + surplus, null, 'GET', 'TEXT', false));

     jQuery.ajax({
            type: "get",
            url: 'assistant/flow.ashx?Act=check_surplus&surplus=' + surplus,
            success: function(error, textStatus) {
                if (error)
                {
                  try
                  {
                    document.getElementById("IDO_SURPLUS_NOTICE").innerHTML = error;
                  }
                  catch (ex)
                  {
                  }
                  return false;
                }
            },
            dataType: "html"
        });
  }

  // 检查用户输入的积分
  if (document.getElementById("IDO_INTEGRAL"))
  {
    var integral = document.getElementById("IDO_INTEGRAL").value;
    //var error    = Utils.trim(Ajax.call('Assistant/Flow.ashx?Act=check_integral', 'integral=' + integral, null, 'GET', 'TEXT', false));

     jQuery.ajax({
            type: "get",
            url: 'assistant/flow.ashx?Act=check_integral&integral=' + integral,
            success: function(error, textStatus) {
                    if (error)
                    {
                      return false;
                      try
                      {
                        document.getElementById("IDO_INTEGRAL_NOTICE").innerHTML = error;
                      }
                      catch (ex)
                      {
                      }
                    }
            },
            dataType: "html"
        });
  }
  frm.action = frm.action + '?step=done';
  return true;
}


/**
 * 检查收货地址信息表单中填写的内容
 */
function checkConsignee(frm)
{
    var consignee_not_null = "收货人姓名不能为空！";
    var country_not_null = "请您选择收货人所在国家！";
    var province_not_null = "请您选择收货人所在省份！";
    var city_not_null = "请您选择收货人所在城市！";
    var district_not_null = "请您选择收货人所在区域！";
    var invalid_email = "您输入的邮件地址不是一个合法的邮件地址。";
    var address_not_null = "收货人的详细地址不能为空！";
    var tele_not_null = "电话不能为空！";
    var shipping_not_null = "请您选择配送方式！";
    var payment_not_null = "请您选择支付方式！";
    var tele_invaild = "电话号码不有效的号码";
    var zip_not_num = "邮政编码只能填写数字";
    var mobile_invaild = "手机号码不是合法号码";

  var msg = new Array();
  var err = false;

  if (frm.elements['country'] && frm.elements['country'].value == 0)
  {
    msg.push(country_not_null);
    err = true;
  }

  if (frm.elements['province'] && frm.elements['province'].value == 0 && frm.elements['province'].length > 1)
  {
    err = true;
    msg.push(province_not_null);
  }

  if (frm.elements['city'] && frm.elements['city'].value == 0 && frm.elements['city'].length > 1)
  {
    err = true;
    msg.push(city_not_null);
  }

  if (frm.elements['district'] && frm.elements['district'].length > 1)
  {
    if (frm.elements['district'].value == 0)
    {
      err = true;
      msg.push(district_not_null);
    }
  }

  if (Utils.isEmpty(frm.elements['consignee'].value))
  {
    err = true;
    msg.push(consignee_not_null);
  }

  if ( ! Utils.isEmail(frm.elements['email'].value))
  {
    err = true;
    msg.push(invalid_email);
  }

  if (frm.elements['address'] && Utils.isEmpty(frm.elements['address'].value))
  {
    err = true;
    msg.push(address_not_null);
  }

  if (frm.elements['zipcode'] && frm.elements['zipcode'].value.length > 0 && (!Utils.isNumber(frm.elements['zipcode'].value)))
  {
    err = true;
    msg.push(zip_not_num);
  }

  if (Utils.isEmpty(frm.elements['tel'].value))
  {
    err = true;
    msg.push(tele_not_null);
  }
  else
  {
    if (!Utils.isTel(frm.elements['tel'].value))
    {
      err = true;
      msg.push(tele_invaild);
    }
  }

  if (frm.elements['mobile'] && frm.elements['mobile'].value.length > 0 && (!Utils.isTel(frm.elements['mobile'].value)))
  {
    err = true;
    msg.push(mobile_invaild);
  }

  if (err)
  {
    message = msg.join("\n");
    alert(message);
  }
  return ! err;
}

