
/**********bbs注册*********/
function doBBSRegist(){
	
	var username = $.trim($('#r_username').val());
    var nickname = $.trim($('#r_nickname').val());
    var password = $('#r_password').val();
    
	$.ajax({ 
                url: 'http://www.tripdict.com/ucapi/interface/register.php', 
                type: "POST",
                cache: false, 
                data: "email="+username+"&password="+password+"&username="+nickname,
   				success: function(msg){
   					if(msg>0){
   						doSpaceRegist(msg);
   					}else{
   						showRegistTip("注册失败，请重试。");
   					}
   				}
	});
}

/**********游典网空间注册*********/
function doSpaceRegist(ucId){
	var username = $.trim($('#r_username').val());
    var nickname = $.trim($('#r_nickname').val());
    var password = $('#r_password').val();
    var sex = $('#r_sex').val();
    var year = $('#year').val();
    var month = $('#month').val();
    var day = $('#day').val();
    
    $.ajax({ 
		url: '/account/AccountCreate.action', 
		type: "POST",
		cache: false, 
		data: "ucId="+ucId+"&username="+username+"&password="+password+"&nickname="+nickname+"&sex="+sex+"&year="+year+"&month="+month+"&day="+day,
		success: function(msg){
			if($.evalJSON(msg).result == "success"){
				showRegistTip("注册成功");
				location = "/account/Profile.action?userId="+$.evalJSON(msg).userId;
			}else{
	   			showRegistTip("注册失败，请重试。");
	   		}
	   	}
	});
	
}

/**********表单验证*********/

function showRegistTip(str){
	$('#regist_tip').hide();
	$('#regist_error').show();
	$('#regist_error').html(str);
}

function checkUsername(){
	var username = $.trim($('#r_username').val());
	if(username == "") return;
	if(!isemail(username)) return;
    
	$.ajax({ 
		url: '/account/NameValidate.action', 
		cache: false, 
		data: "username="+username+"&date="+(new Date()),
		success: function(msg){
			if($.evalJSON(msg).result == "true"){
				usernameValidate = true;
			}
			if($.evalJSON(msg).result == "false"){
				usernameValidate = false;
				showRegistTip("已存在一个与 "+username+" 关联的帐户");
			}
			if($.evalJSON(msg).result == "error"){
				usernameValidate = false;
				alert("验证邮件是否可用时出现异常");
			}
	   	}
	});
}

// 判断输入是否是有效的电子邮件   
function isemail(str)   
{   
    var result=str.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);   
    if(result==null) return false;   
    return true;   
}  

function checkRegistForm(){
	checkUsername();
	window.setTimeout(function (){},1000);
	var username = $.trim($('#r_username').val());
    var nickname = $.trim($('#r_nickname').val());
    var password = $('#r_password').val();
    var sex = $('#r_sex').val();
    var year = $('#year').val();
    var month = $('#month').val();
    var day = $('#day').val();

    if(username == "" || nickname == "" || password == "" || sex == 0 || year == 0 || month == 0 || day == 0){
    	showRegistTip("您必须填写所有字段。");
    	return false;
    }
 
    if(!isemail(username)){
    	showRegistTip("请输入一个有效的电子邮件地址。");
    	return false;
    }
    
    if(password.length < 6){
    	showRegistTip("您设置的密码必须至少长 6 个字符。请重新设置。");
    	return false;
    }
    
    if(password.length > 16){
    	showRegistTip("您设置的密码不能超过 16 个字符。请重新设置。");
    	return false;
    }
    
    if(!usernameValidate){
    	checkUsername();
    	return false;
    }
    
    doBBSRegist();
    
    return false;

}



/**********日期的处理*********/
$(function(){
			initYear(1900,2009);
});
		
function initYear(fromYear, toYear){
		
			for(var i = toYear; i >= fromYear; i--){ 
				var newOption = new Option(i,i);
				$('#year')[0].options.add(newOption); 
		    } 
		    
		    $('#year')[0].options[30].selected = true;
}
		
function listDays(){
		
			var month = $('#month').val(); 
			var year = $('#year').val();
			if(month == 0 || year == 0) 
				return;
			var daysLen = getDaysLen(year,month);
			for(var i = 1; i <= daysLen; i++){ 
				var newOption = new Option(i,i);
				$('#day')[0].options.add(newOption); 
		    } 
}

//计算一个月多少天,年份4位数字，月份1-2位数字（应该是js日期格式如1月传入0）,数据非法返回-1 
function getDaysLen(year,month){ 
	        if(!(/^\d{4}$/.test(year)&&/^\d{1,2}$/.test(month))){return -1} 
	        var monthDays=[31,28,31,30,31,30,31,31,30,31,30,31] 
	        //存在2月29日 
	        if(month==1&&new Date(year,1,29).getMonth()==1){monthDays[1]=29} 
	        return monthDays[month-1] 
}