//link to product
        $mylink = str_replace(HASH, $product_id, $link);
    }
    $module_content[$i] = array($products_element_text => $i, $products_name_text => strip_tags($product[$name_text]), $big_products_id_text => $product_id, $products_qty_text => $myquantity, $products_model_text => $product[$model_text], $products_addon_info_text => $myimage . $mark_stock, $products_tax_text => number_format($product[$tax_text], TAX_DECIMAL_PLACES), $products_image_text => $image, $box_delete_text => $mydelete, $products_link_text => $mylink, $products_price_text => $total_price, $products_single_price_text => olc_format_price($price_single, 1, 1), $products_short_description_text => strip_tags(olc_get_short_description($product_id)), $products_attributes_text => EMPTY_STRING);
    //W. Kaiser - AJAX
    // Product options names
    $product_attributes = $product[$attributes_text];
    $attributes_exist = isset($product_attributes) ? true : false;
    if ($attributes_exist) {
        reset($product_attributes);
        while (list($option, $value) = each($product_attributes)) {
            $product_option = $product[$option];
            $products_options_value_name = $product_option[$products_options_values_name_text];
            if (strpos($products_options_value_name, "Bitte wählen Sie") === false) {
                if ($do_atribute_stock_check) {
                    $_SESSION[$any_out_of_stock_text] = olc_check_stock_attributes($product_option[$products_attributes_id_text], $products_quantity);
                }
                $price = $product_option[$options_values_price_text];
                if ($price != 0) {
                    $price = olc_get_products_attribute_price($price, $tax_class = $product[$tax_class_id_text], $price_special = 1, $quantity = $products_quantity, $prefix = trim($product_option[$price_prefix_text]));
                } else {
                    $price = EMPTY_STRING;
                }
                $module_content[$i][$products_attributes_text][] = array($element_text => $i, $big_id_text => $product_option[$products_attributes_id_text], $big_model_text => $product_option[$products_options_model_text], $big_name_text => $product_option[$products_options_name_text], $value_name_text => $products_options_value_name . $attribute_stock_check, $price_text => $price);
            }
        }
    }
}
//W. Kaiser - AJAX
if (CUSTOMER_SHOW_PRICE) {
    if ($not_show_saved_cart) {
         echo $stock_check = olc_check_stock($products[$i]['id'], $products[$i]['quantity']);
         if ($stock_check) {
             $any_out_of_stock = 1;
         }
     }
 }
 // Product options names
 $attributes_exist = isset($products[$i]['attributes']) ? 1 : 0;
 if ($attributes_exist == 1) {
     reset($products[$i]['attributes']);
     while (list($option, $value) = each($products[$i]['attributes'])) {
         echo '<br/><small><i> - ' . $products[$i][$option]['products_options_model'] . '  ' . $products[$i][$option]['products_options_name'] . BLANK . $products[$i][$option]['products_options_values_name'] . '</i></small>';
         // Display marker if attributes-stock quantity insufficient
         if (!strstr($PHP_SELF, FILENAME_ACCOUNT_HISTORY_INFO)) {
             if (ATTRIBUTE_STOCK_CHECK == TRUE_STRING_S) {
                 echo $attribute_stock_check = olc_check_stock_attributes($products[$i][$option]['attributes_stock'], $products[$i]['quantity']);
                 if ($attribute_stock_check) {
                     $any_out_of_stock = 1;
                 }
             }
         }
     }
 }
 echo '</td>' . NEW_LINE;
 // Tax (not in shopping cart, tax rate may be unknown)
 if ($not_is_shopping_cart) {
     echo '    <td align="center" valign="top" class="main">' . number_format($products[$i]['tax'], TAX_DECIMAL_PLACES) . '%</td>' . NEW_LINE;
 }
 // Product price
 // elari - changed CS V3.x
 if ($customer_status_value['customers_status_discount'] != 0) {