Show a Unique Header Image based on Path in Drupal 7
If you want to define your header image in appearance settings form:

theme-settings.php

**
 * Implements hook_form_system_theme_settings_alter().
 *
 * @param $form
 *   Nested array of form elements that comprise the form.
 * @param $form_state
 *   A keyed array containing the current state of the form.
 */
function YOURTHEME_form_system_theme_settings_alter(&amp;$form, &amp;$form_state, $form_id = NULL)  {
  // Work-around for a core bug affecting admin themes. See issue #943212.
  if (isset($form_id)) {
    return;
  }

  // We are editing the $form in place, so we don't need to return anything.
  $form['YOURTHEME_settings'] = array(
    '#type' =&gt; 'fieldset',
    '#title' =&gt; t('YOUR THEME Theme Settings'),
    '#collapsible' =&gt; TRUE,
    '#collapsed' =&gt; FALSE,
  );

  // display settings
  $form['YOURTHEME_settings']['display'] = array(
    '#type' =&gt; 'fieldset',
    '#title' =&gt; 'Display options'
  );

  $form['YOURTHEME_settings']['display']['header_type'] = array(
    '#type' =&gt; 'select',
    '#title' =&gt; t('Type of header'),
    '#default_value' =&gt; theme_get_setting('header_type'),
    '#options' =&gt; array(
      'default'   =&gt; t('Default header'),
      'christmas' =&gt; t('Christmas header'),
      'easter'    =&gt; t('Easter header'),
    ),
    '#description'   =&gt; t("Select type of header"),
  );
}


template.php

/**
 * Override or insert variables into the page templates.
 */
function YOURTHEME_preprocess_page(&amp;$variables) {

  // header image   
  switch (theme_get_setting('header_type')) {
    case 'christmas' : $variables['header_image'] = path_to_theme() . '/header-christmas.jpg';
      break;
    case 'easter' : $variables['header_image'] = path_to_theme() . '/header-easter.jpg';
      break;
    default: path_to_theme() . '/header-default.jpg';
  }
}


Alternatively
You can use css to define header image paths, so instead preprocessing page variables, use template_preprocess_html to provide appropriate body classes:

/**
 * Override or insert variables into the html templates.
 */
function YOURTHEME_preprocess_html(&amp;$variables) { 
  // add holiday classes to body    
  switch (theme_get_setting('header_type')){
    case 'christmas' : $variables['classes_array'][] = 'header-christmas'; break;
    case 'easter' : $variables['classes_array'][] = 'header-easter'; break;
  }
}


css

/* HOLIDAY HEADERS */
.header-christmas #page_header { }
.header-easter #page_header { }