<?php
/**
 * CSS related hooks.
 *
 * This file contains hook functions which are related to CSS.
 *
 * @package Corpo_Eye
 */

if ( ! function_exists( 'corpo_eye_trigger_custom_css_action' ) ) :

	/**
	 * Do action theme custom CSS.
	 *
	 * @since 1.0.0
	 */
	function corpo_eye_trigger_custom_css_action() {

		/**
		 * Hook - corpo_eye_action_theme_custom_css.
		 */
		do_action( 'corpo_eye_action_theme_custom_css' );

	}

endif;

add_action( 'wp_head', 'corpo_eye_trigger_custom_css_action', 99 );

if ( ! function_exists( 'corpo_eye_add_theme_custom_font_css' ) ) :

	/**
	 * Add theme custom font CSS.
	 *
	 * @since 1.0.0
	 */
	function corpo_eye_add_theme_custom_font_css() {

		$custom_css = '';

		$font_settings = corpo_eye_get_font_family_theme_settings_options();

		$required_fonts = array();

		if ( ! empty( $font_settings ) ) {
			foreach ( $font_settings as $key => $val ) {
				$option_value = corpo_eye_get_option( $key );
				if ( ! empty( $option_value ) && $val['default'] !== $option_value ) {
					$required_fonts[ $key ] = $option_value;
				}
			}
		}
		if ( empty( $required_fonts ) ) {
			// We do not need extra CSS.
			return;
		}

		foreach ( $required_fonts as $key => $font ) {

			$family = corpo_eye_get_font_family_from_key( $font );

			if ( ! empty( $family ) ) {

				switch ( $key ) {
					case 'font_site_default':
						$custom_css .= 'body{font-family:' . $family . '}' . "\n";
					break;

					case 'font_site_title':
						$custom_css .= '.site-title{font-family:' . $family . '}' . "\n";
					break;

					case 'font_site_tagline':
						$custom_css .= '.site-description{font-family:' . $family . '}' . "\n";
					break;

					case 'font_heading_tags':
						$custom_css .= 'h1,h2,h3,h4,h5,h6{font-family:' . $family . '}' . "\n";
					break;

					case 'font_content_title':
						$custom_css .= '.entry-header .entry-title{font-family:' . $family . '}' . "\n";
					break;

					case 'font_content_body':
						$custom_css .= '#content{font-family:' . $family . '}' . "\n";
					break;

					case 'font_navigation':
						$custom_css .= '#site-navigation ul li a{font-family:' . $family . '}' . "\n";
					break;

					default:
					break;
				}
			}
		}

		// Render style.
		if ( ! empty( $custom_css ) ) {
			echo '<style type="text/css">';
			echo $custom_css;
			echo '</style>';
		}

	}

endif;

add_action( 'corpo_eye_action_theme_custom_css', 'corpo_eye_add_theme_custom_font_css' );


if ( ! function_exists( 'corpo_eye_add_theme_custom_color_css' ) ) :

	/**
	 * Add theme custom color CSS.
	 *
	 * @since 1.0.0
	 */
	function corpo_eye_add_theme_custom_color_css() {

		$custom_css = '';

		$color_settings = corpo_eye_get_color_theme_settings_options();

		$default = corpo_eye_get_default_colors();

		$required_colors = array();

		if ( ! empty( $color_settings ) ) {
		  foreach ($color_settings as $key => $val ) {
		    $option_value = corpo_eye_get_option( $key );
		    if ( ! empty( $option_value ) && $default[$key] != $option_value ) {
		      $required_colors[ $key ] = $option_value;
		    }
		  }
		}
		if ( empty( $required_colors ) ) {
		  // We do not need extra CSS.
		  return;
		}

		foreach ( $required_colors as $key => $color ) {

			switch ( $key ) {

				// Basic.
				case 'color_basic_text':
				  $custom_css .= 'body{color:' . $color . '}' . "\n";
				  break;
				case 'color_basic_link':
				  $custom_css .= 'a,a:visited{color:' . $color . '}' . "\n";
				  $custom_css .= '#mobile-trigger i{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_basic_link_hover':
				  $custom_css .= 'a:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_basic_heading':
				  $custom_css .= 'h1,h2,h3,h4,h5,h6{color:' . $color . '}' . "\n";
				  break;

				case 'color_basic_button_text':
 				$custom_css .= '#sidebar-front-page-widget-area a.button,#infinite-handle span,.search-box > a,a.button,.search-form .search-submit,.comment-reply-link,a.cta-button-primary,button, input[type="button"], input[type="reset"], input[type="submit"],#infinite-handle span button, #infinite-handle span button,.custom-button, .custom-button:visited,.call-to-action-buttons .custom-button.btn-call-to-secondary:hover, a.custom-button.slider-button.button-secondary:hover{color:' . $color . '}' . "\n";
				 break;

				case 'color_basic_button_text_hover':
				$custom_css .= '#sidebar-front-page-widget-area a.button:hover,#infinite-handle span:hover.search-box > a:hover,a.button:hover,.search-form .search-submit:hover,a.cta-button-primary:hover,.comment-reply-link:hover,button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, #infinite-handle span button:hover,.custom-button:hover,.call-to-action-buttons .custom-button.btn-call-to-secondary, a.custom-button.slider-button.button-secondary{color:' . $color . '}' . "\n";
				  break;

				case 'color_basic_button_background':
				$custom_css .= '#sidebar-front-page-widget-area a.button,a.cta-button-primary,.comment-reply-link,button, input[type="button"], input[type="reset"], input[type="submit"],#infinite-handle span button,.custom-button, .custom-button:visited,.call-to-action-buttons .custom-button.btn-call-to-secondary:hover, a.custom-button.slider-button.button-secondary:hover{background-color:' . $color . '}' . "\n";
				  break;

				case 'color_basic_button_background_hover':
				$custom_css .= '#sidebar-front-page-widget-area a.button:hover,#infinite-handle span:hover,.search-box > a:hover,a.button:hover,a.links-btn:hover::after,.search-form .search-submit:hover,a.cta-button-primary:hover,a.comment-reply-link:hover,.comment-reply-link:hover,button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover,#infinite-handle span button,.custom-button:hover,.call-to-action-buttons .custom-button.btn-call-to-secondary, a.custom-button.slider-button.button-secondary{background-color:' . $color . '}' . "\n";
				  break;

				// Header.
				case 'color_header_background':
				  $custom_css .= '#masthead {background-color:' . $color . '}' . "\n";
				  break;
				case 'color_header_title':
				  $custom_css .= '#site-identity .site-title > a{color:' . $color . '}' . "\n";
		        break;
				case 'color_header_title_hover':
				  $custom_css .= '#site-identity .site-title > a:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_header_tagline':
				  $custom_css .= '.site-description,.home.header-overlap-on .site-header .site-description{color:' . $color . '}' . "\n";
				  break;

			   // Primary Menu.
				case 'color_primary_menu_link':
				  $custom_css .= '#main-nav ul li a,.dropdown-toggle::after,.header-search-box > a, .home.header-overlap-on .site-header .header-search-box > a{color:' . $color . '}' . "\n";
				  break;
				case 'color_primary_menu_link_hover':
				  $custom_css .= '#main-nav ul li a:hover,#main-nav li.current-menu-item > a,
				  #main-nav li.current_page_item > a,#main-nav ul li:hover > a,.header-search-box > a:hover,.home.header-overlap-on .site-header .header-search-box > a:hover{color:' . $color . '}' . "\n";
				  $custom_css .= '.main-navigation li > a:hover, .main-navigation li.current-menu-item > a, .main-navigation li.current_page_item > a, .main-navigation li:hover > a{border-color:' . $color . '}' . "\n";
				  
				  break;
				case 'color_primary_submenu_background':
				    $custom_css .= '.main-navigation ul ul{background-color:' . $color . '}' . "\n";
				    break;
				case 'color_primary_submenu_background_hover':
				    $custom_css .= '#main-nav ul li li:hover > a{background-color:' . $color . '}' . "\n";
				    break;
				// Page Header.
				case 'color_page_header_background':
				  $custom_css .= '.header-content{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_page_header_title':
				  $custom_css .= '.header-content .page-title{color:' . $color . '}' . "\n";
				  break;
				case 'color_page_header_link':
				  $custom_css .= '#breadcrumb a{color:' . $color . '}' . "\n";
				  break;
				case 'color_page_header_link_hover':
				  $custom_css .= '#breadcrumb a:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_page_header_text':
				  $custom_css .= '.header-content,#breadcrumb{color:' . $color . '}' . "\n";
				  break;
				// Slider.
				case 'color_slider_overlay':
				  $custom_css .= '#featured-slider .overlay-enabled .cycle-slide::after,#custom-header::after,#featured-slider .overlay-disabled .cycle-caption::after{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_caption_text':
				  $custom_css .= '#main-slider p{color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_caption_link':
				  $custom_css .= '#main-slider h3 a{color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_caption_link_hover':
				  $custom_css .= '#main-slider  h3 a:hover{color:' . $color . '}' . "\n";
				  $custom_css .= '#main-slider h3::after{background-color:' . $color . '}' . "\n";

				  break;
				case 'color_slider_icon':
				  $custom_css .= '#main-slider .cycle-prev, #main-slider .cycle-next{color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_icon_hover':
				  $custom_css .= '#main-slider .cycle-prev:hover, #main-slider .cycle-next:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_icon_background':
				  $custom_css .= '#main-slider .cycle-prev, #main-slider .cycle-next{background-color:' . $color . '}' . "\n";

				  break;
				case 'color_slider_icon_background_hover':
				  $custom_css .= '#main-slider .cycle-prev:hover, #main-slider .cycle-next:hover{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_pager':
				  $custom_css .= '#main-slider .pager-box{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_pager_active':
				  $custom_css .= '#main-slider .pager-box:hover,#main-slider .pager-box.cycle-pager-active{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_button':
				  $custom_css .= '#main-slider .slider-buttons a,
				  #main-slider a.custom-button.slider-button.button-secondary:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_button_hover':
				  $custom_css .= '#main-slider .slider-buttons a:hover,#main-slider a.custom-button.slider-button.button-secondary{color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_button_background':
				  $custom_css .= '#main-slider .slider-buttons a, #main-slider a.custom-button.slider-button.button-secondary:hover{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_slider_button_background_hover':
				  $custom_css .= '#main-slider .slider-buttons a:hover,#main-slider a.custom-button.slider-button.button-secondary{background-color:' . $color . '}' . "\n";


				  break;
				// Content.
				case 'color_content_background':
				  $custom_css .= '#content{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_content_title':
				  $custom_css .= '#content .entry-title{color:' . $color . '}' . "\n";
				  break;
				case 'color_content_text':
				  $custom_css .= '#content {color:' . $color . '}' . "\n";
				  break;
				case 'color_content_link':
				  $custom_css .= '#content a{color:' . $color . '}' . "\n";
				  break;
				case 'color_content_link_hover':
				  $custom_css .= '#content  a:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_content_meta_link':
				  $custom_css .= '#content .entry-meta > span a,#content .entry-footer > span a{color:' . $color . '}' . "\n";
				  break;
				case 'color_content_meta_link_hover':
				  $custom_css .= '#content .entry-meta > span a:hover,#content  .entry-footer > span a:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_content_meta_icon':
				  $custom_css .= '#content .entry-meta > span::before,#content  .entry-footer > span::before{color:' . $color . '}' . "\n";
				  break;

				// Sidebar.
				case 'color_sidebar_title':
				  $custom_css .= '.sidebar .widget-title,.widget_calendar caption{color:' . $color . '}' . "\n";
				  break;
				case 'color_sidebar_title_background':
				  $custom_css .= '.sidebar .widget-title,.widget_calendar caption{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_sidebar_text':
				  $custom_css .= '.sidebar{color:' . $color . '}' . "\n";
				  break;
				case 'color_sidebar_link':
				  $custom_css .= '.sidebar .widget a{color:' . $color . '}' . "\n";

				  break;
				case 'color_sidebar_link_hover':
				  $custom_css .= '.sidebar .widget a:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_sidebar_list_icon':
				  $custom_css .= '.sidebar ul li::before{background-color:' . $color . '}' . "\n";
				  break;


				// Footer contact.
				case 'color_footer_contact_background':
				  $custom_css .= '#footer-contact-section{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_contact_overlay':
				  $custom_css .= '#footer-contact-section.footer-contact-overlay-enabled::before{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_contact_icon':
				  $custom_css .= '#footer-contact-section .quick-contact .quick-contact-item i{color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_contact_icon_background':
				  $custom_css .= '#footer-contact-section .quick-contact .quick-contact-item i{background-color:' . $color . '}' . "\n";
				  break;
				  
				case 'color_footer_contact_block_background':
				  $custom_css .= '#footer-contact-section .quick-contact-wrapper{background-color:' . $color . '}' . "\n";
				  break;    
				case 'color_footer_contact_text':
				  $custom_css .= '#footer-contact-section .quick-contact-wrapper ,.quick-contact-item h4{color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_contact_link':
				  $custom_css .= '#footer-contact-section .quick-contact a{color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_contact_link_hover':
				  $custom_css .= '#footer-contact-section .quick-contact a:hover{color:' . $color . '}' . "\n";
				  break;

				// Footer area.
				case 'color_footer_area_background':
				  $custom_css .= '#colophon{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_area_text':
				  $custom_css .= '#colophon{color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_area_link':
				  $custom_css .= '#colophon a{color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_area_link_hover':
				  $custom_css .= '#colophon a:hover{color:' . $color . '}' . "\n";
				  break;

				// Go To Top.
			    case 'color_goto_top_icon':
				  $custom_css .= '#btn-scrollup i.fa{color:' . $color . '}' . "\n";
				  break;
				case 'color_goto_top_icon_hover':
				  $custom_css .= '#btn-scrollup i.fa:hover{color:' . $color . '}' . "\n";
				  break;
				case 'color_goto_top_background':
				  $custom_css .= '#btn-scrollup{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_goto_top_background_hover':
				  $custom_css .= '#btn-scrollup:hover{background-color:' . $color . '}' . "\n";
				  break;


				// Pagination.
				case 'color_pagination_link':
				  $custom_css .= '.navigation.pagination .nav-links .page-numbers,
					.navigation.pagination .nav-links a.page-numbers,.post-navigation a, .posts-navigation a{color:' . $color . '}' . "\n";
				  break;
				case 'color_pagination_link_hover':
				  $custom_css .= '.navigation.pagination .nav-links .page-numbers.current,
					.navigation.pagination .nav-links a.page-numbers:hover,.post-navigation a:hover, .posts-navigation a:hover {color:' . $color . '}' . "\n";
				  break;
				case 'color_pagination_link_background':
				  $custom_css .= '.navigation.pagination .nav-links .page-numbers,
					.navigation.pagination .nav-links a.page-numbers,.post-navigation a, .posts-navigation a{background-color:' . $color . '}' . "\n";
					$custom_css .= '.post-navigation a, .posts-navigation a{border-color:' . $color . '}' . "\n";
				  break;
				case 'color_pagination_link_background_hover':
				  $custom_css .= '.navigation.pagination .nav-links .page-numbers.current,
					.navigation.pagination .nav-links a.page-numbers:hover,.post-navigation a:hover, .posts-navigation a:hover {background-color:' . $color . '}' . "\n";
					$custom_css .= '.post-navigation a:hover, .posts-navigation a:hover{border-color:' . $color . '}' . "\n";
				  break;



				// Footer Widgets.
				case 'color_footer_widgets_background':
				  $custom_css .= '#footer-widgets{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_widgets_title':
				  $custom_css .= '#footer-widgets .widget-title{color:' . $color . '}' . "\n";
				  $custom_css .= '#footer-widgets .separator{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_widgets_separator':
				  $custom_css .= '#footer-widgets ul li::before,#footer-widgets .widget-title::after{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_widgets_text':
				  $custom_css .= '#footer-widgets {color:' . $color . '}' . "\n";
				  break;
				case 'color_footer_widgets_link':
				  $custom_css .= '#footer-widgets a{color:' . $color . '}' . "\n";
				  $custom_css .= '#footer-widgets h3.widget-title::after{background-color:' . $color . '}' . "\n";
			      $custom_css .= '#footer-widgets  break;{border-color:' . $color . '}' . "\n";
				break;

				case 'color_footer_widgets_link_hover':
				  $custom_css .= '#footer-widgets a:hover{color:' . $color . '}' . "\n";
				  break;

				// Home Page Widgets.
				case 'color_home_widgets_background':
				  $custom_css .= '#sidebar-front-page-widget-area{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_home_widgets_alternate_background':
				  $custom_css .= '#sidebar-front-page-widget-area .corpo_eye_widget_latest_news,#sidebar-front-page-widget-area .corpo_eye_widget_featured_pages_grid,#sidebar-front-page-widget-area .corpo_eye_widget_featured_page{background-color:' . $color . '}' . "\n";
				  break;  
				case 'color_home_widgets_title':
				  $custom_css .= '#sidebar-front-page-widget-area .widget-title{color:' . $color . '}' . "\n";
				   $custom_css .= '#sidebar-front-page-widget-area .separator{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_home_widgets_subtitle':
				  $custom_css .= '#sidebar-front-page-widget-area .widget-subtitle{color:' . $color . '}' . "\n";
				  break;
				case 'color_home_widgets_separator':
				  $custom_css .= '#sidebar-front-page-widget-area .widget-title::after{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_home_widgets_text':
				  $custom_css .= '#sidebar-front-page-widget-area,#sidebar-front-page-widget-area p{color:' . $color . '}' . "\n";
				  break;
				case 'color_home_widgets_link':
				  $custom_css .= '#sidebar-front-page-widget-area a{color:' . $color . '}' . "\n";
				  $custom_css .= '#sidebar-front-page-widget-area .corpo_eye_widget_services .service-block-item a.service-icon:hover,#sidebar-front-page-widget-area .corpo_eye_widget_call_to_action,#sidebar-front-page-widget-area .corpo_eye_widget_featured_page,.corpo_eye_widget_latest_news .latest-news-meta{background-color:' . $color . '}' . "\n";

				   $custom_css .= '#sidebar-front-page-widget-area .corpo_eye_widget_call_to_action{background-color:' . $color . '}' . "\n";
				  break;
				case 'color_home_widgets_link_hover':
				  $custom_css .= '#sidebar-front-page-widget-area a:hover{color:' . $color . '}' . "\n";
				  $custom_css .= '#sidebar-front-page-widget-area  .corpo_eye_widget_teams  .team-item:hover img{border-color:' . $color . '}' . "\n";

				 
				  $custom_css .= '#sidebar-front-page-widget-area .corpo_eye_widget_services .service-block-item a.service-icon{background-color:' . $color . '}' . "\n";
				  break;


			  default:
			    break;

			}

		}

		// Render style.
		if ( ! empty( $custom_css ) ) {
		  echo '<style type="text/css">';
		  echo $custom_css;
		  echo '</style>';
		}

	}

endif;

add_action( 'corpo_eye_action_theme_custom_css', 'corpo_eye_add_theme_custom_color_css', 25 );
