var ShopManager = function () {
    var basketDialog; // Панель для показа добавления в корзину
    var pingTimeout = 1000*60*5;
    var imgButton;

    function createBasketDialog(productId) {
        basketDialog = new YAHOO.widget.Overlay("basket", { fixedCenter:true,
                                                              visible:false,
                                                              width:"300px" } );
        basketDialog.setHeader('<table align="right" cellpadding="0" cellspacing="0"><tr><td><a href="javascript:ShopManager.closeBasketDialog();"><img src="/images/close.gif" height="16" width="16" border="0" title="Закрыть окно"></a></td></tr></table>Добавление в корзину');
        basketDialog.setBody('<form id="basketForm" name="basketForm" method="POST" action="/shop/json/addToBasket.json"><table>' +
            '<tr><td>Кол-во:</td><td><input type="text" name="amount" value="1"></td></tr>' +
            '<tr><td>&nbsp;</td><td><button type="button"  class="submit" onClick="ShopManager.addToBasket();">Добавить в корзину</button></td></tr>' +
            '</table><input type="hidden" name="productId" value="' + productId + '"></form>');

        //overlay2.setFooter("End of Overlay #2");
        basketDialog.render(document.body);
    }



   // Public interface
    return {
        closeBasketDialog: function() {
            if (basketDialog) {
                basketDialog.hide();
            }
        },


        addToBasket : function() {
            function handleAjaxSuccess(resp) {
                // Пишем новый текст в окно статуса
                //getEl("basketDlgText").update("Товар добавлен в корзину.<br>Сейчас в корзине x товаров на сумму y");
                basketDialog.setBody("Товар добавлен в корзину.<br>" +
                "Сейчас в корзине товаров <b>"+ resp.basketCount +"</b> на сумму <b>" + resp.basketTotal +
                        " руб.</b><br><center><button class='submit' onclick='javascript:ShopManager.closeBasketDialog();'>закрыть</button></center>");
                //document.getElementById("closeBasketDlg").onclick=ShopManager.closeBasketDialog;





                // Находим на странице все упоминания статуса корзины и обновляем их.
                var basketCounts = YAHOO.util.Dom.getElementsByClassName("basketCount", "span");
                for (var i=0; i<basketCounts.length; i++) {
                    var span = basketCounts[i];
                    span.innerHTML = resp.basketCount;
                }
                var basketTotals = YAHOO.util.Dom.getElementsByClassName("basketTotal", "span");
                for (var i=0; i<basketTotals.length; i++) {
                    var span = basketTotals[i];
                    span.innerHTML = resp.basketTotal;
                }

                imgButton.src = "/shop/img/shopping_cart.gif";
                imgButton.title = "Товар уже добавлен в корзину";
                imgButton.onclick = function() {return false;};
                imgButton.style.cursor = "auto";
            }

            // Отправляем данные формы в action
            var formObject = document.getElementById('basketForm');
            YAHOO.util.Connect.setForm(formObject);
            AjaxErrorHandler.JSONRequest("POST", "/shop/json/addToBasket.json",
                handleAjaxSuccess);
        },

        basketAdd : function(productId, _imgButton) {
            if (basketDialog) {
                basketDialog.hide();
                basketDialog.destroy();
            }
            createBasketDialog(productId);
            basketDialog.show();
            imgButton = _imgButton;
        }
    };
}();

