(function($) {

    $.register = $.extend({
        browseProductScript: function(json) {
            $(document).ready(function() {
                var wrapper = $(json.wrapper);
                var $mainImgWrapper = wrapper.find('#mainImgWrapper');
                var $productImg = wrapper.find('#product_img');
                var $zoom = wrapper.find('#zoom');
                wrapper.find('.images .altImages a').click(function() {
                    var imgSrc = $(this).attr('href');
                    var prodImgSrc = $productImg.attr("src");
                    prodImgSrc = prodImgSrc.substr(0, prodImgSrc.indexOf("p=", 0));
                    $productImg.attr("src", prodImgSrc + "p=" + imgSrc);
                    $productImg.parent().attr("href", imgSrc);
                    $zoom.attr("href", imgSrc);
                    return false;
                });
                $mainImgWrapper.photoviewer({
                    selector: "a[href]",
                    overlay: true,
                    resize: true,
                    titleSuffix: $.globalResources.strings.photoViewerTitleSuffix,
                    showOverlay: function() {
                        $(this).show();
                    },
                    hideOverlay: function(finished) {
                        $(this).fadeOut(finished);
                    }
                });
                $productImg.parent().hover(function() {
                    $zoom.show();
                }, function() {
                    $zoom.hide();
                });
                $zoom.hover(function() {
                    $zoom.show();
                }, function() {
                    $zoom.hide();
                });

                wrapper.find('div.relatedItemTabs').each(function() {
                    $(this).find('div:first').tabs();
                });

                var $btnAddToCart = wrapper.find('#product_btn_addToCart');
                var $btnEmailFriend = wrapper.find('#product_btn_emailFriend');
                var $btnAddToWishList = wrapper.find('#product_btn_addToWishList');
                var $addToCartForm = wrapper.find('#addToCartForm');
                var $qty = $addToCartForm.find('#product_qty');

                var $dialog_newItemInCart = wrapper.find('#dialog_newItemInCart').dialog({
                    autoOpen: false,
                    modal: true,
                    width: 500
                });
                $addToCartForm.submit(function() {
                    $.globalVars.dialogs.$loading.dialog("open");
                    if (isNaN($qty.val())) $qty.val("1");
                    $.get($addToCartForm.attr("action") + "/" + json.productId, $addToCartForm.serialize(), function(html) {
                        $dialog_newItemInCart.html(html);
                        $dialog_newItemInCart.find('#newItemInCart_close').click(function() { $dialog_newItemInCart.dialog("close"); return false; });
                        $dialog_newItemInCart.dialog("open");
                        $.globalVars.dialogs.$loading.dialog("close");
                    }, "html");
                    return false;
                });

                var $dialog_newItemInWishList = wrapper.find('#dialog_newItemInWishList').dialog({
                    autoOpen: false,
                    modal: true,
                    width: 500
                });
                $btnAddToWishList.click(function() {
                    $.globalVars.dialogs.$loading.dialog("open");
                    $.get($.globalVars.virtualPath + "/AddItemToWishList/" + json.productId, null, function(html) {
                        $dialog_newItemInWishList.html(html);
                        $dialog_newItemInWishList.find('#newItemInWishList_close').click(function() { $dialog_newItemInWishList.dialog("close"); return false; });
                        $dialog_newItemInWishList.dialog("open");
                        $.globalVars.dialogs.$loading.dialog("close");
                    }, "html");
                    return false;
                });

                $btnEmailFriend.click(function() {
                    $.globalVars.dialogs.$emailFriend.dialog("open");
                    return false;
                });

                wrapper.find('select[fixedpricing=1]').change(function() {
                    wrapper.find('#attributePrice').html($(this).find('option:selected').attr("price"));
                });


            });
        }
    }, $.register);

})(jQuery);