package dp.mendelu.roman.diplomkaapp42;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

/**
 * Aktivita pro vytvoření bodové vrstvy.
 */
public class CreatePointActivity extends Activity {
    private static final String TAG = "CreatePointActivity";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_create);

    }

    public void savePoint(View v) {
        EditText editText = (EditText) findViewById(R.id.editText);
        EditText editText2 = (EditText) findViewById(R.id.editText2);
        EditText editText3 = (EditText) findViewById(R.id.editText3);
        String jsonPart = "";
        float lat; //inicializace nemoznou souradnici
        float lng; //inicializace nemoznou souradnici


        /**
         * Souřadnice WGS84 vycházejí ze souřadnic zeměpisných, polohu tedy určíme pomocí zeměpisné
         * délky, šířky a výšky. Šířka nabývá 0°–90° na sever od rovníku a 0°–90° na jih od rovníku.
         * latitude = <-90,90>         *
         * Délka pak nabývá hodnot 0°–180° na západ od nultého poledníku a 0°–180° na východ od
         * nultého poledníku.
         * longitude = <-180,180>
         */

        //latitude check
        if (editText.getText().toString().isEmpty()){
            lat = -200;
        } else {
        lat = Float.parseFloat(editText.getText().toString());
        }


        if (lat > 90 || lat < -90){
            Toast.makeText(this, "Latitude wrong scale <-90,90>, item not saved.",
                    Toast.LENGTH_SHORT).show();
                    lat = -200;
        } else {
            lat = Float.parseFloat(editText.getText().toString());
        }
        //longitude check
        if (editText2.getText().toString().isEmpty()){
            lng = -200;
        } else {
            lng = Float.parseFloat(editText2.getText().toString());
        }

        if (lng > 180 || lng < -180){
            Toast.makeText(this, "Longitude wrong scale <-180,180>, item not saved.",
                    Toast.LENGTH_SHORT).show();
                    lng = -200;
        } else {
            lng = Float.parseFloat(editText2.getText().toString());
        }

        /**
         * Nutno zajisit spravny tvar JSONu pro cloud, jinak hodi vyjimku na cloudu!.
         * Pro testovaci ucely, testovaci json.
         */
        jsonPart = editText3.getText().toString();
        String json = Constants.JSONSTART + jsonPart + Constants.JSONSAMPLE;

        /**
         * Data je prvne potrebne poslat do cloudu a az nasledne ulozit do lokalni databaze,
         * aby se ulozili rezijni data (casova razitka + doc_Id)
         */
        if ((lat == -200) || (lng == -200)){
            //nic
        } else {
            Log.i(TAG, json + lat + lng);
            new SyncIniciate(this, json, lat, lng).execute();
        }
    }
}
