I'd suggest using the post ID rather than the name/slug for conditional logic... who knows? You might change the name or slug.
That said, if you are using Pages and sub-pages, consider using logic with is_tree(#) where the number is the post id of the parent Page... you'll have to read this:
http://codex.wordpress.org/Conditional_Tags
(snippet #4)
and add the function to your functions.php file or to the wp-includes/functions.php file (which would make it custom and you'd have to track that in upgrades)
function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath
global $post; // load details about this page
if(is_page()&&($post->post_parent==$pid||is_page($pid)))
return true; // we're at the page or at a sub page
else
return false; // we're elsewhere
};
example:
you can put this directly into the image tag for the header image... eg:
<img src="<?php bloginfo('template_directory'); ?>/whateverfolderyouareusing/<?php if (is_tree('1')) {echo 'frog';} elseif (is_tree('2')) {echo dog'; } else {echo 'default';} ?>.jpg />
if that makes sense to you... where 1 and 2 are the appropriate id numbers for the Pages in question and of course, you can have as many elseifs as you need...
You can use the same logic with (is_page(#)) and even build arrays if (is_page(#) || is_page(#) || is_page(#)) {
or go from is_tree to is_page to is_category to is_front_page and so on.
The beauty of is_tree() is that it only affects the direct child-pages of the parent, not deeper, which is very cool, imo.
Hope that helps. I don't know about $hdrimg either, but will look into it to expand my skill set.