Either way would work fine. Since this is the Smart BG support thread, I will go over how to use that. A relatively small number of pages means not too much space taken up in the one stylesheet where everything is handled.
As you already have mods in your tpl_main_page.php, you can just replace this line
PHP Code:
<body id="<?php echo $body_id . 'Body'; ?>"<?php if($zv_onload !='') echo ' onload="'.$zv_onload.'"'; ?>>
with this:
PHP Code:
<?php //Smart Backgrounds
$smart_image = '';
if ($current_page_base == 'index' or $current_page_base == 'product_info') { //add _ and top cat id to classname only if cat bg image exists
$smart_image = (file_exists(DIR_WS_TEMPLATE_IMAGES . 'smartbg_' . str_replace(strstr($_GET[cPath],'_'),'',$_GET[cPath]) . '.gif'))?'_' . str_replace(strstr($_GET[cPath],'_'),'',$_GET[cPath]):'';
} elseif ($current_page_base == 'page') { //add _page and ez-page id to classname only if ez-page id bg image exists, else add _page to classname only if general ez-page bg image exists
$smart_image = (file_exists(DIR_WS_TEMPLATE_IMAGES . 'smartbg_page' . $_GET[id] . '.gif'))?'_page' . $_GET[id]:(file_exists(DIR_WS_TEMPLATE_IMAGES . 'smartbg_page.gif')?'_page':'');
} else { //add _ and page base to classname only if page bg image exists
$smart_image = (file_exists(DIR_WS_TEMPLATE_IMAGES . 'smartbg_' . $current_page_base . '.gif'))?'_' . $current_page_base:''; //default/home page classname will be just .smartBG, and filename smartbg.gif
}// /Smart Backgrounds?>
<body id="<?php echo $body_id . 'Body'; ?>" class="smartBG<?php echo $smart_image;?>"<?php if($zv_onload !='') echo ' onload="'.$zv_onload.'"'; ?>>
Rename one set of your images with smartbg_ names so they will be detected and the page class will be set. If you want to use jpegs, change all instances of .gif above to .jpg.
Say headerbg.jpg > smartbg.jpg, headerbg_about_us.jpg > smartbg_about_us.jpg, etc.
You have separated many properties out into layout.css and colors.css, but this in layout.css mixes them again:
#logoWrapper { width: 100%; height: 153px; background-image: url(../images/headerbg.jpg); background-repeat: no-repeat; position: relative; }
To be consistent, pull the background out of that rule and make one in colors.css like this:
#logoWrapper { background-image: url(../images/smartbg.jpg); background-repeat: no-repeat; }
Put all of the new background rules in colors.css.
.smartBG_about_us #logoWrapper { background-image: url(../images/smartbg_about_us.jpg); background-repeat: no-repeat; }
I'll go over the login class in the next post.