package edu.uoc.prezmm.a1list2cook;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.SharedPreferences;
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;
import edu.uoc.prezmm.a1list2cook.objects_class.Users;

public class SettingsActivity 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_settings);

        //Estableix el títol
        setToolBarTitle("Configuració");
    }

    public void validateForm(View v) {
        EditText pass1Field = (EditText)findViewById(R.id.recipeNameField);
        EditText pass2Field = (EditText)findViewById(R.id.recipeCategoryField);

        String pass1Text = pass1Field.getText().toString();
        String pass2Text = pass2Field.getText().toString();

        if(pass1Text.length() != 0 && pass2Text.length() != 0) {
            if(pass1Text.equalsIgnoreCase(pass2Text)) {
                changePass(pass1Text);
            } else {
                showMessage("Les contrasenyes no coincideixen.");
                pass1Field.requestFocus();
            }
        } else {
            showMessage("Cal omplir tots els camps.");
        }
    }

    private void changePass(String passText) {
        //Parametres per passar al WebService
        RequestParams params = new RequestParams();

        //Recupera i passa com a paràmetre el codi de l'usuari
        SharedPreferences prefs = getSharedPreferences("UserInfo", Context.MODE_PRIVATE);
        Users userInfo = new Users(prefs);
        params.put("userCode", userInfo.getUserCode());

        params.put("userPass", passText);

        //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_change_pass.php", params, new JsonHttpResponseHandler() {
            @Override
            public void onStart() {
                progressDialog.setMessage("Canviant contrasenya...");
                progressDialog.show();
            }

            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                progressDialog.dismiss();
                try {
                    JSONObject jsonArray = new JSONObject(response.toString());
                    switch(jsonArray.get("success").toString()) {
                        case "1":
                            showMessage("Contrasenya canviada correctament.");
                            break;
                        case "0":
                            showMessage("No s'ha pogut canviar la contrasenya, intenta-ho de nou. Disculpa les molèsties.");
                            break;
                    }
                } 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.");
            }
        });
    }
}
