hook_preprocess_html in my module
hook_preprocess_page() is called before hook_preprocess_html(). hook_preprocess_html() would probably be the last one that's run in a page build.

If you want your CSS and JavaScript when displaying a node, you can add the files it in the preprocess function for the node template. 

function THEME_preprocess_node(&amp;$variables) {
  if ($variables['view_mode'] == 'full') {
    $node =&amp; $variables['node'];
    if ($node-&gt;type == 'something') {
      $path = drupal_get_path('theme', 'THEME');
      drupal_add_css($path . '/misc/jquery.fancybox-1.3.4.css');
      drupal_add_js($path . '/misc/jquery.mousewheel-3.0.4.pack.js', array('type' =&gt; 'file', 'scope' =&gt; 'header'));
      drupal_add_js($path . '/misc/jquery.fancybox-1.3.4.pack.js', array('type' =&gt; 'file', 'scope' =&gt; 'header'));
      drupal_add_js($path . '/misc/jquery.fancybox-calls.js', array('type' =&gt; 'file', 'scope' =&gt; 'header'));
    }
  }
}


You can add a custom template for any content type like:

node--[node-type].tpl.php


I would suggest you to use hook_preprocess_page at template.php for this:

function MYTHEME_preprocess_page(&amp;$variables, $hook) {  
    if (isset($variables['node'])) {
        if ($variables['node']-&gt;type == 'something') {
            $variables['theme_hook_suggestions'][] = 'page__node__' . $variables['node']-&gt;type;
        }
    }
}


Note: Don't forget to clear your cache after this :)