﻿/**
* jQuery panelsnap as a jQuery plugin
*
* Author: Richard Grundy
*/

(function($) {
        $.fn.panelsnap = function() {


            return this.each(function() {
                var $this = $(this);

                $(this).hover(
                function() {
                    $("#SnapPanelImage").remove();
                    var imgsrc = $(this).attr('href');

                    var pos = __posFromStyle(280, 280, $this)
                    
                    $(this).parent().createAppend('div', { id: "SnapPanelImage", className: "SnapPanelImage" }).html("<img src='" + imgsrc + "' />");

                    $("#SnapPanelImage").css({
                        top: pos.top,
                        left: pos.left
                    });

                },
                function() { });
            });
        };


        function __posFromStyle(iWidth, iHeight, alink) {

            var pos = $(alink).position();

            var Style = $(alink).attr("class");

            switch (Style) {
                case 'ZoomTopLeft':
                    {
                        break;
                    }
                case 'ZoomTopRight':
                    {
                        pos.left = pos.left - (iWidth / 2);
                        break;
                    }
                case 'ZoomBottomLeft':
                    {
                        pos.top = pos.top - (iHeight / 2);
                        break;
                    }
                case 'ZoomBottomRight':
                    {
                        pos.left = pos.left - (iWidth / 2);
                        pos.top = pos.top - (iHeight / 2);
                        break;
                    }
            }

            var scrollleft = 0;
            var scrolltop = 0;

            if ($.browser.msie) {
                scrollleft = $(document).scrollLeft();
                scrolltop = $(document).scrollTop();

            }
            else {
                scrollleft = $(alink).scrollLeft();
                scrolltop = $(alink).scrollTop();
            }
            
            if ($.browser.mozilla && $.browser.version == '1.9.0.1') {
                scrollleft = scrollleft + 25;
                scrolltop = scrolltop + 20;
            }
            
            pos.left = pos.left + scrollleft + 1;
            pos.top = pos.top + scrolltop;
            return pos;

        }
    })(jQuery);


    
   
   

     


      



