function checkEmail(syn) {
	var frm = de("register");
	
	var email = de("email_").value;
	
	if(email == "") {
		return false;
	}
	
	if(!isemail(email)) {
		showHints(frm.email_, "<span style=\"color:red;\">请输入一个有效的邮件地址</span>");
		frm.email_.focus();
		return false;
	}
	
	var request = createRequest();
	var url = "ajax_checkEmail.jsp?email=" + email;
	if(syn) {
		request.onreadystatechange = function () {
			if(request.readyState == 4) {
				if(request.status == 200) {
					var text = request.responseText.trim();
					if(text != "") {
						showHints(de("email_"), "<span style=\"color:red;\">" + text + "</span>");
						frm.email_.focus();
					} else {
						hideHints();	
					}
				} else {
					alert(request.status + "错误");
				}
			}
		}
	}
	request.open("get", url + "&random=" + Math.random, syn);
	request.send(null);
	if(!syn) {
		var text = request.responseText.trim();
		if(text != "") {
			showHints(de("email_"), "<span style=\"color:red;\">" + text + "</span>");
			frm.email_.focus();
			return false;
		} else {
			hideHints();
			return true;	
		}
	}
}

function checkValidateCode(syn) {
	var frm = de("register");
	
	if(frm.validateCode.value.trim() == ""){
		frm.validateCode.focus();
		showHints(frm.validateCode, "<span style=\"color:red;\">请输入验证码!</span>");
		return false;
	}
	
	var request = createRequest();
	var url = "ajax_checkValidateCode.jsp?validateCode=" + frm.validateCode.value;
	if(syn) {
		request.onreadystatechange = function() {
			if(request.readyState == 4) {
				if(request.status == 200) {
					var text = request.responseText.trim();
					if(text != "") {
						notExist = false;
						showHints(de("validateCode"), "<span style=\"color:red;\">" + text + "</span>");
						frm.validateCode.focus();
					} else {
						hideHints();
					}
				} else {
					alert(request.status + "错误");
				}
			}
		}
	}
	request.open("get", url + "&random=" + Math.random, syn);
	request.send(null);
	if(!syn) {
		var text = request.responseText.trim();
		if(text != "") {
			notExist = false;
			showHints(de("validateCode"), "<span style=\"color:red;\">" + text + "</span>");
			frm.validateCode.focus();
			return false;
		} else {
			hideHints();
			return true;	
		}
	}
}

var startsWithPat = /^[A-Za-z0-9]/;
var endWithPat = /[A-Za-z0-9]$/;
var contDots = /([._][._])+/;
var validChars = /^[A-Za-z0-9_\.]+$/;
var onlyNumbers = /^[0-9]+$/
var servicename ='null';
var partner_domain = 'null';
var submiting = false;

function de(id) {
	return document.getElementById(id);
}

function submitregister(frm) {
	
	if(submiting) {
		return false;
	} else {
		submiting = true;	
	}

	if(frm.company_.value.trim() == "") {
		frm.company_.focus();
		showHints(frm.company_, "<span style=\"color:red;\">请输入单位名称</span>");
		submiting = false;
		return false;
	}
	
	var name = frm.name_.value.trim();
	if(name == "") {
		frm.name_.focus();
		showHints(frm.name_, "<span style=\"color:red;\">请输入您的姓名</span>");
		submiting = false;
		return false;
	}
	
	var title = frm.title.value.trim();
	if(title == "") {
		frm.title.focus();
		showHints(frm.title, "<span style=\"color:red;\">请输入您的职务</span>");
		submiting = false;
		return false;
	}
	
	var telephone = frm.telephone_.value.trim();
	if(telephone == "") {
		frm.telephone_.focus();
		showHints(frm.telephone_, "<span style=\"color:red;\">请输入您的联系话 </span>");
		submiting = false;
		return false;
	}
	
			
	var email = frm.email_.value;
	if(email.trim() == "") {
		frm.email_.focus();
		showHints(frm.email_, "<span style=\"color:red;\">请输入邮件地址</span>");
		submiting = false;
		return false;
	}
	if(!checkEmail(false)) {		//检测邮件地址未通过
		submiting = false;
		return false;
	}
	
	var pass = frm.password_.value;
	if(pass.trim()== "") {
		frm.password_.focus();
		showHints(frm.password_, "<span style=\"color:red;\">密码不能为空</span>");
		submiting = false;
		return false;
	}
	if(pass.trim().length<3) {
		frm.password_.focus();
		showHints(frm.password_, "<span style=\"color:red;\">密码不能少于3个字符。</span>");
		submiting = false;
		return false;
	}
	
	var repassword = frm.repassword_.value.trim();
	if(repassword == "") {
		frm.repassword_.focus();
		showHints(frm.repassword_, "<span style=\"color:red;\">请输入\"确认密码\"</span>");
		submiting = false;
		return false;
	}
	if(pass.trim() != repassword) {
		frm.repassword_.focus();
		frm.repassword_.value = "";
		showHints(frm.repassword_, "<span style=\"color:red;\">两次输入的密码不一致</span>");
		submiting = false;
		return false;
	}
	

	var validateCode = de('validateCode');
	if(validateCode.value.trim() == "") {
		frm.validateCode.focus();
		showHints(frm.validateCode, "<span style=\"color:red;\">请输入验证码!</span>");
		submiting = false;
		return false;
	}
	
	
	
	if(frm.agree.checked != true) {
		frm.agree.focus();
		showHints(de("agree"), "<span style=\"color:red;\">请阅读并接受服务条款和隐私政策</span>");
		submiting = false;
		return false;
	}
	
	if(!checkValidateCode(false)) {
		submiting = false;
		return false;
	}
	
	frm.action = "register_save.jsp";
	frm.submit();
	
	submiting = false;
	
	return true;
}

function isemail(str) {
	str = str.trim();
	var objRegExp  = /^[a-zA-Z0-9]([\w\-\.\+]*)@([\w\-\.]*)(\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2}){0,2})$/i;
	return objRegExp.test(str);
}

var hints = new Array(
	'该邮件地址将作为您在HotOA登录时的<span style="color:red;">用户名</span>。请输入有效的邮件地址，当您注册账号或忘记密码时，系统将发送相关邮件到此邮件地址。',
	'字符数应该在3到60个之间。请不要将密码设置成您的用户名。可以用字母大小写，数字以及特殊字符混合的方式。'
);

function showHints(f, content) {
	var tempmsg = de('temp');
	tempmsg.innerHTML = content;
	if(f == de("agree")) {
		de('tempdiv').style.left = findPosX(f)+ 168 + f.offsetWidth+'px';
	} else {
		de('tempdiv').style.left=findPosX(f)+f.offsetWidth-10+'px';
	}
	de('tempdiv').style.top=findPosY(f)-(f.offsetHeight+3)+'px';
	de('tempdiv').style.display= "";
}
function hideHints() {
	de('tempdiv').style.display = "none";
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			if(obj.style.position == "relative") break;
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			if(obj.style.position == "relative") break;
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}


function toggleGapps(param) {
	if(param == 'show') {
		de('mandatory').style.display='none';
		de('maindiv').className = "hide";
		de('gappsdiv').style.display='';
		document.googleappsform.domain.focus();
	}
	else if(param == 'hide') {
		de('gappsdiv').style.display='none';
		de('maindiv').className = "mainbodydiv";
		de('mandatory').style.display='';
	}
}

function validateDomain(f) {
	var domainRegex  = /^([\w\-\.]*)(\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2}){0,2})$/i;
	var domain = f.domain.value;
	if(!domainRegex.test(domain)){
		de('msgpanel-apps').className='msg';
		de('msgpanel-apps').innerHTML = "请输入有效的域名";
		f.domain.focus();
		return false;
	}
	f.submit();
	return false;
}