function foxyshop_featured_category($categoryName, $showAddToCart = false, $showMoreDetails = false, $showMax = -1, $simpleList = false)
{
    global $product;
    $term = get_term_by('slug', $categoryName, "foxyshop_categories");
    $currentCategorySlug = $term->slug;
    $currentCategoryID = $term->term_id;
    $args = array('post_type' => 'foxyshop_product', "foxyshop_categories" => $currentCategorySlug, 'numberposts' => $showMax);
    $args = array_merge($args, foxyshop_sort_order_array());
    $args = array_merge($args, foxyshop_hide_children_array($currentCategoryID));
    echo '<ul class="foxyshop_featured_product_list' . ($simpleList ? "_simple" : "") . '">';
    $featuredlist = get_posts($args);
    foreach ($featuredlist as $featuredprod) {
        $product = foxyshop_setup_product($featuredprod);
        if ($product['hide_product']) {
            continue;
        }
        if ($simpleList) {
            $simplewrite = '<li><a href="' . $product['url'] . '">' . apply_filters('the_title', $product['name']) . '</a></li>' . "\n";
            echo apply_filters("foxyshop_featured_category_simple", $simplewrite, $product);
        } else {
            $thumbnailSRC = foxyshop_get_main_image("thumbnail");
            $write = '<li class="foxyshop_product_box">' . "\n";
            $write .= '<div class="foxyshop_product_image">';
            $write .= '<a href="' . $product['url'] . '"><img src="' . $thumbnailSRC . '" alt="' . esc_attr($product['name']) . '" class="foxyshop_main_image" /></a>';
            $write .= "</div>\n";
            $write .= '<div class="foxyshop_product_info">';
            $write .= '<h2><a href="' . $product['url'] . '">' . apply_filters('the_title', $product['name']) . '</a></h2>';
            $write .= foxyshop_price(0, 0);
            if ($showMoreDetails) {
                $write .= '<a href="' . $product['url'] . '" class="foxyshop_button">' . __('More Details') . '</a>';
            }
            if ($showAddToCart) {
                $write .= '<a href="' . foxyshop_product_link("", true) . '" class="foxyshop_button">' . __('Add To Cart') . '</a>';
            }
            $write .= "</div>\n";
            $write .= '<div class="clr"></div>';
            $write .= "</li>\n";
            echo apply_filters("foxyshop_featured_category_html", $write, $product);
        }
    }
    echo "</ul><div class=\"clr\"></div>\n";
}
function foxyshop_productlink_shortcode($atts, $content = null)
{
    global $product;
    $original_product = $product;
    extract(shortcode_atts(array("name" => '', "variations" => '', "quantity" => '1'), $atts));
    $prod = foxyshop_get_product_by_name($name);
    if (!$prod || !$name) {
        return "";
    }
    $product = foxyshop_setup_product($prod);
    $write = foxyshop_product_link("", true, $variations, $quantity);
    $product = $original_product;
    return $write;
}
function foxyshop_product_details_setup()
{
    global $post, $foxyshop_settings;
    $_price = number_format((double) get_post_meta($post->ID, '_price', TRUE), FOXYSHOP_DECIMAL_PLACES, ".", ",");
    $_code = get_post_meta($post->ID, '_code', TRUE);
    $_category = get_post_meta($post->ID, '_category', TRUE);
    $_quantity_min = get_post_meta($post->ID, '_quantity_min', TRUE);
    $_quantity_max = get_post_meta($post->ID, '_quantity_max', TRUE);
    $_quantity_hide = get_post_meta($post->ID, '_quantity_hide', TRUE);
    $defaultweight = explode(" ", $foxyshop_settings['default_weight']);
    $defaultweight1 = (int) $defaultweight[0];
    $defaultweight2 = count($defaultweight) > 1 ? number_format($defaultweight[1], 1) : "0.0";
    $original_weight = get_post_meta($post->ID, '_weight', 1);
    if (!$original_weight && strpos($_SERVER['SCRIPT_FILENAME'], "post-new.php") === false) {
        $disable_weight_checked = ' checked="checked"';
        $_weight = array("", "");
    } else {
        $_weight = explode(" ", $original_weight);
        if (!$original_weight) {
            $_weight = array($defaultweight1, $defaultweight2);
        }
        $disable_weight_checked = "";
        if ((int) $_weight[0] == 0 && (double) $_weight[1] == 0) {
            if ($defaultweight1 == 0 && $defaultweight2 == 0.0) {
                $disable_weight_checked = ' checked="checked"';
                $_weight[0] = "";
                $_weight[1] = "";
            } else {
                $_weight[0] = $defaultweight1;
                $_weight[1] = $defaultweight2;
            }
        } else {
            $_weight[0] = (int) $_weight[0];
            if (!isset($_weight[1])) {
                $_weight[1] = 0;
            }
            $_weight[1] = number_format($_weight[1], 1);
        }
    }
    if ($foxyshop_settings['downloadables_sync'] && version_compare($foxyshop_settings['version'], '0.7.2', ">=") && $foxyshop_settings['domain']) {
        $show_downloadables = 1;
    } else {
        $show_downloadables = 0;
    }
    $_hide_product = get_post_meta($post->ID, '_hide_product', TRUE);
    ?>
	<?php 
    if ($show_downloadables) {
        ?>
	<a href="#" id="show_downloadable_list" title="<?php 
        _e('Show Available Downloadables', 'foxyshop');
        ?>
">"<?php 
        _e('Show Available Downloadables', 'foxyshop');
        ?>
</a>
	<div class="foxyshop_field_control" id="downloadable_list_parent">
		<a href="#" id="hide_downloadable_list" title="<?php 
        _e('Hide Available Downloadables', 'foxyshop');
        ?>
"><?php 
        _e('Hide Available Downloadables', 'foxyshop');
        ?>
</a>
		<label for="downloadable_list" style="width:100%;"><?php 
        _e('Select Downloadable To Prefill Data', 'foxyshop');
        ?>
</label>
		<select name="downloadable_list" id="downloadable_list">
			<?php 
        foxyshop_get_downloadable_list();
        $downloadable_list = get_option("foxyshop_downloadables");
        if (!is_array($downloadable_list)) {
            $downloadable_list = array();
            echo '<option value="">' . __('None Found') . '</option>' . "\n";
        } else {
            echo '<option value="">- - ' . __('Select Below', 'foxyshop') . ' - -</option>' . "\n";
        }
        foreach ($downloadable_list as $downloadable) {
            echo '<option value="' . esc_attr($downloadable['product_code']) . '"';
            echo ' category_code="' . esc_attr($downloadable['category_code']) . '"';
            echo ' product_price="' . esc_attr($downloadable['product_price']) . '"';
            echo '>' . esc_attr($downloadable['product_name']) . '</option>';
            echo "\n";
        }
        ?>
		</select>
		<a href="#" id="ajax_get_downloadable_list" title="<?php 
        _e('Refresh List', 'foxyshop');
        ?>
"><?php 
        _e('Refresh List', 'foxyshop');
        ?>
</a>
		<div style="clear:both"></div>
	</div>
	<?php 
    }
    ?>
	<div id="foxyshop_price" class="foxyshop_field_control">
		<label for="_price"><?php 
    _e('Base Price', 'foxyshop');
    ?>
</label>
		<input type="text" name="_price" id="_price" value="<?php 
    echo $_price;
    ?>
" onblur="foxyshop_check_number(this);" style="width: 90px; float: left;" />
		<span style="float: left; margin: 9px 0 0 5px;">0.00</span>
	</div>
	<div id="foxyshop_item_code" class="foxyshop_field_control">
		<label for="_code"><?php 
    _e('Item Code', 'foxyshop');
    ?>
</label>
		<input type="text" name="_code" id="_code" value="<?php 
    echo $_code;
    ?>
" />
	</div>
	<div id="foxyshop_weight" class="foxyshop_field_control">
		<label for="_weight1"><?php 
    _e('Weight', 'foxyshop');
    ?>
</label>
		<input type="text" name="_weight1" id="_weight1" value="<?php 
    echo $_weight[0];
    ?>
"<?php 
    if ($disable_weight_checked) {
        echo ' disabled="disabled"';
    }
    ?>
 />
		<span style="float: left; margin: 9px 0 0 5px; width: 21px;"><?php 
    echo $foxyshop_settings['weight_type'] == "metric" ? 'kg' : 'lbs';
    ?>
</span>
		<input type="text" name="_weight2" id="_weight2" value="<?php 
    echo $_weight[1];
    ?>
"<?php 
    if ($disable_weight_checked) {
        echo ' disabled="disabled"';
    }
    ?>
 />
		<span style="float: left; margin: 9px 0 0 5px; width: 23px;"><?php 
    echo $foxyshop_settings['weight_type'] == "metric" ? 'gm' : 'oz';
    ?>
</span>
		<input type="checkbox" name="weight_disable" id="weight_disable" title="<?php 
    _e('Disable Weight', 'foxyshop');
    ?>
" style="float: left; margin-top: 7px;"<?php 
    echo $disable_weight_checked;
    ?>
 />
		<label id="weight_disable_label" for="weight_disable" style="float: left; margin: 6px 0 0 2px; width: 16px;" title="<?php 
    _e('Disable Weight', 'foxyshop');
    ?>
" class="iconsprite <?php 
    echo $disable_weight_checked ? "hide_color" : "hide_gray";
    ?>
"></label>
	</div>
	<div id="foxyshop_quantity" class="foxyshop_field_control">
		<label for="_quantity_min"><?php 
    _e('Qty Settings', 'foxyshop');
    ?>
</label>
		<input type="text" name="_quantity_min" id="_quantity_min" value="<?php 
    echo $_quantity_min;
    ?>
" title="<?php 
    _e('Minimum Quantity', 'foxyshop');
    ?>
" style="width: 33px; float: left;" onblur="foxyshop_check_number_single(this);"<?php 
    if ($_quantity_hide) {
        echo ' disabled="disabled"';
    }
    ?>
 />
		<span id="quantity_min_label" style="float: left; margin: 6px 0 0 1px; width: 26px;" class="iconsprite <?php 
    echo $_quantity_min ? "down_color" : "down_gray";
    ?>
"></span>
		<input type="text" name="_quantity_max" id="_quantity_max" value="<?php 
    echo $_quantity_max;
    ?>
" title="<?php 
    _e('Maximum Quantity', 'foxyshop');
    ?>
" style="width: 33px; float: left;" onblur="foxyshop_check_number_single(this);"<?php 
    if ($_quantity_hide) {
        echo ' disabled="disabled"';
    }
    ?>
 />
		<span id="quantity_max_label" style="float: left; margin: 6px 0 0 1px; width: 26px;" class="iconsprite <?php 
    echo $_quantity_max ? "up_color" : "up_gray";
    ?>
"></span>
		<input type="checkbox" name="_quantity_hide" id="_quantity_hide" title="<?php 
    _e('Hide Quantity Box', 'foxyshop');
    ?>
" style="float: left; margin-top: 7px;"<?php 
    echo checked($_quantity_hide, "on");
    ?>
 />
		<label id="quantity_hide_label" for="_quantity_hide" style="float: left; margin: 6px 0 0 2px; width: 16px;" title="<?php 
    _e('Hide Quantity Box', 'foxyshop');
    ?>
" class="iconsprite <?php 
    echo $_quantity_hide ? "hide_color" : "hide_gray";
    ?>
"></label>
		<div style="clear:both"></div>
	</div>

	<?php 
    if (version_compare($foxyshop_settings['version'], '0.7.2', ">=") && $foxyshop_settings['domain']) {
        ?>
	<div id="foxyshop_category" class="foxyshop_field_control">
		<label for="_category" style="width: 100%;">
			<?php 
        _e('FoxyCart Category');
        ?>
			<small>(<a href="#" id="ajax_get_category_list_select" title="<?php 
        _e('Refresh List', 'foxyshop');
        ?>
"><?php 
        _e('Refresh List', 'foxyshop');
        ?>
</a>)</small>
		</label>
		<select name="_category" id="_category">
			<?php 
        if (strpos($foxyshop_settings['ship_categories'], "DEFAULT") === false) {
            $foxyshop_settings['ship_categories'] = "DEFAULT|" . __('Default for all products', 'foxyshop') . "\n" . $foxyshop_settings['ship_categories'];
        }
        $arrShipCategories = preg_split("/(\r\n|\n|\r)/", $foxyshop_settings['ship_categories']);
        for ($i = 0; $i < count($arrShipCategories); $i++) {
            if ($arrShipCategories[$i] == "") {
                continue;
            }
            $shipping_category = explode("|", $arrShipCategories[$i]);
            $shipping_category_code = trim($shipping_category[0]);
            if ($shipping_category_code == "DEFAULT") {
                $shipping_category_code = "";
            }
            $shipping_category_name = $shipping_category_code;
            $shipping_category_type = '';
            if (isset($shipping_category[1])) {
                $shipping_category_name = trim($shipping_category[1]);
            }
            if (isset($shipping_category[2])) {
                $shipping_category_type = trim($shipping_category[2]);
            }
            echo '<option value="' . esc_attr($shipping_category_code) . '"';
            if ($shipping_category_type) {
                echo ' rel="' . esc_attr($shipping_category_type) . '"';
            }
            if (esc_attr($shipping_category_code == $_category)) {
                echo ' selected="selected"';
            }
            echo '>' . esc_attr($shipping_category_name) . '</option>';
            echo "\n";
        }
        ?>
		</select>
	</div>
	<?php 
    } else {
        ?>
	<div id="foxyshop_category" class="foxyshop_field_control">
		<label for="_category" style="width:76px; margin-right: 4px;"><?php 
        _e('FoxyCart Cat');
        ?>
</label>
		<select name="_category" id="_category">
			<?php 
        if (strpos($foxyshop_settings['ship_categories'], "DEFAULT") === false) {
            $foxyshop_settings['ship_categories'] = "DEFAULT|" . __('Default for all products', 'foxyshop') . "\n" . $foxyshop_settings['ship_categories'];
        }
        $arrShipCategories = preg_split("/(\r\n|\n|\r)/", $foxyshop_settings['ship_categories']);
        for ($i = 0; $i < count($arrShipCategories); $i++) {
            if ($arrShipCategories[$i] == "") {
                continue;
            }
            $shipping_category = explode("|", $arrShipCategories[$i]);
            $shipping_category_code = trim($shipping_category[0]);
            if ($shipping_category_code == "DEFAULT") {
                $shipping_category_code = "";
            }
            $shipping_category_name = $shipping_category_code;
            $shipping_category_type = '';
            if (isset($shipping_category[1])) {
                $shipping_category_name = trim($shipping_category[1]);
            }
            if (isset($shipping_category[2])) {
                $shipping_category_type = trim($shipping_category[2]);
            }
            echo '<option value="' . esc_attr($shipping_category_code) . '"';
            if ($shipping_category_type) {
                echo ' rel="' . esc_attr($shipping_category_type) . '"';
            }
            if (esc_attr($shipping_category_code == $_category)) {
                echo ' selected="selected"';
            }
            echo '>' . esc_attr($shipping_category_name) . '</option>';
            echo "\n";
        }
        ?>
		</select>
	</div>
	<?php 
    }
    ?>

	<?php 
    if ($foxyshop_settings['show_add_to_cart_link'] && isset($_REQUEST['post'])) {
        global $product;
        $product = foxyshop_setup_product();
        ?>
	<div id="foxyshop_add_to_cart_link" class="foxyshop_field_control">
		<label for="add_to_cart_link"><?php 
        _e('Add to Cart', 'foxyshop');
        ?>
</label>
		<input type="text" name="add_to_cart_link" id="add_to_cart_link" value="<?php 
        echo foxyshop_product_link("", 1);
        ?>
" onclick="this.select();" readonly="readonly" />
	</div>
	<?php 
    }
    ?>

	<?php 
    if ($foxyshop_settings['enable_sso'] && $foxyshop_settings['sso_account_required'] == 2) {
        ?>
	<div id="foxyshop_require_sso" class="foxyshop_field_control">
		<input type="checkbox" name="_require_sso" id="_require_sso" style="float: left; margin: 5px 0 0 10px;"<?php 
        echo checked(get_post_meta($post->ID, '_require_sso', TRUE), "on");
        ?>
 />
		<label style="width: 210px;" for="_require_sso"><?php 
        _e('Require Account For Checkout', 'foxyshop');
        ?>
</label>
	</div>
	<?php 
    }
    ?>
	<div id="foxyshop_hide_product" class="foxyshop_field_control">
		<input type="checkbox" name="_hide_product" id="_hide_product"<?php 
    echo checked($_hide_product, "on");
    ?>
 />
		<label style="width: 210px;" for="_hide_product"><?php 
    echo sprintf(__('Hide This %s From List View', 'foxyshop'), FOXYSHOP_PRODUCT_NAME_SINGULAR);
    ?>
</label>
	</div>
	<div style="clear:both"></div>

	<script type="text/javascript">

	//Setup Vars For Use Later
	var FOXYSHOP_PRODUCT_NAME_SINGULAR = '<?php 
    echo strtolower(str_replace("'", "\\'", FOXYSHOP_PRODUCT_NAME_SINGULAR));
    ?>
';
	var show_downloadables = <?php 
    echo $show_downloadables ? 1 : 0;
    ?>
;
	var nonce_downloadable_list = '<?php 
    echo wp_create_nonce("foxyshop-ajax-get-downloadable-list");
    ?>
';
	var defaultweight1 = '<?php 
    echo $defaultweight1;
    ?>
';
	var defaultweight2 = '<?php 
    echo $defaultweight2;
    ?>
';
	var weight_dividend = <?php 
    echo $foxyshop_settings['weight_type'] == 'metric' ? 1000 : 16;
    ?>
;
	var use_chozen = <?php 
    echo $foxyshop_settings['related_products_custom'] || $foxyshop_settings['related_products_tags'] || $foxyshop_settings['enable_addon_products'] ? 1 : 0;
    ?>
;

	var renameLive = false;
	var post_id = <?php 
    echo $post->ID;
    ?>
;
	var nonce_images = '<?php 
    echo wp_create_nonce("foxyshop-product-image-functions-" . $post->ID);
    ?>
';

	<?php 
    //Get Max Upload Limit
    $max_upload = (int) ini_get('upload_max_filesize');
    $max_post = (int) ini_get('post_max_size');
    $memory_limit = (int) ini_get('memory_limit');
    $upload_mb = min($max_upload, $max_post, $memory_limit);
    $foxyshop_max_upload = $upload_mb * 1048576;
    if ($foxyshop_max_upload == 0) {
        $foxyshop_max_upload = "8000000";
    }
    ?>
	var foxyshop_max_upload = '<?php 
    echo $foxyshop_max_upload;
    ?>
';

	var FOXYSHOP_DIR = '<?php 
    echo FOXYSHOP_DIR;
    ?>
';
	var FOXYSHOP_URL_BASE = '<?php 
    echo FOXYSHOP_URL_BASE;
    ?>
';
	var bloginfo_url = '<?php 
    echo is_ssl() ? str_replace("http://", "https://", get_bloginfo("url")) : get_bloginfo("url");
    ?>
';
	var datafeed_url_key = '<?php 
    echo $foxyshop_settings['datafeed_url_key'];
    ?>
';

	</script>

	<?php 
    //Add Action For Product Details (For Other Integrations)
    do_action("foxyshop_admin_product_details", $post->ID);
    //Setup Hidden Admin Fields
    echo '<input type="hidden" name="products_meta_noncename" value="' . wp_create_nonce(__FILE__) . '" />';
    echo '<input type="hidden" name="menu_order" value="' . ($post->menu_order == 0 && $post->post_status == "auto-draft" ? $post->ID : $post->menu_order) . '" />';
}