var SYSteam_ImageVault_Shop_Ajax = 
{
    Dummy:function(texten)
        {
            alert(texten);
        },
    HandleCartListItem:function(itemId, conversionFormatId)
        {
            SYSteam_ImageVault_Shop_Ajax._RemoveFromCartList(itemId, conversionFormatId, false);
        },
    HandleCartItem:function(el, itemId, conversionFormatId, updateCart)
        {
            var lbl = $('lblCartItem_'+itemId+'_'+conversionFormatId);
            var cb = $('cbCartItem_'+itemId+'_'+conversionFormatId);
            if(el.checked)
            {
                SYSteam_ImageVault_Shop_Ajax._AddToCart(itemId, conversionFormatId, updateCart);
                // lbl.update(TXT_REMOVE_FROM_CART);
                lbl.addClassName('disabled');
                cb.addClassName('disabled');
            }
            else
            {
                SYSteam_ImageVault_Shop_Ajax._RemoveFromCart(itemId, conversionFormatId, updateCart);
                // lbl.update(TXT_ADD_TO_CART);
                lbl.removeClassName('disabled');
                cb.removeClassName('disabled');
            }
        },
    _AddToCart:function(itemId, conversionFormatId, updateCart)
        {
            new Ajax.Request(ajax_baseMethodUrl + "ImageVault/AddItemToCart.aspx?itemId=" + itemId + "&conversionFormatId=" + conversionFormatId,
                {
                    onSuccess: function(transport){
                        var rsp = eval('(' + transport.responseText + ')');
                        if(rsp.Code == 0) {
                            if(updateCart)
                            {
                                SYSteam_ImageVault_Shop_Ajax.PopulateQuickCart();
                            }
                        }
                        
                        if(rsp.Code == 200)
                        {
                            alert('You can only add ' + nMaxFilesInCart + ' files for downloading.');
                        }
                        
                    },
                    onFailure: function() { 
                        
                        alert('Could not update cart!\n\nAn error occured in ajaxGlobal.js (line 51)\n\nRequest URL: ' + ajax_baseMethodUrl + "ImageVault/AddItemToCart.aspx?itemId=" + itemId) 
                    }
                });
        },
    _RemoveFromCart:function(itemId, conversionFormatId, updateCart)
        {
            new Ajax.Request(ajax_baseMethodUrl + "ImageVault/RemoveItemFromCart.aspx?itemId=" + itemId + "&conversionFormatId=" + conversionFormatId,
                {
                    onSuccess: function(transport){
                        var rsp = eval('(' + transport.responseText + ')');
                        if(rsp.Code == 0) {
                            if(updateCart)
                            {
                                SYSteam_ImageVault_Shop_Ajax.PopulateQuickCart();
                            }
                        }
                        
                    },
                    onFailure: function() { 
                        
                        alert('Something went wrong...') 
                    }
                });
                
        },
    _RemoveFromCartList:function(itemId, conversionFormatId, updateCart)
        {
            new Ajax.Request(ajax_baseMethodUrl + "ImageVault/RemoveItemFromCart.aspx?itemId=" + itemId + "&conversionFormatId=" + conversionFormatId,
                {
                    onSuccess: function(transport){
                        var rsp = eval('(' + transport.responseText + ')');
                        if(rsp.Code == 0) {
                        
                            var html;
                            var htmlTemplate = new Template('<p>No images in your cart.</p>');
                            var NumberOfRows = rsp.ShopCartNoRows;
                            
                            if(NumberOfRows > 0) {
                                if(NumberOfRows > 1) {
                                    htmlTemplate = new Template('<p>Your cart contains #{ShopCartNoRows} images.</p><p><a href="/ImageVaultTemplates/DownloadFile.ashx">Click here to download your images in a single zip-file.</a></p>'); 
                                } else {
                                    htmlTemplate = new Template('<p>Your cart contain #{ShopCartNoRows} image.</p><p><a href="/ImageVaultTemplates/DownloadFile.ashx">Click here to download your images in a single zip-file.</a></p>'); 
                                }
                            }
                            
                            html = htmlTemplate.evaluate(rsp);

//                            alert(html);                            
                            $('CartListInfoTop').update(html);
                            $('CartListInfoBottom').update(html);
                        
                            if(updateCart)
                            {
                                SYSteam_ImageVault_Shop_Ajax.PopulateQuickCart();
                            }
                            $('trCartItem_' + itemId + '_' + conversionFormatId).remove();
                        }
                        
                    },
                    onFailure: function() { 
                        
                        alert('Something went wrong...') 
                    }
                });
                
        },
    PopulateQuickCart:function()
        {
            new Ajax.Request(ajax_baseHtmlIslandsUrl + "ImageVaultQuickCart.aspx",
                {
                    onSuccess: function(transport){
                        var rsp = eval('(' + transport.responseText + ')');
                        if(rsp.Code == 0)
                        {
                            $('iv-quickcart').replace(rsp.Html);   
                        }
                        else
                        {
                            // alert('Something went wrong...');
                        }
                    },
                    onFailure: function() { 
                        alert('Something went wrong...') 
                    }
                });
        }
};