var is_id_check = false;
var is_phone_check = false;
var phone_reg = /^09[0-9]{8}$/;	//手機格式驗證
var id_reg = /^[a-zA-Z0-9]{6,10}$/;	//帳號格式驗證
var pass_reg = /^(?!([^a-zA-Z]+|\D+)$)[a-zA-Z0-9]{6,13}$/;	//6~13英文數字混合
var rtimer = null;
var sendphone;
var t = 30;	//幾秒後能再次發送驗證碼
var limti_t = t;	//倒數用

$(function () {

	$('#agree-error').hide();

	$('.agree').click(function () {
		if ($(this).prop('checked')) {
			$('#agree-error').hide();
		} else {
			$('#agree-error').show();
		}
	});


	//帳號格式檢查
	jQuery.validator.addMethod("AccountFormat", function (value, element) {
		var str = value;
		var result = false;
		return (id_reg.test(value));
	});
	$('#u_id').addClass('AccountFormat');


	//帳號是否重複檢查
	jQuery.validator.addMethod("idCheck", function (value, element) {
		var str = value;
		var result = false;
		$.ajax({
			type: "POST",
			url: CI_URL + "Manger/ajax_chkid",
			cache: false,
			async: false,
			dataType: "json",
			data: { u_id: $('#u_id').val() }
		}).done(function (msg) {
			if (msg.RntCode == 'Y') {
				is_id_check = true;
				result = true;
				//$('#register-alert').hide();
			} else {
				//$('#register-alert').html('<strong>' + msg.Msg +'</strong>').show();
				is_id_check = false;
				result = false;
			}
		});
		return result;
	});
	$('#u_id').addClass('idCheck');

	//密碼格式檢查
	jQuery.validator.addMethod("PasswordFormat", function (value, element) {
		var str = value;
		var result = false;
		return (pass_reg.test(value));
	});
	$('#u_password').addClass('PasswordFormat');
	//$('#u_password2').attr('equalto','#u_password');

	//推薦人檢查
	jQuery.validator.addMethod("upAccountCheck", function (value, element) {
		var result = true;
		if (value != "") {
			$.ajax({
				type: "POST",
				url: CI_URL + "Manger/ajax_chkupaccount",
				cache: false,
				async: false,
				dataType: "json",
				data: { 'up_account': $('#up_account').val() }
			}).done(function (msg) {
				if (msg.RntCode == 'Y') {
					result = true;
				} else {
					result = false;
				}
			});
		}
		return result;
	});
	//$('#up_account').addClass('upAccountCheck');

	//手機格式檢查
	jQuery.validator.addMethod("phoneFormat", function (value, element) {
		var str = value;
		var result = false;
		return (phone_reg.test(value));
	});
	$('#phone').addClass('phoneFormat');

	//手機重複檢查
	/*
	jQuery.validator.addMethod("phoneCheck", function( value, element ) {
	  var str = value;
	  var result = false;
	  $.ajax({
		  type: "POST",
		  url:  CI_URL + "Manger/ajax_chkphone.aspx",
		  cache: false,
		  async:false,
		  dataType:"json",
		  data:{phone:$('#phone').val()}
	  }).done(function( msg ) { 
		  if(msg.RntCode=='Y'){
			  is_phone_check=true;
			  result=true;
			  $('#smsBTN').bind('click',getPhoneCode);
		  }else{
			  is_phone_check=false;
			  result=false;
			  $('#smsBTN').unbind('click');
		  }						
	  });
	  return result;
	});	
	$('#phone').addClass('phoneCheck');
	*/
	$('#smsBTN').bind('click', getPhoneCode);

	$('#signForm').validate({
		onkeyup: false,
		errorClass: 'el-form-item__error',
		errorElement: "div",	//顯示錯誤訊息的方式
		errorPlacement: function (error, element) {
			if ($(element).parents(".inputR").length > 0) {
				element.parents(".inputR").after(error);
			} else {
				element.parent().append(error);
			}
		},
		// overwrite 每一個驗證對象驗證失敗時
		highlight: function (element, errorClass, validClass) {
			$(element).addClass("el-input__inner");
		},
		// overwrite 每一個驗證對象驗證成功時
		unhighlight: function (element, errorClass, validClass) {
			$(element).removeClass("el-input__inner");
			//$(element).parents(".form-group").find(".form-control-feedback").hide();

		},
		rules: {
			"u_id": {
				required: true,
				AccountFormat: true,
				idCheck: true
			},
			"u_password": {
				required: true,
				PasswordFormat: true
			},
			"u_password2": {
				required: true,
				equalTo: '#u_password'
			},
			"u_name": {
				required: true
			},
			"phone": {
				required: true,
				phoneFormat: true
				//	phoneCheck : true
			},
			"sms_code": {
				required: true
			},
			"checknum": {
				required: true
			},
			"squaredThree": {
				required: true
			}
		},
		messages: {
			"u_id": {
				required: "請輸入您的帳號",
				AccountFormat: "請輸入6~10個英文或數字組合",
				idCheck: "會員帳號已被註冊"
			},
			"u_password": {
				required: "請輸入您的密碼",
				PasswordFormat: "請輸入6~13碼英文數字混合"
			},
			"u_password2": {
				required: "請再次輸入密碼",
				equalTo: "會員密碼與確認密碼不同"
			},
			"u_name": {
				required: "請輸入真實姓名"
			},
			"phone": {
				required: "請輸入您的手機",
				phoneFormat: "手機格式錯誤"
				//	phoneCheck : "手機已被註冊使用"
			},
			"sms_code": {
				required: "請輸入手機驗證碼"
			},
			"checknum": {
				required: "請輸入驗證碼"
			},
			"squaredThree": {
				required: "請輸入驗證碼"
			}
		}
	});


	$('#submitBtn').bind('click', submitCheck);


});


function submitCheck() {
	if ($('.agree:checked').length > 0) {
		$('#agree-error').hide();
		if ($('#signForm').valid()) {
			var my_width = ($(window).width() / 2) - (128 / 2);
			$.blockUI({ message: '<img src="' + ASSETS_PATH + '/www/img/009.gif" >', baseZ: 2000, css: { width: '128px', left: my_width } });

			$.ajax({
				type: "POST",
				url: CI_URL + "Manger/register_do.aspx",
				cache: false,
				dataType: "json",
				data: $('#signForm').serialize()
			}).done(function (msg) {
				$.unblockUI();
				if (msg.RntCode == 'Y') {
					//$('#register-alert').hide();
					location.href = CI_URL + "Welcome";
				} else {
					alert(msg.Msg);
					//changeChkImg('reg_checknum','regImg');
					//$('#register-alert').html('<strong>' + msg.Msg +'</strong>').show();

				}
			});
		}
	} else {
		//alert('我已經屆滿合法博彩年齡,且同意各項開戶條約');
		$('#agree-error').show();
	}
}


//發送驗證碼
function getPhoneCode() {
	//if(is_phone_check){
	$('#smsBTN').unbind('click');
	$('#smsBTN').html('發送中...');
	$.ajax({
		type: "POST",
		url: CI_URL + "Manger/ajax_phonecode.aspx",
		cache: false,
		async: false,
		dataType: "json",
		data: { phone: $('#phone').val(), 'sms_token': $('#sms_token').val() }
	}).done(function (msg) {
		if (msg.RntCode == 'Y') {
			alert('簡訊驗證碼已發送至手機');
			showTime();
			limti_t = t;
			$('#smsBTN').unbind('click');
		} else if (msg.RntCode == 'W') {
			alert('簡訊發送失敗，Error:' + msg.Msg);
			$('#smsBTN').unbind('click');
			limti_t = t;
			showTime();
		} else {
			$('#smsBTN').bind('click', getPhoneCode);
			$('#smsBTN').html('發送簡訊驗證碼');
			alert('簡訊發送失敗，Error:' + msg.Msg);
		}
	});
	/*
		}else{
			alert('請檢查您的手機！');
		}
	*/
}


//計時器
function showTime() {
	rtimer = setTimeout("showTime()", 1000);
	limti_t -= 1;
	var btn_text = limti_t + '秒後重新發送';
	//$('#smsBTN').attr('disabled',true);
	$('#smsBTN').html(btn_text);
	if (limti_t == 0) {
		clearTimeout(rtimer);
		$('#smsBTN').html('發送簡訊驗證碼');
		$('#smsBTN').bind('click', getPhoneCode);
		$('#smsBTN').attr('disabled', false);
		limti_t = t;
	}
}
