﻿//Password check start
function PasswordStrength(showed){
	this.showed = (typeof(showed) == "boolean")?showed:true;
	this.styles = new Array();
	this.styles[0] = {backgroundColor:"#EBEBEB",borderLeft:"solid 1px #FFFFFF",borderRight:"solid 1px #BEBEBE",borderBottom:"solid 1px #BEBEBE"};
	this.styles[1] = {backgroundColor:"#FF4545",borderLeft:"solid 1px #FFFFFF",borderRight:"solid 1px #BB2B2B",borderBottom:"solid 1px #BB2B2B"};
	this.styles[2] = {backgroundColor:"#FFD35E",borderLeft:"solid 1px #FFFFFF",borderRight:"solid 1px #E9AE10",borderBottom:"solid 1px #E9AE10"};
	this.styles[3] = {backgroundColor:"#95EB81",borderLeft:"solid 1px #FFFFFF",borderRight:"solid 1px #3BBC1B",borderBottom:"solid 1px #3BBC1B"};
	this.labels= ["Weak","Moderate","Powerful"];
	this.divName = "password_div_"+Math.ceil(Math.random()*100000);
	this.minLen = 1;
	this.width = "150px";
	this.height = "20px";
	this.content = "";
	this.selectedIndex = 0;
	this.init();
}
PasswordStrength.prototype.init = function(){
	var s = '<table cellpadding="0" id="'+this.divName+'_table" cellspacing="0" style="width:'+this.width+';height:'+this.height+';margin-top:1px">';
	s += '<tr>';
	for(var i=0;i<3;i++){
		s += '<td id="'+this.divName+'_td_'+i+'" width="33%" align="center"><span style="font-size:1px">&nbsp;</span><span id="'+this.divName+'_label_'+i+'" style="display:none; font-family: Courier New, Courier, mono;font-size: 12px;color: #000000">'+this.labels[i]+'</span></td>';
	}
	s += '</tr>';
	s += '</table>';
	this.content = s;
	if(this.showed){
		document.write(s);
		this.copyToStyle(this.selectedIndex);
	}
}
PasswordStrength.prototype.copyToObject = function(o1,o2){
	for(var i in o1){
		o2[i] = o1[i];
	}
}
PasswordStrength.prototype.copyToStyle = function(id){
	this.selectedIndex = id;
	for(var i=0;i<3;i++){
		if(i == id-1){
			this.$(this.divName+"_label_"+i).style.display = "inline";
		}else{
			this.$(this.divName+"_label_"+i).style.display = "none";
		}
	}
	for(var i=0;i<id;i++){
		this.copyToObject(this.styles[id],this.$(this.divName+"_td_"+i).style);
	}
	for(;i<3;i++){
		this.copyToObject(this.styles[0],this.$(this.divName+"_td_"+i).style);
	}
}
PasswordStrength.prototype.$ = function(s){
	return document.getElementById(s);
}
PasswordStrength.prototype.setSize = function(w,h){
	this.width = w;
	this.height = h;
}
PasswordStrength.prototype.setMinLength = function(n){
	if(isNaN(n)){
		return ;
	}
	n = Number(n);
	if(n>1){
		this.minLength = n;
	}
}
PasswordStrength.prototype.setStyles = function(){
	if(arguments.length == 0){
		return ;
	}
	for(var i=0;i<arguments.length && i < 4;i++){
		this.styles[i] = arguments[i];
	}
	this.copyToStyle(this.selectedIndex);
}
PasswordStrength.prototype.write = function(s){
	if(this.showed){
		return ;
	}
	var n = (s == 'string') ? this.$(s) : s;
	if(typeof(n) != "object"){
		return ;
	}
	n.innerHTML = this.content;
	this.copyToStyle(this.selectedIndex);
}
PasswordStrength.prototype.update = function(s){
	if(s.length < this.minLen){
		this.copyToStyle(0);
		return;
	}
	var ls = -1;
	if (s.match(/[a-z]/ig)){
		ls++;
	}
	if (s.match(/[0-9]/ig)){
		ls++;
	}
 	if (s.match(/(.[^a-z0-9])/ig)){
		ls++;
	}
	if (s.length < 6 && ls > 0){
		ls--;
	}
	 switch(ls) {
		 case 0:
			 this.copyToStyle(1);
			 break;
		 case 1:
			 this.copyToStyle(2);
			 break;
		 case 2:
			 this.copyToStyle(3);
			 break;
		 default:
			 this.copyToStyle(0);
	 }
}
//Password check end
//用户注册(用户名)
function usernamechker()
{
  var loginobj = document.getElementById('username');
	var login = loginobj.value.replace(/(^\s*)|(\s*$)/g,"").length;
  var stat = document.getElementById("checkusername");
	if (login < 4 || login > 15){
		stat.innerHTML = '&nbsp;<img src="/images/check_error.gif" align="absmiddle"/>&nbsp;<font color="#FF0000">Username length is 4 to 15 characters</font>';
		return false;
  } else {
//		
        var name = document.getElementById("username").value;
        var xmlhttp = new JavaScript.Common.HttpRequest();
        xmlhttp.Url ="/Action/CheckUserName.aspx";
        xmlhttp.Method = "POST";
        xmlhttp.addFormData("name",name);
        xmlhttp.OnComplete = CheckUserName_Comlete;
        xmlhttp.OnError = CheckUserName_Error;
        xmlhttp.DoCallBack(); 
	}
}

    function CheckUserName_Comlete(responseText, responseXML)
    {    
        if(responseText!="-1")
        {
           document.getElementById("checkusername").innerText="your name is used";
        }
        else
        {
            document.getElementById("checkusername").innerHTML = '&nbsp;<img src="images/check_right.gif" align="absmiddle"/>';
        }
    };
    
    function CheckUserName_Error(status, statusText, responseText)
    {    
        alert('网络错误，请重试！');
    };
    
//确认密码
function pwdconfirmer()
{
	var pre = document.getElementById('password');
	var cur = document.getElementById('password2');
	if( cur.value.replace(/(^\s*)|(\s*$)/g,"").length < 6 ){
		document.getElementById('checkpassword2').innerHTML = '&nbsp;<img src="images/check_error.gif" align="absmiddle"/> &nbsp;<font color="#FF0000">Password length of at least 6 characters</font>';
		return false;
	} else if(pre.value != cur.value){
		document.getElementById('checkpassword2').innerHTML = '&nbsp;<img src="images/check_error.gif" align="absmiddle"/> &nbsp;<font color="#FF0000">Two input does not match</font>';
		return false;
	} else {
		document.getElementById('checkpassword2').innerHTML = '&nbsp;<img src="images/check_right.gif" align="absmiddle"/>';
	}
}
//email检查
function emailchker()
{
	var email = document.getElementById('email');
	var email2 = document.getElementById('email2');
	var eregexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	if( !eregexp.exec(email.value) ){
		document.getElementById('checkemail').innerHTML = '&nbsp;<img src="images/check_error.gif" align="absmiddle"/> &nbsp;<font color="#FF0000">email format error</font>';
		return false;
	} else {
		document.getElementById('checkemail').innerHTML = '&nbsp;<img src="images/check_right.gif" align="absmiddle"/>';
	}
}
//确认email
function emailconfirmer()
{
	var pre = document.getElementById('email');
	var cur = document.getElementById('email2');
	var eregexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	if( !eregexp.exec(cur.value) ){
		document.getElementById('checkemail2').innerHTML = '&nbsp;<img src="images/check_error.gif" align="absmiddle"/> &nbsp;<font color="#FF0000">Two input does not match</font>';
		return false;
	} else if(pre.value != cur.value) {
		document.getElementById('checkemail2').innerHTML = '&nbsp;<img src="images/check_error.gif" align="absmiddle"/> &nbsp;<font color="#FF0000">Two input does not match</font>';
		return false;
	}	else {
		document.getElementById('checkemail2').innerHTML = '&nbsp;<img src="images/check_right.gif" align="absmiddle"/>';
	}
}
//验证码
function checkcode()
{
	var codestr = "85+9=?";
	var pos = codestr.indexOf("=");
	var result = eval(codestr.substr(0,pos));
	var code = document.getElementById('mathcode').value;
	if( code == '' || code != result ){
		document.getElementById('checkcode').innerHTML = '&nbsp;<img src="images/check_error.gif" align="absmiddle"/> &nbsp;<font color="#FF0000">Code Error</font>';
		return false;
	} else {
		document.getElementById('checkcode').innerHTML = '&nbsp;<img src="images/check_right.gif" align="absmiddle"/>';
	}
}
//表单
function regchker()
{
	if( usernamechker() == false || pwdconfirmer() == false || emailchker() == false || emailconfirmer() == false || checkcode() == false) {
		return false;
	}
}

function register()
{

    document.getElementById("introText").style.display = "none";
    document.getElementById("inputText").style.display = "block";
}
