// JavaScript Document
var username;
var password;
var verifypass;
var phone;
var email;
var checkPassword = false;
var checkResult = true;

$(document).ready(function(){
	//$('#username').focus();
	getProvinces();
})


function getProvinces(){

	var pro = "";
	for(var i = 0 ; i < provinces.length; i++){

		pro += "<option value='"+provinces[i]+"'>" + provinces[i] + "</option>";
	}
	$('#province').empty().append(pro);
	getCities();
}
function getCities(){
	var proIndex = $('#province').attr('selectedIndex');
	if(proIndex==null||proIndex=="")
	proIndex = 0;
	showCities(proIndex);
	getCounties();
}
function showCities(proIndex){

	var cit = "";
	if(cities[proIndex] == null){
		$('#city').empty();
		return;
	}
	for(var i = 0 ;i < cities[proIndex].length ; i++){

		cit += "<option value='"+cities[proIndex][i]+"'>" + cities[proIndex][i] + "</option>";
	}
	$('#city').empty().append(cit);
}
function getCounties(){
	var proIndex = $('#province').attr('selectedIndex');
	var citIndex = $('#city').attr('selectedIndex');
	if(citIndex == null)
	{
		citIndex = 0;
	}
	if(proIndex == null)
	{
		proIndex = 0;
	}
	showCounties(proIndex,citIndex);
}
function showCounties(proIndex,citIndex){
	var cou = "";
	if(counties[proIndex][citIndex] == null){
		$('#county').empty();
		return;
	}
	for(var i = 0 ;i < counties[proIndex][citIndex].length;i++){
		cou += "<option value='"+counties[proIndex][citIndex][i]+"'>" + counties[proIndex][citIndex][i] + "</option>";
	}
	$('#county').empty().append(cou);
}

function cTrim(sInputString,iType) {
	  var sTmpStr = ' ';
	  var i = -1;
	  if(iType == 0 || iType == 1) {
	    while(sTmpStr == ' ') {
	      ++i;
	      sTmpStr = sInputString.substr(i,1);
	    }
	    sInputString = sInputString.substring(i)
	  }
	  if(iType == 0 || iType == 2) {
	    sTmpStr = ' ';
	    i = sInputString.length;
	    while(sTmpStr == ' ') {
	      --i;
	      sTmpStr = sInputString.substr(i,1);
	    }
	    sInputString = sInputString.substring(0,i+1);
	  }
	  return sInputString;
}

function checkagree()
{
	if(document.getElementById('agreement').checked == false)
	{
		var errorStr = '请阅读和同意协议';
		setHintMsg('#agreement_info',"warning",errorStr);
		return errorStr;
	}
	else
	{
		setHintMsg('#agreement_info',"hint",'');
		return true;
	}	
}

function setHintMsg(obj,type,msg)
{
	if(type=="ok")
	{
		$(obj).removeClass("warning");		
	}
	else if(type=="warning")
	{
		$(obj).removeClass("ok");		
	}
	else if(type=="hint")
	{
		if($(obj).hasClass("warning"))
		{
			$(obj).removeClass("warning");
		}
		if($(obj).hasClass("ok"))
		{
			$(obj).removeClass("ok");
		}
	}
	
	$(obj).addClass(type);
	$(obj).html(msg);
}

function checkusername()
{
	var checkName = true;
	var errorStr;
	username = cTrim($('#username').val(),0);
	if( username== "" || username.length < 5)
	{
		errorStr = '请输入有效的会员名';
		setHintMsg('#user_info',"warning",errorStr);		
		checkName = false;
	}
	else
	{
		if(document.getElementById('existuser'))
		{
			var existuser = $('#existuser').val();
			if(username != existuser)
			{
				setHintMsg('#user_info',"ok",'正确');
			}
			else
			{
				errorStr = '会员名已存在，请重新输入';
				setHintMsg('#user_info',"warning",errorStr);				
			}
		}
		else
		{
			var name_pattern = /^([a-zA-Z0-9_\u4e00-\u9fa5])+$/;
			name_flag = name_pattern.test(username);
			if(!name_flag)
			{
				setHintMsg('#user_info',"warning",'请输入有效的会员名');
				checkName = false;
			}
			else
			{
				setHintMsg('#user_info',"ok",'正确');
			}
		}
	}
	if(checkName == false)
	{
		return errorStr;
	}
	else
	{
		return true;
	}
}

function checkPasswords()
{
	var errorStr;
	password = cTrim($('#password').val());
	if(password == "" || password.length< 6)
	{
		errorStr = '密码请使用6-16个字符';
		setHintMsg('#password_info',"warning",errorStr);
		return errorStr;
	}
	else
	{
		checkPassword = true;
	}
}

function verifyPasswords()
{
	var verifyResult = false;
	var errorStr;
	if(checkPassword == true)
	{
		var verifypass = cTrim($('#verifypass').val());
		password = cTrim($('#password').val());

		if(verifypass == "")
		{
			errorStr += "请重复密码";
			setHintMsg('#verifypass_info',"warning",errorStr);
		}
		else if(verifypass != password)
		{
			errorStr +='两次输入密码不一致';
			setHintMsg('#verifypass_info',"warning",errorStr);
		}
		else
		{	
			verifyResult = true;
			setHintMsg('#password_info',"ok",'正确');
			setHintMsg('#verifypass_info',"ok"," ");
		}
	}
	else
	{	
		errorStr = checkPasswords();
	}
	
	if(errorStr != "")
	{
		return errorStr;
	}
	return verifyResult;
}

function checkEmail()
{
	var errorStr = '请输入有效的Email地址';;
	var checkEmailResult = false;
	email = $('#email').val();
	if(email!="")
	{
		var email_pattern = /^([a-zA-Z0-9_\-\.])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		flag  = email_pattern.test(email); 
		if(!flag)
		{
			setHintMsg('#email_info',"warning",errorStr);
		}
		else
		{
			checkEmailResult = true;
			setHintMsg('#email_info',"ok",'正确');
		}
	}	
	else
	{
		
		setHintMsg('#email_info',"warning",errorStr);
	}
	if (checkEmailResult == false)
	{
		return errorStr;
	}
	return checkEmailResult;
}

function checkPhone()
{
	var checkPhoneResult = true;
	var errorStr = '请输入有效的电话号码';
	phone = cTrim($('#phone').val());
	if(phone!="")
	{
		var phone_pattern = /^([0-9]|[\-])+$/ ;
		if(phone_pattern.exec(phone) == null)
		{
			checkPhoneResult =false;
			setHintMsg('#phone_info',"warning",errorStr);
		}
		else
		{
			setHintMsg('#phone_info',"ok",'正确');
		}
	}
	else
	{
		setHintMsg('#phone_info',"hint",'选填');		
	}
	if(checkPhoneResult == false)
	{
		return errorStr;
	}
	return checkPhoneResult;
}

function checkreg()
{
	var checkNameResult = checkusername();
	var checkEmailResult = checkEmail();
	var checkPasswordResult = verifyPasswords();
	var checkAgreeResult = checkagree();
	if(checkNameResult == true && checkEmailResult == true && checkPassword == true && checkAgreeResult == true)
	{
		return true;
	}
	else
	{
		var regError = (
				(checkNameResult != true ? checkNameResult+'，' : '')+
				(checkEmailResult != true ? checkEmailResult+'，' : '')+
				(checkPasswordResult != true ? checkPasswordResult : '')
				);
		$('#reg_error').html(regError);
		return false;
	}
}
