HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers13/rie-jeanne.nl/wwwroot/public/js/viewer.js
(function($) {
    /**
     * Created by joepvanhunsel on 01-04-14.
     */

    $.viewer = function(element, options) {

        var defaults = {
            speed : 1000
        };

        // Reference to this
        var t = this;

        // Create settings object
        t.settings = {};

        // jQuery reference to element
        //var $element = $(element);

        // Lists
        t.$currentLi = null;

        // Constructor
        var init = function ()
        {
            // Extend the defaults with options, save in settings
            t.settings = $.extend({}, defaults, options);
        };

        t.goTo = function(value, direction)
        {
            if (direction == 'left'){
                value--;
                if (value == -1){
                    value = items.length-1;
                }
            }else{
                value++;
                if (value == items.length){
                    value = 0;
                }
            }

            $('.foto_select').val(value+1);
            if ($('#cards').size()){
                $('.customSelectInner').html('Kaartje ' + (value+1));
            }else if ($('#photography').size())
            {
                $('.customSelectInner').html('Foto ' + (value+1));
            }

            //get width of viewer
            var vlW = $('#viewer').width();

            // Get new list item
            var $newLi = build(value);

            //check wich side the new image must come
            if (direction == 'left')
            {
                // Place list item left
                $newLi.css({
                    'left' : '-'+vlW+'px'
                });
            }else
            {
                // Place list item right
                $newLi.css({
                    'left' : vlW+'px'
                });
            }

            // Append item to list
            $viewerList.append($newLi);

            $newLi.hide();

            //check to slide images in right direction
            if (direction == 'left' || direction == 'right')
            {
                animation(direction, $newLi);
            }
            else
            {
                $newLi.find('img').eq(0).load(function()
                {
                    var $img = $('.viewer_list').children('li');
                    $('.loader').fadeOut();
                    $newLi.fadeIn();
                    t.resizeViewer();

                    if (($newLi.height()*2+20) > $viewer.height())
                    {
                        var imgLeft = ($viewer.width() - $img.eq(0).find("img").width())/2;
                        $img.eq(0).css({
                            'left': '+='+imgLeft
                        });
                    }else
                    {
                        var imgTop = (($viewer.height() - $img.eq(0).find("img").height()*2))/2;
                        $img.eq(0).css({
                            'marginTop': '+='+imgTop
                        });
                    }

                    $newLi.animate({
                        'left' : '-='+vlW+'px'
                    },500);
                    t.$currentLi = $newLi;
                    $arrowLeft.css({
                        opacity: 0.5
                    });
                    $arrowRight.css({
                        opacity: 0.5
                    });
                    $('#fotoDropdown').css({
                        opacity: 1
                    })
                });
            }
        }

        var animation = function(direction, $newLi)
        {
            //get width of viewer
            var vlW = $('#viewer').width();

            $newLi.find('img').eq(0).load(function()
            {
                $('.loader').fadeOut();
                /*if ($arrowRight.){
                    $arrowRight.css({
                        opacity: 0.5
                    });

                    $arrowLeft.css({
                        opacity: 0.5
                    });

                }*/

                $newLi.fadeIn();

                t.resizeViewer(true);
                resizebg()


                var calc = '';
                // Animate
                if (direction == 'left')
                {
                    calc = '+=';
                }else if (direction == 'right')
                {
                    calc = '-=';
                }
                $newLi.animate({
                    'left' : calc+vlW+'px'
                },500);
                t.$currentLi.animate({
                    'left' : calc+vlW+'px'
                },500, function(){
                    t.$currentLi.remove();
                    t.$currentLi = $newLi;
                    disable=false;
                });

            });
        };

        var build = function(value)
        {
            var data='';
            var $li = $('<li/>');

            if(items[value]['position'])
            {
                if (items[value]['position']==1)
                {
                    data += "<img src='/public/uploads/" + items[value]['images'][0]['filename'] + "' class='horizontal'/> ";
                    if (items[value]['images'][1]){
                        data += "<img src='/public/uploads/" + items[value]['images'][1]['filename'] + "' class='horizontal' /> ";
                        data += "<div class='clear'></div>";
                    }
                }else
                {
                    data += "<img src='/public/uploads/" + items[value]['images'][0]['filename'] + "' class='vertical' />";
                    if (items[value]['images'][1]){
                        data += "<img src='/public/uploads/" + items[value]['images'][1]['filename'] + "' />";
                    }
                }

            }else
            {
                data = "<img src='/public/uploads/" + items[value]['images'][0]['filename'] + "' class='single' />";
            }
            $li.html(data);

            return $li;
        };

        t.resizeViewer = function(newImg)
        {
            var $img = $('.viewer_list').children('li');
            var viewerLeft = $viewer.offset().left;

            var vRatio = $viewer.width() / $viewer.height();

            //check height to set viewer size
            var vh = $(window).height()-210;
            var vw = vh*vRatio;

            if (vw > ($(window).width()-viewerLeft-70))
            {
                vw = $(window).width()- viewerLeft-70;
                vh = vw/vRatio;
            }

            $('.loader').css({
               'marginTop' : vh/2,
               'left': vw/2
            });

            if (vh < 480)
            {
                vh = 480;
                vw = vh*vRatio;
            }

            $viewer.css({
                'height': vh,
                'width': vw
            });

            var vih;
            var viw;
            var viRatio;

            var eq;
            if (newImg == true)
            {
                eq=1;
            }else
            {
                eq=0;
            }
            vih = $img.eq(eq).find("img").height();
            viw = $img.eq(eq).find("img").width();
            viRatio = viw/vih;
            vih = vw/viRatio;

            var horizontal = $img.eq(eq).children('img').hasClass('horizontal');

            if(horizontal)
            {
                var liW = $img.eq(eq).find('img').width() * 2 + 40;
                $img.eq(eq).width(liW);

                if ($img.eq(eq).find("img").eq(1).offset())
                {
                    if ((viw*2+40) > vw)
                    {
                        $img.eq(eq).find("img").css({
                            'height': (vw/2-22)*viRatio,
                            'width':  vw/2-10
                        });
                    }else
                    {
                        $img.eq(eq).find("img").css({
                            'height': vh,
                            'width':  vh*viRatio

                        });
                    }

                    if (newImg == true)
                    {
                        if (viw*2 > vw)
                        {
                            var imgTop = ($viewer.height() - $img.eq(1).find("img").height())/2;
                            $img.eq(1).css({
                                'marginTop': '+='+imgTop
                            });
                        }else
                        {
                            var imgLeft = ($viewer.width() - $img.eq(1).find("img").width() - 150)/2;
                            $img.eq(1).css({
                                'left': '+='+imgLeft
                            });
                        }
                    }

                }else
                {
                    if (vih > vh)
                    {
                        $img.eq(eq).find("img").css({
                            'height': vh,
                            'width':  vh*viRatio
                        });
                    }else
                    {
                        $img.eq(eq).find("img").css({
                            'width':  vw,
                            'height': vw/viRatio
                        });
                    }
                    if (newImg == true)
                    {
                        if (vih > vh)
                        {
                            var imgLeft = ($viewer.width() - $img.eq(1).find("img").width())/2;
                            $img.eq(1).css({
                                'left': '+='+imgLeft
                            });
                        }else
                        {
                            var imgTop = ($viewer.height() - $img.eq(1).find("img").height())/2;
                            $img.eq(1).css({
                                'marginTop': '+='+imgTop
                            });
                        }
                    }
                }




            }else{
                if ($img.eq(eq).find("img").eq(1).offset())
                {
                    if ((vih*2+20) > vh)
                    {
                        $img.eq(eq).find("img").css({
                            'height': (vh-20)/2,
                            'width':  (vh-20)/2*viRatio
                        });
                    }else
                    {
                        $img.eq(eq).find("img").css({
                            'width':  (vw),
                            'height': (vw/viRatio)
                        });
                    }

                    if (newImg == true)
                    {
                        if ((vih*2+20) > vh)
                        {
                            var imgLeft = ($viewer.width() - $img.eq(1).find("img").width())/2;
                            $img.eq(1).css({
                                'left': '+='+imgLeft
                            });
                        }else
                        {
                            var imgTop = (($viewer.height() - $img.eq(1).find("img").height()*2))/2;
                            $img.eq(1).css({
                                'marginTop': '+='+imgTop
                            });
                        }
                    }
                }else
                {
                    if (vih > vh)
                    {
                        $img.eq(eq).find("img").css({
                            'height': vh,
                            'width':  vh*viRatio
                        });
                    }else
                    {
                        $img.eq(eq).find("img").css({
                            'width':  vw,
                            'height': vw/viRatio
                        });
                    }
                    if (newImg == true)
                    {
                        if (vih > vh)
                        {
                            var imgLeft = ($viewer.width() - $img.eq(1).find("img").width())/2;
                            $img.eq(1).css({
                                'left': '+='+imgLeft
                            });
                        }else
                        {
                            var imgTop = ($viewer.height() - $img.eq(1).find("img").height())/2;
                            $img.eq(1).css({
                                'marginTop': '+='+imgTop
                            });
                        }
                    }
                }
            }


            var buttonLMargin = $viewer.offset().left -50;
            var buttonRMargin = $viewer.width()/2 + buttonLMargin + 20;
            var buttonTop = $viewer.offset().top + $viewer.height()/2 + 10;
            buttonTop = buttonTop - 30;

            $('.right').css({
                'width': ($viewer.width()/2+70),
                'marginLeft': buttonRMargin,
                'top': $viewer.offset().top,
                'height': $viewer.height()
            });
            $('.left').css({
                'width': ($viewer.width()/2+70),
                'marginLeft': buttonLMargin,
                'top': $viewer.offset().top,
                'height': $viewer.height()
            });

            $('.arrow_right').css({
                'marginLeft': buttonRMargin + $viewer.width()/2 + 50,
                'top' : buttonTop
            });
            $('.arrow_left').css({
                'marginLeft': buttonLMargin,
                'top' : buttonTop
            });

            /*$('.foto_dropdown').css({
                'marginLeft': $viewer.width() + parseInt($viewer.css('marginLeft')) - 195
            });*/
        };
        // Run plugin
        init();
    };

    $.fn.viewer = function(options)
    {
        return this.each(function()
        {
            // if plugin has not already been attached to the element
            if ($(this).data('viewer') == undefined)
            {
                // create a new instance of the plugin
                var viewer = new $.viewer(this, options);
                $(this).data('viewer', viewer);
            }
        });
    };
})(jQuery);