<?php
// $Id$

function test_menu($may_cache) {
  $items = array();
  $items[] = array(
    'path' => 'admin/content/test',
    'title' => t('Just testing'),
    'callback' => 'drupal_get_form',
    'callback arguments' => array('test_form'),
    'access' => TRUE,
  );
  return $items;
}

function test_form($form_values = NULL) {
  $form = array();
  $form['options'] = array(
    '#type' => 'radios',
    '#options' => array(1 => 'one', 2 => 'two', 3 => 'three'),
    '#title' => t('Testing...'),
    '#required' => TRUE,
    '#default_value' => 1,
  );
  $form['button'] = array(
    '#type' => 'button',
    '#value' => t('Next'),
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Submit value'),
  );
  $form['#multistep'] = TRUE;
  $form['#redirect'] = FALSE;
  return $form;
}

function test_form_validate($form_id, $form_values, $form) {
  if ($form_values['op'] == t('Next')) {
    $value = $form_values['options'];
    drupal_set_message("value was $value");
    $value = intval($value) + 1;
    if ($value > 3) {
      $value = 1;
    }
    drupal_set_message("setting value to $value");
    form_set_value($form['options'], $value);
  }
}

function test_form_submit($form_id, $form_values) {
  drupal_set_message(t('The submitted value is %value.', array('%value' => $form_values['options'])));
}