﻿//此文件为接口文件，专门用于做登录、注册等用户信息类验证的js部分
function loginAction(strParam){
	var arrParam=strParam.split(",");
	var nActionType=parseFloat(arrParam[0]);
	var nParentType=0;
	if( arrParam.length>=1){
		nParentType=parseInt(arrParam[1]);
	}
	var strHtmlIDPrefix="login";
	var strReqForm="";
	strReqForm=genTextCheckNotNull(strHtmlIDPrefix+"_Inner_form","");
	if( strReqForm==false) return;
	var strType="";
	var emPostBtn=$G(strHtmlIDPrefix+"_Act"+nActionType+"_button");
	var strPostBtnTitle="";
	switch(parseInt(nActionType)){
	case 0: 
		if( genIsValidUserName($G(strHtmlIDPrefix+"_Nick_text").value)==false){
			return;
		}
		if( genIsValidEmail($G(strHtmlIDPrefix+"_Email_text").value)==false){
			return;
		}
		strType="reg";
		var emPwd=$G(strHtmlIDPrefix+"_pwd");
		var emRePwd=$G(strHtmlIDPrefix+"_Re_pwd");
		if(emPwd.value!=emRePwd.value){
			alert(cmLang.AlertPwdNotIdentical);
			return;
		}		
		strReqForm=strReqForm+cfRegReqParam();
		break;
	case 1:		
		if(genTxtIsNull($G(strHtmlIDPrefix+"_Nick_text").value)||genTxtIsNull($G(strHtmlIDPrefix+"_pwd").value)){
			alert(cmLang.AlertLoginErr);
			return;
		}

		strType="login";
		var emSavePassCheck=$G(strHtmlIDPrefix+"_SavePwd_check");
		if( emSavePassCheck!=null && emSavePassCheck.checked){
			strReqForm+="&keep=1";
		}
		var emVerifyCode=$G(strHtmlIDPrefix+"_VerifyCode_text");
		if( emVerifyCode!=null && emVerifyCode.value!=""){
			if(!genIsNumber(emVerifyCode.value)){
				alert("输入非法字符，请核对无误后再进行操作");
			}
			strReqForm+="&vCode="+emVerifyCode.value;
		}
		break;
	case 2:
		var emCode=$G(strHtmlIDPrefix+"_Code_text");
		if( emCode==null || genTxtIsNull(emCode.value)==true){
			alert(cmLang.AlertInputActiveCode);
			return;
		}
		strType="active";
		break;
	case 3:
		strType="postACode";
		break;		
	case 4:
		strType="getPwd";
		break;
	case 5:
		strType="changeEmail";
		break;
	}	
	if( emPostBtn!=null){
		emPostBtn.disabled="disabled";
		strPostBtnTitle=emPostBtn.value;
		emPostBtn.value=cmLang.Sending;
	}
	strReqForm="action="+strType+strReqForm;
	function responseProcess(strResponseHtml){
		if( emPostBtn!=null){
			emPostBtn.disabled="";
			emPostBtn.value=strPostBtnTitle;
		}
		switch(parseInt(nActionType)){
		case 0:
			cmRefreshVerifyCodeImg(strHtmlIDPrefix+"_VerifyCode_span");
			if( cfRegRespProcess(strResponseHtml)==true){
				var arrResp=strResponseHtml.split(c_strToken_Level0);
				if( arrResp.length>0){
					strResponseHtml=arrResp[0];
				}
				alert(strResponseHtml);
				genRetPrompt(strResponseHtml,strHtmlIDPrefix+"_RetInfo_div");
				if( arrResp.length>0 && arrResp[1]=="1"){
					loginReload(nParentType);
				}
				return;
			}			
			break;	
		case 1:
			cmRefreshVerifyCodeImg(strHtmlIDPrefix+"_VerifyCode_span");
			if( strResponseHtml=="1"){
				var _or=$G(strHtmlIDPrefix+"_Visit_OnlyUser");
				var _ourl=$G(strHtmlIDPrefix+"_Visit_HistoryUrl");
				if(_or==null||_ourl.value=="")
					loginReload(nParentType);
				else
					window.location.href=_ourl.value;
				strResponseHtml="";
			}else if( strResponseHtml=="-1" || strResponseHtml=="-2"){
				$G(strHtmlIDPrefix+"_pwd").value="";
				if( strResponseHtml=="-1"){
					strResponseHtml=cmLang.AlertNickNotExist;
				}else{
					strResponseHtml=cmLang.AlertPwdIncorrect;
				}
			}else{
				var arrRet=strResponseHtml.split(c_strToken_Level0);
				if( arrRet[0]=="0"){
					$G(strHtmlIDPrefix+"_Extend_div").innerHTML=arrRet[1];
					strResponseHtml=cmLang.AlerttFirstSignin;				
					alert(strResponseHtml);
				}
			}
			break;
		case 2:
			if(strResponseHtml=="1"){
				strResponseHtml=cmLang.AlertActiveSuccess;
				alert(strResponseHtml);
				loginReload(nParentType);
			}
			break;
		case 3:
			alert(strResponseHtml);
			break;		
		case 5:
			break;
		default:
			break;		
		}
		if(strResponseHtml!=""){
			if($G(strHtmlIDPrefix+"_RetInfo_div"))
				genRetPrompt(strResponseHtml,strHtmlIDPrefix+"_RetInfo_div",true);
			else
				alert(strResponseHtml);
		}
	}	
	genXMLHttpReq(1,"/Common/cmLoginMisc.do",strReqForm,responseProcess);
}﻿