package edu.uoc.prezmm.a1list2cook;

import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler;
import com.loopj.android.http.RequestParams;

import org.json.JSONException;
import org.json.JSONObject;

import cz.msebera.android.httpclient.Header;

public class RestorePassActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Defineix el contingut del layout de la Activity dins el frame de la classe pare
        setLayoutToBaseFrame(R.layout.activity_restore_pass);

        //Canvia el títol del ToolBar
        setToolBarTitle("Recuperar accés");

        //Ocultar la icona de menu del ToolBar
        hideToolBarMenu();
    }

    //Valida el camp email i procedeix segons el resultat de la vcalidació
    public void validateForm(View v) {
        EditText emailField = (EditText)findViewById(R.id.emailField);

        String emailText = emailField.getText().toString();

        if(formCheckValue(emailText)) {
            restorePass(emailText);
        } else {
            showMessage("Cal especificar l'e-mail.");
        }
    }

    //Comprova que el valor no estigui buit
    protected static boolean formCheckValue(String value) {
        boolean result = false;
        if(value.length() > 0) result = true;
        return result;
    }

    private void restorePass(String emailText) {
        //Paràmetres per passar al WebService
        RequestParams params = new RequestParams();
        params.put("email", emailText);

        //Missatge mentre s'està executant el procés de validació
        final ProgressDialog progressDialog = new ProgressDialog(this);

        //Creació de la connecció amb el WebService
        AsyncHttpClient client = new AsyncHttpClient();
        client.get("http://1list2cook.com/webservices/user_restore_pass.php", params, new JsonHttpResponseHandler() {
            @Override
            public void onStart() {
                progressDialog.setMessage("Restaurant contrasenya...");
                progressDialog.show();
            }

            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                progressDialog.dismiss();
                try {
                    JSONObject jsonArray = new JSONObject(response.toString());
                    if (jsonArray.get("success").toString().equalsIgnoreCase("1")) {
                        showMessage("Contrasenya restaurada. Hem enviat un correu a l'email introduït.");
                    } else {
                        showMessage(jsonArray.get("message").toString());
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, String res, Throwable t) {
                progressDialog.dismiss();
                showMessage("No s'ha pogut gestionar l'operació, intenta-ho de nou. Disculpa les molèsties.");
            }
        });
    }
}
