var clShop = {
    errorMsg:null,
    singleton:null,
    preloader:null,
    infoblock:null,
    action:null,
    action2:null,
    Init:function(action, action2){
        clShop.action = action;
        clShop.action2 = action2;
        clShop.singleton = false;
        clShop.preloader = new dxsmallpreloader();
        clShop.infoblock = $('#shop_infoblock');
        $('a.addtocart').click(clShop.addToCart);
        $('img.resized').each(function(){
          clShop.resizeImage(this, 200, 300);
        });
        $('a.nologin').click(function(){
            var nldiv = $('<div class="carterror">'+'<b>'+clShop.errorMsg['unregister']+'</b></div>');
            $('#header').append(nldiv);
            nldiv.fadeIn().fadeOut(3000);
            $('#header').remove(nldiv);
            //.remove();
        });
    },
    addToCart:function(){
        if (!clShop.singleton){
            clShop.singleton = true;
            var data = new Object();
            var par = $(this).parents('div.buy-block');
            data['item_id'] = par.find('input.book_id').val();
            clShop.infoblock.hide().empty();
            clShop.preloader.Show($(par)[0]);
            jQuery.ajax({
                   type : 'post',
                   url  : clShop.action, //'/users_handler?prefix=buy',
                   data : data,
                   timeout: 35000,
                   success: function(str) {
                       clShop.preloader.Hide();
                       if (str == 'unregister')
                       {
                           clShop.infoblock.append('<b>'+clShop.errorMsg['unregister']+'</b>').insertAfter(par).fadeIn().fadeOut(3000);
                           clShop.singleton = false;
                           return;
                       }
                       if (str == 'error')
                       {
                           clShop.infoblock.append('<b>'+clShop.errorMsg['servererror']+'</b>').insertAfter(par).fadeIn().fadeOut(3000);
                           clShop.singleton = false;
                           return;
                       }
                       par.find('a.addtocart').remove();
                       par.find('div.a').append('<b>'+clShop.errorMsg['incart']+'</b>');
                       clShop.infoblock.append(str).insertAfter(par).fadeIn().fadeOut(3000);
                       clShop.updateCart();
                       clShop.singleton = false;
                   },
                   error: function(){
                       clShop.preloader.Hide();
                       clShop.infoblock.append(clShop.errorMsg['servererror']).insertAfter(par).fadeIn().fadeOut(3000);
                       clShop.singleton = false;
                   }
                });
        }
    },
    updateCart:function(){
        var cart = $('#carttext');
        //clShop.preloader.Show($(cart)[0]);
        jQuery.ajax({
               type : 'post',
               url  : clShop.action2,
               timeout: 35000,
               success: function(str) {
                   //clShop.preloader.Hide();
                   if (str != 'error'){
                    cart.empty().append(str);
                   }
               },
               error: function(){
                   //clShop.preloader.Hide();
               }
            });
    },
    resizeImage:function(image, maxwidth, maxheight){
        w = image.width;
        h = image.height;

        if( w == 0 || h == 0 )
        {
            image.width = maxwidth;
            image.height = maxheight;
        }
        else if (w > h)
        {
            if (w > maxwidth) image.width = maxwidth;
        }
        else
        {
            if (h > maxheight) image.height = maxheight;
        }
    }
}
