package coolbuy360.searchhealth;
import android.app.Activity;
import android.app.Dialog;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;
import coolbuy360.logic.User;
import coolbuy360.service.CommandResult;
import coolbuy360.service.PasswordDigitsKey;
import coolbuy360.service.Validator;
import coolbuy360.service.searchApp;
public class MemberReg extends Activity {
EditText member_reg_edit_user;
EditText member_reg_edit_email;
EditText member_reg_edit_pwd;
EditText member_reg_edit_confirmpwd;
Button member_reg_btn_ok;
Button member_reg_btn_reset;
Dialog pBarcheck;
boolean userMobileValidate = true;
boolean emailValidate = true;
boolean pwdValidate = true;
boolean isEqualsPwd = false;
String memberUserString = "";
String memberEmailString = "";
String memberPwdString = "";
String memberPwdConfirmString = "";
// InputMethodManager manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.member_reg);
// Ϊ�˳�����
searchApp.getInstance().addActivity(this);
ImageButton actionbar_pre_btn = (ImageButton) this
.findViewById(R.id.actionbar_pre_btn);// ���ذ�ť
actionbar_pre_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MemberReg.this.finish();
}
});
member_reg_edit_user=(EditText)this.findViewById(R.id.member_reg_edit_user);
member_reg_edit_email=(EditText)this.findViewById(R.id.member_reg_edit_confiremail);
member_reg_edit_pwd =(EditText)this.findViewById(R.id.member_reg_edit_pwd);
member_reg_edit_confirmpwd=(EditText)this.findViewById(R.id.member_reg_edit_confirmpwd);
member_reg_btn_ok=(Button)this.findViewById(R.id.member_reg_btn_ok);
member_reg_btn_reset=(Button)this.findViewById(R.id.member_reg_btn_reset);
member_reg_btn_ok.setOnClickListener(new regBtnOnClick());
member_reg_btn_reset.setOnClickListener(new resetBtnOnClick());
// �����������ַ�����
member_reg_edit_pwd.setKeyListener(new PasswordDigitsKey());
member_reg_edit_confirmpwd.setKeyListener(new PasswordDigitsKey());
member_reg_edit_user.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
EditText et=(EditText)v;
String input=et.getText().toString();
if(!hasFocus)
{
if(input.length()!=0&&!input.equals(""))
{
if(Validator.getValidatorInstance(MemberReg.this).isMobileNO(input))
{
userMobileValidate=true;
memberUserString=input;
}
else
{
userMobileValidate=false;
et.setError(changeErrorColor("��������ȷ���ֻ���"));
}
}
else
{
userMobileValidate=false;
et.setError(changeErrorColor("���������ĵ�¼�ֻ���"));
}
}
}
});
//�������֤
member_reg_edit_email.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
EditText et=(EditText)v;
String input=et.getText().toString();
if(!hasFocus)
{
if(input.length()!=0&&!input.equals(""))
{
if(Validator.getValidatorInstance(MemberReg.this).isEmail(input))
{
emailValidate=true;
memberEmailString=input;
if( !memberPwdConfirmString.equals("")&&input.equals(memberPwdConfirmString))
{
isEqualsPwd=true;
}
}
else
{
emailValidate=false;
et.setError(changeErrorColor("��������ȷ�������ַ"));
}
}
else
{
emailValidate=false;
et.setError(changeErrorColor("���������ij������䣬�Ա����һ�����"));
}
}
}
});
//ԭ������֤
member_reg_edit_pwd.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
EditText et=(EditText)v;
String input=et.getText().toString();
if(!hasFocus)
{
if(input.length()!=0&&!input.equals(""))
{//&&Validator.getValidatorInstance(MemberReg.this).isContent(input)
if(Validator.getValidatorInstance(MemberReg.this).contentLengthCheck(input,6,12))
{
pwdValidate=true;
memberPwdString=input;
}
else
{
pwdValidate=false;
et.setError(changeErrorColor("���볤��Ϊ6~12λ����ĸ�����ֻ��»���"));
}
}
else
{
pwdValidate=false;
et.setError(changeErrorColor("�������¼����,����Ϊ6~12λ����ĸ�����ֻ��»���"));
}
}
}
});
member_reg_edit_confirmpwd.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
EditText et=(EditText)v;
String input=et.getText().toString();
String pwdString= member_reg_edit_pwd.getText().toString();
if(!hasFocus)
{
if(input.equals(pwdString))
{
isEqualsPwd=true;
memberPwdConfirmString=input;
}
else {
isEqualsPwd=false;
et.setError(changeErrorColor("�������벻ͬ"));
}
}
}
});
}
public class regBtnOnClick implements OnClickListener {
@Override
public void onClick(View v) {
member_reg_edit_user.clearFocus();
member_reg_edit_email.clearFocus();
member_reg_edit_pwd.clearFocus();
member_reg_edit_confirmpwd.clearFocus();
// TODO Auto-generated method stub
//Toast.makeText(getApplicationContext(), "ȷ��ע��", 1).show();
if(memberUserString.equals(""))
{
member_reg_edit_user.setError(changeErrorColor("�ֻ��Ų���Ϊ��"));
userMobileValidate=false;
}
if(memberEmailString.equals(""))
{
member_reg_edit_email.setError(changeErrorColor("���䲻��Ϊ��"));
emailValidate=false;
}
if(memberPwdString.equals(""))
{
member_reg_edit_pwd.setError(changeErrorColor("���벻��Ϊ��"));
pwdValidate=false;
}
if(memberPwdConfirmString.equals(""))
{
member_reg_edit_confirmpwd.setError(changeErrorColor("ȷ�����벻��Ϊ��"));
}
if(userMobileValidate&&emailValidate&&pwdValidate)
{
if(isEqualsPwd)
{
new asyRegMethod().execute();
}
else {
Toast.makeText(MemberReg.this, "�������벻ͬ", 1).show();
}
}
else
Toast.makeText(MemberReg.this, "���������", 1).show();
}
}
private class asyRegMethod extends AsyncTask<String, Void, Integer>
{
CommandResult checkResult = new CommandResult(false, "δ֪����ע��ʧ�ܡ�");
/* (non-Javadoc)
* @see android.os.AsyncTask#onPreExecute()
*/
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
showLoading();
}
@Override
protected Integer doInBackground(String... params) {
User user=new User(MemberReg.this);
try {
checkResult = user.register(memberUserString,
memberEmailString, memberPwdString);
if (checkResult.getResult()) {
return 1;
} else {
return 0;
}
} catch (Exception e) {
// TODO Auto-generated catch block
return 0;
}
}
@Override
protected void onPostExecute(Integer result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
pBarcheck.cancel();
final CustomerAlertDialog customerAlertDialog=new CustomerAlertDialog(MemberReg.this, R.style.customerdialog,CustomerAlertDialog.DISPLAYTXT);
//customerAlertDialog.setCanceledOnTouchOutside(true);
customerAlertDialog.show();
if(result==1)
{
customerAlertDialog.setMessage(checkResult.getMessage());
customerAlertDialog.setTitle("��Ϣ��ʾ");
customerAlertDialog.setCancelOnClick("ȷ��", new OnClickListener() {
@Override
public void onClick(View v) {
searchApp.getInstance().exitObject("coolbuy360.searchhealth.MemberLogin");
MemberReg.this.finish();
customerAlertDialog.cancel();
}
});
}
else
{
customerAlertDialog.show();
customerAlertDialog.setMessage(checkResult.getMessage());
customerAlertDialog.setTitle("��Ϣ��ʾ");
customerAlertDialog.setCancelOnClick("ȷ��", new OnClickListener() {
@Override
public void onClick(View v) {
customerAlertDialog.cancel();
}
});
}
}
}
public class resetBtnOnClick implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
member_reg_edit_user.setText("");
member_reg_edit_pwd.setText("");
member_reg_edit_confirmpwd.setText("");
member_reg_edit_email.setText("");
/*AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MemberReg.this);
alertDialogBuilder.setMessage("������Ϣ");
alertDialogBuilder.setNegativeButton("ȡ��",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
alertDialogBuilder.show();*/
/*CustomerAlertDialog customerAlertDialog=new CustomerAlertDialog(MemberReg.this, R.style.dialog,CustomerAlertDialog.DISPLAYEDIT);
customerAlertDialog.setCanceledOnTouchOutside(true);
customerAlertDialog.show();*/
/*final CustomerAlertDialog customerAlertDialog=new CustomerAlertDialog(MemberReg.this, R.style.customerdialog,CustomerAlertDialog.DISPLAYEDIT);
customerAlertDialog.setCanceledOnTouchOutside(true);
customerAlertDialog.show();
customerAlertDialog.setTitle("��ʾ��Ϣ");
customerAlertDialog.setMessage("�ش�ݾ�����");
customerAlertDialog.setCancelOnClick("ȡ��",new OnClickListener() {
@Override
public void onClick(View v) {
customerAlertDialog.cancel();
}
});
customerAlertDialog.setokOnClick("ok",new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MemberReg.this, "����ok", 1).show();
}
}); */
}
}
private SpannableStringBuilder changeErrorColor(String errorMsg)
{
//int ecolor =R.color.green ; // whatever color you want
String estring = errorMsg;
ForegroundColorSpan fgcspan = new ForegroundColorSpan(Color.RED);
SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring);
ssbuilder.setSpan(fgcspan, 0, estring.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return ssbuilder;
}
public void showLoading()
{
pBarcheck = new Dialog(MemberReg.this, R.style.dialog);
// dialog.setTitle("Indeterminate");
pBarcheck.setContentView(R.layout.custom_progress);
pBarcheck.setCancelable(true);
pBarcheck.show();
}
}