
/* *
 * 會員登錄
 */
function userLogin()
{
  var frm      = document.forms['formLogin'];
  var username = frm.elements['username'].value;
  var password = frm.elements['password'].value;
  var msg = '';

  if (username.length == 0)
  {
    msg += '- 帳號不能未填寫。' + '\n';
  }

  if (password.length == 0)
  {
    msg += '- 密碼不能未填寫。' + '\n';
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 修改會員信息
 */
function userEdit()
{
  var frm = document.forms['formEdit'];
  var email = frm.elements['email'].value;
  var new_password = frm.elements['new_password'].value;
  var confirm_password = frm.elements['confirm_password'].value;
	
  var msg = '';
  var reg = null;

  if (new_password.length > 0 || confirm_password.length > 0)
  {
		if (new_password.length < 6)
		{
			msg += '- 登入密碼不能少於 6 個字母。' + '\n';
		}
		else if (new_password != confirm_password)
		{
			msg += '您兩次輸入的密碼不一致！' + '\n';
		}
  }

  if (email.length == 0)
  {
    msg += '請輸入您的電子郵件地址！' + '\n';
  }
  else
  {
    REstr = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    if (!REstr.test(email))
    {
      msg += '您輸入的電子郵件地址格式不正確！' + '\n';
    }
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* 會員修改密碼 */
function editPassword()
{
  var frm              = document.forms['formPassword'];
  var old_password     = frm.elements['old_password'].value;
  var new_password     = frm.elements['new_password'].value;
  var confirm_password = frm.elements['comfirm_password'].value;

  var msg = '';
  var reg = null;

  if (old_password.length == 0)
  {
    msg += '請輸入您的原密碼！' + '\n';
  }

  if (new_password.length == 0)
  {
    msg += '請輸入您的新密碼！' + '\n';
  }

  if (confirm_password.length == 0)
  {
    msg += '請輸入您的確認密碼！' + '\n';
  }

  if (new_password.length > 0 && confirm_password.length > 0)
  {
    if (new_password != confirm_password)
    {
      msg += '您兩次輸入的密碼不一致！' + '\n';
    }
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 對會員的留言輸入作處理
 */
function submitMsg()
{
  var frm         = document.forms['formMsg'];
  var msg_title   = frm.elements['msg_title'].value;
  var msg_content = frm.elements['msg_content'].value;
  var msg = '';

  if (msg_title.length == 0)
  {
    msg += '留言標題未填寫' + '\n';
  }
  if (msg_content.length == 0)
  {
    msg += '留言內容未填寫' + '\n'
  }

  if (msg_title.length > 200)
  {
    msg += '留言標題不能超過200個字' + '\n';
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 會員找回密碼時，對輸入作處理
 */
function submitPwdInfo()
{
  var frm = document.forms['getPassword'];
  var user_name = frm.elements['user_name'].value;
  var email     = frm.elements['email'].value;

  var errorMsg = '';
  if (user_name.length == 0)
  {
    errorMsg += '請輸入您的會員名稱！' + '\n';
  }

  if (email.length == 0)
  {
    errorMsg += '請輸入您的電子郵件地址！' + '\n';
  }
  else
  {
    REstr = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    if (!REstr.test(email))
    {
      errorMsg += '您輸入的電子郵件地址格式不正確！' + '\n';
    }
  }

  if (errorMsg.length > 0)
  {
    alert(errorMsg);
    return false;
  }

  return true;
}

/* *
 * 會員找回密碼時，對輸入作處理
 */
function submitPwd()
{
  var frm = document.forms['getPassword2'];
  var password = frm.elements['new_password'].value;
  var confirm_password = frm.elements['confirm_password'].value;

  var errorMsg = '';
  if (password.length == 0)
  {
    errorMsg += '請輸入您的新密碼！' + '\n';
  }

  if (confirm_password.length == 0)
  {
    errorMsg += '請輸入您的確認密碼！' + '\n';
  }

  if (confirm_password != password)
  {
    errorMsg += '您兩次輸入的密碼不一致！' + '\n';
  }

  if (errorMsg.length > 0)
  {
    alert(errorMsg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 處理會員提交的缺貨登記
 */
function addBooking()
{
  var frm  = document.forms['formBooking'];
  var goods_id = frm.elements['id'].value;
  var rec_id  = frm.elements['rec_id'].value;
  var number  = frm.elements['number'].value;
  var desc  = frm.elements['desc'].value;
  var linkman  = frm.elements['linkman'].value;
  var email  = frm.elements['email'].value;
  var tel  = frm.elements['tel'].value;
  var msg = "";

  if (number.length == 0)
  {
    msg += '請輸入您要訂購的商品數量！' + '\n';
  }
  else
  {
    var reg = /^[0-9]+/;
    if (!reg.test(number))
    {
      msg += '您輸入的訂購數量格式不正確！' + '\n';
    }
  }

  if (desc.length == 0)
  {
    msg += '請輸入您的訂購描述資料！' + '\n';
  }

  if (linkman.length == 0)
  {
    msg += '請輸入聯絡人姓名！' + '\n';
  }

  if (email.length == 0)
  {
    msg += '請輸入聯絡人的電子郵件地址！' + '\n';
  }
  else
  {
    REstr = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    if (!REstr.test(email))
		{
      msg += '您輸入的電子郵件地址格式不正確！' + '\n';
    }
  }

  if (tel.length == 0)
  {
    msg += '請輸入聯絡人的電話！' + '\n';
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }

  return true;
}

function chkstr(str)
{
  for (var i = 0; i < str.length; i++)
  {
    if (str.charCodeAt(i) < 127 && !str.substr(i,1).match(/^\w+$/ig))
    {
      return false;
    }
  }
  return true;
}

function check_password( password )
{
    if ( password.length < 6 )
    {
        document.getElementById('password_notice').innerHTML = ' * 登入密碼不能少於 6 個字母。';
    }
    else
    {
        document.getElementById('password_notice').innerHTML = ' * ';
    }
}

function check_conform_password(conform_password)
{
    password = document.getElementById('password').value;
    
    if (conform_password.length < 6)
    {
        document.getElementById('conform_password_notice').innerHTML = ' * 登入密碼不能少於 6 個字母。';
        return false;
    }
    if ( conform_password != password )
    {
        document.getElementById('conform_password_notice').innerHTML = ' * 兩次輸入密碼不相同';
    }
    else
    {
        document.getElementById('conform_password_notice').innerHTML = ' * ';
    }
}

function is_registered(username)
{
    var submit_disabled = false;
    if (username == '')
    {
        document.getElementById('username_notice').innerHTML = ' * 會員名不能為空';
        var submit_disabled = true;
    }

    if (!chkstr(username))
    {
        document.getElementById('username_notice').innerHTML = ' * 會員名不得超過 7 個字符長度';
        var submit_disabled = true;
    }
		
    if (username.length < 3)
    {
        document.getElementById('username_notice').innerHTML = ' * 會員名稱長度不能少於 3 個字母。';
        var submit_disabled = true;
    }
		
    if (username.length > 14)
    {
        document.getElementById('username_notice').innerHTML = ' * 會員名不得超過 7 個字符長度';
        var submit_disabled = true;
    }
		
    if (submit_disabled)
    {
        //document.forms['formUser'].elements['Submit'].disabled = 'disabled';
        return false;
    }
		
    new Ajax.Request('user.php?act=is_registered', {
                     method: 'get',
                     parameters: 'username=' + username,
                     onLoading: showLoader,
                     onComplete: hideLoader,
                     onSuccess: registed_callback});
}



function registed_callback(result)
{
	if (result.responseText == "true")
  {
    document.getElementById('username_notice').innerHTML = ' * 可以注冊';
    document.forms['formUser'].elements['Submit'].disabled = '';
  }
  else
  {
    document.getElementById('username_notice').innerHTML = ' * 會員名已存在,請重輸入';
    document.forms['formUser'].elements['Submit'].disabled = 'disabled';
  }
}

function checkEmail(email)
{
  var submit_disabled = false;
  var REstr = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
  if (email == '')
  {
    document.getElementById('email_notice').innerHTML = ' * 郵件地址不能為空';
    submit_disabled = true;
  }    	
  else if (!REstr.test(email))
  {
    document.getElementById('email_notice').innerHTML = ' * 郵箱地址不合法';
    submit_disabled = true;
  }
 
  if(submit_disabled)
  {
    //document.forms['formUser'].elements['Submit'].disabled = 'disabled';
    return false;
  }
	
	new Ajax.Request('user.php?act=check_email', {
									 method: 'get',
									 parameters: 'email=' + email,
									 onLoading: showLoader,
									 onComplete: hideLoader,
									 onSuccess: check_email_callback});	
	
}

function check_email_callback(result)
{
	if (result.responseText == "true")
  {
    document.getElementById('email_notice').innerHTML = ' * ';
    document.forms['formUser'].elements['Submit'].disabled = '';
  }
  else
  {
    document.getElementById('email_notice').innerHTML = ' * 郵箱已存在,請重輸入';
    document.forms['formUser'].elements['Submit'].disabled = 'disabled';
  }
}

/* *
 * 處理註冊用戶
 */
function register()
{
  var frm  = document.forms['formUser'];
  var username  = frm.elements['username'].value;
  var email  = frm.elements['email'].value;
  var password  = frm.elements['password'].value;
  var confirm_password = frm.elements['confirm_password'].value;
  var checked_agreement = frm.elements['agreement'].checked;
	var alias = frm.elements['other[alias]'] ? frm.elements['other[alias]'].value : '';
	var address = frm.elements['other[address]'] ? frm.elements['other[address]'].value : '';
  var home_phone = frm.elements['other[home_phone]'] ? frm.elements['other[home_phone]'].value : '';
  var mobile_phone = frm.elements['other[mobile_phone]'] ? frm.elements['other[mobile_phone]'].value : '';

  var msg = '';

  // 檢查輸入
  var msg = '';
  if (username.length == 0)
  {
    msg += '- 會員名稱不能未填寫。' + '\n';
  }
  else if (username.match(/^\s*$|^c:\\con\\con$|[%,\'\*\"\s\t\<\>\&\\]/))
  {
    msg += '會員名稱只能由字母數字以及底線組成。' + '\n';
  }
  else if (username.length < 3)
  {
    msg += '- 會員名稱長度不能少於 3 個字母。' + '\n';
  }

  if (email.length == 0)
  {
    msg += '- Email 未填寫' + '\n';
  }
  else
  {
    REstr = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    if (!REstr.test(email))
    {
      msg += '- Email 不是正確的信箱格式' + '\n';
    }
  }
  if (password.length == 0)
  {
    msg += '- 登入密碼不能未填寫。' + '\n';
  }
  else if (password.length < 6)
  {
    msg += '- 登入密碼不能少於 6 個字母。' + '\n';
  }
  if (confirm_password != password )
  {
    msg += '- 兩次輸入密碼不相同' + '\n';
  }
  if(checked_agreement != true)
  {
    msg += '- 您沒有接受協議' + '\n';
  }

	if (alias == '')
	{
		 msg += '- 姓名不能未填寫。' + '\n';
	}
	
	if (address == '')
	{
		 msg += '- 通訊地址不能未填寫。' + '\n';
	}

	if (home_phone == '')
	{
		 msg += '- 聯絡電話不能未填寫。' + '\n';
	}

  if (home_phone.length > 0)
  {
    var reg = /^[\d|\-|\s]+$/;
    if (!reg.test(home_phone))
    {
      msg += '- 聯絡電話不是一個有效號碼' + '\n';
    }
  }
	
	if (mobile_phone == '')
	{
		 msg += '- 手機號碼不能未填寫。' + '\n';
	}
	
  if (mobile_phone.length > 0)
  {
    var reg = /^[\d|\-|\s]+$/;
    if (!reg.test(mobile_phone))
    {
      msg += '- 手機號碼不是一個有效號碼' + '\n';
    }
  }
  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 用戶中心訂單保存地址信息
 */
function saveOrderAddress(id)
{
  var frm           = document.forms['formAddress'];
  var consignee     = frm.elements['consignee'].value;
  var email         = frm.elements['email'].value;
  var address       = frm.elements['address'].value;
  var zipcode       = frm.elements['zipcode'].value;
  var tel           = frm.elements['tel'].value;
  var mobile        = frm.elements['mobile'].value;
  var sign_building = frm.elements['sign_building'].value;
  var best_time     = frm.elements['best_time'].value;

  if (id == 0)
  {
    alert(current_ss_not_unshipped);
    return false;
  }
  var msg = '';
  if (address.length == 0)
  {
    msg += address_name_not_null + "\n";
  }
  if (consignee.length == 0)
  {
    msg += '收貨人姓名不能為空！' + "\n";
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 會員餘額申請
 */
function submitSurplus()
{
  var frm            = document.forms['formSurplus'];
  var surplus_type   = frm.elements['surplus_type'].value;
  var surplus_amount = frm.elements['amount'].value;
  var process_notic  = frm.elements['user_note'].value;
  var payment_id     = 0;
  var msg = '';

  if (surplus_amount.length == 0 )
  {
    msg += '請輸入您要操作的金額數量！' + "\n";
  }
  else
  {
    var reg = /^[\.0-9]+/;
    if (!reg.test(surplus_amount))
    {
      msg += '您輸入的金額數量格式不正確！' + '\n';
    }
  }

  if (process_notic.length == 0)
  {
    msg += '請輸入您此次操作的備註資料！' + "\n";
  }

  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }

  if (surplus_type == 0)
  {
    for (i = 0; i < frm.elements.length ; i ++)
    {
      if (frm.elements[i].name=="payment_id" && frm.elements[i].checked)
      {
        payment_id = frm.elements[i].value;
        break;
      }
    }

    if (payment_id == 0)
    {
      alert('請選擇付款方式！');
      return false;
    }
  }

  return true;
}

/* *
 *  處理用戶添加一個紅包
 */
function addBonus()
{
  var frm      = document.forms['addBouns'];
  var bonus_sn = frm.elements['bonus_sn'].value;

  if (bonus_sn.length == 0)
  {
    alert('請輸入您要新增的折價券號碼！');
    return false;
  }
  else
  {
    var reg = /^[0-9]{10}$/;
    if (!reg.test(bonus_sn))
    {
      alert('您輸入的折價券號碼格式不正確！');
      return false;
    }
  }

  return true;
}

/* *
 *  合併訂單檢查
 */
function mergeOrder()
{
  if (!confirm(confirm_merge))
  {
    return false;
  }

  var frm        = document.forms['formOrder'];
  var from_order = frm.elements['from_order'].value;
  var to_order   = frm.elements['to_order'].value;
  var msg = '';

  if (from_order == 0)
  {
    msg += '請選擇要合併的子訂單' + '\n';
  }
  if (to_order == 0)
  {
    msg += '請選擇要合併的主訂單' + '\n';
  }
  else if (to_order == from_order)
  {
    msg += '主訂單和子訂單相同，請重新選擇' + '\n';
  }
  if (msg.length > 0)
  {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }
}

/* *
 * 訂單中的商品返回購物車
 * @param       int     orderId     訂單號
 */
function returnToCart(orderId)
{
  //Ajax.call('user.php?act=return_to_cart', 'order_id=' + orderId, returnToCartResponse, 'POST', 'JSON');
}

function returnToCartResponse(result)
{
  alert(result.message);
}

/* *
 * 檢測密碼強度
 * @param       string     pwd     密碼
 */
function checkIntensity(pwd)
{
  var Mcolor = "#FFF",Lcolor = "#FFF",Hcolor = "#FFF";
  var m=0;

  var Modes = 0;
  for (i=0; i<pwd.length; i++)
  {
    var charType = 0;
    var t = pwd.charCodeAt(i);
    if (t>=48 && t <=57)
    {
      charType = 1;
    }
    else if (t>=65 && t <=90)
    {
      charType = 2;
    }
    else if (t>=97 && t <=122)
      charType = 4;
    else
      charType = 4;
    Modes |= charType;
  }

  for (i=0;i<4;i++)
  {
    if (Modes & 1) m++;
      Modes>>>=1;
  }

  if (pwd.length<=4)
  {
    m = 1;
  }

  switch(m)
  {
    case 1 :
      Lcolor = "2px solid red";
      Mcolor = Hcolor = "2px solid #DADADA";
    break;
    case 2 :
      Mcolor = "2px solid #f90";
      Lcolor = Hcolor = "2px solid #DADADA";
    break;
    case 3 :
      Hcolor = "2px solid #3c0";
      Lcolor = Mcolor = "2px solid #DADADA";
    break;
    case 4 :
      Hcolor = "2px solid #3c0";
      Lcolor = Mcolor = "2px solid #DADADA";
    break;
    default :
      Hcolor = Mcolor = Lcolor = "";
    break;
  }
  document.getElementById("pwd_lower").style.borderBottom  = Lcolor;
  document.getElementById("pwd_middle").style.borderBottom = Mcolor;
  document.getElementById("pwd_high").style.borderBottom   = Hcolor;

}

function changeType(obj)
{
  if (obj.getAttribute("min") && document.getElementById("GRS_AMOUNT"))
  {
    document.getElementById("GRS_AMOUNT").disabled = false;
    document.getElementById("GRS_AMOUNT").value = obj.getAttribute("min");
    if (document.getElementById("GRS_NOTICE") && obj.getAttribute("to") && obj.getAttribute('fee'))
    {
      var fee = parseInt(obj.getAttribute("fee"));
      var to = parseInt(obj.getAttribute("to"));
      if (fee < 0)
      {
        to = to + fee * 2;
      }
      document.getElementById("GRS_NOTICE").innerHTML = notice_result + to;
    }
  }
}

function calResult()
{
  var amount = document.getElementById("GRS_AMOUNT").value;
  var notice = document.getElementById("GRS_NOTICE");

  reg = /^\d+$/;
  if (!reg.test(amount))
  {
    notice.innerHTML = notice_not_int;
    return;
  }
  amount = parseInt(amount);
  var frm = document.forms['transform'];
  for(i=0; i < frm.elements['type'].length; i++)
  {
    if (frm.elements['type'][i].checked)
    {
      var min = parseInt(frm.elements['type'][i].getAttribute("min"));
      var to = parseInt(frm.elements['type'][i].getAttribute("to"));
      var fee = parseInt(frm.elements['type'][i].getAttribute("fee"));
      var result = 0;
      if (amount < min)
      {
        notice.innerHTML = notice_overflow + min;
        return;
      }

      if (fee > 0)
      {
        result = (amount - fee) * to / (min -fee);
      }
      else
      {
        result = amount * (to + fee) / min + fee;
      }

      notice.innerHTML = notice_result + parseInt(result + 0.5);
    }
  }
}
