package com.androidbegin.buttonclicktutorial;


import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.InputType;
import android.text.method.ScrollingMovementMethod;
import android.view.Gravity;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.Scroller;
import android.widget.TextView;
import android.app.Activity;
import android.graphics.Color;
import android.app.ActionBar.LayoutParams;

public class debug extends Activity 
{

	
	TimeWidgetSlider start_timeSliderHour = null;
	TimeWidgetSlider start_timeSliderMinutes = null;
	TimeWidgetSlider end_timeSliderHour = null;
	TimeWidgetSlider end_timeSliderMinutes = null;
	
	private Button btnStartTime = null;
	private Calendar dateStart = null;
	
	private String date_event;
	
    
    LinearLayout layout1;
    private static int viewsCount = 0;
    private List<View> allViews = new ArrayList<View>();
    LinearLayout.LayoutParams params;
    
    String titre = "";
    
	//fields
		private static String sStrSelect = "Select time";
		private static String sStrSet = "set";
		private static String sStrNone = "none";
		
		//fields
		public static final int SELECT_TIME_REQUEST = 112;
		public static final int iSliderViewWidth = 276;
		private static final int iSmallButtonWidth = 100;	
		
		//fields
		private LinearLayout layContent = null;
		private LinearLayout layContent2 = null;
		
		
		private Button btnNone = null;
		private Button btnOK = null;
		
		//fields
		private boolean bNoneButton = true;
		private boolean b24HourMode = false;
		private int start_hour = -1;
		private int start_minutes = -1;
		private int end_hour = -1;
		private int end_minutes = -1;
		
		 private RelativeLayout mLayout;
	
	@Override
	public void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.infos_appointment);
		//setContentView(R.layout.form04);
		
		//mLayout = (RelativeLayout)findViewById(R.id.left_event_column);
		
		//EditText et = (EditText) findViewById(R.id.Edit_Notes);
		
		//et.setScroller(new Scroller(getApplicationContext()));
        //et.setVerticalScrollBarEnabled(true);
		
		  
		Bundle extras = getIntent().getExtras();
		int index = extras.getInt("index");
		
		appointment class_id = new appointment();
		class_id = agenda02.appointment_liste.get(index-1);
		
		titre = class_id.getTitre();
		
		
		
	   setContentView(widget());
	    
	
		
	
		
	
			
			
	}
	
	
	
	
	
	
	public LinearLayout createLayout(int Orientation)
	  {
			LinearLayout lay = new LinearLayout(this);		
			lay.setLayoutParams(new LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
			lay.setOrientation(Orientation);
			return lay;
	  }
	
	public View widget()
	{
		
	 		LinearLayout layMain = createLayout(LinearLayout.VERTICAL);  	
	 		layMain.setPadding(8, 8, 8, 8);
	 		
	 		
	 	 
	 		

	 		LinearLayout layMargin = createLayout(LinearLayout.HORIZONTAL);
	 		LinearLayout layMargin2 = createLayout(LinearLayout.HORIZONTAL);
	 		
	 		layContent = createLayout(LinearLayout.VERTICAL);
	 		layContent2 = createLayout(LinearLayout.VERTICAL);

	 		layMargin.getLayoutParams().height = 18;
	 		layMargin2.getLayoutParams().height = 18;
			
	 		
	 	/*	RelativeLayout.LayoutParams imageViewParam = new RelativeLayout.LayoutParams(
	                RelativeLayout.LayoutParams.WRAP_CONTENT,
	                RelativeLayout.LayoutParams.WRAP_CONTENT);
	 	*/	
	 		ImageView imageView = new ImageView(this);
	 		imageView.setImageResource(R.drawable.appointment);
	 		//imageView.setGravity( Gravity.CENTER);  
	 		//imageView.setLeft(left);  
	 		//imageView.setX(10);
	 		//imageViewParam.addRule(RelativeLayout.ALIGN_LEFT);
	 		//imageView.setPadding(20,20,20,20);


	 		//imageView.setX(20);
	 		//imageView.setY(75);
	 		//imageView.setPadding(10, 50, 0, 50);
	 		//layMain.addView(imageView);

	 		// http://stackoverflow.com/questions/12238164/how-to-programmatically-align-an-android-textview-to-the-right-of-another-textvi
	 		
	 		//http://stackoverflow.com/questions/33759256/how-can-i-display-programmatically-a-textview-next-to-a-button-in-a-relativelayo?noredirect=1&lq=1
	 		
	 		//android align view programmatically example
	 		
	 		// https://android--code.blogspot.fr/2015/05/android-relativelayout-leftof.html
	 		
	 		//http://www.mysamplecode.com/2011/10/android-programmatically-generate.html
	 		
	 		// https://android--code.blogspot.fr/2015/05/android-relativelayout-leftof.html
	 		
	 		// android textview align parent right programmatically
	 		
	 		
	 		LayoutParams layoutParams=new LayoutParams(75, 75);
	 	    layoutParams.setMargins(10,10,0,0);
	 	    imageView.setLayoutParams(layoutParams);
	 		layMain.addView(imageView);

	 		// TextView ffff = new TextView(this);
		    // ffff.setText("Zorro");
	 		//ffff.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
	        //layMain.addView(ffff);

	 		
	 		 LinearLayout ll = new LinearLayout(this);
	         ll.setOrientation(LinearLayout.HORIZONTAL);
	             
	            // Create TextView
	            TextView product = new TextView(this);
	            product.setText("sdqsddq");
	            product.setPadding(0,0,25,0);
	            ll.addView(product);
	             
	            // Create TextView
	            TextView price = new TextView(this);
	            price.setText("ujujuuuu");
	            ll.addView(price);
	            layMain.addView(ll);
	 		
/*	            
	            LinearLayout la = new LinearLayout(this);
		        la.setOrientation(LinearLayout.VERTICAL);
	            EditText mess = new EditText(this);
	            mess.setWidth(250);
	            mess.setHeight(50);
	            mess.setLines(4);
	            mess.setGravity(Gravity.TOP);
	            mess.setSingleLine(false);
	            mess.setMaxLines(4);
	            mess.setBackgroundColor(0xccc00000);
	            la.addView(mess);
	            layMain.addView(la);
*/	            
	            
	            
	    		EditText et = new EditText(this);
	    		et.setVerticalScrollBarEnabled(true);
	    		et.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
	    		et.setSingleLine(false);
	            et.setMaxLines(4);
	            et.setBackgroundColor(0xccc00000); // #d3d7b6
	            et.setBackgroundColor(Color.parseColor("#e7eecc"));
	    		//layMain.addView(et);
	            
	            //http://www.dreamincode.net/forums/topic/326868-scrollbar-in-a-edittext-dynamicallyprogrammatically-in-android/
	            
	            
	            EditText notes = new EditText(this);
		        notes.setWidth(250);
		        notes.setLines(4);
		        notes.setGravity(Gravity.TOP);
	        	notes.setVerticalScrollBarEnabled(true);
	        	notes.isVerticalScrollBarEnabled();
		        notes.setSingleLine(false);
		        notes.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
	        	notes.setMaxLines(4);
		        notes.setBackgroundColor(Color.parseColor("#e744cc"));  // 0xfff00000
		        //layMain.addView(notes);    
	            
		        /*	        
		        <EditText
	    		android:id="@+id/edit1"
	     		android:background="#d3d7b6"
	    		android:layout_width="250dp"
	    		android:layout_height="100dp"
	    		android:scrollbars="vertical"
	    		android:inputType="textMultiLine" 
	    		android:maxLines="3"
	    		android:gravity="top"
	    		android:layout_marginBottom="10dp"
	            android:layout_marginLeft="20dp"
	            android:layout_marginRight="20dp"
	            android:layout_marginTop="20dp"
	    	/>
		        
	*/	        
		        
		        View childView = getLayoutInflater().inflate(R.layout.custom01, null);
		        layMain.addView(childView);	
		        
		        
		        /***************************/
		        
	 		
	        TextView tv = new TextView(this);
	        tv.setText("Edfqffdvenement");
	        tv.setPadding(10, 10, 0, 0);
	        layMain.addView(tv);
	        
	        final EditText editText = new EditText(this);
	        //editText.setHint("XXXXT85itre");
	        editText.setText(titre);
	        editText.setSingleLine(true);
	        layMain.addView(editText);
	        
	        tv = new TextView(this);
	        String tmp = "Date : " + date_event;
	        tv.setText(tmp);
	        tv.setPadding(10, 30, 0, 30);
	        layMain.addView(tv);
			
	        tv = new TextView(this);
	        tv.setText("Start Time");
	        tv.setPadding(10, 10, 0, 30);
	        layMain.addView(tv);
	        
	        
			start_timeSliderHour = new TimeWidgetSlider(this, true, TimeWidgetSlider.STYPE_HOURS, iSliderViewWidth); // 24 heures 
			start_timeSliderMinutes = new TimeWidgetSlider(this, b24HourMode, TimeWidgetSlider.STYPE_MINUTES, iSliderViewWidth);

			end_timeSliderHour = new TimeWidgetSlider(this, true, TimeWidgetSlider.STYPE_HOURS, iSliderViewWidth); // 24 heures 
			end_timeSliderMinutes = new TimeWidgetSlider(this, b24HourMode, TimeWidgetSlider.STYPE_MINUTES, iSliderViewWidth);

			
			layContent.addView(start_timeSliderHour);
			layContent.addView(layMargin);
			layContent.addView(start_timeSliderMinutes);
	        layContent.setPadding(100, 0, 0, 60);
	        layMain.addView(layContent);
	        
	        tv = new TextView(this);
	        tv.setText("End Time");
	        tv.setPadding(10, 10, 0, 30);
	        layMain.addView(tv);
	        
	        
	        layContent2.addView(end_timeSliderHour);
		 	layContent2.addView(layMargin2);
			layContent2.addView(end_timeSliderMinutes);
	        layContent2.setPadding(100, 0, 0, 60);
	        layMain.addView(layContent2);
		        
         
	        Button btn = new Button(this);
	        btn.setText("Ajouter");
	        layMain.addView(btn);
	        
	/*        
	        ScrollView m_Scroll;
	        m_Scroll = new ScrollView(this);
	        m_Scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
	                                           LayoutParams.FILL_PARENT));
	        m_Scroll.addView( layMain, new
	        LayoutParams(LayoutParams.FILL_PARENT,
	              LayoutParams.FILL_PARENT) );
	 */       
	        
	       
	      	btn.setOnClickListener(new Button.OnClickListener()
		  	{
					public void onClick(View arg0)
					{
						start_hour = start_timeSliderHour.getValue();
					  	start_minutes = start_timeSliderMinutes.getValue();
					  	end_hour = end_timeSliderHour.getValue();
					  	end_minutes = end_timeSliderMinutes.getValue();
					  	
					  	// creation des dates
					  	
					  	String[] items = date_event.split(" ");
					  	// jour mois annee
					  	int jour = Integer.parseInt(items[0]);
					  	int mois = Integer.parseInt(items[1]);
					  	int annee = Integer.parseInt(items[2]);
					  	mois = mois - 1;
					  	
						Calendar cal_date = Calendar.getInstance();
						cal_date.set(Calendar.YEAR, annee);
						cal_date.set(Calendar.DAY_OF_MONTH, jour);
						cal_date.set(Calendar.MONTH, mois);
						cal_date.set(Calendar.HOUR_OF_DAY, 0);
						cal_date.set(Calendar.MINUTE, 0);
						cal_date.set(Calendar.SECOND, 0);
						cal_date.set(Calendar.MILLISECOND, 0);
				        Date Date_date =  cal_date.getTime();
				        long date = cal_date.getTimeInMillis();
					  			
					  	Calendar cal_start = Calendar.getInstance();
				        cal_start.set(annee,mois,jour,start_hour, start_minutes);
				        cal_start.set(Calendar.SECOND, 0);
				        cal_start.set(Calendar.MILLISECOND, 0);
				        Date Date_start =  cal_start.getTime();
				        long startTime = cal_start.getTimeInMillis();
				        
				    	Calendar cal_end = Calendar.getInstance();
				        cal_end.set(annee,mois,jour, end_hour, end_minutes);
				        cal_end.set(Calendar.SECOND, 0);
				        cal_end.set(Calendar.MILLISECOND, 0);
				        Date Date_end =  cal_end.getTime();
				        long endTime = cal_end.getTimeInMillis();
				        
				        String titre = editText.getText().toString();
				        
					  	
						
			}});
		  	
	  	

	  	return layMain;
		
	}

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}