// GV Code End
// GV Code line changed
if (is_array($payment_modules->modules) && sizeof($payment_modules->modules) > 1 && !is_object(${$_SESSION}['payment']) && !isset($_SESSION['credit_covers']) || is_object(${$_SESSION}['payment']) && ${$_SESSION}['payment']->enabled == false) {
    vam_redirect(vam_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
}
if (is_array($payment_modules->modules)) {
    $payment_modules->pre_confirmation_check();
}
// load the selected shipping module
require DIR_WS_CLASSES . 'shipping.php';
$shipping_modules = new shipping($_SESSION['shipping']);
// Stock Check
$any_out_of_stock = false;
if (STOCK_CHECK == 'true') {
    for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
        if (vam_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) {
            $any_out_of_stock = true;
        }
    }
    // Out of Stock
    if (STOCK_ALLOW_CHECKOUT != 'true' && $any_out_of_stock == true) {
        vam_redirect(vam_href_link(FILENAME_SHOPPING_CART));
    }
}
$breadcrumb->add(NAVBAR_TITLE_1_CHECKOUT_CONFIRMATION, vam_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
$breadcrumb->add(NAVBAR_TITLE_2_CHECKOUT_CONFIRMATION);
require DIR_WS_INCLUDES . 'header.php';
if (ACCOUNT_STREET_ADDRESS == 'true') {
    $vamTemplate->assign('SHIPPING_ADDRESS', 'true');
}
if (SHOW_IP_LOG == 'true') {
   ---------------------------------------------------------------------------------------*/
$module = new vamTemplate();
$module->assign('tpl_path', 'templates/' . CURRENT_TEMPLATE . '/');
// include needed functions
require_once DIR_FS_INC . 'vam_check_stock.inc.php';
require_once DIR_FS_INC . 'vam_get_products_stock.inc.php';
require_once DIR_FS_INC . 'vam_remove_non_numeric.inc.php';
require_once DIR_FS_INC . 'vam_get_short_description.inc.php';
require_once DIR_FS_INC . 'vam_format_price.inc.php';
require_once DIR_FS_INC . 'vam_get_attributes_model.inc.php';
$module_content = array();
$any_out_of_stock = '';
$mark_stock = '';
for ($i = 0, $n = sizeof($products); $i < $n; $i++) {
    if (STOCK_CHECK == 'true') {
        $mark_stock = vam_check_stock($products[$i]['id'], $products[$i]['quantity']);
        if ($mark_stock) {
            $_SESSION['any_out_of_stock'] = 1;
        }
    }
    $image = '';
    if ($products[$i]['image'] != '') {
        $image = DIR_WS_THUMBNAIL_IMAGES . $products[$i]['image'];
    }
    if (!is_file($image)) {
        $image = DIR_WS_THUMBNAIL_IMAGES . '../noimage.gif';
    }
    $module_content[$i] = array('PRODUCTS_NAME' => $products[$i]['name'] . $mark_stock, 'PRODUCTS_QTY' => vam_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2" data-id="' . $products[$i]['id'] . '" class="quantity"') . vam_draw_hidden_field('products_id[]', $products[$i]['id']) . vam_draw_hidden_field('old_qty[]', $products[$i]['quantity']), 'PRODUCTS_MODEL' => $products[$i]['model'], 'PRODUCTS_SHIPPING_TIME' => $products[$i]['shipping_time'], 'PRODUCTS_TAX' => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES), 'PRODUCTS_IMAGE' => $image, 'IMAGE_ALT' => $products[$i]['name'], 'BOX_DELETE' => $products[$i]['id'], 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($products[$i]['id'], $products[$i]['name'])), 'PRODUCTS_PRICE' => $vamPrice->Format($products[$i]['price'] * $products[$i]['quantity'], true), 'PRODUCTS_SINGLE_PRICE' => $vamPrice->Format($products[$i]['price'], true), 'PRODUCTS_SHORT_DESCRIPTION' => vam_get_short_description($products[$i]['id']), 'ATTRIBUTES' => '');
    // Product options names
    $attributes_exist = isset($products[$i]['attributes']) ? 1 : 0;
    if ($attributes_exist == 1) {
// avoid hack attempts during the checkout procedure by checking the internal cartID
if (isset($_SESSION['cart']->cartID) && isset($_SESSION['cartID'])) {
    if ($_SESSION['cart']->cartID != $_SESSION['cartID']) {
        vam_redirect(vam_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
    }
}
if (isset($_SESSION['credit_covers'])) {
    unset($_SESSION['credit_covers']);
}
//ICW ADDED FOR CREDIT CLASS SYSTEM
// Stock Check
if (STOCK_CHECK == 'true' && STOCK_ALLOW_CHECKOUT != 'true') {
    $products = $_SESSION['cart']->get_products();
    $any_out_of_stock = 0;
    for ($i = 0, $n = sizeof($products); $i < $n; $i++) {
        if (vam_check_stock($products[$i]['id'], $products[$i]['quantity'])) {
            $any_out_of_stock = 1;
        }
    }
    if ($any_out_of_stock == 1) {
        vam_redirect(vam_href_link(FILENAME_SHOPPING_CART));
    }
}
// if no billing destination address was selected, use the customers own address as default
if (!isset($_SESSION['billto'])) {
    $_SESSION['billto'] = $_SESSION['customer_default_address_id'];
} else {
    // verify the selected billing address
    $check_address_query = vam_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int) $_SESSION['customer_id'] . "' and address_book_id = '" . (int) $_SESSION['billto'] . "'");
    $check_address = vam_db_fetch_array($check_address_query);
    if ($check_address['total'] != '1') {