package info.androidhive.slidingmenu;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class letgoFragment extends Fragment {
	private long mStartTime;
	private Timer mTimer = new Timer();
	private TimerTask mClock, mClock2;
	private Handler mHandler = new Handler();
	private TextView mTimeBox;
	private Button srt, pause, zero;
	private String timeStr;
	private long timeStr2;
	long temp = 0;

	public letgoFragment() {
	}

	@Override
	public void onActivityCreated(Bundle savedInstanceState) {
		super.onActivityCreated(savedInstanceState);
		setContentView(R.layout.fragment_letgo);

		mTimeBox = (TextView) getActivity().findViewById(R.id.mTimeBox);
		mTimeBox.setText("00:00:00:00");
		mTimeBox.setTextSize(40);
		final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SSS");

		srt = (Button) getActivity().findViewById(R.id.start);
		pause = (Button) getActivity().findViewById(R.id.pause);
		zero = (Button) getActivity().findViewById(R.id.zero);

		srt.setEnabled(true);
		pause.setEnabled(false);
		zero.setEnabled(false);
		// timeBox
		srt.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				pause.setEnabled(true);
				srt.setEnabled(false);
				zero.setEnabled(false);
				mClock = new TimerTask() {
					public void run() {

						if (mStartTime == 0) {
							mStartTime = SystemClock.uptimeMillis();
						}

						mHandler.post(new Runnable() {
							@Override
							public void run() {

								sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
								timeStr = sdf.format(new Date(SystemClock
										.uptimeMillis() - mStartTime + timeStr2));

								mTimeBox.setText(timeStr);
							}
						});
					}
				};
				timeStr2 = 
				mStartTime = 0;
				mTimer.schedule(mClock, 0, 1);
			}

		});
		pause.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				srt.setEnabled(true);
				pause.setEnabled(false);
				zero.setEnabled(true);
				mClock.cancel();

			}
		});

		zero.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				mClock.cancel();
				mTimeBox.setText("00:00:00:000");
				srt.setEnabled(true);
				pause.setEnabled(false);
				zero.setEnabled(false);
			}
		});
		this.addContentView(mTimeBox, new ViewGroup.LayoutParams(200, 200));
	}

	private void addContentView(TextView mTimeBox2, LayoutParams layoutParams) {
		// TODO Auto-generated method stub

	}

	private void setContentView(int fragmentLetgo) {
		// TODO Auto-generated method stub

	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {

		View rootView = inflater.inflate(R.layout.fragment_letgo, container,
				false);

		return rootView;
	}
}
