/**
* 渠道统一登录&注册弹出层
* @author: luzhenxing
* @email: luzhenxing_1230@163.com
* @example: UserLoginObj.dialog([string type], [function callback]);
* @parm1: 可选，标明弹出层显示登录(login)、注册(register)，默认为login
* @parm2: 可选，登录&注册成功后执行的回调方法
*/
var UserLoginObj = {
	dialog: function (){
		var login = 'login';
		for (var i = 0; i < arguments.length; i++){
			if (typeof arguments[i] == 'string')
				login = arguments[i];
			if (typeof arguments[i] == 'function')
				UserLoginObj.callback = arguments[i];
		}
		if ($('#dialog-userlogin').length < 1){
			UserLoginObj.createUserLoginDiv();
		}
		$('#dialog-userlogin :text, #dialog-userlogin :password').each(function (){
			this.value = '';
		});
		$('#dialog-userlogin p.errmsg').remove();
		//$('#dialog-userlogin #' + login + '_link').click();
		
		$('#dialog-userlogin').dialog();
		$('#user_' + login + '_box', '#dialog-userlogin').show().siblings('.uc-reg-bd').hide();
		$('.uc-reg-hd>label', '#dialog-userlogin').html(login == 'login' ? '登录' : '注册');
	},
	callback: null,
	checkEmpty: function (str){
		return str == '' ? true : false;
	},
	checkEmail: function (str){
		var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		return reg.test(str) ? true : false;
	},
	checkAccountExists: function (str){
		var bool = null;
		$.ajax({
			url:'index.php?r=auth/checkAccountExists',
			data: {username: str, timer: new Date().getTime()},
			async: false,
			type: 'post',
			//dataType: 'text',
			success: function (rs) {
				bool = rs == 0 ? true : false;
			}
		});
		return bool;
	},
	checkPsdEqual: function (str1, str2){
		return str1 == str2 ? true : false;
	}
};
UserLoginObj.createUserLoginDiv = function (){
	var arr = [];
	arr.push('<div id="dialog-userlogin" class="user_ui_panel">');
		arr.push('<div class="uc-regist" id="uc-regist">');
			arr.push('<div class="uc-reg-hd f14 fb"> <span title="点击关闭" class="close fr fn"></span>');
				arr.push('<label>登陆</label>');
			arr.push('</div>');
			arr.push('<div id="user_login_box" class="uc-reg-bd">');
			arr.push('<form method="post" action="/index.php?r=auth/login" id="login_form">');
				arr.push('<div class="uc-reg-l fl">');
					arr.push('<ul class="login-con">');
						arr.push('<li>');
							arr.push('<label>邮箱帐号：</label>');
							arr.push('<input id="txtLoginUserName" type="text" title="账号" name="username" placeholder="请填写您的常用邮箱" class="text" />');
						arr.push('</li>');
						arr.push('<li>');
							arr.push('<label>密码：</label>');
							arr.push('<input id="txtLoginPassword" type="password" title="密码" name="password" placeholder="请输入您的密码" class="text" />');
						arr.push('</li>');
					arr.push('</ul>');
				arr.push('</div>');
				arr.push('<div class="clear"></div>');
				arr.push('<div class="btn-area">');
					arr.push('<input type="hidden" value="1" id="auth_mode" name="auth_mode">');
					arr.push('<input type="hidden" value="true" name="submit_login">');
					arr.push('<input type="button" value="登 陆" class="btn-reg" id="login_btn">');
					arr.push('<span class="f12">还没有渠道网账号？<a class="blue f12" href="#" id="register_link">点击注册</a></span> </div>');
			arr.push('</form>');
			arr.push('</div>');
			arr.push('<div id="user_register_box" class="uc-reg-bd" style="display:none;">');
			arr.push('<form method="post" action="/index.php?r=auth/register" id="register_form">');
				arr.push('<div class="uc-reg-l fl">');
					arr.push('<ul class="reg-con">');
						arr.push('<li>');
							arr.push('<label>邮箱帐号：</label>');
							arr.push('<input id="txtRegistUserName" type="text" title="账号" name="user[username]" placeholder="请填写您的常用邮箱" class="text" />');
						arr.push('</li>');
						arr.push('<li>');
							arr.push('<label>昵称：</label>');
							arr.push('<input id="txtRegistNickName" type="text" title="昵称" name="user[nickname]" placeholder="请填写您的昵称" class="text" />');
						arr.push('</li>');
						arr.push('<li>');
							arr.push('<label>密码：</label>');
							arr.push('<input id="txtRegistPassword" type="password" title="密码" name="user[password]" placeholder="请输入您的密码" class="text" />');
						arr.push('</li>');
						arr.push('<li>');
							arr.push('<label>确认密码：</label>');
							arr.push('<input id="txtRegistRePassword" type="password" title="确认密码" name="user[re_password]" placeholder="请输入您的密码" class="text" />');
						arr.push('</li>');
					arr.push('</ul>');
				arr.push('</div>');
				arr.push('<div class="clear"></div>');
				arr.push('<div class="btn-area">');
					arr.push('<input type="hidden" value="true" name="submit_register">');
					arr.push('<input type="hidden" value="1" id="auth_mode" name="auth_mode">');
					arr.push('<input type="button" value="注 册" class="btn-reg" id="register_btn">');
					arr.push('<span class="f12">已有渠道网账号？<a class="blue f12" href="#" id="login_link">点击登录</a></span>');
					arr.push('</div>');
				arr.push('</form>');
			arr.push('</div>');
		arr.push('</div>');
	arr.push('</div>');
	var loginHtml = $(arr.join(''));
	$('#register_link', loginHtml).bind('click', function (e){
		e.preventDefault();
		$('#user_register_box', loginHtml).show();
		$('#user_login_box', loginHtml).hide();
		$('.uc-reg-hd>label', loginHtml).html('注册');
	});
	$('#login_link', loginHtml).bind('click', function (e){
		e.preventDefault();
		$('#user_login_box', loginHtml).show();
		$('#user_register_box', loginHtml).hide();
		$('.uc-reg-hd>label', loginHtml).html('登录');
	});
	/***************登录***************/
	//邮箱验证
	$('#txtLoginUserName', loginHtml).blur(function (){
		var val = this.value;
		var errorMsg = $(this).next();
		if (errorMsg.length < 1 || ! errorMsg.is('p')){
			errorMsg = $('<p></p>');
			$(this).after(errorMsg);
		}
		if (UserLoginObj.checkEmpty(val)){
			errorMsg.addClass('errmsg').html('请填写' + this.title);
			return;
		}
		if (! UserLoginObj.checkEmail(val)){
			errorMsg.addClass('errmsg').html('邮箱格式填写有误');
			return;
		}
		errorMsg.removeClass();
	});
	//密码验证
	$('#txtLoginPassword', loginHtml).blur(function (){
		var val = this.value;
		var errorMsg = $(this).next();
		if (errorMsg.length < 1 || ! errorMsg.is('p')){
			errorMsg = $('<p></p>');
			$(this).after(errorMsg);
		}
		if (UserLoginObj.checkEmpty(val)){
			errorMsg.addClass('errmsg').html('请填写' + this.title);
			return;
		}
		errorMsg.removeClass();
	});

	//登录
	$('#login_btn', loginHtml).click(function (){
		$('#txtLoginUserName, #txtLoginPassword', loginHtml).blur();
		if ($('#user_login_box .errmsg:visible', loginHtml).length > 0){
			return;
		}

		var parm = $('#login_form', loginHtml).serialize();
		var url = $('#login_form', loginHtml).attr('action');
		$.ajax({
			type:'POST',
			url:url,
			data:parm,
			dataType:'JSON',
			error:function (XMLHttpRequest, textStatus, errorThrown) {
				alert(XMLHttpRequest.readyState);
				alert(textStatus);
				alert(errorThrown);
			},
			success:function (rs){
				if (rs.status == 0){
					alert(rs.message);
				}
				if (rs.status == 1){
					$('.close', loginHtml).click();
					changeStatus();
					if (UserLoginObj.callback){
						UserLoginObj.callback();
					}
				}
			}
		})
		//$.post(url, parm, , 'json');
	});

	/***************注册***************/
	//邮箱验证
	$('#txtRegistUserName', loginHtml).blur(function (){
		var val = this.value;
		var errorMsg = $(this).next();
		if (errorMsg.length < 1 || ! errorMsg.is('p')){
			errorMsg = $('<p></p>');
			$(this).after(errorMsg);
		}
		if (UserLoginObj.checkEmpty(val)){
			errorMsg.addClass('errmsg').html('请填写' + this.title);
			return;
		}
		if (! UserLoginObj.checkEmail(val)){
			errorMsg.addClass('errmsg').html('邮箱格式填写有误');
			return;
		}
		if (UserLoginObj.checkAccountExists(val)){
			errorMsg.addClass('errmsg').html('该邮箱已经注册过');
			return;
		}
		errorMsg.removeClass();
	});

	//昵称验证
	$('#txtRegistNickName', loginHtml).blur(function (){
		var val = this.value;
		var errorMsg = $(this).next();
		if (errorMsg.length < 1 || ! errorMsg.is('p')){
			errorMsg = $('<p></p>');
			$(this).after(errorMsg);
		}
		if (UserLoginObj.checkEmpty(val)){
			errorMsg.addClass('errmsg').html('请填写' + this.title);
			return;
		}
		if (val.length > 12){
			errorMsg.addClass('errmsg').html('请输入1~12个字符');
			return;
		}
		errorMsg.removeClass();
	});

	//密码验证
	$('#txtRegistPassword', loginHtml).blur(function (){
		var val = this.value;
		var errorMsg = $(this).next();
		if (errorMsg.length < 1 || ! errorMsg.is('p')){
			errorMsg = $('<p></p>');
			$(this).after(errorMsg);
		}
		if (UserLoginObj.checkEmpty(val)){
			errorMsg.addClass('errmsg').html('请填写' + this.title);
			return;
		}
		if (val.length < 6 || val.length > 12){
			errorMsg.addClass('errmsg').html('请输入6~12个字符');
			return;
		}
		errorMsg.removeClass();
	});

	//确认密码验证
	$('#txtRegistRePassword', loginHtml).blur(function (){
		var psw = $('#txtRegistPassword', loginHtml).val();
		var val = this.value;
		var errorMsg = $(this).next();
		if (errorMsg.length < 1 || ! errorMsg.is('p')){
			errorMsg = $('<p></p>');
			$(this).after(errorMsg);
		}
		if (! UserLoginObj.checkPsdEqual(psw, val)){
			errorMsg.addClass('errmsg').html('两次密码输入不一致');
			return;
		}
		errorMsg.removeClass();
	});

	//注册
	$('#register_btn', loginHtml).click(function (){
		$('#txtRegistUserName, #txtRegistNickName, #txtRegistPassword, #txtRegistRePassword', loginHtml).blur();
		if ($('#user_register_box .errmsg:visible', loginHtml).length > 0){
			return;
		}
		var parm = $('#register_form', loginHtml).serialize();
		var url = $('#register_form', loginHtml).attr('action');
		$.post(url, parm, function (rs){
			if (rs.status == 0){
				alert(rs.message);
			}
			if (rs.status == 1){
				$('.close', loginHtml).click();
				location.href = 'http://t.' + getDomain() + '/?r=wealthIntention';
				if (UserLoginObj.callback){
					UserLoginObj.callback();
				}
			}
		}, 'json');
	});

	$('body').append(loginHtml);
};
