package test.ajaxRadioButtons;

import java.util.Arrays;
import java.util.List;

import wicket.ajax.AjaxRequestTarget;
import wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import wicket.markup.html.basic.Label;
import wicket.markup.html.form.Form;
import wicket.markup.html.form.RadioChoice;
import wicket.model.PropertyModel;

public class TestForm extends Form {
	
	private List options = Arrays.asList(new String[] {"Morning", "Noon", "Evening" });
	private Label label;
	private String labeltext;
	private String choice = (String)options.get(0);

	public TestForm(String id) {
		super(id);
		
		final PropertyModel choiceModel = new PropertyModel(this,  "choice");
		final RadioChoice radioChoice = new RadioChoice("radio_address_group", choiceModel, options);
		this.setOutputMarkupId(true);
		
		labeltext="Morning";
		label = new Label("label", new PropertyModel(this, "labeltext"));
		label.setOutputMarkupId(true);
		
		radioChoice.setOutputMarkupId(true);

		
		radioChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") {
			
			@Override
			protected void onUpdate(AjaxRequestTarget target) {
				System.out.println("Status changed");
				labeltext="Good Night";
				System.out.println(label.getModel().toString());
				System.out.println(labeltext);
				System.out.println(radioChoice.getModel().toString());
				System.out.println(choice);
				target.addComponent(label);
			}
			
		});
		add(radioChoice);
		this.add(label);
	}

	
	public String getChoice() {
		return choice;
	}

	public void setChoice(String choice) {
		this.choice = choice;
	}
	
	public String getLabeltext() {
		return labeltext;
	}

	public void setLabeltext(String labeltext) {
		this.labeltext = labeltext;
	}
}
