package com.github.amitt001.lifecontrol;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Calendar;
import java.util.Locale;


public class monFrag extends Fragment {

    private TextView wtext1, wtext2, wtext3;
    private TextView ptext1, ptext2, ptext3;
    private TextView pertext1, pertext2, pertext3;
    private CheckBox wbox1, wbox2, wbox3;
    private CheckBox pbox1, pbox2, pbox3;
    private CheckBox perbox1, perbox2, perbox3;
    public String w1="",w2="",w3="",p1="",p2="",p3="",per1="",per2="",per3="", day="";
    DbHandler dbHandler;

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        Toast.makeText(getActivity(), "Hey", Toast.LENGTH_LONG).show();
        View view = inflater.inflate(R.layout.control_frag, container, false);

        Calendar sCalendar = Calendar.getInstance();
        day = sCalendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault());

        dbHandler = new DbHandler(getActivity(), null, null, 1);

        wtext1 = (TextView) view.findViewById(R.id.w_textview1);
        Toast.makeText(getActivity(), w1, Toast.LENGTH_SHORT).show();
        wtext1.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        wtext1.setText(targetInp);
                        w1 = wtext1.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        wtext2 = (TextView) view.findViewById(R.id.w_textview2);
        wtext2.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        wtext2.setText(targetInp);
                        w2 = wtext2.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        wtext3 = (TextView) view.findViewById(R.id.w_textview3);
        wtext3.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        wtext3.setText(targetInp);
                        w3 = wtext3.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        ptext1 = (TextView) view.findViewById(R.id.p_textview1);
        ptext1.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        ptext1.setText(targetInp);
                        p1 = ptext1.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        ptext2 = (TextView) view.findViewById(R.id.p_textview2);
        ptext2.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        ptext2.setText(targetInp);
                        p2 = ptext2.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        ptext3 = (TextView) view.findViewById(R.id.p_textview3);
        ptext3.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        ptext3.setText(targetInp);
                        p3 = ptext3.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        pertext1 = (TextView) view.findViewById(R.id.per_textview1);
        pertext1.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        pertext1.setText(targetInp);
                        per1 = pertext1.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        pertext2 = (TextView) view.findViewById(R.id.per_textview2);
        pertext2.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        pertext2.setText(targetInp);
                        per2 = pertext2.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                alertDialog.show();
                return true;
            }
        });
        pertext3 = (TextView) view.findViewById(R.id.per_textview3);
        pertext3.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
                alertDialog.setTitle("Target");
                alertDialog.setMessage("Set your target");
                final EditText input = new EditText(getActivity());
                alertDialog.setView(input);
                alertDialog.setPositiveButton("Set", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        String targetInp = input.getText().toString();
                        pertext3.setText(targetInp);
                        per3 = pertext3.getText().toString();
                        addEventsToDB();
                    }
                });
                alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {}
                });
                alertDialog.show();
                return true;
            }
        });
        ///////////////////////////
        wbox1 = (CheckBox) view.findViewById(R.id.w_target_check1);
        wbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                //do something
            }
        });
        wbox2 = (CheckBox) view.findViewById(R.id.w_target_check2);
        wbox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                //do something
            }
        });
        wbox3 = (CheckBox) view.findViewById(R.id.w_target_check3);
        wbox3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                //do something
            }
        });
        pbox1 = (CheckBox) view.findViewById(R.id.p_target_check1);
        pbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                //do something
            }
        });
        pbox2 = (CheckBox) view.findViewById(R.id.p_target_check2);
        pbox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                //do something
            }
        });
        pbox3 = (CheckBox) view.findViewById(R.id.p_target_check3);
        pbox3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                //do something
            }
        });

        perbox1 = (CheckBox) view.findViewById(R.id.per_target_check1);
        perbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

            }
        });
        perbox2 = (CheckBox) view.findViewById(R.id.per_target_check2);
        perbox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

            }
        });

        perbox3 = (CheckBox) view.findViewById(R.id.per_target_check3);
        perbox3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

            }
        });
        //////////////////////////////
        printDatabse();
        return view;
    }

    public void addEventsToDB(){
        TargetEvents targetEvents = new TargetEvents();
        targetEvents.set_id(day);
        targetEvents.set_work1(w1);
        targetEvents.set_work2(w2);
        targetEvents.set_work3(w3);
        targetEvents.set_project1(p1);
        targetEvents.set_project2(p2);
        targetEvents.set_project3(p3);
        targetEvents.set_personal1(per1);
        targetEvents.set_personal2(per2);
        targetEvents.set_personal3(per3);

        dbHandler.addEvent(targetEvents);
        String logs = day+ " " + w1+ " " +w2+ " " +w3+ " " +p1+ " " +p2+ " " +p3+ " " +
                per1+ " " +per2+ " " +per3;
        Log.i("VERYIMP", logs);
    }

    public void printDatabse(){

        String dbString = dbHandler.getEvents(day);
        String[] dbresult = dbString.split("\n");
        for(int i = 0; i < dbresult.length; i++){
            if (dbresult[i] != ""){
                if (i==0){
                    w1 = dbresult[i];
                    wtext1.setText(dbresult[i]);
                }if (i==1){
                    w2 = dbresult[i];
                    wtext2.setText(dbresult[i]);
                }if (i==2){
                    w3 = dbresult[i];
                    wtext3.setText(dbresult[i]);
                }if (i==3){
                    p1 = dbresult[i];
                    ptext1.setText(dbresult[i]);
                }if (i==4){
                    p2 = dbresult[i];
                    ptext2.setText(dbresult[i]);
                }if (i==5){
                    p3 = dbresult[i];
                    ptext3.setText(dbresult[i]);
                }if (i==6){
                    per1 = dbresult[i];
                    pertext1.setText(dbresult[i]);
                }if (i==7){
                    per2 = dbresult[i];
                    pertext2.setText(dbresult[i]);
                }if (i==8){
                    per3 = dbresult[i];
                    pertext3.setText(dbresult[i]);
                }
            }
        }
        Log.i("DBRESPONSE", dbString + "\n" + dbresult);

    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
    }
}
