var page = {

    initialize: function(){
        /* Delete a product completely */
        $('[id^="productDelete"]').click(page.deleteProductFromCart);
        $('[id^="productUpdate"]').click(page.updateProductInCart)
       // override these in your code to change the default behavior and style of the Block UI
        $.blockUI.defaults = {

        message:  '<img src="' + main.SERVERPATH + 'public/img/ajaxloadbig.gif"/>',
        css: {
            padding:        0,
            margin:         0,
            width:          '30%',
            top:            '40%',
            left:           '35%',
            textAlign:      'center',
            border:         'none',
            backgroundColor:'transparent',
            cursor:         'wait'
        },

        overlayCSS:  {
            backgroundColor:'#ffffff',
            opacity:        '0.6'
        },
        baseZ: 1000,
        centerX: true,
        centerY: true,
        allowBodyStretch: true,
        constrainTabKey: true,
        fadeIn:  200,
        fadeOut:  400,
        timeout: 0,
        showOverlay: true,
        focusInput: true,
        applyPlatformOpacityRules: true,
        onUnblock: null,
        quirksmodeOffsetHack: 4
        };

        $('table.shoppingcartTable>tbody>tr:odd').addClass('shoppingcartTableRowOdd');
        $('table.shoppingcartTable>tbody>tr:even').addClass('shoppingcartTableRowEven');
    },
    
    deleteProductFromCart: function(){

       var sessionKey= this.id.replace('productDelete','');
        if(confirm('Weet je zeker dat je dit product uit je winkelwagen wilt verwijderen?')){
            $.getJSON(main.SERVERPATH+'shoppingcart/deleteproductfromcart/sessionkey/' + sessionKey + '/phpsessid/' + main.PHPSESSID + '/rnd/' + Math.random()*99999,
                    '',
                    page.deleteProductFromCartResult
                 );
        }
    },

    deleteProductFromCartResult: function(data){

        if(data.status == 'success'){
              page.updateItemsInCart();
              page.updateTotalPrice();
              page.reloadShoppingCart();
            }
    },

    updateProduct : function(){
        var objectID = this.id.replace('amount','');
        setTimeout('page.updateProductInCart("'+objectID+'")',1000);
    },

    updateProductInCart: function(objectID){

       var amount = $('#amount'+objectID).val();

       $.getJSON(main.SERVERPATH+'shoppingcart/updateproductincart/amount/'+ amount + '/sessionkey/' + objectID + '/phpsessid/' + main.PHPSESSID + '/rnd/' + Math.random()*99999,
                 '',
                 page.updateProductInCartResult);

    },

    updateProductInCartResult: function(data){

        page.updateItemsInCart();
        page.updateTotalPrice();

        if(data.status == 'success'){
              $('#shoppingCartMessages').html('');
              $('#shoppingCartMessages').show('slow');
              $('#shoppingCartMessages').html(data.message);
              page.reloadShoppingCart();

            } else {
                $('#shoppingCartMessages').show('slow');
                $('#shoppingCartMessages').html(data.message);
                page.reloadShoppingCart();
            }
    },

    updateItemsInCart : function(){
        $.get(main.SERVERPATH + "shoppingcart/itemsincart",
               function(returned_data){
                    $('span.dontDisplay').css('display','none');
                    $("#liveAmount").val(returned_data);
                    if(returned_data == 0) {
                        $('#cartIsEmpty').css('display','inline');
                    } else if(returned_data == 1) {
                        $('#cartIsOne').css('display','inline');
                        $("#cartIsOne").children('span').html(returned_data);
                    } else {
                        $('#cartIsMore').css('display','inline');
                        $("#cartIsMore").children('span').html(returned_data);
                    }
               }
           );
    },

    updateTotalPrice: function(){
        $.get(main.SERVERPATH + "shoppingcart/gettotalprice",
            function(returned_data){
                $("#totalPrice").children('a').html(returned_data);
            }
        );
    },

    reloadShoppingCart: function(){
            $('#shoppingCartData').block();
            $.get(main.SERVERPATH+'order/overview/disableLayout/true/originalAction/'+$('#originalAction').val()+'/phpsessid/' + main.PHPSESSID + '/rnd/' + Math.random()*99999,
                '',
                page.reloadShoppingCartResult
             );
    },

    reloadShoppingCartResult: function(data){
        if($('#liveAmount').val() == 0) {
            $('#ceckout').css('display','none');
            $('#priceNotice').css('display','none');
        }

        $('#shoppingCartData').unblock();
        $('#shoppingCartData').html(data);
        page.initialize();
    }

};
