<?php 
/*Description Box*/
	if ( ! defined( 'ABSPATH' ) ) exit;
	
	function fruitful_init_shortcodes_style() {
		wp_enqueue_style( 'ffs-easyResponsiveTabs',	FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/js/tabs/easy-responsive-tabs.css');
		wp_enqueue_style( 'ffs-fontawesome',		FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/css/font-awesome.min.css');
		wp_enqueue_style( 'ffs-styles',  			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/css/ffs_styles.css');
		//if ( !fruitful_is_bootstrap_css_loaded() )
			//wp_enqueue_style( 'ffs-boostrap',			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/bootstrap/css/bootstrap.min.css');
	}
	
	function fruitful_init_shortcodes_script() {
		wp_enqueue_script('ffs-easyResponsiveTabs', FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/js/tabs/easyResponsiveTabs.js', array( 'jquery' ), '20142803', true );
		wp_enqueue_script('ffs-script', 			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/js/fss_script.js', array( 'jquery' ), '20142803', true );
		if ( !fruitful_is_bootstrap_js_loaded() )
			wp_enqueue_script('ffs-bootstrap',			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/bootstrap/js/bootstrap.min.js', array( 'jquery' ), '20142803', true );
	}
	
	add_action( 'wp_enqueue_scripts', 'fruitful_init_shortcodes_style',  99 );
	add_action( 'wp_enqueue_scripts', 'fruitful_init_shortcodes_script', 100 );	
	
	function fruitful_is_bootstrap_js_loaded() {
		global $wp_scripts;
		
		foreach( $wp_scripts->queue as $script ) :
			if ( preg_match('/\b(\w*bootstrap\w*)\b/', $script, $matches) ) return true;
		endforeach;
		
		return false;
	}
	
	function fruitful_is_bootstrap_css_loaded() {
		global $wp_styles;
		
		foreach( $wp_styles->queue as $style ) :
			if ( preg_match('/\b(\w*bootstrap\w*)\b/', $style, $matches) ) return true;
		endforeach;
		
		return false;
	}
	
function fruitful_description_box ($atts, $content = null) {
	$out = '';
	extract(shortcode_atts(array(
		  'id'		=> '',
		  'style' 	=> '',
		  'shadowtype'	=> ''
     ), $atts, 'fruitful_dbox'));
	
	$id = 'desc-box-' . rand( 1, 100 );
	
	if (wp_is_mobile()) {
		$style = ' font-size: 20px; text-transform : uppercase; text-align: center; font-weight: 300; line-height: 1.2;';
	} else {
		$style = ' font-size: 40px; text-transform : uppercase; text-align: center; font-weight: 300; line-height: 1.2;';
	}
	
	if (!empty($atts['id']))	{ $id 	 = sanitize_html_class($atts['id']); }
	if (!empty($atts['style']))	{ $style = esc_html($atts['style']); }
	if (!empty($atts['shadowtype'])){ $type = esc_html($atts['shadowtype']); }
	
	$out .= '<div class="fruitful_description_box">';   
		$out .= '<div class="fruitful_description ';
			if (!empty($atts['shadowtype'])){ $out .= 'shadow-'.$type; } else { $out .= 'shadow-type-1';}
		$out .= ' " id="'. $id .'">';
			$out .= '<span class="top_line"></span>';
				if (!empty($content)) { $out .=	'<div class="text" style="'. $style .'">' . $content . '</div>'; } else 
							  { $out .= '<div class="text" style="'. $style .'">No text Description</div>'; }		
			$out .= '<span class="bottom_line"></span>';
		$out .= '</div>';
	$out .= '</div>';	
	$out .= '<div class="clearfix"></div>';
	
    return $out;
}
add_shortcode ("fruitful_dbox", "fruitful_description_box");


function fruitful_ibox_row_shortcode ($atts, $content = null) {
	$out = ""; 
	extract(shortcode_atts(array(
		  'id'	=> '' 
    ), $atts, 'fruitful_ibox_row'));
	 
	$id = 'info-box-row-' . rand( 1, 100 );

	if (isset($atts['id'])) { $id = sanitize_html_class($atts['id']); }

	$out .= '<div class="info-box-row clearfix" id="'. $id .'">';
	$out .=	fruitful_sh_esc_content_pbr(do_shortcode($content));
	$out .= '</div>';
	$out .= '<div class="clearfix"></div>';

	return $out;
	 
}
add_shortcode('fruitful_ibox_row', 'fruitful_ibox_row_shortcode');

/*Add information box into content block*/
function fruitful_info_box ($atts, $content = null) {
	$image = $title = $column = $class = $styletext = $styletitle = $out = $link = '';
	$last =  false;
	extract(shortcode_atts(array(
		  'column'			=> '',
		  'title'	   		=> '', 
		  'class'	   		=> '', 
		  'link'			=> '#',
		  'image' 			=> '', 
		  'alt' 			=> '', 
		  'icon'			=> 'fa-check-square-o',
		  'icon_position'	=> 'center',
		  'styletext'	  	=> 'font-size:13px; ',
		  'styletitle'		=> 'font-size:20px; text-transform: uppercase; ',
		  'styleicon'		=> 'background-color:#000; color:#fff; border-radius:50%; ',
		  'last'			=> ''
     ), $atts));
	
	 $id = 'info-box-' . rand( 1, 100 );
	 
	 if (isset($column)) 		{ $column		= sanitize_html_class($column); } 
	 if (isset($title)) 		{ $title		= esc_attr($title); }
	 if (isset($class)) 		{ $class		= sanitize_html_class($class); }
	 if (isset($image)) 		{ $image		= esc_url ($image); }
	 if (isset($alt)) 			{ $alt			= esc_html ($alt); }
	 if (isset($styletext)) 	{ $styletext	= esc_html($styletext); }
	 if (isset($styletitle)) 	{ $styletitle	= esc_html($styletitle); }
	 if (isset($last)) 			{ if ($last) $last = 'last'; } else { $last = ''; }
	 if (isset($icon_position)) { $icon_position = sanitize_html_class($icon_position);} 
	 if (isset($icon))			{ $icon			= sanitize_html_class($icon);} 
	 
	 
	 if ($icon_position == 'left') {
		$styletext  = 'text-align:left; '.$styletext ;
		$styletitle = 'text-align:left; '.$styletitle ;
	 } else if ($icon_position == 'right') {
		$styletext  = 'text-align:right; '.$styletext ;
		$styletitle = 'text-align:right; '.$styletitle ;
	 } else {
		$styletext  = 'text-align:center; '.$styletext ;
		$styletitle = 'text-align:center; '.$styletitle	;
	 }
	 
	 $out .= '<div id="'.$id.'" class="'.$class.' '. $column .' ffs-info-box ' . $icon_position . ' ' . $last . '" >';
	 if (($link != '') && ($link != '#')) {
		$out .= '<a href="'.fruitful_sh_esc_link($link).'">';
	 }
		if (($image != '') || ($icon != '')) {
			$out .= '<div class="ffs-icon-box">';
			if ($image != '') {  
				$out .= '<img class="icon" src="' . esc_url($image) .'" title="' . $title   . '" alt="' . $alt . '" />'; 
			} else {
				if ($icon != '')  $out .= '<span class="ffs-icon-container"><i class="fa '. $icon .'" style="'.$styleicon.'"></i></span>';
				
			}	
			$out .= '</div>';
		}
		
		$out .= '<div class="ffs-content-box">';
			if ($title   != '') {  $out .= '<div class="infobox-title" style="' . $styletitle .'">'  . $title   . '</div>'; }
			if ($content != '') {  $out .= '<div class="infobox-text"  style="' . $styletext  .'" >' . fruitful_sh_esc_content_pbr(do_shortcode($content)) . '</div>'; }
		$out .= '</div>';
		
		if (($link != '') && ($link != '#')) {
			$out .= '</a>';
		}
	 $out .= '</div>';
	return $out;	 
} 
add_shortcode ("fruitful_ibox", "fruitful_info_box");



function fruitful_tabs_shortcode($atts, $content = null) {
	$output	    = '';
	$tab_titles = array();
	$tabs_class = 'tab_titles';
	extract(shortcode_atts( array(
		'id' 		=> '', 
		'type' 		=> '', 
		'width' 	=> '', 
		'fit' 		=> '', 
		'widthtab' 	=> '', 
		'tabcolor' 	=> '#71AFFF', 
		'closed' 	=> 'true'
	), $atts, 'fruitful_tabs'));
	static $tab_id = 0;
  	++$tab_id;
	$id 	= 'ffs-tabbed-' . $tab_id;
	$type 	= 'default';
	$width 	= 'auto';
	$fit	= 'false';
	$link   = '#';
	$widthtab	= '30%';
	
	if (isset($atts['id'])) 	{ $id 	 = sanitize_html_class($atts['id']); }
	if (isset($atts['type'])) 	{ $type  = esc_js($atts['type']); }
	if (isset($atts['width'])) 	{ $width = esc_js($atts['width']); }
	if (isset($atts['fit'])) 	{ $fit 	 = esc_js($atts['fit']); }
	if (isset($atts['widthtab'])) 	{ $widthtab  = esc_js($atts['widthtab']); }
	if (isset($atts['tabcolor'])) 	{ $tabcolor  = esc_html($atts['tabcolor']); }
	if (isset($atts['closed'])) 	{ $closed  	 = esc_html($atts['closed']); }
	
	
	
	$output .= '<script type="text/javascript"> ';
		$output .= 'jQuery(document).ready(function() { ';
			$output .= 'jQuery("#'.$id.'").easyResponsiveTabs({ ';
			$output .= '    type: 	"'.$type.'", ';
			$output .= '    width:  "'.$width.'", ';
			$output .= '    fit: 	 '.$fit;
			$output .= '}); ';
			$output .= 'var cont_width = jQuery("#'.$id.'.resp-vtabs").outerWidth() - jQuery("#'.$id.'.resp-vtabs .resp-tabs-list").outerWidth() - 3;';
			$output .= 'jQuery("#'.$id.'.resp-vtabs .resp-tabs-container").css({"width":cont_width});';
		$output .= '}); ';
	$output .= '</script>';
	$output .= '<style type="text/css">'."\n";
		$output .= '#'.$id.' li.resp-tab-active,'."\n";
		$output .= '#'.$id.'.resp-tabs-list li:hover{border-top-color:'.$tabcolor.'; border-bottom-color:'.$tabcolor.';}'."\n";
		$output .= '#'.$id.'.resp-vtabs li.resp-tab-active,'."\n";
		$output .= '#'.$id.'.resp-vtabs .resp-tabs-list li:hover{border-left-color:'.$tabcolor.'; border-top-color:#C1C1C1; border-right-color:'.$tabcolor.';  border-bottom-color:#C1C1C1;}'."\n";
		if ($type == 'accordion')
		$output .= '#'.$id.'.ffs-tabbed-nav h2.resp-accordion.resp-tab-active {background:none repeat scroll 0 0 '.$tabcolor.' !important;}'."\n";
	$output .= '</style>';
	
	preg_match_all( '/tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE );
	if ( isset( $matches[1] ) ) { $tabs = $matches[1]; } 
	
	$output .= '<div id="'.$id.'" class="ffs-tabbed-nav">';
		$output .= '<ul class="resp-tabs-list"';
			if ($type == 'vertical') { $output .= ' style="width:'.$widthtab.'"'; }
			if ($type == 'accordion') { 
				if ($closed == 'true') { 
					$output .= ' data-closed="closed"'; 
				}
			}
		$output .= '>';
			
	if (count($tabs)) {
		foreach ($tabs as $tab) {
			$output .= '<li>' . esc_html($tab[0]) . '</li>';
		}
	}	
	$output .= '</ul>';
	
	$output .= '<div class="resp-tabs-container">';
			$output .= fruitful_sh_esc_content_pbr(do_shortcode($content));
		$output .= '</div>';
	$output .= '</div>';
	$output .= '<div class="clearfix"></div>';
	return $output;
}
add_shortcode('fruitful_tabs', 'fruitful_tabs_shortcode');

function fruitful_tab_shortcode ( $atts, $content = null ) {
	extract(shortcode_atts( array( 
		'title' => 'Tab' 
	), $atts));
	$class = '';
	if ( $title != 'Tab' ) {
		 $class = ' tab-' . sanitize_title( $title );
	}
	return '<div class="fruitful_tab' . esc_attr( $class ) . '">' . do_shortcode( $content ) . '</div>';
} 
add_shortcode( 'fruitful_tab', 'fruitful_tab_shortcode', 99 );

function fruitful_tab_link_shortcode ( $atts, $content = null ) {
	extract(shortcode_atts( array( 
		'item' => '1' 
	), $atts));
	return '<a href="#" onclick = "js_link_to_tab(this, ' . $item . ')">' . do_shortcode( $content ) . '</a>';
} 
add_shortcode( 'fruitful_tab_link', 'fruitful_tab_link_shortcode', 100 );

function fruitful_sep ($atts, $content = null) {
	$out = $height = $style = '';
	extract(shortcode_atts(array(
		  'id'		=> 'ffs-sep-' . rand( 1, 100 ),
		  'height'	=> 10,
		  'style' 	=> 'border-bottom:1px solid #ebebeb; '
     ), $atts));
	
	if (!empty($id))    	{ $id = sanitize_html_class($id); }
	if (!empty($height))    { $height = sanitize_html_class($height); }
	if (!empty($style)) 	{ $style = esc_html($style); }
	
    $out .= '<div class="ffs-sep" id="'. $id .'" style="'.$style.' height:'.$height.'px; "></div><div class="clearfix"></div>';
	
    return $out;
}
add_shortcode ("fruitful_sep", "fruitful_sep");

function fruitful_alert_shortcode ($atts, $content = null) {
	$out = $type = '';
	extract(shortcode_atts(array(
		  'id'		=> 'ffs-alert-' . rand( 1, 100 ),
		  'type'	=> ''
     ), $atts, 'fss_alert'));
	
	$array_class = array();
	$array_class[] = 'alert';
	$array_class[] = 'alert-dismissible';
	
	if (!empty($id))	$id   = sanitize_html_class($id); 
	if (!empty($type))	$array_class[] = sanitize_html_class($type); 
	
	$out .= '<div class="ffs-bs">';	
		$out .= '<div id="'.$id.'" class="'.implode(' ', $array_class).'">';
			$out .= '<button type="button" class="close" data-dismiss="alert" aria-label="'.__('Close', 'ffs').'"><span aria-hidden="true">&times;</span></button>';
			$out .= fruitful_sh_esc_content_pbr($content);
		$out .= '</div>';
	$out .= '</div>';
	$out .= '<div class="clearfix"></div>';
	
    return $out;
}
add_shortcode ("fruitful_alert", "fruitful_alert_shortcode");


function fruitful_pbar_shortcode ($atts, $content = null) {
	$out = $type = $class = '';
	extract(shortcode_atts(array(
		'id' => 'ffs-pbar-' . rand( 1, 250 )
     ), $atts));
	
	$array_class = array();
	$array_class[]  = 'progress';
	
	if (!empty($id)) 
		$id = sanitize_html_class($id); 
	
	$out .= '<div id="'.$id.'" class="'.implode(' ', $array_class).'">';
		$out .= fruitful_sh_esc_content_pbr(do_shortcode($content));
	$out .= '</div>';
    
	return '<span class="ffs-bs">'. $out . '</span><div class="clearfix"></div>';
}
add_shortcode ("fruitful_pbar", "fruitful_pbar_shortcode");

/*
	Types: 
		- progress-bar-success
		- progress-bar-info
		- progress-bar-warning
		- progress-bar-danger
*/
function fruitful_bar_shortcode ( $atts, $content = null ) {
	$type = $width = '';
	extract(shortcode_atts(array(
						'type'		=> '',
						'active'    => false,
						'stripped'  => false,
						'width' 	=> '60%',
							
	), $atts));
	
	$stripped = filter_var($stripped, FILTER_VALIDATE_BOOLEAN);
	$active   = filter_var($active, FILTER_VALIDATE_BOOLEAN);
	
	$array_class = array();
	$array_class[] = 'progress-bar';
	
	if (!empty($type)) 		
		$array_class[] = sanitize_html_class($type);
	if ($active) $array_class[] = 'active'; 
	if (!empty($width)) 	
		$width = esc_attr($width);
	if ($stripped) $array_class[]  = 'progress-bar-striped';	
	 
	return '<div class="'.implode(' ', $array_class).'" style="width: '.$width.';"></div>';
} 
add_shortcode( 'fruitful_bar', 'fruitful_bar_shortcode', 99 );


/*
	Size: Default, mini, small, large
	Color: Default, primary, info, success, warning, danger, inverse
	Type: link, button, input, sumbit
	State: active, disabled
	Text color: #fff
	Icon: Font Awesome
	Icon position: left, right
	
*/

function fruitful_btn_shortcode ( $atts, $content = null ) {
		$out = $size = $color = $type = $state = $text_color = $icon = $icon_position = $link = $options = $target = $target_output = "";
		extract(shortcode_atts(array(
									'size'		 	=> 'small',
									'color' 	 	=> 'primary',
									'type'		 	=> 'link',
									'state'		 	=> '',
									'text_color'	=> 'fff',
									'icon'		 	=> '',
									'icon_position' => 'left',
									'link'			=> '#',
									'target'		=> ''
							
		), $atts));
		
		$id = 'ffs-button-' . rand( 1, 1000 );
		
		if (!empty($size))	
		$size  = sanitize_html_class($size);
		if (!empty($color))	
		$color = sanitize_html_class($color); 	
		if (!empty($type))	
		$type  = sanitize_html_class($type);	
		if (!empty($state))	
		$state = sanitize_html_class($state); 
		if (!empty($text_color)) 
		$text_color = esc_attr($text_color);
		
		if (!empty($icon))	
		$icon = sanitize_html_class($icon); 
		if (!empty($icon_position)) 
		$icon_position = sanitize_html_class($icon_position);
		if (!empty($link))		
		$link = fruitful_sh_esc_link($link); 
		if (!empty($target)) 	
		$target = sanitize_html_class($target); 
		
		if (($size == 'mini') || ($size == 'small') || ($size == 'large')) $options .= ' btn-' . $size;
		
			
		if (($color == 'primary') 	|| 
			($color == 'info') 		|| 
			($color == 'success') 	|| 
			($color == 'warning') 	|| 
			($color == 'danger') 	|| 
			($color == 'inverse')
			) {
			 $options .= ' btn-' . $color;
		} 	
		
		$options   .= ' '. $state;
		$text_color = '#' .$text_color;
		
		$content = do_shortcode(fruitful_sh_esc_content_pbr($content));
		
		if ($target == '_blank'){
			$target_output = 'target="_blank"';
		} else {
			$target_output = '';
		}
		
		if ($type == 'link') {
			$out  = '<a href="'.$link.'" class="btn'.$options.'" style="color:'.$text_color.';" '.$target_output.'>';
				if ($icon != '') { 
					if ($icon_position == 'right') { $out  .= $content; }
					if ($icon != '') { 
						$out  .= '<span class="ffs-icon-container '.$icon_position.'"><i class="fa '. $icon .'"></i></span>';
					}	
					if ($icon_position == 'left') {
						$out  .= $content;
					}
				} else {
						$out  .= $content;
				}				
			$out  .= '</a>';
		} else if ($type == 'input') {
			$out  = '<input type="button" class="btn'.$options.'" value="'.$content.'" style="color:'.$text_color.';" />';
		} else if ($type == 'submit') {
			$out  = '<input type="submit" class="btn'.$options.'" value="'.$content.'" style="color:'.$text_color.';" />';
		} else {
			$out  = '<button class="btn'.$options.'" style="color:'.$text_color.';" >';
				if ($icon != '') { 
					if ($icon_position == 'right') { $out  .= $content; }
					if ($icon != '') { 
						$out  .= '<span class="ffs-icon-container '.$icon_position.'"><i class="fa '. $icon .'"></i></span>';
					}	
					if ($icon_position == 'left') {
						$out  .= $content;
					}
				} else {
						$out  .= $content;
				}				
			$out  .= '</button>';
		}
		
		return  '<span class="ffs-bs">'. $out . '</span>';
} 
add_shortcode( 'fruitful_btn', 'fruitful_btn_shortcode', 99 );


function fruitful_sh_esc_content_pbr($content = null) {
	 $content = preg_replace( '%<p>&nbsp;\s*</p>%', '', $content );
	 $Old     = array( '<br />', '<br>' );
	 $New     = array( '','' );
	 $content = str_replace( $Old, $New, $content );
	 return $content;
}

function fruitful_sh_esc_link($link){
	$link = esc_url(str_replace('”','',str_replace('“','',$link)));
	return $link;
}

function get_comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
	global $wpcommentspopupfile, $wpcommentsjavascript;

	$id = get_the_ID();
	$title = get_the_title();
	$number = get_comments_number( $id );

	if ( false === $zero ) {
		/* translators: %s: post title */
		$zero = sprintf( __( 'No Comments<span class="screen-reader-text"> on %s</span>' ), $title );
	}

	if ( false === $one ) {
		/* translators: %s: post title */
		$one = sprintf( __( '1 Comment<span class="screen-reader-text"> on %s</span>' ), $title );
	}

	if ( false === $more ) {
		/* translators: 1: Number of comments 2: post title */
		$more = _n( '%1$s Comment<span class="screen-reader-text"> on %2$s</span>', '%1$s Comments<span class="screen-reader-text"> on %2$s</span>', $number );
		$more = sprintf( $more, number_format_i18n( $number ), $title );
	}

	if ( false === $none ) {
		/* translators: %s: post title */
		$none = sprintf( __( 'Comments Off<span class="screen-reader-text"> on %s</span>' ), $title );
	}
	
	$out = '';

	if ( 0 == $number && !comments_open() && !pings_open() ) {
		$out .= '<span' . ((!empty($css_class)) ? ' class="' . esc_attr( $css_class ) . '"' : '') . '>' . $none . '</span>';
		return;
	}

	if ( post_password_required() ) {
		_e( 'Enter your password to view comments.' );
		return;
	}

	$out .= '<a href="';
	if ( $wpcommentsjavascript ) {
		if ( empty( $wpcommentspopupfile ) )
			$home = home_url();
		else
			$home = get_option('siteurl');
		$out .= $home . '/' . $wpcommentspopupfile . '?comments_popup=' . $id;
		$out .= '" onclick="wpopen(this.href); return false"';
	} else {
		// if comments_popup_script() is not in the template, display simple comment link
		if ( 0 == $number ) {
			$respond_link = get_permalink() . '#respond';
			/**
			 * Filter the respond link when a post has no comments.
			 *
			 * @since 4.4.0
			 *
			 * @param string $respond_link The default response link.
			 * @param integer $id The post ID.
			 */
			$out .= apply_filters( 'respond_link', $respond_link, $id );
		} else {
			$out .= get_comments_link();
		}
		$out .= '"';
	}

	if ( !empty( $css_class ) ) {
		$out .= ' class="'.$css_class.'" ';
	}
	
	$attributes = '';
	/**
	 * Filter the comments popup link attributes for display.
	 *
	 * @since 2.5.0
	 *
	 * @param string $attributes The comments popup link attributes. Default empty.
	 */
	echo apply_filters( 'comments_popup_link_attributes', $attributes );

	$out .= '>';
	$out .= get_comments_number_text( $zero, $one, $more );
	$out .= '</a>';
	return $out;
}

function fruitful_load_template_part() {  
	ob_start();  
	get_template_part( 'content', get_post_format() );
	$var = ob_get_contents();  
	ob_end_clean();  
	return $var;  
}

function fruitful_recent_posts($atts){
		GLOBAL $WP_Query;
		$posts = $cat = '';
		$this_id = get_the_ID();
		extract(shortcode_atts(array(
									'posts'		 	=> 4,
									'cat' 	 	=> ''
		), $atts));	

		if(!empty($cat)) {
			$cats = explode(", ", $cat);
			$args = array(
				'orderby'    	=> 'date',
				'order'			=> 'DESC',
				'post_type'   	=> 'post',
				'post_status'   => 'publish',
				'post__not_in'	=> array($this_id),
				'ignore_sticky_posts' => true,
				'posts_per_page'=> $posts,
				'tax_query' => array(
					array(				
						'taxonomy' => 'category',
						'field' => 'slug',
						'terms' => $cats 
					)
				)
			);
		} else {
			$args = array(
				'orderby'    	=> 'date',
				'order'			=> 'DESC',
				'post_type'   	=> 'post',
				'post_status'   => 'publish',
				'post__not_in'	=> array($this_id),
				'ignore_sticky_posts' => true,
				'posts_per_page'=> $posts
			);
		}
		$out = "";
		$out .= '<div class="recent-posts blog-grid blog">';
		$my_query = new WP_Query($args);
			if( $my_query->have_posts() ) {
				while ($my_query->have_posts()) : $my_query->the_post();
					$content = fruitful_load_template_part();		
					$out .= $content;
				endwhile;
			}
			$out .= '</div>';
			if(isset($out)) return $out;
		wp_reset_query();
}

add_shortcode ("fruitful_recent_posts", "fruitful_recent_posts");



function fruitful_recent_posts_slider($atts){
		//Add FlexSlider
		wp_enqueue_style( 'flex-slider', 			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/flex_slider/slider.css');
		wp_enqueue_script('flex-fitvid-j',			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/flex_slider/jquery.flexslider-min.js', array( 'jquery' ), '20130930', false );
		wp_enqueue_script('flex-slider', 			FRUITFUL_SHORTCODE_URI . 'includes/shortcodes/js/slider_init.js', array( 'jquery' ));
		
		$posts = $cat = '';
		$this_id = get_the_ID();
		
		extract(shortcode_atts(array(
									'posts'		 	=> 4,
									'cat' 	 	=> ''
		), $atts));	
		if(!empty($cat)) {
			$cats = explode(", ", $cat);
			$args = array(
				'orderby'    	=> 'date',
				'order'			=> 'DESC',
				'post_type'   	=> 'post',
				'post_status'   => 'publish',
				'post__not_in'	=> array($this_id),
				'ignore_sticky_posts' => true,
				'posts_per_page'=> $posts,
				'tax_query' => array(
					array(				
						'taxonomy' => 'category',
						'field' => 'slug',
						'terms' => $cats 
					)
				)
			);
		} else {
			$args = array(
				'orderby'    	=> 'date',
				'order'			=> 'DESC',
				'post_type'   	=> 'post',
				'post_status'   => 'publish',
				'post__not_in'	=> array($this_id),
				'ignore_sticky_posts' => true,
				'posts_per_page'=> $posts
			);
		}
		$out = "";	
		$my_query = new WP_Query($args);
		if( $my_query->have_posts() ) {
			$out .= '<div class="flexslider blog-grid blog">
			<ul class="slides">';
				while ($my_query->have_posts()) : $my_query->the_post();
						
						$content = fruitful_load_template_part();
					$out .= '<li>';
					$out .= $content;
					$out .= '</li>';
				endwhile;
			$out .= '</ul>';
			$out .= '</div>';
			$out .= '<div class="clearfix"></div>';
		}

		return $out;
    wp_reset_query();
}

add_shortcode ("fruitful_recent_posts_slider", "fruitful_recent_posts_slider");