//<link rel="stylesheet" type="text/css" media="screen" href="http://www.fk-automotive.de/$WS/fk-automotive/websale7_shop-fk-automotive/benutzer/templates/Deutsch/css/fk_shop_enhance.css" />
//    <script type="text/javascript" src="http://www.fk-automotive.de/$WS/fk-automotive/websale7_shop-fk-automotive/benutzer/templates/Deutsch/js/php.js"></script>
//    <script type="text/javascript" src="http://www.fk-automotive.de/$WS/fk-automotive/websale7_shop-fk-automotive/benutzer/templates/Deutsch/js/jquery.blockui.js"></script>
//    <script type="text/javascript" src="http://www.fk-automotive.de/$WS/fk-automotive/websale7_shop-fk-automotive/benutzer/templates/Deutsch/js/fk_shop_enhance.js"></script>



//<script type="text/javascript">
//    enhanceShoppingCart();
//</script>
//
var paymentOptions  = [];
var deliveryOptions = [];
var formData = {
    'Ctx'                 : '',
    'radio_payment'       : '',
    'input_delivery'      : '',
    'input_voucher'       : '',
    'input_delivery_date' : '',
    'btn_next'            : 1,
    'js_paydeliv'         : 'on'
};
         
function fk_enhanceShoppingCart()
{
    $().ready(function () {
        // store the current form data
        formData.Ctx                 = $('input[name=Ctx]').val();
        formData.btn_next            = 1;
        
        var originalPaymentTable  = $('table.payment_table');
        var originalDeliveryTable = $('table.delivery_table');
        originalPaymentTable.css('display', 'none');
        originalDeliveryTable.css('display', 'none');
        
        // get all payment methods
        originalPaymentTable.find('tr').each(function () {
            var name   = $(this).find('td[class$=_3] span').eq(0).text();
            var source = $(this).find('td[class$=_2] input');
            paymentOptions.push({'name' : name, 'source' : source});
        });
        
        // make the new payment options container
        var newPaymentDiv = $('<div id="payment_options" class="fk_payment_div" />');
        
        // make the new delivery options container
        var newDeliveryDiv = $('<div id="delivery_options" class="fk_delivery_div" />');
        
        // make the new delivery date container
        var newDeliveryDateDiv = $('<div id="delivery_date" class="fk_delivery_date_div" />');
        
        // make payment option box
        var payBox = $('<div class="fk_pay_box" />');
        
        // add the new payment options
        $.each(paymentOptions, function (key, paymentData) {
            var cPayBox = payBox.clone();
            
            switch (paymentData.name) {
                default:
                    cPayBox.html(paymentData.name);
                    break;
            }
            cPayBox.hover(
            function () {
                $(this).css('backgroundColor', '#ccc');
            },
            function () {
                $(this).css('backgroundColor', 'transparent');
            });
            
            cPayBox.click(function () {
                $(this).siblings().css('borderColor', 'red');
                $(this).css('borderColor', 'blue');
                
                paymentData.source.attr('checked', true);
                formData.radio_payment = paymentData.source.val();
                var url = window.location;

                jQuery.post(url, {
                    'Ctx'                 : formData.Ctx,
                    'radio.payment'       : formData.radio_payment,
                    'input.delivery'      : formData.input_delivery,
                    'input_voucher'       : formData.input_voucher,
                    'input_delivery_date' : formData.input_delivery_date,
                    'js_paydeliv'         : formData.js_paydeliv,
                    'btn_next'            : formData.btn_next
                }, function (response) {
                    $.unblockUI();
                    $('#delivery_options').unblock();
                    generateDeliveryOptions($(response).find('table.delivery_table'));
                    
                }, 'text/html');
                var spinner = $('#spinner').clone();
                spinner.css('display', 'block');
                var spinnerContainer = $('<div id="spinnerContainer" class="fk_spinner" />').append(spinner);
                
                $.blockUI({
                    message : null,
                    css: { 
                        border: '0px', 
                        backgroundColor: 'transparent', 
                        opacity:0
                    },
                    overlayCSS:  { 
                        opacity:0,
                        backgroundColor: 'transparent'
                    }
                });
                $('#delivery_options').block({
                    message: spinnerContainer,
                    css: { 
                        border: '0px', 
                        backgroundColor: '#FFF', 
                        opacity:1,
                        paddingLeft:'70px'
                    },
                    overlayCSS:  { 
                        opacity:1,
                        backgroundColor: '#FFFFFF',
                        width:'98%'
                    },
                    growlCSS: { 
                        opacity:1
                    }
                });
            });
            newPaymentDiv.append(cPayBox);
        });
        // add the complete new payment div
        newPaymentDiv.insertBefore(originalPaymentTable);
        
        // add the complete new delivery div
        newDeliveryDiv.insertBefore(originalDeliveryTable);
        
        newDeliveryDateDiv.insertBefore(originalDeliveryDateDiv);
        
        $('input[name=button_paydeliv_next]').click(function (e) {
            
            alert('selected deliv = ' + print_r(formData, true));
            
            var fFBox = $('<div />');
            var iH = $('<input type="hidden" />');
            fFBox.append(iH.clone()).attr('name', 'radio.payment').attr('value', formData.radio_payment);
            fFBox.append(iH.clone()).attr('name', 'input.delivery').attr('value', formData.input_delivery);
            fFBox.append(iH.clone()).attr('name', 'input_voucher').attr('value', formData.input_voucher);
            fFBox.append(iH.clone()).attr('name', 'input_delivery_date').attr('value', formData.input_delivery_date);
            fFBox.append(iH.clone()).attr('name', 'btn_next').attr('value', 1);
            $('form[name=PaymentDelivery]').append(fFBox).submit();
            e.stopPropagation();
            e.preventDefault();
        });
        originalPaymentTable.remove();
        originalDeliveryTable.remove();
    });
}

function generateDeliveryOptions(deliveryTable)
{
    // make delivery option box
    var delivBox = $('<div class="fk_deliv_box" />');
    
    // remove the previous delivery options
    deliveryOptions = [];
    $('#delivery_options').empty();
    
    // get delivery options
    deliveryTable.find('tr').each(function () {
        var rButton = $(this).find('td[class="delivery_td_1"]');
        // check if the radio button is defined
        if (0 < rButton.length) {
            var name     = $(this).find('td[class$=_2] span').eq(0).text();
            var source   = rButton.find('input');
            
            var disabled = source.is(':disabled');
            deliveryOptions.push({'name' : name, 'source' : source, 'disabled' : disabled});
        }
    });
    
    if (0 < deliveryOptions.length) {
        // add the new delivery options
        $.each(deliveryOptions, function (key, deliveryData) {
            var cDelivBox = delivBox.clone();
            
            switch (deliveryData.name) {
                default:
                    cDelivBox.html(deliveryData.name);
                    break;
            }
            
            if (true == deliveryData.disabled) {
                cDelivBox.attr('class', cDelivBox.attr('class') + '_disabled');
            } else {
                
                cDelivBox.hover(
                function () {
                    $(this).css('backgroundColor', '#ccc');
                },
                function () {
                    $(this).css('backgroundColor', 'transparent');
                });
            
                cDelivBox.click(function () {
                    
                    $(this).siblings().css('borderColor', 'red');
                    $(this).css('borderColor', 'blue');
                    
                    deliveryData.source.attr('checked', true);
                    formData.input_delivery = deliveryData.source.val();
                    var url = window.location;
                    
                    jQuery.post(url, {
                        'Ctx'                 : formData.Ctx,
                        'radio.payment'       : formData.radio_payment,
                        'input.delivery'      : formData.input_delivery,
                        'input_voucher'       : formData.input_voucher,
                        'input_delivery_date' : formData.input_delivery_date,
                        'js_paydeliv'         : formData.js_paydeliv,
                        'btn_next'            : formData.btn_next
                    }, function (response) {
                        
                    }, 'text/html');
                });
            }
            $('#delivery_options').append(cDelivBox);
        });
        $('#delivery_options').css('display', 'block');
    }
}
function fk_enhanceShowBasket()
{
    $().ready(function () {
        var bUI = {
            message : null,
            css: { 
                border: '0px', 
                backgroundColor: '#000', 
                opacity:0.5
            },
            overlayCSS:  { 
                opacity:0.5,
                backgroundColor: '#000'
            }
        };
        $('table.basket_table tr[class^=basket_tr_][class!=basket_tr_footer][class!=basket_tr_header]:not([class*=_reservation_])').each(function () {
            var row = $(this);
            var modButton = row.first().find('a img[src*=a_edit.gif]').parent();
            
            var c = $(this).find('td:eq(3)').first();
            var nC = $('<span />').css({
                'marginRight' : '15px',
                'display'     : 'block',
                'float'       : 'left',
                'width'       : '80px'
            });
            c.css('width', '80px');
            c.first().children().wrap(nC);
            nC = c.find('span');
            
            var qty = parseInt(c.text());
            var decreaseButton = $('<a class="decrease" title="Nehmen Sie ein St&uuml;ck"><span>&nbsp;</span></a>');
            var increaseButton = $('<a class="increase" title="F&uuml;gen Sie ein St&uuml;ck"><span>&nbsp;</span></a>');
            
            decreaseButton.click(function () {
                var link = $(this).parent().parent().parent().first().find(' a img[src*=a_edit.gif]').parent().attr('href');
                $(this).parent().parent().parent().first().find('a img[src*=a_delete.gif]').parent().attr('id', 'decDelBtn');
                
                $.blockUI(bUI);
                jQuery.get(link, function (response) {
                    var r = $(response);
                    var iq = r.find('input[name=input_qty_1]');
                    var newQty = parseInt(iq.val()) - 1;
                    
                    if (0 >= newQty) {
                        window.location.href = $('#decDelBtn').attr('href');
                    } else {
                        iq.val(newQty);
                        var f = iq.parents('form');
                        $('body').append(f);
                        f.submit();
                    }
                });
                
                // avoid super-caching in IE
                var d = new Date();
                jQuery.ajax({
                    type : 'get',
                    url : 'http://www.fk-automotive.de' + link + '_' + d.getTime(),
                    success : function (response, tX, xhr) {
                        if ($.browser.msie && typeof response == "string") {
                            var result = new String(xhr.responseText);
                            var qtyFormPos = result.lastIndexOf('<form', result.indexOf('input_qty_1'));
                            result = result.substring(qtyFormPos, result.indexOf('</form>', qtyFormPos + 1));
                            r = $('<div />').html(result);
                        } else {
                            r = $(response);
                        }
                        
                        var iq = r.find('input[name=input_qty_1]');
                        var newQty = parseInt(iq.val()) - 1;
                        
                        if (0 >= newQty) {
                            window.location.href = $('#decDelBtn').attr('href');
                        } else {
                            iq.val(newQty);
                            var f = iq.parents('form');
                            $('body').append(f);
                            f.submit();
                        }
                    },
                    error : function (r, s, et) {
                        alert(s);
                    },
                    dataType : 'html'
                });
            });
            increaseButton.click(function () {
                var link = $(this).parent().parent().parent().first().find('a img[src*=a_edit.gif]').parent().attr('href');
                
                $.blockUI(bUI);
                // avoid super-caching in IE
                var d = new Date();
                jQuery.ajax({
                    type : 'get',
                    url : 'http://www.fk-automotive.de' + link + '_' + d.getTime(),
                    success : function (response, tX, xhr) {
                        var r = '';
                        if ($.browser.msie && typeof response == "string") {
                            var result = new String(xhr.responseText);
                            var qtyFormPos = result.lastIndexOf('<form', result.indexOf('input_qty_1'));
                            if (-1 != qtyFormPos) {
                                result = result.substring(qtyFormPos, result.indexOf('</form>', qtyFormPos + 1));
                                r = $('<div />').html(result);
                            }
                        } else {
                            r = $(response);
                        }
                        var iq = r.find('input=[name=input_qty_1]');
                        
//                        if (0 <= iq.length) {
                            iq.val(parseInt(iq.val()) + 1);
                            var f = iq.parents('form');
                            $('body').append(f);
                            f.submit();
//                        } else {
//                            alert('Sie haben die maximale Menge für dieses Produkt dürfen für diese Sitzung erreicht kaufen');
//                            $.unblockUI();
//                        }
                    },
                    error : function (r, s, et) {
                        alert(s);
                    },
                    dataType : 'html'
                });

            });
            nC.prepend(increaseButton);
            nC.prepend(decreaseButton);
        });
    });
}
 function parseXML(xml)
 {
     if (window.ActiveXObject && window.GetObject) {
         var dom = new ActiveXObject('Microsoft.XMLDOM');
         dom.loadXML(xml);
         return dom;
     }
     if (window.DOMParser) {
         return new DOMParser().parseFromString(xml, 'text/xml');
     }
     throw new Error('No XML parser available');
}
