/* reg.html */

var name_flag = false;
var account_flag = false;
var pwd_flag = false;
var re_pwd_flag = false;
var email_flag = false;
var dob_flag = false;
var gender_flag = false;
var identity_flag = false;
var checkbox_flag = false;
var amazon_orderid_flag = false;
var ws_sn_flag = false;

var gender_value = '';
var sb_program = '';

$(document).ready(function() {
	/*// 取得今年年份
	var this_year = (new Date()).getFullYear();

	// 產生年月日選單
	$('#year').html('<option value="">----</option>');
	for(var year=1911; year<=this_year; year++) {
		$('#year').append('<option value="' + year + '">' + year + '</option>');
	}

	$('#month').html('<option value="">--</option>');
	for(var month=1; month<=12; month++) {
		$('#month').append('<option value="' + month + '">' + month + '</option>');
	}

	$('#date').html('<option value="">--</option>');
	for(var date=1; date<=31; date++) {
		$('#date').append('<option value="' + date + '">' + date + '</option>');
	}*/

	// 檢查name欄位
	$('#name').blur(function() {
		if ($('#name').val() == '') {
			$('#name_msg').addClass('msg').text('Please enter a name.').show();
			name_flag = false;
		}
		else {
		  var check_re = /[\w!'\(\)\*\-\.~]/; //不會被編碼的字元
      var check_name_str = $('#name').val();
      var check_name_j = 0; //不會被encodeURIComponent編碼的字元數*2
      for(var check_name_i = 0; check_name_i < check_name_str.length; check_name_i++){
        if(check_re.test(check_name_str.charAt(check_name_i))){
          check_name_j += 2; //計算有多少個字不會被編碼
        }
      }
      check_name_str_length = (encodeURIComponent(check_name_str).length + check_name_j) / 3;
      //alert(check_name_str_length);

			if ($('#name').val().length < 2) {
				$('#name_msg').addClass('msg').text('Too short! Name should be in 2-45 characters long.').show();
				name_flag = false;
			}
			else if (check_name_str_length > 45) {
				$('#name_msg').addClass('msg').text('Too long! Name should be in 2-45 characters long.').show();
				name_flag = false;
			}
			else {
				$('#name_msg').removeClass().addClass('tMS02').text('(2-45 characters limit.)').show();
				name_flag = true;
			}
		}
	});

	// 檢查account欄位
	$('#account').blur(function() {
		if ($('#account').val() == '') {
			$('#account_msg').addClass('msg').text('Please enter an account.').show();
			account_flag = false;
		}
		else {
			var accountReg = /^[a-zA-Z0-9]+$/;
			if ($('#account').val().length < 3) {
				$('#account_msg').addClass('msg').text('Too short! Account should be in 3-12 characters long.').show();
				account_flag = false;
			}
			else if ($('#account').val().length > 12) {
				$('#account_msg').addClass('msg').text('Too long! Account should be in 3-12 characters long.').show();
				account_flag = false;
			}
			else if (!accountReg.test($('#account').val())) {
				$('#account_msg').addClass('msg').text('Letters and numbers only. No special characters or spaces.').show();
				account_flag = false;
			}
			else {
				$.ajaxSetup({ cache: false });
				$.post(
					'php/check_register.php',
					{'account': $('#account').val()},
					function(data) {
						if (data[0].account_check == 'ACCOUNT_ERROR') {
							$('#account_msg').addClass('msg').text('This account has been taken.').show();
							account_flag = false;
						}
						else if (data[0].account_check == 'ACCOUNT_OK') {
							$('#account_msg').removeClass().addClass('tMS02').text('(3-12 characters limit, no symbols allowed.)').show();
							account_flag = true;
						}
					},
					'json'
				);
			}
		}
	});

	// 檢查pwd欄位
	$('#pwd').blur(function() {
		if ($('#pwd').val() == '') {
			$('#pwd_msg').addClass('msg').text('Please enter a password.').show();
			pwd_flag = false;
		}
		else {
			var pwdReg = /^[a-zA-Z0-9]+$/;
			if ($('#pwd').val().length < 3) {
				$('#pwd_msg').addClass('msg').text('Too short! Password should be in 3-18 characters long.').show();
				pwd_flag = false;
			}
			else if ($('#pwd').val().length > 18) {
				$('#pwd_msg').addClass('msg').text('Too long! Password should be in 3-18 characters long.').show();
				pwd_flag = false;
			}
			else if (!pwdReg.test($('#pwd').val())) {
				$('#pwd_msg').addClass('msg').text('Letters and numbers only. No special characters or spaces.').show();
				pwd_flag = false;
			}
			else {
				$('#pwd_msg').removeClass().addClass('tMS02').text('(3-18 characters limit, no symbols allowed.)').show();
				pwd_flag = true;
			}
		}
	});

	// 檢查re_pwd欄位
	$('#re_pwd').blur(function() {
		if ($('#re_pwd').val() == '') {
			$('#re_pwd_msg').addClass('msg').text('Please confirm your password.').show();
			re_pwd_flag = false;
		}
		else {
			if ($('#pwd').val() != $('#re_pwd').val()) {
				$('#re_pwd_msg').addClass('msg').text('The password does not match.').show();
				re_pwd_flag = false;
				$('#pwd').val('');
				$('#re_pwd').val('');
			}
			else {
				$('#re_pwd_msg').removeClass().addClass('tMS02').text('(3-18 characters limit, no symbols allowed.)').show();
				re_pwd_flag = true;
			}
		}
	});

	// 檢查email欄位
	$('#email').blur(function() {
		if ($('#email').val() == '') {
			$('#email_msg').addClass('msg').text('Please enter an email.').show();
			email_flag = false;
		}
		else {
			//var emailReg = /^[\w\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z\.]{2,6}$/;
			var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (!emailReg.test($('#email').val())) {
				$('#email_msg').addClass('msg').text('It is not an email format, please enter again.').show();
				email_flag = false;
			}
			else {
				$('#email_msg').hide();
				email_flag = true;
			}
		}
	});

	// 點擊submit送出表單
	$('form').submit(function() {
		$(':input').trigger('blur');

		// 年月日選取其中一欄，另二欄皆須選取
		if ($('#year').val() != '' && $('#month').val() != '' && $('#date').val() != '') {
			$('#dob_msg').hide();
			dob_flag = true;
		}
		else {
			$('#dob_msg').addClass('msg').text('Please set up your date of birth.').show();
			dob_flag = false;
		}

		// 性別選取
		if ($(':radio:checked').val() == 'male') {
			gender_value = 'male';
			$('#gender_msg').hide();
			gender_flag = true;
		}
		else if ($(':radio:checked').val() == 'female') {
			gender_value = 'female';
			$('#gender_msg').hide();
			gender_flag = true;
		}
		else {
			$('#gender_msg').addClass('msg').text('Please set up your gender.').show();
			gender_flag = false;
		}

		// 檢查identify欄位
		if ($('#identity').val() == '') {
			$('#identity_msg').addClass('msg').text('Please select your identity.').show();
			identity_flag = false;
		}
		else {
			$('#identity_msg').hide();
			identity_flag = true;
		}



		// 20100901 追加 Policy勾選欄
    // 檢查有無勾選 Policy 同意條款
		if ($(':checkbox:eq(0)').attr('checked') == false) {
			$('#checkbox_msg0').addClass('msg').text('You must agree the payment policy.').show();
			checkbox_flag0 = false;
		}
		else {
			$('#checkbox_msg0').hide();
			checkbox_flag0 = true;
		}



		// 檢查有無勾選使用者同意條款
		if ($(':checkbox:eq(1)').attr('checked') == false) {
			$('#checkbox_msg1').addClass('msg').text('You must agree the user agreement.').show();
			checkbox_flag1 = false;
		}
		else {
			$('#checkbox_msg1').hide();
			checkbox_flag1 = true;
		}

		// 檢查有無勾選購物金
    //if ($(':checkbox:eq(2)').attr('checked') == true) {
		//	sb_program = 'YES';

		//	// 檢查amazon訂單序號欄位(純數字)
		//	if ($('#amazon_orderid').val() == '') {
		//		$('#amazon_orderid_msg').addClass('msg').text('Please enter your Order ID with Amazon.').show();
		//		amazon_orderid_flag = false;
		//	}
		//	else {
		//		var orderidReg = /^[0-9]+$/;
		//		if (!orderidReg.test($('#amazon_orderid').val())) {
		//			$('#amazon_orderid_msg').addClass('msg').text('Please enter your Order ID with numbers only.').show();
		//			amazon_orderid_flag = false;
		//		}
		//		else {
		//			$('#amazon_orderid_msg').hide();
		//			amazon_orderid_flag = true;
		//		}
		//	}

		//	// 檢查WS serial numbers欄位
		//	if ($('#ws_sn').val() == '') {
		//		$('#ws_sn_msg').addClass('msg').text('Please enter your S/N.').show();
		//		ws_sn_flag = false;
		//	}
		//	else {
		//		var snReg = /^[a-zA-Z0-9]+$/;
		//		if ($('#ws_sn').val().length > 15) {
		//			$('#ws_sn_msg').addClass('msg').text('Your S/N was invalid. Please enter again.').show();
		//			ws_sn_flag = false;
		//		}
		//		else if (!snReg.test($('#ws_sn').val())) {
		//			$('#ws_sn_msg').addClass('msg').text('Please enter letters and numbers only.').show();
		//			ws_sn_flag = false;
		//		}
		//		else {
		//			$('#ws_sn_msg').hide();
		//			ws_sn_flag = true;
		//		}
		//	}
		//}
		//else {
		//	sb_program = 'NO';
		//	$('#amazon_orderid').val('');
		//	$('#ws_sn').val('');
		//	amazon_orderid_flag = true;
		//	ws_sn_flag = true;
		//}
			sb_program = 'NO';
			$('#amazon_orderid').val('');
			$('#ws_sn').val('');
			amazon_orderid_flag = true;
			ws_sn_flag = true;

		return false;
	}).ajaxStop(function() {
		if (name_flag && account_flag && pwd_flag && re_pwd_flag && email_flag && dob_flag && gender_flag && identity_flag && checkbox_flag0 && checkbox_flag1 && amazon_orderid_flag && ws_sn_flag) {
			$.ajaxSetup({ cache: false });
			$.post(
				'php/check_register.php',
				{'name': $('#name').val(), 'account': $('#account').val(), 'pwd': hex_sha1($('#pwd').val()), 're_pwd': hex_sha1($('#re_pwd').val()), 'email': $('#email').val(), 'year': $('#year').val(), 'month': $('#month').val(), 'date': $('#date').val(), 'gender': gender_value, 'identity': $('#identity').val(), 'sb_program': sb_program, 'amazon_orderid': $('#amazon_orderid').val(), 'SNnumber': $('#ws_sn').val()},
				function(data) {
					if (data[0].result == 'CHECK_OK') {
          	// 檢查有無勾選訂閱電子報
          	if ($('#epaper').attr('checked') == true) {
          		epaper_value = '1';
          	}
          	else {
          		epaper_value = '0';
            }

						$.ajax({
							url: 'php/insert_register.php',
							type: 'POST',
							cache: false,
							data: {'name': $('#name').val(), 'account': $('#account').val(), 'pwd': hex_sha1($('#pwd').val()), 'email': $('#email').val(), 'year': $('#year').val(), 'month': $('#month').val(), 'date': $('#date').val(), 'gender': gender_value, 'identity': $('#identity').val(), 'sb_program': sb_program, 'amazon_orderid': $('#amazon_orderid').val(), 'SNnumber': $('#ws_sn').val(), 'receive_epaper': epaper_value},
							success: function(data) {
								if (data == 'INSERT_OK') {
									$('.con_center:eq(0)').hide();
									if (sb_program == 'NO') $('.con_center:eq(1)').show();
									else if (sb_program == 'YES') $('.con_center:eq(2)').show();
								}
							}
						});
					}
				},
				'json'
			);
		}
	});

	$(':reset').click(function() {
		$('.msg').hide();
		$('#name_msg').removeClass().addClass('tMS02').text('(2-30 characters limit.)').show();
		$('#account_msg').removeClass().addClass('tMS02').text('(3-12 characters limit, no symbols allowed.)').show();
		$('#pwd_msg').removeClass().addClass('tMS02').text('(3-18 characters limit, no symbols allowed.)').show();
		$('#re_pwd_msg').removeClass().addClass('tMS02').text('(3-18 characters limit, no symbols allowed.)').show();
		$('#bonus').hide();
	});

});

function bonus() {
	if ($(':checkbox:eq(1)').attr('checked') == true) {
		$('#bonus').show();
	}
	else {
		$('#bonus').hide();
	}
}

