var urlper = "";

/*
 * 登录相关js 用户名：userName 密码：password 上一页面地址：lastUrl 记住我：remember
 */
var MainLogin = Class.create();
MainLogin.prototype = {
	initialize : function() {
	},
	checkLogin : function(userName, pwd) {
		if (userName.length == 0) {
			alert("用户名不能为空！");
			return false;
		} else if (pwd.length == 0) {
			alert("密码不能为空！");
			return false;
		}
		return true;
	},
	// 发送登录请求
	loginRequest : function(userName, paswd, lastUrl, remember, isalert) {
		var url = "/login.jhtml";
		var pars = "method=mainlogin&userName=" + userName + "&paswd=" + paswd
				+ "&lastUrl=" + lastUrl + "&remember="+remember+"&isalert="+isalert;
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			// onLoading : function(transport) {
			// oThis.loading(transport);},//正在获得内容的时候
			onComplete : function(transport) {
				oThis.loginResponse(transport);
			}
		});
	},

	// 返回结果
	loginResponse : function(originalRequest) {
		var xmlRoot = originalRequest.responseXML.documentElement;
		var user = xmlRoot.getElementsByTagName("user");
		var succ = this.getXmlElementByTagName(user[0], "succ");
		var isalert = this.getXmlElementByTagName(user[0], "isalert");
		if (succ == "true") {
			var lastUrl = this.getXmlElementByTagName(user[0], "lastUrl");
			window.location.href = lastUrl;
		}
		if(isalert == 0){
			if (succ == "true") {
				var lastUrl = this.getXmlElementByTagName(user[0], "lastUrl");
				window.location.href = lastUrl;
			} else 	if (succ == "false") {
				alert("抱歉！没有该用户,请重新输入。");
				document.getElementById("paswd1").value = "";
			}else if (succ == "1") {
				alert("抱歉！密码有误,请重新输入。");
				document.getElementById("paswd1").value = "";
			} else  if (succ == "2"){
				alert("该帐号已被禁用，如有异议，请与短趣网客服联系！");
				document.getElementById("paswd1").value = "";
			}else  if (succ == "-2"){
				alert("该帐号还没激活，请先激活该帐号！");
				document.getElementById("paswd1").value = "";
				closeDivForLogin('ShowDiv','bg');
			}
		}else {
			if (succ == "true") {
				window.location.reload(true);
			}
		}
	},

	getXmlElementByTagName : function(element, tagName) {
		var childElement = element.getElementsByTagName(tagName)[0];
		return childElement.text != undefined
				? childElement.text
				: childElement.textContent;
	},

	login : function(isalert) {
		var userName = "";
		var paswd = "";
		var lastUrl = "";
		var remember1 = "";;
		if(isalert == "0"){
			lastUrl = document.getElementById("lastUrl").value;
			userName = document.getElementById("userName").value;
			paswd = document.getElementById("paswd").value;
			var remember = document.getElementById("remember");
			if(remember.checked == true)
				remember1 = 1;
			else
				remember1 = 0;
		}else if(isalert == "1"){
			userName = document.getElementById("userName1").value;
			paswd = document.getElementById("paswd1").value;
			var remember = document.getElementById("remember1");
			if(remember.checked == true)
				remember1 = 1;
			else
				remember1 = 0;
			}
		
		var canLogin = this.checkLogin(userName, paswd, lastUrl, remember1);
		if (!canLogin)
			return false;
		else {
			this.loginRequest(userName, paswd, lastUrl, remember1, isalert);
		}
	},
	
	qxlogin : function(){
		var remember1 = "";;
		var userName = document.getElementById("userName").value;
		var paswd = document.getElementById("pwd").value;
		var remember = document.getElementById("remember");
		var lastUrl = "http://www.danqoo.com/zt/qixi.html";
		if(remember.checked == true)
			remember1 = 1;
		else
			remember1 = 0;
		var canLogin = this.checkLogin(userName, paswd, lastUrl, remember1);
		if (!canLogin)
			return false;
		else {
			this.loginRequest11(userName, paswd, lastUrl, remember1, 0);
		}
	},
	
	// 发送登录请求
	loginRequest11 : function(userName, paswd, lastUrl, remember, isalert) {
		var url = "/login.jhtml";
		var pars = "method=mainlogin&userName=" + userName + "&paswd=" + paswd
				+ "&lastUrl=" + lastUrl + "&remember="+remember+"&isalert="+isalert;
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			// onLoading : function(transport) {
			// oThis.loading(transport);},//正在获得内容的时候
			onComplete : function(transport) {
				oThis.loginResponse11(transport);
			}
		});
	},

	// 返回结果
	loginResponse11 : function(originalRequest) {
		var xmlRoot = originalRequest.responseXML.documentElement;
		var user = xmlRoot.getElementsByTagName("user");
		var succ = this.getXmlElementByTagName(user[0], "succ");
		var isalert = this.getXmlElementByTagName(user[0], "isalert");
		if (succ == "true") {
			var lastUrl = this.getXmlElementByTagName(user[0], "lastUrl");
			window.location.href = lastUrl;
		}
		if(isalert == 0){
			if (succ == "true") {
				var lastUrl = this.getXmlElementByTagName(user[0], "lastUrl");
				window.location.href = lastUrl;
			} else 	if (succ == "false") {
				alert("抱歉！没有该用户,请重新输入。");
			}else if (succ == "1") {
				alert("抱歉！密码有误,请重新输入。");
			} else  if (succ == "2"){
				alert("该帐号已被禁用，如有异议，请与短趣网客服联系！");
			}else  if (succ == "-2"){
				alert("该帐号还没激活，请先激活该帐号！");
				closeDivForLogin('ShowDiv','bg');
			}
		}else {
			if (succ == "true") {
				window.location.reload();
			}
		}
	}
};

/*
 * 登录相关js 用户名：userName 密码：password 登录口标识：loginType
 */

var Login = Class.create();
Login.prototype = {
	initialize : function() {
	},

	// 检查
	checkLogin : function(userName, pwd) {
		if (userName.length == 0) {
			alert("用户名不能为空！");
			return false;
		} else if (pwd.length == 0) {
			alert("密码不能为空！");
			return false;
		}
		return true;
	},

	// 发送登录请求
	loginRequest : function(userName, pwd, loginType) {
		var url = "/login.jhtml";
		var pars = "method=loginforhead&userName=" + userName + "&pwd=" + pwd
				+ "&loginType=" + loginType;
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			// onLoading : function(transport) {
			// oThis.loading(transport);},//正在获得内容的时候
			onComplete : function(transport) {
				oThis.loginResponse(transport);
			}
		});
	},

	// 返回结果
	loginResponse : function(originalRequest) {
		var xmlRoot = originalRequest.responseXML.documentElement;
		var user = xmlRoot.getElementsByTagName("user");
		var succ = this.getXmlElementByTagName(user[0], "succ");
		if (succ == "true") {
			closeDiv('ShowDiv', 'bg');
			window.loginIframe.location.reload();
			window.parent.location.reload();
			// document.getElementById("loginDivForm").style.display="none";
			document.getElementById("userName").value = "";
			document.getElementById("password").value = "";
		} else {
			if (succ == "1") {
				alert("抱歉！该用户不存在或密码有误，请重新输入。");
			} else {
				alert("该帐号已被禁用，如有异议，请与短趣网客服联系！");
			}
		}
	},

	getXmlElementByTagName : function(element, tagName) {
		var childElement = element.getElementsByTagName(tagName)[0];
		return childElement.text != undefined
				? childElement.text
				: childElement.textContent;
	},

	login : function() {
		var userName = document.getElementById("userName").value;
		var pwd = document.getElementById("password").value;
		var loginType = document.getElementById("loginType").value;
		var canLogin = this.checkLogin(userName, pwd);
		if (!canLogin)
			return false;
		else {
			this.loginRequest(userName, pwd, loginType);
		}
	},

	logout : function() {
		var url = "login.jhtml";
		var pars = "method=logoutforhead";
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			// onLoading : function(transport) {
			// oThis.loading(transport);},//正在获得内容的时候
			onComplete : function(transport) {
				oThis.loginResponse(transport);
			}
		});
	}
};

var Reg = Class.create();
Reg.prototype = {
	initialize : function() {
	},

	checkUserName : function() {
		var stringTool = new StringUtils();
		var userName = document.getElementById("userName").value;
		userName = stringTool.trim(userName);
		var isOk = true;
		if (stringTool.isEmpty(userName) && isOk ) {
			$("userNameError").style.color = "red";
			$("userNameError").innerHTML = "用户名不能为空";
			isOk = false;
		}
		if (!this.namewordCheck(userName) && isOk ) {
			$("userNameError").style.color = "red";
			$("userNameError").innerHTML = "用户名只能是汉字或数字、字母、者下划线";
			isOk = false;
		}
		if (stringTool.toBytes(userName) > 12 && isOk ) {
			$("userNameError").style.color = "red";
			$("userNameError").innerHTML = "不超过6个汉字或者12个字符(数字、字母或者下划线)";
			isOk = false;
		}
		var tool = new StringFilter();
		if (tool.filterUserName(userName) && isOk ) {
			$("userNameError").style.color = "red";
			$("userNameError").innerHTML = "用户名含有敏感词汇";
			isOk = false;
		}
		if (isOk == true) {
			this.isUsedUserName(userName);
			return true;
		} else {
			return false;
		}
	},

	checkPwd1 : function() {
		var pwd1 = document.getElementById("pwd1").value;
		if (pwd1.length > 16 || pwd1.length < 4) {
			$("pwd1Error").style.color = "red";
			$("pwd1Error").innerHTML = "密码4-16个字符(数字、字母)，区分大小写";
			return false;
		} else {
			$("pwd1Error").innerHTML = "";
			$("pwd1Ok").innerHTML = "<img src='/images/index/check_right.gif' align='absmiddle' />";
			var pwd2 = document.getElementById("pwd2").value;
			if(pwd2.length > 0){
				this.checkPwd2();
			}
			return true;
		}
	},

	checkPwd2 : function() {
		var pwd1 = document.getElementById("pwd1").value;
		var pwd2 = document.getElementById("pwd2").value;
		if (pwd1 == "" || pwd2.length == 0) {
			$("pwd2Error").style.color = "red";
			$("pwd2Error").innerHTML = "密码4-16个字符(数字、字母)，区分大小写";
			return false;
		}
		if (pwd1 != pwd2) {
			$("pwd2Error").style.color = "red";
			$("pwd2Error").innerHTML = "两次密码不一样";
			return false;
		} else if (pwd1 != "") {
			$("pwd2Error").innerHTML = "";
			$("pwd2Ok").innerHTML = "<img src='/images/index/check_right.gif' align='absmiddle' />";
			return true;
		}
	},

	checkEmail : function() {
		var email = document.getElementById("email").value;
		// var reg =
		// /^[a-z0-9]([a-z0-9]*[-_\.]?[a-z0-9]+)*[@]{1}([a-z0-9]*[-_\.]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;
		var reg = /^([a-zA-Z0-9_]){1}([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
		var isOk = true;
		if (!reg.test(email)) {
			$("emailError").style.color = "red";
			$("emailError").innerHTML = "请输入正确的Email地址";
			isOk = false;
		} 
		if(isOk){
//			$("emailError").innerHTML = "";
//			$("emailOk").innerHTML = "<img src='/images/index/check_right.gif' align='absmiddle' />";
//			return true;
//			alert(this.isUsedEmail());
			this.isUsedEmail();
			return true;
		}else{
			return false;
		}
	},
	
	isUsedEmail : function(){
		var email = document.getElementById("email").value;
		var url = urlper + "/reg.jhtml";
		var pars = "method=checkEmail&email=" + email;
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			onComplete : function(transport) {
				oThis.emailResult(transport);
			}
		});
	},
	
	emailResult : function(originalRequest) {
		if (originalRequest.responseText == "0") {
			$("emailError").style.color = "red";
			$("emailError").innerHTML = "该邮箱已经被使用 ";
			return false;
		} else if (originalRequest.responseText == "1") {
			$("emailError").innerHTML = " ";
			$("emailOk").innerHTML = "<img src='/images/index/check_right.gif' align='absmiddle' />";
			return true;
		}
	},

	checkDomain : function() {
		var domain = document.getElementById("domain").value;
		var isOk = true;
		var reg = /^[a-zA-Z0-9]{3,25}$/;
		if (domain.length == 0) {
			$("domainError").style.color = "red";
			$("domainError").innerHTML = "空间地址不能为空";
			isOk = false;
		}
		if (!reg.test(domain) && isOk == true) {
			$("domainError").style.color = "red";
			$("domainError").innerHTML = "空间地址3到25位字母或数字";
			isOk = false;
		}
		var tool = new StringFilter();
		if(tool.filter(domain)){
			$("domainError").style.color = "red";
			$("domainError").innerHTML = "空间地址含有非法词汇！";
			isOk = false;
		}
		if (isOk == true) {
			this.isUsedDomain(domain);
			return true;
		} else {
			return false;
		}
	},

	checkVerifyCode : function() {
		var verifyCode = document.getElementById("verifyCode").value;
		var stringTool = new StringUtils();
		if (stringTool.trim(verifyCode).length == 0) {
			$("verifyCodeError").style.color = "red";
			$("verifyCodeError").innerHTML = "请输入验证码";
			return false;
		} else {
			$("verifyCodeError").innerHTML = "";
			return true;
		}
	},

	checkIsAgree : function() {
		var isAgree = document.getElementsByName("isAgree");
		if (isAgree[0].checked == false) {
			$("isAgreeError").style.color = "red";
			$("isAgreeError").innerHTML = "请阅读协议并同意本协议";
			return false;
		} else {
			$("isAgreeError").innerHTML = "";
			return true;
		}
	},

	isUsedDomain : function(domain) {
		var url = urlper + "/reg.jhtml";
		var pars = "method=checkDomain&domain=" + domain;
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			onComplete : function(transport) {
				oThis.domainResult(transport);
			}
		});
	},

	domainResult : function(originalRequest) {
		if (originalRequest.responseText == "0") {
			$("domainError").style.color = "red";
			$("domainError").innerHTML = "该空间名已经被使用 ";
			return false;
		} else if (originalRequest.responseText == "1") {
			$("domainError").innerHTML = " ";
			$("domainOk").innerHTML = "<img src='/images/index/check_right.gif' align='absmiddle' />";
			return true;
		}
	},

	isUsedUserName : function(username) {
		var url = urlper + "/reg.jhtml";
		var pars = "method=checkUserName&username=" + username;
		var oThis = this;
		var myAjax = new Ajax.Request(url, {
			method : 'post',
			parameters : pars,
			onComplete : function(transport) {
				oThis.processResponse(transport);
			}
		});
	},

	processResponse : function(originalRequest) {
		if (originalRequest.responseText == "0") {
			$("userNameError").style.color = "red";
			$("userNameError").innerHTML = "该用户名已经被使用 ";
			return false;
		} else if (originalRequest.responseText == "1") {
			$("userNameError").innerHTML = " ";
			$("userNameOk").innerHTML = "<img src='/images/index/check_right.gif' align='absmiddle' />";
			return true;
		}
	},

	namewordCheck : function(word) {
		var re = /[\u4e00-\u9fa5]|[\d]|[\w]|[_]/;
		var temp = false;
		for (var i = 0; i < word.length; i++) {
			if (!re.test(word.charAt(i))) {
				temp = false;
				break;
			} else {
				temp = true;
			}
		}
		return temp;
	},

	regRequest : function() {
		if (this.checkUserName() && this.checkPwd1() && this.checkPwd2()
				&& this.checkEmail() && this.checkDomain()
				&& this.checkVerifyCode() && this.checkIsAgree()) {
			var regForm = document.getElementById("regForm");
			document.getElementById("commit").disabled = true;
			regForm.action = "/reg.jhtml?method=adduser";
			regForm.submit();
		}
	},
	
	recReg : function() {
		if (this.checkUserName() && this.checkPwd1() && this.checkPwd2()
				&& this.checkEmail() && this.checkDomain()
				&& this.checkVerifyCode() && this.checkIsAgree()) {
			var regForm = document.getElementById("regForm");
			document.getElementById("commit").disabled = true;
			regForm.action = "/reg.jhtml?method=recAdduser";
			regForm.submit();
		}
	}
}