<?php
/**
 * rad functions and definitions
 *
 * @package rad
 */
 
/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */
if ( ! isset( $content_width ) ) $content_width = 640;


if ( ! function_exists( 'rad_setup' ) ) :
/**
 * Sets up theme defaults and registers support for various WordPress features.
 *
 * Note that this function is hooked into the after_setup_theme hook, which
 * runs before the init hook. The init hook is too late for some features, such
 * as indicating support for post thumbnails.
 */
function rad_setup() {

	// Add default posts and comments RSS feed links to head.
	add_theme_support( 'automatic-feed-links' );

	/*
	 * Let WordPress manage the document title.
	 * By adding theme support, we declare that this theme does not use a
	 * hard-coded <title> tag in the document head, and expect WordPress to
	 * provide it for us.
	 */
	add_theme_support( 'title-tag' );

	/*
	 * Enable support for Post Thumbnails on posts and pages.
	 *
	 * @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails
	 */
	//add_theme_support( 'post-thumbnails' );

	// This theme uses wp_nav_menu() in one location.
	register_nav_menus( array(
		'primary' => esc_html__( 'Primary Menu', 'rad' ),
	) );

	/*
	 * Switch default core markup for search form, comment form, and comments
	 * to output valid HTML5.
	 */
	add_theme_support( 'html5', array(
		'search-form', 'comment-form', 'comment-list', 'gallery', 'caption',
	) );

	/*
	 * Enable support for Post Formats.
	 * See http://codex.wordpress.org/Post_Formats
	 */
	add_theme_support( 'post-formats', array(
		'aside', 'image', 'video', 'quote', 'link',
	) );

	// Set up the WordPress core custom background feature.
	add_theme_support( 'custom-background', apply_filters( 'rad_custom_background_args', array(
		'default-color' => 'ffffff',
		'default-image' => '',
	) ) );
	
	add_theme_support( 'custom-header' );
	
	add_theme_support('custom-logo');
	
	// Declare Support for Post-Thumbnails
	add_theme_support('post-thumbnails');
	add_image_size('rad-fp', 600, 450, true);
	add_image_size('rad-home-thumb', 600, 300, true);
}
endif; // rad_setup
add_action( 'after_setup_theme', 'rad_setup' );


function rad_get_image_id($image_url) {
	global $wpdb;
		$attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url )); 
    return $attachment[0]; 
}

/**
 * Register widget area.
 *
 * @link http://codex.wordpress.org/Function_Reference/register_sidebar
 */
function rad_widgets_init() {
	register_sidebar( array(
		'name'          => esc_html__( 'Sidebar', 'rad' ),
		'id'            => 'sidebar-1',
		'description'   => '',
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h1 class="widget-title">',
		'after_title'   => '</h1>',
	) );
	
	register_sidebar( array(
		'name'          => __( 'Footer Widget 1', 'rad' ),
		'id'            => 'sidebar-2',
		'description'   => __('The left-most widget column in the footer','rad'),
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h1 class="widget-title"><span>',
		'after_title'   => '</span></h1>',
	) );
	
	register_sidebar( array(
		'name'          => __( 'Footer Widget 2', 'rad' ),
		'id'            => 'sidebar-3',
		'description'   => __('The second widget column in the footer','rad'),
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h1 class="widget-title"><span>',
		'after_title'   => '</span></h1>',
	) );
	
	register_sidebar( array(
		'name'          => __( 'Footer Widget 3', 'rad' ),
		'id'            => 'sidebar-4',
		'description'   => __('The third widget column in the footer','rad'),
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h1 class="widget-title"><span>',
		'after_title'   => '</span></h1>',
	) );
	
	register_sidebar( array(
		'name'          => __( 'Footer Widget 4', 'rad' ),
		'id'            => 'sidebar-5',
		'description'   => __('The last widget column in the footer','rad'),
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h1 class="widget-title"><span>',
		'after_title'   => '</span></h1>',
	) );
}
add_action( 'widgets_init', 'rad_widgets_init' );

/**
 * Enqueue scripts and styles.
 */
function rad_scripts() {
	wp_enqueue_style( 'style', get_stylesheet_uri() );
	
	wp_enqueue_style('bootstrap-style',get_template_directory_uri()."/assets/bootstrap/css/bootstrap.css", array('style'));
	
	wp_enqueue_style('rad-main-skin',get_template_directory_uri()."/assets/css/main.css", array('bootstrap-style'));
	
	wp_enqueue_style('font-awesome', get_template_directory_uri()."/assets/font-awesome/css/font-awesome.min.css", array('rad-main-skin'));


	wp_enqueue_script( 'rad-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );

	wp_enqueue_script( 'skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true );
	
	wp_enqueue_script("jquery");
	
	wp_enqueue_script('nav-js', get_template_directory_uri()."/js/jquery.slicknav.min.js", array('jquery'));
	
	wp_enqueue_script('rad-custom-js', get_template_directory_uri()."/js/custom.js", array('jquery'), null, true);

	if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
		wp_enqueue_script( 'comment-reply' );
	}
}

add_action( 'wp_enqueue_scripts', 'rad_scripts' );

function rad_fonts_url() {
    $fonts_url = '';
    
    $phil = _x('on', 'Philosopher font: on or off', 'rad');
    
    $muli = _x('on', 'Muli font: on or off', 'rad');

	if ( 'off' !== $phil || 'off' !== $muli) {
	    $font_families = array();
	
	    if ('off' !== $phil ) {
		    $font_families[] = 'Philosopher:400,700';
	    }
	    
	    if ('off' !== $muli ) {
		    $font_families[] = 'Muli:300,400';
	    }
	    
		$query_args = array(
		    'family' => urlencode( implode( '|', $font_families ) ),
		    'subset' => urlencode( 'latin,latin-ext' ),
		);
	}
	
	$fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' );
 
    return $fonts_url;
}

function rad_scripts_styles() {
    wp_enqueue_style( 'rad-fonts', rad_fonts_url(), array(), null );
}
add_action( 'wp_enqueue_scripts', 'rad_scripts_styles' );


function rad_excerpt_max_charlength($charlength) {
	$excerpt = get_the_excerpt();
	$charlength++;

	if ( mb_strlen( $excerpt ) > $charlength ) {
		$subex = mb_substr( $excerpt, 0, $charlength - 5 );
		$exwords = explode( ' ', $subex );
		$excut = - ( mb_strlen( $exwords[ count( $exwords ) - 1 ] ) );
		if ( $excut < 0 ) {
			echo esc_html( mb_substr( $subex, 0, $excut ) );
		} else {
			echo esc_html($subex, 'rad');
		}
		echo '...';
	} else {
		echo esc_html($excerpt, 'rad');
	}
}

function rad_comment($comment, $args, $depth) {
	$GLOBALS['comment'] = $comment;
	extract($args, EXTR_SKIP);

	if ( 'div' == $args['style'] ) {
		$tag = 'div';
		$add_below = 'comment';
	} else {
		$tag = 'li';
		$add_below = 'div-comment';
	}
?>
	<<?php echo $tag ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
	<?php if ( 'div' != $args['style'] ) : ?>
	<div id="div-comment-<?php comment_ID() ?>" class="comment-body">
	<?php endif; ?>
	<div class="comment-author vcard">
	<?php if ( $args['avatar_size'] != 0 ) echo get_avatar( $comment, $args['avatar_size'] ); ?>
	<?php printf( __( '<cite class="fn">%s</cite>', 'rad' ), get_comment_author_link() ); ?>
	</div>
	<?php if ( $comment->comment_approved == '0' ) : ?>
		<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.','rad' ); ?></em>
		<br />
	<?php endif; ?>

	<div class="comment-meta commentmetadata"><a href="<?php echo esc_html( get_comment_link( $comment->comment_ID ) ); ?>">
		<?php
			/* translators: 1: date, 2: time */
			printf( __('%1$s','rad'), get_comment_date() ); ?></a><?php edit_comment_link( __( '(Edit)','rad' ), '  ', '' );
		?>
	</div>

	<?php comment_text(); ?>

	<div class="reply">
	<?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
	</div>
	<?php if ( 'div' != $args['style'] ) : ?>
	</div>
	<?php endif; ?>
<?php
}

function rad_custom_css() {

	$desc	= esc_attr( get_theme_mod('rad-desc', '#ffffff') );
	$tcolor = esc_attr( get_theme_mod('rad-title', '#86d9bf') );
	
		$css1	= ".site-branding .site-title a, .site-branding-top a {
				   		color: $tcolor;
				   }
				   .site-description {
				   		color: $desc;
				   }
				   ";
	if ( esc_url( get_theme_mod('rad-mpbg') ) != '' ) { 
	
				$bg 	= esc_url( get_theme_mod('rad-mpbg') );
				$css2 	= "#most-popular{
								background: url($bg);
							}";
	}
	else 
	{
		$css2 = '';
	}
	
	if ( get_theme_mod('rad-sidebar') == 'left' ) {
		$css3	= "#primary {
						float: right;
					}	
				  ";
	}
	else {
		$css3	= '';
	}
	
	if ( has_header_image() ) {
		$css4	=	".site-header {
						height: 600px;
					}
					#search-wrapper{
						background: linear-gradient(-90deg, rgba(0,0,0,0), rgba(0,0,0,.5));
						background: -webkit-linear-gradient(-90deg, rgba(0,0,0,0), rgba(0,0,0,.5));
						background: -moz-linear-gradient(-90deg, rgba(0,0,0,0), rgba(0,0,0,.5));
						background: -o-linear-gradient(-90deg, rgba(0,0,0,0), rgba(0,0,0,.5));
					}";
	}
	else {
		$css4	=	".site-header {
						height: 300px;
					}";
	}
	
	if ( get_theme_mod( 'rad-hide-header-text', false ) ) {
		$css5	=  ".site-branding {
						display: none;
					}";
	} else {
		$css5	= "";	
	}
	
	$css6		=	get_theme_mod('rad-custom-css');
	
	// Home Page layout
	if ( get_theme_mod( 'rad-home-layout') == 'alt' ) :
		$css7	=	'@media screen and ( min-width: 767px) {
						.blog #primary article:nth-child(even) .featured-image {
							float: right;
							border-radius: 0px 10px 10px 0px;
						}
						.blog #primary article:nth-child(even) .entry-content {
							text-align: right;
						}
						.blog #primary article:nth-child(odd) .entry-content {
							text-align: left;
						}
					';
	else :
		$css7	=	'';
	endif;
	
	wp_add_inline_style( 'rad-main-skin', $css1 . $css2 . $css3 . $css4 . $css5 . $css6 . $css7 );
}

add_action('wp_enqueue_scripts','rad_custom_css');



function rad_customize_preview() {
	?>
    <script type="text/javascript">
        ( function( jQuery ) {
            wp.customize('rad-title',function( value ) {
                value.bind(function(to) {
                    jQuery('.site-branding .site-title a').css('color', to );
                });
            });
            
            wp.customize('rad-desc',function( value ) {
                value.bind(function(to) {
                    jQuery('.site-branding .site-description').css('color', to );
                });
            });
        } )( jQuery )
    </script>
    <?php
}



/**
 * Custom Scripts for the theme.
 */
 
function rad_effects() {

	$custom_js	=	array(
		'social'	=> get_theme_mod( 'social' ),
		'head_hover'=> get_theme_mod( 'rad-head-hover' ),
	);
	
	wp_localize_script('rad-custom-js', 'js_param', $custom_js);
}

add_action('wp_head','rad_effects'); 



/**
 * Enqueue the stylesheet.
 */
function rad_customizer_stylesheet() {

    wp_register_style( 'rad-customizer-css', get_template_directory_uri() . '/assets/css/customizer.css', NULL, NULL, 'all' );
    wp_enqueue_style( 'rad-customizer-css' );

}
add_action( 'customize_controls_print_styles', 'rad_customizer_stylesheet' );

/**
 * Implement the Custom Header feature.
 */
 
require get_template_directory() . '/inc/custom-header.php';

/**
 * Custom template tags for this theme.
 */
require get_template_directory() . '/inc/template-tags.php';

/**
 * Custom functions that act independently of the theme templates.
 */
require get_template_directory() . '/inc/extras.php';

/**
 * Customizer additions.
 */
require get_template_directory() . '/inc/customizer.php';

/**
 * Load Jetpack compatibility file.
 */
require get_template_directory() . '/inc/jetpack.php';
