function eStore_get_gateway_specific_buy_now_button_code($id, $gateway = 'paypal', $button_text = '', $line_break = true, $nggImage = '', $buttonImage = '')
{
    global $wpdb;
    $products_table_name = WP_ESTORE_PRODUCTS_TABLE_NAME;
    $id = strip_tags($id);
    $ret_product = $wpdb->get_row("SELECT * FROM {$products_table_name} WHERE id = '{$id}'", OBJECT);
    if (!$ret_product) {
        return eStore_wrong_product_id_error_msg($id);
    }
    $replacement = "";
    if (is_numeric($ret_product->available_copies)) {
        if ($ret_product->available_copies < 1) {
            // No more copies left
            return eStore_get_sold_out_button();
        }
    }
    if (!empty($ret_product->target_button_url)) {
        $replacement = '<form method="post" action="' . $ret_product->target_button_url . '">';
        $replacement .= eStore_get_buy_now_submit_input($ret_product->button_image_url);
        $replacement .= '</form>';
        return $replacement;
    }
    if (isset($_SESSION['eStore_gs_bn_co_error_msg']) && $_REQUEST['item_number'] == $id) {
        $replacement .= $_SESSION['eStore_gs_bn_co_error_msg'];
    }
    //$replacement .= '<object class="eStore_button_object">';
    $replacement .= '<form method="post" class="wppg-eStore-buy-button-form" action="" style="display:inline" onsubmit="return ReadForm1(this, 1);">';
    $var_output = get_variation_and_input_code($ret_product, $line_break, 1, $nggImage);
    if (!empty($var_output)) {
        $replacement .= $var_output;
    }
    //If custom price option is set
    if ($ret_product->custom_price_option == '1') {
        $currSymbol = WP_ESTORE_CURRENCY_SYMBOL;
        //get_option('cart_currency_symbol');
        $replacement .= '<div class="wppg-eStore-buy-button-custom-price">' . WP_ESTORE_YOUR_PRICE . ': ' . $currSymbol . '<input type="text" name="custom_price" size="3" value="" /></div>';
    }
    if ($ret_product->show_qty == '1') {
        $replacement .= '<div class="wppg-eStore-buy-button-qty">' . eStore_get_default_purchase_qty_input_data() . '</div>';
    } else {
        $replacement .= '<div class="wppg-eStore-buy-button-qty"><input type="hidden" name="add_qty" value="1" /></div>';
    }
    if (!empty($nggImage->alttext)) {
        $replacement .= '<input type="hidden" name="product" value="' . htmlspecialchars($nggImage->alttext) . '" /><input type="hidden" name="product_name_tmp1" value="' . htmlspecialchars($nggImage->alttext) . '" />';
    } else {
        $replacement .= '<input type="hidden" name="product" value="' . htmlspecialchars($ret_product->name) . '" /><input type="hidden" name="product_name_tmp1" value="' . htmlspecialchars($ret_product->name) . '" />';
    }
    if (!empty($nggImage->thumbURL)) {
        //$nggImage->imageURL
        $replacement .= '<input type="hidden" name="thumbnail_url" value="' . $nggImage->thumbURL . '" />';
    } else {
        $replacement .= '<input type="hidden" name="thumbnail_url" value="' . $ret_product->thumbnail_url . '" />';
    }
    $replacement .= '<input type="hidden" name="price" value="' . $ret_product->price . '" /><input type="hidden" name="price_tmp1" value="' . $ret_product->price . '" />';
    $replacement .= '<input type="hidden" name="item_number" value="' . $ret_product->id . '" /><input type="hidden" name="shipping" value="' . $ret_product->shipping_cost . '" /><input type="hidden" name="tax" value="' . $ret_product->tax . '" />';
    if (!empty($ret_product->product_url)) {
        $replacement .= '<input type="hidden" name="cartLink" value="' . $ret_product->product_url . '" />';
    } else {
        $replacement .= '<input type="hidden" name="cartLink" value="' . digi_cart_current_page_url() . '" />';
    }
    if (wp_eStore_is_digital_product($ret_product)) {
        //flag this as a digital product
        $replacement .= '<input type="hidden" name="digital_flag" value="1" />';
    }
    $replacement .= '<input type="hidden" name="eStore_gsbn_gateway" value="' . $gateway . '" />';
    $replacement .= '<input type="hidden" name="eStore_gs_buy_now_submit" value="1" />';
    if (empty($buttonImage)) {
        $buttonImage = $ret_product->button_image_url;
    }
    if (!empty($buttonImage)) {
        $replacement .= eStore_get_buy_now_submit_input($buttonImage);
    } else {
        $replacement .= eStore_get_buy_now_submit_input("", $button_text);
    }
    $replacement .= '</form>';
    //$replacement .= '</object>';
    return $replacement;
}
function eStore_show_download_now_button($id, $line_break = true, $nggImage = '')
{
    $output .= '<div class="download_now_button">';
    $output .= '<form method="post"  action="" style="display:inline" onsubmit="return ReadForm1(this, 1);">';
    $output .= '<input type="hidden" name="eStore_download_now_button" value="1" />';
    $output .= '<input type="hidden" name="download_now_product_id" value="' . base64_encode($id) . '" />';
    $output .= '<input type="hidden" name="eStore_form_time_value" value="' . strtotime("now") . '" />';
    global $wpdb;
    $products_table_name = WP_ESTORE_PRODUCTS_TABLE_NAME;
    $ret_product = $wpdb->get_row("SELECT * FROM {$products_table_name} WHERE id = '{$id}'", OBJECT);
    if (!empty($nggImage->alttext)) {
        $replacement .= '<input type="hidden" name="product" value="' . $nggImage->alttext . '" /><input type="hidden" name="product_name_tmp1" value="' . $nggImage->alttext . '" />';
    } else {
        $replacement .= '<input type="hidden" name="product" value="' . $ret_product->name . '" /><input type="hidden" name="product_name_tmp1" value="' . $ret_product->name . '" />';
    }
    $var_output = get_variation_and_input_code($ret_product, $line_break, 1, $nggImage);
    $output .= $replacement . $var_output;
    $button = $ret_product->button_image_url;
    if (!empty($button)) {
        $button_type .= '<input type="image" src="' . $button . '" class="download_now_button_submit" alt="' . ESTORE_DOWNLOAD_TEXT . '"/>';
    } else {
        $button_type .= '<input type="submit" name="submit" class="download_now_button_submit" value="' . ESTORE_DOWNLOAD_TEXT . '" />';
    }
    $output .= $button_type;
    $output .= '</form>';
    $output .= '</div>';
    return $output;
}