<?php
class WPBakeryShortCode_Av_Accordion extends WPBakeryShortCodesContainer{
protected function content($atts, $content=NULL){
    extract(shortcode_atts(array(
        'anim'=>'',
        'class'=>'',
	), $atts));
	$GLOBALS['accordion_count'] = 0;
	$anim = empty($anim) ? '' : "animation $anim";
	$counter = 0;
	$accId=  mt_rand(0, 100);
	do_shortcode( $content );
   
	if( is_array( $GLOBALS['accordions'] ) ){
		foreach( $GLOBALS['accordions'] as $accordion ){
			$randomId=  mt_rand(0, 10000);
			$active = ($counter == 0) ? ' active ' : '';
			$activeContent=($counter==0 )? 'in' : '';
			
			$icon = ($accordion['icon'] == '') ? '' : '<i class="acctitleicon fa '.$accordion['icon'].'"></i>';
			$spacing = ($accordion['icon'] == '') ? '' : 'style="padding-left:26px"';
			$accordions[] = '
				<div class="accord-elem '.$active.'">		
					<div class="accord-title">
						'.$icon.'
						<h3 '.$spacing.'>'.$accordion['title'].'</h3>
						<a class="accord-link" href="#"></a>
					</div>    
					<div class="accord-content">'.do_shortcode($accordion['content']).'</div>
				</div>';
			$counter++;
		}
		$return='<div class="accordion-box '.$anim.' '.$class.'" id="accordion-'.$accId.'">'.implode( "\n", $accordions ).'</div>';
		unset($GLOBALS['accordions']);
	}
	return $return;
}
}
add_shortcode('av_accordion', 'alc_accordion');
/*******************************************/
class WPBakeryShortCode_Av_Acc_Item extends WPBakeryShortCode {
    protected function content( $atts, $content = null){
	extract(shortcode_atts(array(
	'title' => 'accordion %d',
	'icon' => ''
	), $atts));
	
	$x = $GLOBALS['accordion_count'];
	$GLOBALS['accordions'][$x] = array( 'title' => sprintf( $title, $GLOBALS['accordion_count'] ), 'content' =>  $content, 'icon' => $icon);
	$GLOBALS['accordion_count']++;
	}
}
add_shortcode('av_acc_item', 'alc_acc_item');
/**********************************************************/
vc_map( array(
	"name" => __("Unik Accordion", "unik"),
	"show_settings_on_create" => true,
	'is_container' => true,
	"content_element" => true,
	"as_parent" => array('only' => 'av_acc_item'),
	"base" => "av_accordion",
	"class" => "",
	"icon" => "icon-wpb-my_accordion",
	'admin_enqueue_css' => array(get_template_directory_uri() . '/vc_templates/shortcodes.css'),
	"category" => __('Content', "unik"),
	"params" => array(
		array(
         "type" => "dropdown",
         "class" => "",
         "heading" => __("Animation", "unik"),
         "param_name" => "anim",
         "value" => array( "None"=>"", "bounce"=>"bounce", "flash"=>"flash", "pulse"=>"pulse", "shake"=>"shake", "swing"=>"swing", "tada"=>"tada", "wobble"=>"wobble", "bounceIn"=>"bounceIn", "bounceInDown"=>"bounceInDown", "bounceInLeft"=>"bounceInLeft", "bounceInRight"=>"bounceInRight", "bounceInUp"=>"bounceInUp", "bounceOut"=>"bounceOut", "bounceOutDown"=>"bounceOutDown", "bounceOutLeft"=>"bounceOutLeft", "bounceOutRight"=>"bounceOutRight", "bounceOutUp"=>"bounceOutUp", "fadeIn"=>"fadeIn", "fadeInDown"=>"fadeInDown", "fadeInDownBig"=>"fadeInDownBig", "fadeInLeft"=>"fadeInLeft", "fadeInLeftBig"=>"fadeInLeftBig", "fadeInRight"=>"fadeInRight", "fadeInRightBig"=>"fadeInRightBig", "fadeInUp"=>"fadeInUp", "fadeInUpBig"=>"fadeInUpBig", "fadeOut"=>"fadeOut", "fadeOutDown"=>"fadeOutDown", "fadeOutDownBig"=>"fadeOutDownBig", "fadeOutLeft"=>"fadeOutLeft", "fadeOutLeftBig"=>"fadeOutLeftBig", "fadeOutRight"=>"fadeOutRight", "fadeOutRightBig"=>"fadeOutRightBig", "fadeOutUp"=>"fadeOutUp", "fadeOutUpBig"=>"fadeOutUpBig", "flip"=>"flip", "flipInX"=>"flipInX", "flipInY"=>"flipInY", "flipOutX"=>"flipOutX", "flipOutY"=>"flipOutY", "lightSpeedIn"=>"lightSpeedIn", "lightSpeedOut"=>"lightSpeedOut", "rotateIn"=>"rotateIn", "rotateInDownLeft"=>"rotateInDownLeft", "rotateInDownRight"=>"rotateInDownRight", "rotateInUpLeft"=>"rotateInUpLeft", "rotateInUpRight"=>"rotateInUpRight", "rotateOut"=>"rotateOut", "rotateOutDownLeft"=>"rotateOutDownLeft", "rotateOutDownRight"=>"rotateOutDownRight", "rotateOutUpLeft"=>"rotateOutUpLeft", "rotateOutUpRight"=>"rotateOutUpRight",  "hinge"=>"hinge", "rollIn"=>"rollIn", "rollOut"=>"rollOut", "zoomIn"=>"zoomIn","zoomInDown"=>"zoomInDown", "zoomInLeft"=>"zoomInLeft","zoomInRight"=>"zoomInRight","zoomInUp"=>"zoomInUp","zoomOut"=>"zoomOut", "zoomOutLeft"=>"zoomOutLeft", "zoomOutRight"=>"zoomOutRight","zoomOutUp"=>"zoomOutUp"),
         "description" => __(" Animation.", "unik")
      ),
        array(
         "type" => "textfield",
         "class" => "",
         "heading" => __("Extra class", "unik"),
         "param_name" => "class"
      ),
   ),
	"js_view" => 'VcColumnView'
) );
/**********************************************************/
vc_map( array(
	'name' => __( 'Accordion Item', 'unik' ),
	'base' => 'av_acc_item',
	"icon" => "icon-wpb-ui-accordion",
	"as_child" => array('only' => 'av_accordion'),
	'content_element' => true,
	'params' => array(
		array(
		 "type" => "textfield",
		"holder"=>"div",
		  "class" => "",
		  "heading" => __("Title", "unik"),
		  "param_name" => "title"
		 ),
		array(
		 "type" => "textfield",
		  "class" => "",
		  "heading" => __("Icon", "unik"),
		  "param_name" => "icon",
		  "description" => __(' <small>Choose your icon from <a href="http://fortawesome.github.io/Font-Awesome/icons/" target="blank">this list</a>.</small>', "unik")
		 ),
		array(
		  "type" => "textarea_html",
		  "class" => "",
		  "heading" => __("Tab Content", "unik"),
		  "param_name" => "content"
		 ),
		)
	))
?>