jquery

/**
 *  time:2015-11-16 10:57:09
 * 	user:zhongciyisheng@live.com
 * 	tips:注册组件。
 */
define(function(require, exports, module) {
/**
 *  time:2015-11-16 10:57:09
 * 	user:zhongciyisheng@live.com
 * 	tips:注册组件。
 */
define(function(require, exports, module) {
	require('jquery');
	require('/js/jquery_md5'); //md5
	var oErrTextSpeed = 3000;
	var oErrTextTimer = null;
	var telReg = /1[3|5|7|8|][0-9]{9}/; //手机号码正则

	var oTel = $('.ws_reg_tel').val();
	var oPsd = $('.ws_reg_psd').val();
	var oImgCode = $('.ws_reg_imgCode').val();
	var oMsgCode = $('.ws_reg_msgCode').val();

	var oImg = $('.ws_reg_img');
	var oSendBtn = $('.ws_reg_sendBtn');
	var oConfirmBtn = $('.ws_reg_confirmBtn');

	var oErrText = $('.ws_reg_errText');
	var aErrText = {
		"noTel": "请输入手机号码",
		"noImgCode": "请输入图片验证码",
		"errImgCode": "图片验证码错误,点击刷新重新输入。",
		"errTel": "请输入正确的手机号码",
		"isRegTel": "该手机号码已经注册",
		"noMsgCode": "请输入短信验证码",
		"errMsgCode": "请输入正确的短信验证码",
		"noPsd": "请输入6~16位密码",
		"errPsd": "请输入6~16位密码"
	};
	$(document).ready(function() {
		init();
	})

	function init() {
		getImgFn();
		imgClickFn();
		sendBtnClickFn();
		confirmBtnClickFn();
	};

	function getImgFn() {
		oDate = new Date(); //时间
		oTimeStamp = oDate.getTime(); //时间戳
		oRandom = (Math.random() * 100).toString(); //随机数
		oKey = $.md5(oTimeStamp.toString() + oRandom);
		oImg.attr('src', API_HOST + '/api/captcha/getImage' + '?key=' + oKey);
	};
	//图片加载
	function imgClickFn() {
		oImg.click(function() { //点击加载图片
			getImgFn();
		});
	};
	//验证码发送
	function sendBtnClickFn() {
		oSendBtn.click(function() {
			var telReg = /1[3|5|7|8|][0-9]{9}/; //手机号码正则
			var oTel = $('.ws_reg_tel').val();
			var oImgCode = $('.ws_reg_imgCode').val();
			if (oTel && telReg.test(oTel)) {
				if (oImgCode) {
					if (oImgCode.length < 4) {
						errText(aErrText.errImgCode);
					} else {
						verifyFn();
					};
				} else {
					errText(aErrText.noImgCode);
				}
			} else {
				if (!oTel || oTel.length < 1 || oTel == '') {
					errText(aErrText.noTel);
				} else {
					errText(aErrText.errTel);
				};
			}
		})
	};
	//点击注册按钮
	function confirmBtnClickFn() {
		oConfirmBtn.click(function() {
			var telReg = /1[3|5|7|8|][0-9]{9}/; //手机号码正则
			var oTel = $('.ws_reg_tel').val();
			var oPsd = $('.ws_reg_psd').val();
			var oMsgCode = $('.ws_reg_msgCode').val();
			var oImgCode = $('.ws_reg_imgCode').val();
			if (!oTel) {
				errText(aErrText.noTel);
			} else if (!telReg.test(oTel)) {
				errText(aErrText.errTel);
			} else {
				if (!oImgCode) {
					errText(aErrText.noImgCode);
				} else if (oImgCode.length < 4) {
					errText(aErrText.errImgCode);
				} else {
					if (!oMsgCode) {
						errText(aErrText.noMsgCode);
					} else if (oMsgCode.length < 6) {
						errText(aErrText.errMsgCode);
					} else {
						/**---------   校验短信验证码    ------------**/
						$.ajax({
							type: "post",
							url: API_HOST + "/api/msg/code/verify",
							dataType: 'jsonp',
							data: {
								telephone: oTel,
								code: oMsgCode
							},
							success: function(v) {
								if (v.err_code == '0') {
									/**---------   成功时处理    ------------**/
									if (!oPsd) {
										errText(aErrText.noPsd);
									} else if (oPsd.length < 6) {
										errText(aErrText.errPsd);
									} else {
										//最后一步,当以上全满足了,则允许表单提交
									}
								} else {
									/**---------   失败时返回失败信息    ------------**/
									errText(v.err_msg);
								};
							},
							async: true
						});
					};
				};
			};
		});
	};

	//检测是否已注册
	function verifyFn() {
		var oTel = $('.ws_reg_tel').val();
		$.ajax({
			type: "post",
			url: API_HOST + "/api/validateTelephone",
			dataType: 'jsonp',
			data: {
				telephone: oTel
			},
			success: function(v) {
				if (v.err_code == '0') {
					if (v.data.isExist == true) {
						errText('该手机号码已经注册');
					} else {
						sendCodeFn();
					};
				};
			},
			async: true
		});
	};
	//发送验证码方法
	function sendCodeFn() {
		var oTel = $('.ws_reg_tel').val(); //电话号码
		var oImgCode = $('.ws_reg_imgCode').val();
		$.ajax({
			type: "post",
			url: API_HOST + "/api/msg/generateCode",
			dataType: 'jsonp',
			data: {
				telephone: oTel,
				key: oKey,
				imgCode: oImgCode
			},
			success: function(v) {
				if (v.err_code == '0') {
					errText('验证码已发送')
						//					sendCodeTime();
				} else if (v.err_code != '0') {
					errText(v.err_msg);
				};
			},
			async: true
		});
	};

	function errText(a) {
		$('.ws_reg_errText').text('');
		$('.ws_reg_errText').text(a);
		clearTimeout(oErrTextTimer);
		oErrTextTimer = setTimeout(function() {
			$('.ws_reg_errText').text('');
		}, oErrTextSpeed)
	};
});