/home/arranoyd/magicraft/wp-content/themes/massive-dynamic/lib/shortcodes/shortcodes.php
<?php
/*-----------------------------------------------------------------------------------
	Theme Shortcodes
-----------------------------------------------------------------------------------*/
//Generate ID for shortcodes
function pixflow_sc_id($key)
{
    $globalKey = "md_sc_$key";
    $id    = uniqid();
    return esc_attr("$key-$id");
}
// read animation fields and return required values
function pixflow_shortcodeAnimation($shortcode,$atts){

    $animationFields = array('animation'=>'no','animation_type'=>'fade','animation_speed'=>400,'animation_delay'=>'0','animation_position'=>'center','animation_show'=>'once','animation_easing'=>'Quart.easeInOut','parallax_speed'=>400);
    foreach($animationFields as $field=>$value){
        $animation[] = shortcode_atts( array(
            $shortcode.'_'.$field => $value,
        ), $atts );
    }

    foreach($animation as $val){
        foreach($val as $k=>$v){
            $k = str_replace($shortcode.'_','',$k);
            $animationValues[$k] = $v;
        }
    }
    $animationClass = $animationAttrs = '';
    if($animationValues["animation"] != 'no'){
        if($animationValues["animation_type"] == 'float'){
            $animationClass = 'has-parallax';
            $animationAttrs .= ' data-parallax-speed ='.$animationValues["parallax_speed"];
        }else{
            $animationClass = 'has-animation';
            $animationAttrs .= 'data-animation-speed='.$animationValues["animation_speed"].' data-animation-delay='.$animationValues["animation_delay"].' data-animation-position='.$animationValues["animation_position"].' data-animation-show='.$animationValues["animation_show"].' data-animation-easing='.$animationValues['animation_easing'];
        }
    }


    $output['animation-type'] = ($animationValues["animation"] == 'no')? '':$animationValues["animation_type"];
    $output['has-animation'] = $animationClass;
    $output['animation-attrs'] = $animationAttrs;
    return $output;
}

// Call Shortcode Animation
function pixflow_callAnimation($script = false,$animation_type = 'fade',$el_id=''){

    if ($animation_type == '') return;

    ob_start();
    if($script){ ?>
        <script type="text/javascript">
            <?php }if($animation_type == 'float'){ ?>
            $(function(){
                if(typeof pixflow_parallax == 'function'){
                    pixflow_parallax('<?php echo $el_id;?>');
                }
            });
            <?php }else{ ?>
            if ( document.readyState === 'complete' ){
                if(typeof pixflow_shortcodeAnimation == 'function'){
                    pixflow_shortcodeAnimation();
                }
                if(typeof pixflow_shortcodeAnimationScroll == 'function'){
                    pixflow_shortcodeAnimationScroll();
                }
            }
            <?php } ?>
            <?php if($script){ ?>
        </script>
    <?php }
    return ob_get_flush();

}
/*-----------------------------------------------------------------------------------*/
/*  MD Button
/*-----------------------------------------------------------------------------------*/
function pixflow_buttonMaker( $button_style = 'fade-square',$button_text = 'Read More',$button_icon_class = 'icon-Layers',
                              $button_url='#',$button_target = '_self',$button_align = 'left',$button_size = 'standard',
                              $button_color='#000',$button_hover_color='#fff',$left_right_padding='0',$button_text_color='#fff',
                              $button_hover_bg_color='#000',$animation=array(),$clearfix=true,$gizmoContainer=false,$ninja_popup = '' , $ninja_popup_validate= 'no',$button_shortcode=false) {


    global $in_mbuilder;
    $class = "button ".$button_style;
    if(count($animation)<1){
        $animation['has-animation'] = null;
        $animation['animation-attrs'] = null;
    }

    switch($button_size)
    {
        case 'small':
            $class .=' button-small';
            break;
        case 'standard':
            $class .=' button-standard';
            break;
    }
    $gizmoClass='';
    if($gizmoContainer){
        $gizmoClass="gizmo-container small-gizmo";
    }
    $id = pixflow_sc_id('button');

    ob_start();
    ?>
    <style>
        <?php if($button_align == 'left' || $button_align == 'right') { ?>
        <?php echo esc_attr('#'.$id); ?>{
            float: <?php echo esc_attr($button_align);  ?>;
        }
        <?php } ?>

        /* Fade Square */

        <?php if( strstr($class, 'fade-square') ) {

            if ($button_size == 'standard') {
                $paddingTop =  ($button_icon_class == 'icon-empty') ? 15 : 12;
            } else {
                $paddingTop =  10;
            }

            echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard.fade-square{
            padding: <?php echo esc_attr($paddingTop).'px '. esc_attr((int)$left_right_padding+27);?>px;
        }

        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small.fade-square{
            padding:<?php echo esc_attr($paddingTop).'px '. esc_attr((int)$left_right_padding+21);?>px;
        }

        <?php echo esc_attr('.'.$id); ?>.fade-square{
            color: <?php echo esc_attr($button_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.fade-square:hover{
            color: <?php echo esc_attr($button_hover_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.fade-square:hover{
            background-color: <?php echo esc_attr($button_color); ?>;
            border-color: <?php echo esc_attr($button_color); ?>;
        }

        <?php } ?>

        /* Fade & Fill Oval */

        <?php if( strstr($class, 'fade-oval') || strstr($class,'fill-oval')) {

            $btnName  = (strstr($class, 'fade-oval'))?'.fade-oval':'.fill-oval';

            if ($button_size == 'standard'){
                $paddingTop =  ($button_icon_class == 'icon-empty') ? 17 : 14;
            }else{
                $paddingTop =  ($btnName == '.fade-oval') ? 10 : 11;
            }

            echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard<?php echo esc_attr($btnName)?>{
                padding: <?php echo esc_attr($paddingTop).'px '.esc_attr((int)$left_right_padding+24);?>px;
            }

            <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small<?php echo esc_attr($btnName)?>{
                padding: <?php echo esc_attr($paddingTop).'px '. esc_attr((int)$left_right_padding+15);?>px;
            }

            <?php echo esc_attr('.'.$id).' '.esc_attr($btnName); ?>{
                color: <?php echo esc_attr($button_color); ?>;
            }

            <?php if (strstr($class, 'fade-oval')){ ?>
                <?php echo esc_attr('.'.$id); ?>.fade-oval{
                    color: <?php echo esc_attr($button_color); ?>;
                }

                <?php echo esc_attr('.'.$id); ?>.fade-oval:hover{
                    background-color: <?php echo esc_attr($button_color); ?>;
                    border-color: <?php echo esc_attr($button_color); ?>;
                    color: <?php echo esc_attr($button_hover_color); ?>;
                }
            <?php } else {?>
                <?php echo esc_attr('#'.$id); ?>.shortcode-btn .fill-oval{
                    background-color: <?php echo esc_attr($button_color) ?>;
                    color: <?php echo esc_attr($button_text_color) ?>;
                    border: none;
                }

                <?php echo esc_attr('#'.$id); ?>.shortcode-btn .fill-oval:hover{
                    background-color: <?php echo esc_attr($button_hover_bg_color) ?>;
                    color: <?php echo esc_attr($button_hover_color) ?>;
                    border: none;
                }
            <?php } ?>


        <?php } ?>


        /* Slide */

        <?php if( strstr($class, 'slide') ) { ?>

        <?php echo esc_attr('.'.$id); ?>.slide{
            color: <?php echo esc_attr($button_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.slide span{
            color: <?php echo esc_attr($button_hover_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.slide:hover .button-icon{
            color: <?php echo esc_attr($button_hover_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.slide:hover{
            background-color: <?php echo esc_attr($button_color); ?>;
            border-color: <?php echo esc_attr($button_color); ?>;
        }

        <?php } ?>

        /* Come In */

        <?php if( strstr($class, 'come-in') || strstr($class,'fill-rectangle') ) {
            if ($button_size == 'standard'){
              if (strstr($class, 'come-in')){
                $paddingTop =  ($button_icon_class == 'icon-empty') ? 15 : 12;
              }else
                $paddingTop =  ($button_icon_class == 'icon-empty') ? 18 : 15;

            }else{
                 $paddingTop =  (strstr($class, 'come-in')) ? 10 : 12;
             }
         ?>
        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard.come-in,
        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard.fill-rectangle{
            padding: <?php echo esc_attr($paddingTop).'px '. esc_attr((int)$left_right_padding+32);?>px;
        }

        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small.come-in,
        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small.fill-rectangle{
            padding: <?php echo esc_attr($paddingTop).'px '. esc_attr((int)$left_right_padding+29);?>px;
        }

        <?php echo esc_attr('.'.$id); ?>.come-in,
        <?php echo esc_attr('.'.$id); ?>.fill-rectangle{
            color: <?php echo esc_attr($button_color); ?>;
        }

        <?php if( strstr($class, 'come-in')){ ?>

        <?php echo esc_attr('.'.$id); ?>.come-in:after{
            background-color: <?php echo esc_attr($button_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.come-in:hover span,
        <?php echo esc_attr('.'.$id); ?>.come-in:hover .button-icon{
            color: <?php echo esc_attr($button_hover_color); ?>;
        }
        <?php }else{ ?>
        <?php echo esc_attr('.'.$id); ?>.fill-rectangle{
            background-color: <?php echo esc_attr($button_color); ?>;
            color: <?php echo esc_attr($button_text_color) ?>;
            border: none;
        }

        <?php echo esc_attr('.'.$id); ?>.fill-rectangle:hover{
            background-color: <?php echo esc_attr($button_hover_bg_color); ?>;
            color: <?php echo esc_attr($button_hover_color); ?>;
            border: none;
        }


        <?php } ?>

        <?php } ?>

        /* Animation */

        <?php
        if( strstr($class, 'animation') ){
            $button_color = pixflow_colorConvertor($button_color, 'rgb');
        ?>
        <?php echo esc_attr('#'.$id); ?>.shortcode-btn{
            overflow:hidden;
        }
        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard.animation{
            padding: 12px <?php echo esc_attr((int)$left_right_padding+26);?>px 12px <?php echo esc_attr((int)$left_right_padding+35);?>px;
        }
        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small.animation {
            padding: 11px <?php echo esc_attr((int)$left_right_padding+28);?>px;
        }

        <?php echo esc_attr('.'.$id); ?>.animation:after{
            background-color : <?php echo esc_attr($button_color); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.animation{
            color: <?php echo pixflow_colorConvertor($button_color,'rgba',.7); ?>;
        }

        <?php echo esc_attr('.'.$id); ?>.animation:hover{
            color: <?php echo esc_attr(pixflow_colorConvertor($button_color,'rgba', 1)); ?>;
            border-color: <?php echo esc_attr(pixflow_colorConvertor($button_color,'rgba', 1)); ?>;
        }

        <?php } ?>

        /* Flash Animate */

        <?php if( strstr($class, 'flash-animate') ){
            $paddingTop =  ($button_icon_class == 'icon-empty') ? 14 : 12;
        ?>

        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small.flash-animate{
            padding: <?php echo esc_attr($paddingTop) . 'px '.esc_attr((int)$left_right_padding+13);?>px 10px <?php echo esc_attr((int)$left_right_padding+23);?>px;
        }

        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard.flash-animate{
            padding: 12px <?php echo esc_attr((int)$left_right_padding+13);?>px 12px <?php echo esc_attr((int)$left_right_padding+23);?>px;
        }

        <?php echo esc_attr('.'.$id); ?>.flash-animate{
            color : <?php echo esc_attr($button_color); ?>;
        }

        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-standard.flash-animate:hover{
            padding-right: <?php echo esc_attr((int)$left_right_padding+30);?>px;
        }

        <?php echo esc_attr('#'.$id); ?>.shortcode-btn .button-small.flash-animate:hover{
            padding-right: <?php echo esc_attr((int)$left_right_padding+29);?>px;
        }



        <?php } ?>


    </style>

    <div id="<?php echo esc_attr($id);?>" class="shortcode-btn <?php echo esc_attr($gizmoClass); ?> <?php echo esc_attr($animation['has-animation']); ?>" <?php echo esc_attr($animation['animation-attrs']); ?>>
        <?php if( strstr($class, 'fade-square') || strstr($class, 'fade-oval') ||strstr($class, 'fill-oval') || strstr($class, 'slide') || strstr($class, 'come-in') || strstr($class, 'fill-rectangle') )
        {

            if(!($ninja_popup == '') &&($ninja_popup_validate == 'yes') && !$in_mbuilder ){

                $button_url = "#ninja-popup-" . $ninja_popup;
            }else{
                $button_url;
            }
            ?>
            <a class="<?php echo esc_attr($class); echo ' ' . esc_attr($id); ?>" href="<?php echo esc_url( $button_url); ?>" target="<?php echo esc_attr($button_target); ?>" >
                <?php if ($button_icon_class != 'icon-empty') { ?>
                    <i class="button-icon <?php echo esc_attr($button_icon_class); ?>"></i>
                <?php } ?>
                <span>
                    <?php echo esc_attr($button_text); ?>
                </span>
            </a>

        <?php } else { ?>

            <a class="<?php echo esc_attr($class); echo ' ' . esc_attr($id); ?>" href="<?php echo esc_url($button_url); ?>" target="<?php echo esc_attr($button_target); ?>" >
                <span>
                    <?php echo esc_attr($button_text); ?>
                </span>
                <?php if ($button_icon_class != 'none'){ ?>
                    <i class="button-icon <?php echo esc_attr($button_icon_class); ?>"></i>
                <?php } ?>
            </a>

        <?php } ?>

    </div> <!-- End wrap button -->
    <?php if(true == $clearfix){ ?>
        <div class="clearfix"></div>
    <?php } ?>
    <?php if($button_align == 'center'){ ?>
        <script>

            "use strict";

            var $ = (jQuery),
                $button = $('#<?php echo esc_attr($id) ?>');

            $button.parents('.wpb_wrapper').css({'text-align':'center'});

        </script>

    <?php }?>


    <?php if (strstr($class, 'slide') ) { ?>
        <script>

            "use strict";

            var $ = (jQuery),
                $btnIdSlide = $('<?php echo "." . esc_attr($id) ?>');

            if ( $btnIdSlide.length )
                $btnIdSlide.attr("data-width", "<?php echo "." . esc_attr($id) ?>");

            if ( typeof pixflow_btnSlide == 'function' )
            {
                pixflow_btnSlide( "<?php echo esc_attr($id) ?>" );
            }


        </script>


    <?php }
	if ( shortcode_exists( 'ninja-popup' ) ) {
		print(do_shortcode("[ninja-popup id='$ninja_popup']"));
	}

    if($button_shortcode){
        $output['id'] = $id;
        $output['output'] = ob_get_clean();
        return $output;
    }else{
        return ob_get_clean();
    }
}


add_action( 'wp_ajax_nopriv_pixflow_portfolio_size', 'pixflow_portfolio_size_ajax' );
add_action( 'wp_ajax_pixflow_portfolio_size', 'pixflow_portfolio_size_ajax' );

function pixflow_portfolio_size_ajax(){
    require_once ('md_portfolio_multisize/index.php');
    pixflow_portfolio_size();
}

function pixflow_tabs_id($matches){
    return $matches[1].' tab_id=\''.uniqid('tab').'\' '.$matches[2];
}