<?php
/**
 * Action hooks available throughout the theme.
 * Custom functions can be added or removed.
 * This can be done through child themes and/or plugins.
 * @link http://themehybrid.com/themes/hybrid/hooks
 *
 * Action hooks should be defined and named by the order called (generated) relative to a theme element.
 * Most 'before' action hooks appear just inside of the opening XHTML element it's named after.
 * Most 'after' action hooks appear just inside of the closing XHTML element it's named after.
 *
 * @package Hybrid
 * @subpackage Hooks
 */

/* Remove WP and plugin functions. */
	remove_action( 'wp_head', 'wp_generator' );
	add_action( 'wp_print_styles', 'hybrid_disable_pagenavi_style' );

/* Head actions. */
	add_action( 'hybrid_head', 'hybrid_meta_content_type' );
	add_action( 'hybrid_head', 'hybrid_meta_robots' );
	add_action( 'hybrid_head', 'hybrid_meta_author' );
	add_action( 'hybrid_head', 'hybrid_meta_copyright' );
	add_action( 'hybrid_head', 'hybrid_meta_revised' );
	add_action( 'hybrid_head', 'hybrid_meta_abstract' );
	add_action( 'hybrid_head', 'hybrid_meta_description' );
	add_action( 'hybrid_head', 'hybrid_meta_keywords' );
	add_action( 'hybrid_head', 'hybrid_meta_template' );
	add_action( 'hybrid_head', 'wp_generator' );
	add_action( 'hybrid_head', 'hybrid_head_pingback' );
	add_action( 'hybrid_head', 'hybrid_head_canonical' );
	add_action( 'hybrid_head', 'hybrid_favicon' );
	automatic_feed_links( true );

/* WP print scripts and styles. */
	add_action( 'template_redirect', 'hybrid_enqueue_style' );
	add_action( 'template_redirect', 'hybrid_enqueue_script' );

/* Header. */
	add_action( 'hybrid_header', 'hybrid_site_title' );
	add_action( 'hybrid_header', 'hybrid_site_description' );

/* After header. */
	add_action( 'hybrid_after_header', 'hybrid_page_nav' );

/* After container. */
	add_action( 'hybrid_after_container', 'hybrid_get_primary' );
	add_action( 'hybrid_after_container', 'hybrid_get_secondary' );

/* Before content. */
	add_action( 'hybrid_before_content', 'hybrid_breadcrumb' );
	add_action( 'hybrid_before_content', 'hybrid_get_utility_before_content' );

/* Entry actions. */
	add_action( 'hybrid_before_entry', 'hybrid_entry_title' );
	add_action( 'hybrid_before_entry', 'hybrid_byline' );
	add_action( 'hybrid_after_entry', 'hybrid_entry_meta' );

/* After page. */
	add_action( 'hybrid_after_page', 'hybrid_get_utility_after_page' );

/* After single. */
	add_action( 'hybrid_after_single', 'custom_field_series' );
	add_action( 'hybrid_after_single', 'hybrid_get_utility_after_single' );

/* After content. */
	add_action( 'hybrid_after_content', 'hybrid_get_utility_after_content' );
	add_action( 'hybrid_after_content', 'hybrid_navigation_links' );

/* Before footer. */
	add_action( 'hybrid_before_footer', 'hybrid_get_subsidiary' );

/* Hybrid footer. */
	add_action( 'hybrid_footer', 'hybrid_footer_insert' );

/**
 * Before HTML.  Loaded just after <body> but before any content is displayed.
 * @since 0.3.2
 */
function hybrid_before_html() {
	do_action( 'hybrid_before_html' );
}

/**
 * After HTML.
 * Loaded just before </body> and after all content.
 * @since 0.3.2
 */
function hybrid_after_html() {
	do_action( 'hybrid_after_html' );
}

/**
 * Added to the header before wp_head().
 * @since 0.1
 */
function hybrid_head() {
	do_action( 'hybrid_head' );
}

/**
 * Before the header.
 * @since 0.1
 */
function hybrid_before_header() {
	do_action( 'hybrid_before_header' );
}

/**
 * Header.
 * @since 0.1
 */
function hybrid_header() {
	do_action( 'hybrid_header' );
}

/**
 * After the header.
 * @since 0.1
 */
function hybrid_after_header() {
	do_action( 'hybrid_after_header' );
}

/**
 * Before the page navigation menu.
 * @since 0.2
 */
function hybrid_before_page_nav() {
	do_action( 'hybrid_before_page_nav' );
}

/**
 * After the page navigation menu.
 * @since 0.2
 */
function hybrid_after_page_nav() {
	do_action( 'hybrid_after_page_nav' );
}

/**
 * Before the container.
 * @since 0.1
 */
function hybrid_before_container() {
	do_action( 'hybrid_before_container' );
}

/**
 * Before the content.
 * @since 0.1
 */
function hybrid_before_content() {
	do_action( 'hybrid_before_content' );
}

/**
 * After the content.
 * @since 0.1
 */
function hybrid_after_content() {
	do_action( 'hybrid_after_content' );
}

/**
 * Before each entry.
 * @since 0.5
 */
function hybrid_before_entry() {
	do_action( 'hybrid_before_entry' );
}

/**
 * After each entry.
 * @since 0.5
 */
function hybrid_after_entry() {
	do_action( 'hybrid_after_entry' );
}

/**
 * After single posts but before the comments template.
 * @since 0.2
 */
function hybrid_after_single() {
	do_action( 'hybrid_after_single' );
}

/**
 * After page content but before the comments template.
 * @since 0.2
 */
function hybrid_after_page() {
	do_action( 'hybrid_after_page' );
}

/**
 * Before the primary widget area content.  Only called if Primary is active.
 * @since 0.1
 */
function hybrid_before_primary() {
	do_action( 'hybrid_before_primary' );
}

/**
 * After the primary widget area content.  Only called if Primary is active.
 * @since 0.1
 */
function hybrid_after_primary() {
	do_action( 'hybrid_after_primary' );
}

/**
 * Before the secondary widget area.  Only called if Secondary is active.
 * @since 0.2
 */
function hybrid_before_secondary() {
	do_action( 'hybrid_before_secondary' );
}

/**
 * After the secondary widget area.  Only called if Secondary is active.
 * @since 0.2
 */
function hybrid_after_secondary() {
	do_action( 'hybrid_after_secondary' );
}

/**
 * Before the subsidiary widget area.  Only called if Subsidiary is active.
 * @since 0.3.1
 */
function hybrid_before_subsidiary() {
	do_action( 'hybrid_before_subsidiary' );
}

/**
 * After the subsidiary widget area.  Only called if Subsidiary is active.
 * @since 0.3.1
 */
function hybrid_after_subsidiary() {
	do_action( 'hybrid_after_subsidiary' );
}

/**
 * After the container area.
 * @since 0.1
 */
function hybrid_after_container() {
	do_action( 'hybrid_after_container' );
}

/**
 * Before the footer.
 * @since 0.1
 */
function hybrid_before_footer() {
	do_action( 'hybrid_before_footer' );
}

/**
 * The footer.
 * @since 0.1
 */
function hybrid_footer() {
	do_action( 'hybrid_footer' );
}

/**
 * After the footer.
 * @since 0.1
 */
function hybrid_after_footer() {
	do_action( 'hybrid_after_footer' );
}

/**
 * Fires before each comment's information.
 * @since 0.5
 */
function hybrid_before_comment() {
	do_action( 'hybrid_before_comment' );
}

/**
 * Fires after each comment's information.
 * @since 0.5
 */
function hybrid_after_comment() {
	do_action( 'hybrid_after_comment' );
}

/**
 * Fires before the comment list.
 * @since 0.6
 */
function hybrid_before_comment_list() {
	do_action( 'hybrid_before_comment_list' );
}

/**
 * Fires after the comment list.
 * @since 0.6
 */
function hybrid_after_comment_list() {
	do_action( 'hybrid_after_comment_list' );
}

/**
 * Fires before the ping list if comments/pings are separated.
 * @since 0.6
 */
function hybrid_before_ping_list() {
	do_action( 'hybrid_before_ping_list' );
}

/**
 * Fires after the ping list if comments/pings are separated.
 * @since 0.6
 */
function hybrid_after_ping_list() {
	do_action( 'hybrid_after_ping_list' );
}

/**
 * Fires before the comment form.
 * @since 0.6
 */
function hybrid_before_comment_form() {
	do_action( 'hybrid_before_comment_form' );
}

/**
 * Fires after the comment form.
 * @since 0.6
 */
function hybrid_after_comment_form() {
	do_action( 'hybrid_after_comment_form' );
}

/**
 * Added after all other files are loaded in theme settings admin.
 * Allows the addition of additional "modules" from child themes.
 * Use this to add extra features to the theme settings page.
 *
 * @deprecated 0.5 In favor of child themes having their own settings page.
 * @since 0.2.1
 */
function hybrid_child_settings() {
	do_action( 'hybrid_child_settings' );
}

?>