jQuery(document).ready(function() {
    // Quick View hover
    jQuery('.product_small_image').live('mouseover',function() {
        jQuery('.quick_view_open_link', this).css('display', 'block');
    });
    jQuery('.product_small_image').live('mouseout',function() {
        jQuery('.quick_view_open_link', this).css('display', 'none');
    });

    jQuery('.product_smaller_image').live('mouseover',function() {
        jQuery('.quick_view_open_link', this).css('display', 'block');
    });
    jQuery('.product_smaller_image').live('mouseout',function() {
        jQuery('.quick_view_open_link', this).css('display', 'none');
    });

    // Quick View links on products
    jQuery('.quick_view_open_link').live('click', function(event) {
        // initialize variables
        var product_title  = jQuery(this).attr('dialog_title');
        var dialog_domain  = jQuery(this).attr('dialog_domain');
        var product_id     = jQuery(this).attr('id').substr(5);
        var cart_item_id   = jQuery(this).attr('cart_item_id');
        var qty            = jQuery(this).attr('qty');
        var optionsnum     = jQuery(this).attr('optionsnum');


        // remove any existing price blocks that will conflict with the price difference code
        jQuery('#quickview_dialog').data('price_block', jQuery('.price_small_' + product_id).html());
        jQuery('.price_small_' + product_id).html('');

        // open dialog
        jQuery('#quickview_dialog').dialog({
            modal: true,
            resizable: false,
            draggable: false,
            autoOpen: true,
            title: false,
            width: 660,
            height: 700,
            close: function() {
                jQuery('.price_small_' + product_id).html(jQuery('#quickview_dialog').data('price_block'));
                jQuery('#quickview_dialog').dialog('destroy');
                jQuery('#quickview_dialog').html('');
            },
            open: function() {
                jQuery('#quickview_dialog').parent().removeClass('ui-widget-content');
                jQuery('#quickview_dialog').prev().remove()
                var url = /*dialog_domain + */'index.php?p=ajax/get_product&product_id=' + product_id;
                if (cart_item_id) {
                    url += '&cart_item_id=' + cart_item_id + '&qty=' + qty + '&optionsnum=' + optionsnum;
                }

                jQuery('#quickview_dialog').load(url, function() {
                    jQuery('#quickview_dialog').dialog("option", "height", "auto");
                    jQuery('#quickview_dialog').dialog("option", "position", "center");

                    jQuery('.quickview_close').click(function() {
                        jQuery('#quickview_dialog').dialog('close');
                        return false;
                    });
                });
            }
        });
        event.preventDefault();
    });
});

// these are added into a function so they can be called again once ajax requests are completed
function initialize_quickview_links() {
    // Quick View hover
    jQuery('.quick_view_wrapper').mouseover(function() {
        jQuery('.quick_view_open_link', this).show();
    });
    jQuery('.quick_view_wrapper').mouseout(function() {
        jQuery('.quick_view_open_link', this).hide();
    });

    // Quick View links on products
    jQuery('.quick_view_open_link').click(function(event) {
        // initialize variables
        var product_title  = jQuery(this).attr('dialog_title');
        var dialog_domain  = jQuery(this).attr('dialog_domain');
        var product_id     = jQuery(this).attr('product_id');
        var cart_item_id   = jQuery(this).attr('cart_item_id');
        var qty            = jQuery(this).attr('qty');
        var optionsnum     = jQuery(this).attr('optionsnum');

        // remove any existing price blocks that will conflict with the price difference code
        jQuery('#quickview_dialog').data('price_block', jQuery('.price_small_' + product_id).html());
        jQuery('.price_small_' + product_id).html('');

        // open dialog
        jQuery('#quickview_dialog').dialog({
            zIndex: 10000,
            modal: true,
            autoOpen: true,
            dialogClass: 'quickview_dialog',
            title: product_title,
            resizable: false,
            width: 700,
            height: 700,
            close: function() {
                jQuery('.price_small_' + product_id).html(jQuery('#quickview_dialog').data('price_block'));
                jQuery('#quickview_dialog').dialog('destroy');
                jQuery('#quickview_dialog').html('');
            },
            open: function() {
                var url = dialog_domain + 'index.php?p=ajax/get_product&product_id=' + product_id;
                if (cart_item_id) {
                    url += '&cart_item_id=' + cart_item_id + '&qty=' + qty + '&optionsnum=' + optionsnum;
                }
                jQuery('#quickview_dialog').load(url, function() {
                    jQuery('#quickview_dialog').dialog("option", "height", "auto");
                    jQuery('#quickview_dialog').dialog("option", "position", "center");
                    jQuery('.quickview_close').click(function() {
                        jQuery('#quickview_dialog').dialog('close');
                        return false;
                    });
                });
            }
        });
        event.preventDefault();
    });
}


