function sp_load_plugin_styles($ahahCall = false)
{
    global $spCSSLoaded, $spDevice, $spPaths, $spGlobals;
    if (!sp_get_option('sfwpheadbypass') && $spCSSLoaded) {
        return;
    }
    $curTheme = $spGlobals['theme'];
    $curTheme = apply_filters('sph_theme', $curTheme);
    $vars = '';
    $overlay = '';
    # handle chiild themes
    $parentTheme = !empty($curTheme['parent']) ? sp_get_theme_data(SPTHEMEBASEDIR . $curTheme['parent'] . '/spTheme.txt') : '';
    # handle color overlays
    if (current_theme_supports('sp-theme-child-overlays')) {
        # can use - so might be - a child theme overlay
        $overlay = !empty($curTheme['color']) ? $curTheme['color'] : '';
        if (!empty($parentTheme) && !empty($curTheme['color'])) {
            # must be a child with an overlay selected so...
            # is the overlay in the child theme or not?
            if (file_exists(SPTHEMEBASEDIR . $curTheme['theme'] . '/styles/overlays/' . $curTheme['color'] . '.php')) {
                $theme = $curTheme['theme'];
            } elseif (!empty($curTheme['color'])) {
                $theme = $curTheme['parent'];
            }
        } else {
            $theme = $curTheme['theme'];
        }
    } else {
        # no support for child overlays so do it the old eway
        $overlay = !empty($curTheme['color']) ? $curTheme['color'] : '';
        if (!empty($parentTheme) && !empty($curTheme['color'])) {
            $theme = $curTheme['parent'];
        } else {
            $theme = $curTheme['theme'];
        }
    }
    $vars = !empty($overlay) ? '?overlay=' . esc_attr($overlay) . '&theme=' . esc_attr($theme) : '';
    # add device query var string
    $vars = !empty($vars) ? "{$vars}&device={$spDevice}" : "?device={$spDevice}";
    # set the images path array
    sp_set_image_array($curTheme);
    $spCSSLoaded = true;
    # if called from the AHAH/AJAX init routine then leave now...
    if ($ahahCall) {
        return;
    }
    # handle RTL
    if (is_rtl()) {
        $vars = !empty($vars) ? "{$vars}&rtl=1" : '?rtl=1';
    }
    $reset = is_rtl() ? 'reset.rtl.css' : 'reset,css';
    # enqueue the main theme css
    if (sp_is_plugin_active('user-selection/sp-user-selection-plugin.php')) {
        if (!empty($parentTheme)) {
            $cssTheme = strpos($parentTheme['Stylesheet'], '.css') ? true : false;
            if ($cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/' . $reset)) {
                wp_enqueue_style('sp-parent-reset', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $reset);
            }
            wp_enqueue_style('sp-parent', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $parentTheme['Stylesheet'] . $vars);
            if (is_rtl() && $cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/rtl.css')) {
                wp_enqueue_style('sp-parent-rtl', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/rtl.css');
            }
        }
        $cssTheme = strpos(SPTHEMECSS, '.css') ? true : false;
        if ($cssTheme && file_exists(SPTHEMEDIR . $reset)) {
            wp_enqueue_style('sp-theme-reset', SPTHEMECSSEXTRA . $reset);
        }
        wp_enqueue_style('sp-theme', SPTHEMECSS . $vars);
        if (is_rtl() && $cssTheme && file_exists(SPTHEMEDIR . 'rtl.css')) {
            wp_enqueue_style('sp-theme-rtl', SPTHEMECSSEXTRA . 'rtl.css');
        }
    } else {
        if (!empty($parentTheme)) {
            $cssTheme = strpos($parentTheme['Stylesheet'], '.css') ? true : false;
            if ($cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/' . $reset)) {
                sp_plugin_enqueue_style('sp-parent-reset', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $reset);
            }
            sp_plugin_enqueue_style('sp-parent', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $parentTheme['Stylesheet'] . $vars);
            if (is_rtl() && $cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/rtl.css')) {
                sp_plugin_enqueue_style('sp-parent-rtl', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/rtl.css');
            }
        }
        $cssTheme = strpos(SPTHEMECSS, '.css') ? true : false;
        if ($cssTheme && file_exists(SPTHEMEDIR . $reset)) {
            sp_plugin_enqueue_style('sp-theme-reset', SPTHEMECSSEXTRA . $reset);
        }
        sp_plugin_enqueue_style('sp-theme', SPTHEMECSS . $vars);
        if (is_rtl() && $cssTheme && file_exists(SPTHEMEDIR . 'rtl.css')) {
            sp_plugin_enqueue_style('sp-theme-rtl', SPTHEMECSSEXTRA . 'rtl.css');
        }
    }
    # concat (if needed) and enqueue the plugin css
    do_action('sph_print_plugin_styles');
    $combine_css = sp_get_option('combinecss');
    if ($combine_css) {
        sp_combine_plugin_css_files();
    } else {
        global $sp_plugin_styles;
        if (!empty($sp_plugin_styles)) {
            foreach ($sp_plugin_styles->queue as $handle) {
                wp_enqueue_style($handle, $sp_plugin_styles->registered[$handle]->src);
            }
        }
    }
    do_action('sph_styles_end');
}
function sp_captcha_load_css()
{
    $css = sp_find_css(SPCAPCSS, 'sp-captcha.css', 'sp-captcha.spcss');
    sp_plugin_enqueue_style('sp-captcha', $css);
}
function sp_admin_bar_do_header()
{
    $css = sp_find_css(SPABCSS, 'sp-admin-bar.css', 'sp-admin-bar.spcss');
    sp_plugin_enqueue_style('sp-admin-bar', $css);
}
function sp_load_plugin_styles()
{
    $curTheme = sp_get_current_sp_theme();
    # get optional color variant to pass to stylesheet
    $curTheme = apply_filters('sph_theme', $curTheme);
    # handle chiild themes
    $parentTheme = !empty($curTheme['parent']) ? sp_get_theme_data(SPTHEMEBASEDIR . $curTheme['parent'] . '/spTheme.txt') : '';
    # handle color overlays
    $vars = !empty($curTheme['color']) ? '?color=' . esc_attr($curTheme['color']) : '';
    # handle RTL
    if (is_rtl()) {
        $vars = !empty($vars) ? "{$vars}&rtl=1" : '?rtl=1';
    }
    $reset = is_rtl() ? 'reset.rtl.css' : 'reset,css';
    # enqueue the main theme css
    if (sp_is_plugin_active('user-selection/sp-user-selection-plugin.php')) {
        if (!empty($parentTheme)) {
            $cssTheme = strpos($parentTheme['Stylesheet'], '.css') ? true : false;
            if ($cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/' . $reset)) {
                wp_enqueue_style('sp-parent-reset', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $reset);
            }
            wp_enqueue_style('sp-parent', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $parentTheme['Stylesheet'] . $vars);
            if (is_rtl() && $cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/rtl.css')) {
                wp_enqueue_style('sp-parent-rtl', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/rtl.css');
            }
        }
        $cssTheme = strpos(SPTHEMECSS, '.css') ? true : false;
        if ($cssTheme && file_exists(SPTHEMEDIR . $reset)) {
            wp_enqueue_style('sp-theme-reset', SPTHEMECSSEXTRA . $reset);
        }
        wp_enqueue_style('sp-theme', SPTHEMECSS . $vars);
        if (is_rtl() && $cssTheme && file_exists(SPTHEMEDIR . 'rtl.css')) {
            wp_enqueue_style('sp-theme-rtl', SPTHEMECSSEXTRA . 'rtl.css');
        }
    } else {
        if (!empty($parentTheme)) {
            $cssTheme = strpos($parentTheme['Stylesheet'], '.css') ? true : false;
            if ($cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/' . $reset)) {
                sp_plugin_enqueue_style('sp-parent-reset', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $reset);
            }
            sp_plugin_enqueue_style('sp-parent', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $parentTheme['Stylesheet'] . $vars);
            if (is_rtl() && $cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/rtl.css')) {
                sp_plugin_enqueue_style('sp-parent-rtl', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/rtl.css');
            }
        }
        $cssTheme = strpos(SPTHEMECSS, '.css') ? true : false;
        if ($cssTheme && file_exists(SPTHEMEDIR . $reset)) {
            sp_plugin_enqueue_style('sp-theme-reset', SPTHEMECSSEXTRA . $reset);
        }
        sp_plugin_enqueue_style('sp-theme', SPTHEMECSS . $vars);
        if (is_rtl() && $cssTheme && file_exists(SPTHEMEDIR . 'rtl.css')) {
            sp_plugin_enqueue_style('sp-theme-rtl', SPTHEMECSSEXTRA . 'rtl.css');
        }
    }
    # concat (if needed) and enqueue the plugin css
    do_action('sph_print_plugin_styles');
    $combine_css = sp_get_option('combinecss');
    if ($combine_css) {
        sp_combine_plugin_css_files();
    } else {
        global $sp_plugin_styles;
        if (!empty($sp_plugin_styles)) {
            foreach ($sp_plugin_styles->queue as $handle) {
                wp_enqueue_style($handle, $sp_plugin_styles->registered[$handle]->src);
            }
        }
    }
    do_action('sph_styles_end');
}