<?php
/**
 *
 * WARNING: Please do not edit this file.
 * @see http://codex.wordpress.org/Child_Themes
 *
 * Load the theme function files (options panel, theme functions, widgets, etc...).
 */

include_once get_template_directory() . '/includes/ModernBusiness.php'; // ModernBusiness Class (main functionality, actions/filters)

include_once get_template_directory() . '/includes/class-tgm-plugin-activation.php'; // TGM Activation

include_once get_template_directory() . '/includes/theme-options.php'; // SDS Theme Options
include_once get_template_directory() . '/includes/theme-functions.php'; // SDS Theme Options Functions

include_once get_template_directory() . '/includes/widget-social-media.php'; // SDS Social Media Widget
include_once get_template_directory() . '/includes/widget-address.php'; // Modern Business Address Widget
include_once get_template_directory() . '/includes/widget-hero.php'; // Modern Business Hero Widget
include_once get_template_directory() . '/includes/widget-call-to-action.php'; // Modern Business Call to Action Widget


/**
 * ---------------
 * Theme Specifics
 * ---------------
 */

/**
 * Set the Content Width for embedded items.
 */
if ( ! isset( $content_width ) )
	$content_width = 780;

/**
 * This function registers all color schemes available in this theme.
 */
if ( ! function_exists( 'sds_color_schemes' ) ) {
	function sds_color_schemes() {
		$color_schemes = array(
			'default' => array( // Name used in saved option
				'label' => __( 'Red', 'modern-business' ), // Label on options panel (required)
				'stylesheet' => false, // Stylesheet URL, relative to theme directory (required)
				'preview' => '#dc291e', // Preview color on options panel (required)
				'default' => true
			),
			'gray' => array(
				'label' => __( 'Gray', 'modern-business' ),
				'stylesheet' => '/css/gray-black.css',
				'preview' => '#898989',
				'deps' => 'modern-business'
			)
		);

		return apply_filters( 'sds_theme_options_color_schemes', $color_schemes );
	}
}

/**
 * This function registers all web fonts available in this theme.
 */
if ( ! function_exists( 'sds_web_fonts' ) ) {
	function sds_web_fonts() {
		$web_fonts = array(
			// Average Sans
			'Lato:400' => array(
				'label' => 'Lato',
				'css' => 'font-family: \'Lato\', sans-serif;'
			)
		);

		return apply_filters( 'sds_theme_options_web_fonts', $web_fonts );
	}
}

/**
 * This function registers all content layouts available in this theme.
 */
if ( ! function_exists( 'sds_content_layouts' ) ) {
	function sds_content_layouts() {
		$content_layouts = array(
			'default' => array( // Name used in saved option
				'label' => __( 'Default', 'modern-business' ), // Label on options panel (required)
				'preview' => '<div class="cols cols-1 cols-default"><div class="col col-content" title="%1$s"><span class="label">%1$s</span></div></div>', // Preview on options panel (required; %1$s is replaced with values below on options panel if specified)
				'preview_values' => array( __( 'Default', 'modern-business' ) ),
				'default' => true
			),
			'cols-1' => array( // Full Width
				'label' => __( 'Full Width', 'modern-business' ),
				'preview' => '<div class="cols cols-1"><div class="col col-content"></div></div>',
			),
			'cols-2' => array( // Content Left, Primary Sidebar Right
				'label' => __( 'Content Left', 'modern-business' ),
				'preview' => '<div class="cols cols-2"><div class="col col-content"></div><div class="col col-sidebar"></div></div>'
			),
			'cols-2-r' => array( // Content Right, Primary Sidebar Left
				'label' => __( 'Content Right', 'modern-business' ),
				'preview' => '<div class="cols cols-2 cols-2-r"><div class="col col-sidebar"></div><div class="col col-content"></div></div>'
			),
			'cols-3' => array( // Content Left, Primary Sidebar Middle, Secondary Sidebar Right
				'label' => __( 'Content, Sidebar, Sidebar', 'modern-business' ),
				'preview' => '<div class="cols-3"><div class="col col-content"></div><div class="col col-sidebar"></div><div class="col col-sidebar col-sidebar-secondary"></div></div>'
			),
			'cols-3-m' => array( // Primary Sidebar Left, Content Middle, Secondary Sidebar Right
				'label' => __( 'Sidebar, Content, Sidebar', 'modern-business' ),
				'preview' => '<div class="cols cols-3 cols-3-m"><div class="col col-sidebar"></div><div class="col col-content"></div><div class="col col-sidebar col-sidebar-secondary"></div></div>'
			),
			'cols-3-r' => array( // Primary Sidebar Left, Secondary Sidebar Middle, Content Right
				'label' => __( 'Sidebar, Sidebar, Content', 'modern-business' ),
				'preview' => '<div class="cols cols-3 cols-3-r"><div class="col col-sidebar"></div><div class="col col-sidebar col-sidebar-secondary"></div><div class="col col-content"></div></div>'
			)
		);

		return apply_filters( 'sds_theme_options_content_layouts', $content_layouts );
	}
}

/**
 * This function sets a default featured image size for use in this theme.
 */
if ( ! function_exists( 'sds_theme_options_default_featured_image_size' ) ) {
	add_filter( 'sds_theme_options_default_featured_image_size', 'sds_theme_options_default_featured_image_size' );

	function sds_theme_options_default_featured_image_size( $default ) {
		return 'mb-780x300';
	}
}

/**
 * This function modifies the featured image size output based on content layout settings.
 */
if ( ! function_exists( 'sds_featured_image_size' ) ) {
	add_filter( 'sds_featured_image_size', 'sds_featured_image_size', 10, 2 );

	function sds_featured_image_size( $size, $link_image ) {
		global $sds_theme_options;

		// Content layout was specified by user in Theme Options
		if ( isset( $sds_theme_options['body_class'] ) && ! empty( $sds_theme_options['body_class'] ) ) {
			if ( $sds_theme_options['body_class'] === 'cols-1' )
				$size = 'mb-1200x475'; // Full width image
		}
		return $size;
	}
}

/**
 * This function modifies the global $content_width value based on content layout or page template settings.
 */
if ( ! function_exists( 'mb_body_class' ) ) {
	add_filter( 'body_class', 'mb_body_class', 20 );

	function mb_body_class( $classes ) {
		global $sds_theme_options, $content_width;

		// Content layout was specified by user in Theme Options
		if ( isset( $sds_theme_options['body_class'] ) && ! empty( $sds_theme_options['body_class'] ) ) {
			// 1 Column
			if ( $sds_theme_options['body_class'] === 'cols-1' )
				$content_width = 1200;
			// 3 Columns
			else if ( strpos( $sds_theme_options['body_class'], 'cols-3' ) !== false )
				$content_width = 600;
		}

		// Page Template was specified by the user for this page
		if ( ! empty( $sds_theme_options['page_template'] ) && $sds_theme_options['page_template'] !== 'default' ) {
			// Full Width or Landing Page
			if( in_array( $sds_theme_options['page_template'], array( 'page-full-width.php', 'page-landing-page.php' ) ) )
				$content_width = 1200;
		}

		return $classes;
	}
}

/**
 * This function adds the custom Theme Customizer styles to the <head> tag.
 */
if ( ! function_exists( 'mb_wp_head' ) ) {
	add_filter( 'wp_head', 'mb_wp_head', 20 );

	function mb_wp_head() {
		$sds_theme_options_instance = SDS_Theme_Options_Instance();
	?>
		<style type="text/css" id="<?php echo $sds_theme_options_instance->get_parent_theme()->get_template(); ?>-theme-customizer">
			/* Content Color */
			article.content, footer.post-footer, #post-author {
				color: <?php echo get_theme_mod( 'content_color' ); ?>;
			}
		</style>
	<?php
	}
}


if ( ! function_exists( 'sds_theme_options_ads' ) ) {
	add_action( 'sds_theme_options_ads', 'sds_theme_options_ads' );

	function sds_theme_options_ads() {
		?>
		<div class="sds-theme-options-ad">
			<a href="<?php echo esc_url( __( 'http://slocumthemes.com/wordpress-themes/modern-business-pro/', 'modern-business' ) ); ?>" target="_blank" class="sds-theme-options-upgrade-ad">
				<h3><?php _e( 'Upgrade to Modern Business Pro!', 'modern-business' ); ?></h3>
				<ul>
					<li><?php _e( 'Priority Ticketing Support', 'modern-business' ); ?></li>
					<li><?php _e( 'More Color Schemes', 'modern-business' ); ?></li>
					<li><?php _e( 'Web Fonts', 'modern-business' ); ?></li>
					<li><?php _e( 'Adjust Featured Image Sizes', 'modern-business' ); ?></li>
					<li><?php _e( 'Easily Add Custom Scripts/Styles', 'modern-business' ); ?></li>
					<li><?php _e( 'and More!', 'modern-business' ); ?></li>
				</ul>

				<span class="sds-theme-options-btn-green"><?php _e( 'Upgrade Now!', 'modern-business' ); ?></span>
			</a>
		</div>
	<?php
	}
}

if ( ! function_exists( 'sds_theme_options_upgrade_cta' ) ) {
	add_action( 'sds_theme_options_upgrade_cta', 'sds_theme_options_upgrade_cta' );

	function sds_theme_options_upgrade_cta( $type ) {
		switch( $type ) :
			case 'color-schemes':
				?>
				<p><?php printf( __( '<a href="%1$s">Upgrade to Modern Business Pro</a> and receive more color schemes!', 'modern-business' ), esc_url( 'http://slocumthemes.com/wordpress-themes/modern-business/' ) ); ?></p>
				<?php
				break;
			case 'web-fonts':
				?>
				<p><?php printf( __( '<a href="%1$s">Upgrade to Modern Business Pro</a> to use more web fonts!', 'modern-business' ), esc_url( 'http://slocumthemes.com/wordpress-themes/modern-business-pro/' ) ); ?></p>
				<?php
				break;
			case 'help-support':
				?>
				<p><?php printf( __( '<a href="%1$s">Upgrade to Modern Business Pro</a> to receive priority ticketing support!', 'modern-business' ), esc_url( 'http://slocumthemes.com/wordpress-themes/modern-business-pro/' ) ); ?></p>
				<?php
				break;
		endswitch;
	}
}

if ( ! function_exists( 'sds_theme_options_help_support_tab_content' ) ) {
	add_action( 'sds_theme_options_help_support_tab_content', 'sds_theme_options_help_support_tab_content' );

	function sds_theme_options_help_support_tab_content( ) {
		?>
		<p><?php printf( __( 'If you\'d like to create a support request, please visit the <a href="%1$s">Modern Business Forums on WordPress.org</a>.', 'modern-business' ), esc_url( 'http://wordpress.org/support/theme/modern-business/' ) ); ?></p>
	<?php
	}
}

if ( ! function_exists( 'sds_copyright_branding' ) ) {
	add_filter( 'sds_copyright_branding', 'sds_copyright_branding', 10, 2 );

	function sds_copyright_branding( $text, $theme_name ) {
		return sprintf( __( '<a href="%1$s">%2$s by Slocum Studio</a>', 'modern-business' ), esc_url( 'http://slocumthemes.com/wordpress-themes/modern-business/' ), $theme_name );
	}
}

/**
 * This function outputs mobile a navigation HTML structure combining both the top and primary menu items.
 */
if ( ! function_exists( 'mb_mobile_menu' ) ) {
	function mb_mobile_menu() {
		global $post, $sds_theme_options;

		$nav_menu_locations = get_nav_menu_locations();
		?>
		<ul id="mobile-menu" class="menu mobile-menu mobile-nav">
			<?php
			// Make sure we have nav menus and they aren't empty
			if ( $nav_menu_locations = array_filter( $nav_menu_locations ) ) :
				// Make sure the top menu is always above the primary menu
				array_multisort( $nav_menu_locations, SORT_DESC );

				foreach( $nav_menu_locations as $menu_location_key => $menu_location ) :
					$nav_menu_object = wp_get_nav_menu_object( $menu_location ); // Get current nav menu object
					?>
					<li class="menu-item menu-label <?php echo $menu_location_key . '_label'; ?>"><?php echo $nav_menu_object->name; ?></li>
					<?php
					$nav_menu_items = wp_get_nav_menu_items( $menu_location );

					// Loop through nav items
					if ( ! empty( $nav_menu_items ) ) :
						foreach( $nav_menu_items as $menu_item ) :
							if ( ! $menu_item->menu_item_parent ) : // Only parent elements
								?>
								<li class="menu-item <?php echo ( $menu_item->object_id == $post->ID ) ? 'current-menu-item current-nav-item current_page_item' : false; ?>"><a href="<?php echo $menu_item->url; ?>"><?php echo $menu_item->title; ?></a></li>
							<?php
							endif;
						endforeach;
					endif;
				endforeach;
			// Output primary nav "default/fallback" menu items if primary nav is not set
			else:
				?>
				<li class="menu-item menu-label primary_nav_label"><?php printf( __( '%1$s', 'modern-business' ), apply_filters( 'modern_business_primary_nav_fallback_label', 'Primary Menu:' ) ); ?></li>
				<?php
				wp_list_pages( array(
					'depth' => 1,
					'title_li' => false
				) );
			endif;
			?>
		</ul>
	<?php
	}
}