﻿"use strict";

var player = {

    anim: 1,

    animating: function () {
        if (window.proj.still) { return false; }
        if (base.isMobile()) { return false; }
        return (player.anim == 1 || player.anim == 2);
    },

    audioCheck: function () {
        if (base.audio && !base.audio.paused && !player.unmuted) {
            player.vidUnmute();
        }
    },

    control: true,

    fadetime: 600,

    imgindex: 0,

    imgload: function () {
        $(this).show().parent().animate({ opacity: 1 }, player.fadetime);
        if (base.media.holdtime !== undefined) {
            var n = (new Date()).getTime();
            base.media.starttime = n - (base.media.holdtime * 1000);
            base.media.holdtime = undefined;
        }
    },

    init: function () {
        base.subscribe('keydown', player.keydown);
        base.subscribe('mediaSet', player.mediaSet);
        base.subscribe('mediaSetTime', player.mediaSetTime);
        base.subscribe('play', player.play);
        base.subscribe('resize', player.resize);
        base.subscribe('stop', player.stop);
        if (player.parallax) { base.subscribe('scroll', player.scroll); $('.player .content').css({ position: 'relative', height: '100%' }); }
        if (player.control) {
            if (!base.isMobile()) {
                $('.player .player-inner').bind('mousemove', player.mouseMove).bind('mousedown', player.mouseDown).bind('mouseup', player.mouseUp).bind('mouseout', player.mouseOut);
                $('.player .content').bind('mousedown', function (e) {
                    player.pos.down = { x: e.pageX, y: e.pageY };
                }).bind(base.clickevent, function (e) {
                    var d = player.pos.down;
                    if (d) {
                        var l = Math.abs(d.x - e.pageX) + Math.abs(d.y - e.pageY);
                        if (l > 20) { return false; }
                    }
                    base.mediaPlayToggle();
                });
            }
            else {
                $('.player .player-inner').bind('touchmove', player.touchMove).bind('touchstart touchend', player.touchCount);
            }
            $('.player .player-unmute').bind(base.clickevent, player.vidUnmute);
        }
        $('.player .img img').load(player.imgload);
        var hasvid = false;
        $(window.proj.media).each(function (i, o) { if (o.t == 6) { hasvid = true; } });
        $(function () {
            if (window.proj.still) {
                player.fadetime = 0;
                player.control = false;
            }
            else {
                if (player.preload) { player.preloadNext(); }
            }
            player.mediaUpdate();
        });
        if (base.isMobile()) {
            player.touchMode = true;
            $(window).bind('touchMove', function (e) {
                var ad = $(e.originalEvent.target).closest('.allowdrag').length;
                if (ad == 0) { return base.nope(e); }
            });
        }
        if (!player.muteall) {
            $(window).bind('click', player.vidUnmute);
        }
        window.setTimeout(player.audioCheck, 100);
        window.setTimeout(player.audioCheck, 250);
        window.setTimeout(player.audioCheck, 500);
        window.setTimeout(player.audioCheck, 1000);
    },

    keydown: function (k) {
        if (player.control) {
            if (k == 32) { base.mediaPlayToggle(); }
            if (k == 37) { base.mediaPrev(); }
            if (k == 39) { base.mediaNext(); }
        }
    },

    keyframes: {},

    media: {},

    mediaSet: function (o) {
        if (player.media == o) { return false; }
        player.media = o;
        player.size.is360 = (o.t == 3);
        $(player.img_alt).hide();
        player.img_alt = $(player.img_main).css({ zIndex: 1 })[0];
        if (o.playerimg == undefined || $('img,video', o.playerimg)[0].loaded !== true) {
            if (o.t == 6) {
                var i = base.getVideoUrl(o, player.size.w, player.size.h);
                player.img_main = $('.player .img' + player.imgindex).css({ background: '#111', zIndex: 2 })[0];
                player.img_main.ratio = (i.w / i.h);
                player.img_main.media = o;
                player.img_main.isVideo = true;
                player.img_main.isFit = false;
                $('video', player.img_main).remove();
				$('.psv-container', player.img_main).hide();
				vid = $('<video ' + (((o.a == 0) && (!player.muteall)) ? 'class="withaudio" ' + (player.unmuted ? '' : 'muted ') : 'muted ') + 'playsinline style="' + ((player.videofillframe) ? 'object-fit: cover; ' : '') + 'width: 100%; height: 100%;"/>').appendTo(player.img_main);
                player.vidEvents(vid.addClass('mid' + o.id)[0]);
                if (base.isHlsNative(vid[0])) {
                    vid.attr('src', i.u);
                }
                else {
                    var h = vid[0].hls = new Hls();
                    h.loadSource(i.u);
                    h.attachMedia(vid[0]);
                }
                $(vid).show().parent().css({ opacity: 0 }).animate({ opacity: 1 }, player.fadetime);
                $('img', player.img_main).hide();
            }
            else if (o.t == 5) {
                base.sphere_init();
                var i = base.getMediaUrl(o.s, player.size.w * 3, player.size.h * 3)
                player.img_main = $('.player .img' + player.imgindex).css({ zIndex: 2 })[0];
                player.img_main.ratio = (i.w / i.h);
                player.img_main.media = o;
                player.img_main.isVideo = false;
                player.img_main.isFit = false;
                $('video', player.img_main).remove();
                $('img', player.img_main).hide();
                $('.psv-container', player.img_main).show();
                $(player.img_main).stop(true, false).css({ opacity: 0.004 });
                if (player.img_main.player) {
                    if (player.img_main.playerUrl == i.u) {
                        $(player.img_main).animate({ opacity: 1 }, player.fadetime);
                    }
                    else {
                        player.img_main.playerUrl = i.u;
                        player.img_main.player.setPanorama(i.u);
                    }
                    player.img_main.player.rotate({ longitude: 0, latitude: 0 });
                }
                else {
                    var il = false;
                    player.img_main.playerUrl = i.u;
                    var p = player.img_main.player = new PhotoSphereViewer({
                        container: player.img_main,
                        panorama: i.u,
                        navbar: false,
                        min_fov: 50,
                        default_lat: 0,
                        default_long: 1,
                        default_fov: 80,
                        move_speed: 1.3,
                        time_anim: false,
                        size: { width: player.size.w, height: player.size.h },
                        mousemove: player.control,
                        mousewheel: !il && player.control,
                        touchmove_two_fingers: il && player.control
                    });
                    p.on('panorama-loaded', function () {
                        this.resize({ width: player.size.w + 'px', height: player.size.h + 'px' });
                        $(player.img_main).animate({ opacity: 1 }, player.fadetime);
                    });
                }
            }
            else {
                base.media.holdtime = o.lb;
                var i = base.getMediaUrl(o.s, player.size.w, player.size.h, o.e, (o.f ? true : ''), player.animating());
				player.img_main = $('.player .img' + player.imgindex).css({ zIndex: 2 })[0];
                player.img_main.ratio = (i.w / i.h);
                player.img_main.media = o;
                player.img_main.isVideo = false;
                player.img_main.isFit = (parseInt(i.w) < parseInt(i.h)) || (o.f);
                $('video', player.img_main).remove();
                $('.psv-container', player.img_main).hide();
                $('img', player.img_alt).stop(true, false);
                if (player.size.is360) {
                    if ($('img', player.img_main).length == 1) { $('<img />').load(player.imgload).appendTo(player.img_main); }
                    player.img_main.ratioFull = player.img_main.ratio * 2;
                }
                else {
                    if ($('img', player.img_main).length > 1) { $('img', player.img_main)[1].remove(); }
                    player.img_main.ratioFull = player.img_main.ratio;
                }
                $(player.img_main).stop(true, false).css({ display: 'inline-block', opacity: 0 });
                $('img', player.img_main).css({ transform: 'none' }).show().removeAttr('src').attr('src', i.u);
                player.img_main.iw = -1;
            }
            player.imgindex = 1 - player.imgindex;
        }
        else {
            var i = base.getMediaUrl(o.s, player.size.w, player.size.h, o.e, (o.f ? true : ''), player.animating());
            player.img_main = $(o.playerimg).css({ zIndex: 2 })[0];
            $(player.img_main).css({ display: 'inline-block', opacity: 0 }).animate({ opacity: 1 }, player.fadetime);
            player.img_main.isVideo = (o.t == 6);
            player.img_main.isFit = (parseInt(i.w) < parseInt(i.h)) || (o.f);
			if (player.img_main.isVideo) {
                var vid = $('video', player.img_main)[0];
                if (vid) { vid.currentTime = 0; }
            }
        }
        if (player.img_main.isVideo) {
            if ((o.a == 0) && (!player.unmuted) && (!player.muteall)) {
                $('.player .player-unmute').show();
            }
            else {
                $('.player .player-unmute').hide();
            }
        }
        else {
            $('.player .player-unmute').hide();
        }
        $(player.img_main).attr({ 'role': 'img', 'aria-label': (player.img_main.media.n || 'Photo ' + String(o.i + 1) + ' in media set.  Contact the agent for more details.') }).show();
        player.speed();
		window.setTimeout('$(\'.player .player-name\').html(player.img_main.media.n)', player.fadetime / 4);
		window.setTimeout('$(\'.player .player-description\').html(player.img_main.media.d)', player.fadetime / 4);
        player.pos.x = player.pos.y = 0.5;
        player.mediaSize(player.img_main);
    },

    mediaSetTime: function () {
        if (base.playing) {
            if (player.img_main && player.img_main.isVideo) {
                var vid = $('video', player.img_main)[0];
                if (vid) {
                    var n = (new Date()).getTime();
                    var d = vid.duration;
                    if (d) {
                        var ct = vid.currentTime;
                        var st = n - ((player.img_main.media.lb + ct) * 1000);
                        if (ct < d - 0.1) { base.media.starttime = st; }
                    }
                    else {
                        base.media.starttime = n - (player.img_main.media.lb * 1000);
                    }
                }
            }
        }
        else {
            var m = window.proj.media;
            var vid = $('video', m[base.media.index].playerimg)[0];
            if (vid) { vid.currentTime = 0; }
        }
    },

    mediaSize: function (o) {
        if (o) {
            var anim = window.proj.still ? false : player.anim;
            var x = (player.size.r > o.ratio);
            var is360 = (o.media.t == 3);
            if ((base.playing && anim == 4) || (o.isFit)) { x = !x; }
            //if (is360) { x = false; }
            var iw = ((x) ? player.size.w : player.size.h * o.ratio) + 2;
            var ih = ((x) ? player.size.w / o.ratio : player.size.h) + 2;
            if (o.player) {
                o.player.resize({ width: player.size.w + 'px', height: player.size.h + 'px' });
            }
            if (o.isVideo) {
                $(o).css({ left: 0, top: 0, right: 0, bottom: 0, transform: 'translate3d(0,0,1px)' });
                if (base.playing) {
                    var vid = $('video', o)[0];
                    if (vid && !vid.playing) { vid.play(); }
                }
            }
            else if (o.isFit) {
                var l = (player.size.w - iw) * 0.5;
                var t = (player.size.h - ih) * 0.5;
                $(o).css({ left: 0, top: 0, right: 0, bottom: 0, transform: 'translate3d(0,0,1px)' });
                $('img', o).stop(true, false).css({ position: 'absolute', width: iw, height: ih, left: l, top: t, opacity: 1 });
            }
            else if (base.playing) {
                $(o).css({ left: 0, top: 0, right: 0, bottom: 0, transform: 'translate3d(0,0,1px)' });
                if (anim == 1) {
                    if (o.media.t == 5) {
                        if ($('.psv-container', o).is(':visible')) {
                            $('.psv-container', o).stop(true, false).css({ opacity: 1 }).animate({ opacity: 100 }, {
                                duration: (o.media.l * 1000) + (player.fadetime * 2),
                                step: function (d) {
                                    if (base.playing) {
                                        var p = o.player.getPosition();
                                        p.longitude += 0.001;
                                        p.latitude = p.latitude * 0.99;
                                        o.player.rotate(p);
                                    }
                                    else {
                                        $(this).stop(true, false);
                                    }
                                }
                            });
                        }
                    }
                    else {
                        var m = 1.07;
                        iw *= m;
                        ih *= m;
                        var a = o.media.a;
                        var x = (a == 1 || a == 4) ? 1 : 0;
                        var y = (a == 1 || a == 3) ? 1 : 0;
                        var l = (player.size.w - iw) * x;
                        var t = (player.size.h - ih) * y;
                        var le = Number((player.size.w - iw) * (1 - (x * 2))).toFixed(0);
                        var te = Number((player.size.h - ih) * (1 - (y * 2))).toFixed(0);
                        var pt = (base.media.time - o.media.lb);
                        var pp = (pt / o.media.l);
                        if (true) {
                            var kfn = 'hdanim' + le + 'x' + te;
                            if (!player.keyframes[kfn]) { player.keyframes[kfn] = $('<style> @keyframes ' + kfn + ' { from { transform: scale(1) translate(0px,0px); } to { transform: scale(' + m + ') translate(' + le + 'px,' + te + 'px); } } </style>').appendTo($('head')); }
                            $('img', o).css({ position: 'absolute', width: iw, height: ih, left: l, top: t, animation: kfn + ' ' + Number((((o.media.l - pt) * 1000) + player.fadetime) / 1000).toFixed(3) + 's linear ' + (pp).toFixed(3) + 's 1 both' });
                        }
                        else {
                            $('img', o).stop(true, false).css({ position: 'absolute', width: iw, height: ih, left: l, top: t, opacity: 1 }).animate({ opacity: 100 }, {
                                step: function (now, fx) { var p = (pp + ((1 - pp) * (now / 100))); $(this).css({ transform: 'scale(' + (1 + ((m - 1) * p)) + ') translate(' + (le * p) + 'px,' + (te * p) + 'px)' }); },
                                duration: ((o.media.l - pt) * 1000) + player.fadetime,
                                easing: 'linear'
                            });
                        }
                    }
                }
                else {
                    if (anim == 4) {
                        var m = (1 - (player.shrink / 100));
                        iw *= m;
                        ih *= m;
                    }
                    var sl = (player.size.w - iw) * 0.5;
                    var st = (player.size.h - ih) * 0.5;
                    var io = $('img', o).css({ position: 'absolute', width: iw, height: ih, left: sl, top: st });
                    if (anim == 2) {
                        var m = 1.07;
                        var pt = (base.media.time - o.media.lb);
                        var pp = (pt / o.media.l);
                        if (true) {
                            if (!player.keyframes[0]) { player.keyframes[0] = $('<style> @keyframes hdzoom107 { from { transform: scale(1) translate3d(0,0,1px); } to { transform: scale(' + Number(((m - 1) * 1.1) + 1).toFixed(3) + ') translate3d(0,0,2px); } } </style>').appendTo($('head')); }
                            var pd = ((((o.media.l - pt) * 1000) + player.fadetime) * 1.1);
                            $(io).css('animation', 'hdzoom107 ' + Number(pd / 1000).toFixed(3) + 's linear ' + (pp).toFixed(3) + 's 1 both');
                            window.setTimeout(function () { $(io).css('animation', 'none'); }, pd + 500);
                        }
                        else {
                            $(io).stop(true, false).css({ opacity: 1 }).animate({ opacity: 100 }, {
                                step: function (now, fx) { var p = (pp + ((1 - pp) * (now / 100))); $(this).css({ transform: 'scale(' + (1 + ((m - 1) * p)) + ')' }); },
                                duration: ((o.media.l - pt) * 1000) + player.fadetime,
                                easing: 'linear'
                            });
                        }
                    }
                }
                o.iw = o.ih = 0;
            }
            else if (o.media.t == 5) {
                $(o).css({ left: 0, top: 0 });
            }
            else {
                $(o).css({ left: ((player.size.w - (iw * (is360 ? 2 : 1))) * player.pos.x), top: ((player.size.h - ih) * player.pos.y) });
                if (o.iw != iw || o.ih != ih) {
                    $('img', o).css({ position: 'relative', left: 0, top: 0, width: iw, height: ih, transform: '' });
                    o.iw = iw;
                    o.ih = ih;
                }
            }
        }
    },

    mediaUpdate: function () {
        if (base.fullstop) { return false; }
        var x, y;
        if (player.size.isVideo) {
            player.mediaSize(player.img_main);
            return false;
        }
        if (player.touchMode) {
            x = player.pos.x;
            y = player.pos.y;
        }
        else {
            if (player.pos.o) {
                player.pos.xx = player.pos.xxx;
                player.pos.yy = player.pos.yyy;
            }
            else {
                player.pos.xx = (player.pos.xx * 0.99) + (player.pos.xxx * 0.01);
                player.pos.yy = (player.pos.yy * 0.99) + (player.pos.yyy * 0.01);
            }
            x = player.pos.x + player.pos.xx;
            y = player.pos.y + player.pos.yy;
        }
        if (player.media.t == 5) {
            if (player.pos.xx != 0) {
                if (player.pos.buttons == 0) {
                    var p = player.img_main.player.getPosition();
                    p.longitude += player.pos.xx;
                    if (!player.pos.o) { p.latitude *= 0.99; }
                    player.img_main.player.rotate(p);
                }
            }
        }
        else if (!player.size.is360) {
            if (!player.pos.o) {
                if (x < 0.2) { player.pos.xxx = Math.abs(player.pos.xxx); }
                if (x > 0.8) { player.pos.xxx = -Math.abs(player.pos.xxx); }
                if (y < 0.2) { player.pos.yyy = Math.abs(player.pos.yyy); }
                if (y > 0.8) { player.pos.yyy = -Math.abs(player.pos.yyy); }
            }
            player.pos.x = (x < 0) ? 0 : (x > 1) ? 1 : x;
        }
        else {
            var m = player.size.max360;
            if (m > 0) {
                x = (x + m) % m;
            }
            else {

            }
            player.pos.x = x;
        }
        player.pos.y = (y < 0) ? 0 : (y > 1) ? 1 : y;
        player.mediaSize(player.img_main);

        window.clearTimeout(player.updatetmr);
        if (!base.playing && !player.touchMode && player.control) {
			//window.requestAnimationFrame(player.mediaUpdate)
            player.updatetmr = window.setTimeout(player.mediaUpdate, 10);
        }
    },

    mouseDown: function (o) {
        player.pos.buttons = o.buttons;
    },

    mouseMove: function (o) {
        if (o.buttons && base.playing) { base.mediaStop(); }
        var x = (o.clientX - player.size.l) / player.size.w;
        var y = (o.clientY - player.size.t) / player.size.h;
        player.pos.o = true;
        player.pos.xxx = (x < 0.3) ? Math.pow(1 - (x / 0.3), 3) * -player.size.s : (x > 0.7) ? Math.pow(1 - ((1 - x) / 0.3), 3) * player.size.s : 0;
        player.pos.yyy = (y < 0.3) ? Math.pow(1 - (y / 0.3), 3) * -player.size.s : (y > 0.7) ? Math.pow(1 - ((1 - y) / 0.3), 3) * player.size.s : 0;
        player.pos.buttons = o.buttons;
    },

    mouseOut: function () {
        player.pos.o = false;
        if (player.media.t == 5) {
            player.pos.xxx = (player.pos.xxx > 0) ? 0.001 : -0.001;
        }
        else {
            player.pos.xxx = (player.pos.xxx > 0) ? 0.001 : (player.pos.xxx < 0) ? -0.001 : 0;
            player.pos.yyy = (player.pos.yyy > 0) ? 0.001 : (player.pos.yyy < 0) ? -0.001 : 0;
        }
    },

    mouseUp: function () {
        player.pos.buttons = 0;
    },

    muteall: false,

    play: function () {
        if (base.autoplay && !player.size.ap) {
            player.size.ap = true;
        }
        else {
            $('.player .player-play').css({ opacity: 0.8, fontSize: '1em', transform: 'translate3d(0,0,1px)' }).show().animate({ opacity: 0, fontSize: '1.3em' }, 500, function () { $(this).hide() });
        }
        if (player.img_main && player.img_main.isVideo) { $('video', player.img_main)[0].play(); }
        player.mediaUpdate();
    },

    preload: !base.isMobile(),

    preloadNext: function () {
        if (!base.preload) { return false; }
        this.loaded = true;
        var m = window.proj.media;
        for (var a = 0; a < m.length; a++) {
            if (m[a].playerimg == undefined) {
                var i;
                if (m[a].t != 5) {
                    if (m[a].t == 6) {
                        i = base.getVideoUrl(m[a], player.size.w, player.size.h);
						m[a].playerimg = $('<div class="img" style="background: #111;"><video ' + (((m[a].a == 0) && (!player.muteall)) ? 'class="withaudio" ' + (player.unmuted ? '' : 'muted ') : 'muted ') + 'playsinline style="' + ((player.videofillframe) ? 'object-fit: cover; ' : '') + 'width: 100%; height: 100%;"/></div>').appendTo($('.player .content')).hide()[0];
                        var vid = $('video', m[a].playerimg).addClass('mid' + m[a].id).show()[0];
                        vid.loaded = true;
                        player.vidEvents(vid);
                        if (base.isHlsNative(vid)) {
                            vid.attr('src', i.u);
                        }
                        else {
                            var h = vid.hls = new Hls();
                            h.loadSource(i.u);
                            h.attachMedia(vid);
                        }
                        player.preloadNext();
                    }
                    else {
                        i = base.getMediaUrl(m[a].s, player.size.w, player.size.h, m[a].e, (m[a].f ? true : ''), player.animating());
                        m[a].playerimg = $('<div class="img"><img />' + ((m[a].t == 3) ? '<img class="p360" />' : '') + '</div>').appendTo($('.player .content')).hide()[0];
                        $('img', m[a].playerimg).load(player.preloadNext).attr('src', i.u).show();
                    }
                    m[a].playerimg.ratio = (i.w / i.h);
                    m[a].playerimg.ratioFull = m[a].playerimg.ratio * (m[a].t == 3 ? 2 : 1);
                    m[a].playerimg.media = m[a];
                    break;
                }
            }
        }
    },

    pos: { o: false, n: 0, x: 0.75, y: 0.75, xx: 0, yy: 0, xxx: -0.001, yyy: -0.001, buttons: 0 },

    resize: function () {
        var p = $('.player .player-inner');
        var o = p.offset();
        player.size.w = p.outerWidth();
        player.size.h = p.outerHeight();
        player.size.r = player.size.w / player.size.h;
        player.size.l = o.left;
        player.size.t = o.top;
        player.mediaSize(player.img_main);
        player.mediaSize(player.img_alt);
        player.speed();
    },

    scroll: function () {
        var p = Number(player.parallax);
        if (p) {
            $('.player .content').css({ top: $(window).scrollTop() * (p / 100) });
        }
    },

    shrink: 0,

    size: { ap: false, w: 1, h: 1, r: 1, t: 0, l: 0, s: 0.02 },

    speed: function () {
        if (player.img_main) {
            player.size.d = Math.min(player.size.w, player.size.h);
            player.size.s = (player.size.d == 0) ? 0.01 : Math.pow(20 / player.size.d, 1.2);
            if (player.size.is360) {
                var r = player.img_main.ratio
                if (r > (player.size.w / player.size.h)) {
                    var iw = player.size.h * r;
                    player.size.max360 = iw / ((iw * 2) - player.size.w);
                }
                else {
                    player.size.max360 = 1;
                }
            }
            else {
                player.size.max360 = 1;
            }
        }
    },

	stop: function () {
		$('.player .player-pause').css({ opacity: 0.8, fontSize: '1em', transform: 'translate3d(0,0,1px)' }).show().animate({ opacity: 0, fontSize: '1.3em' }, 500, function () { $(this).hide() });
        player.pos.x = player.pos.y = 0.5;
        player.pos.xx = player.pos.yy = player.pos.xxx = player.pos.yyy = (base.isMobile() ? 0 : -0.001);
		if (!base.playing) { player.updatetmr = window.setTimeout(player.mediaUpdate, 10); }
		$(player.img_main).css('animation', '').stop(true, true);
		$('img', player.img_main).css('animation', '').stop(true, true);
		$(player.img_alt).css('animation', '').stop(true, true);
		$('img', player.img_alt).css('animation', '').stop(true, true);
        if (player.img_main && player.img_main.isVideo) { $('video', player.img_main)[0].pause(); }
        if (player.img_alt && player.img_alt.isVideo) { $('video', player.img_alt)[0].pause(); }
    },

    touchCount: function (e) {
        var t = e.originalEvent.touches;
        if (t.length > 0) {
            player.pos.tx = t[0].pageX;
            player.pos.ty = t[0].pageY;
        }
        if (t.length > 1) {
            player.pos.tx1 = t[1].pageX;
            player.pos.ty1 = t[1].pageY;
        }
        player.pos.sx = player.pos.x;
        player.pos.sy = player.pos.y;
        if (base.playing) { base.mediaStop(); }
        base.nope(e);
    },

    touchMode: false,

    touchMove: function (e) {
        var t = e.originalEvent.touches;
        var ox, oy;
        if (t.length == 1) {
            ox = t[0].pageX - player.pos.tx;
            oy = t[0].pageY - player.pos.ty;
        }
        else {
            ox = ((t[0].pageX + t[1].pageX) / 2) - ((player.pos.tx + player.pos.tx1) / 2);
            oy = ((t[0].pageY + t[1].pageY) / 2) - ((player.pos.ty + player.pos.ty1) / 2);
        }
        var sp = -player.size.d * player.size.max360;
        player.pos.x = player.pos.sx + (ox / sp);
        player.pos.y = player.pos.sy + (oy / sp);
        player.mediaUpdate();
        base.nope(e);
    },

    unmuted: false,

    vidEvents: function (v) {
        if ($(v).hasClass('withaudio') && !player.muteall) {
            $(v).bind('play', function () {
                base.videoPlaying = true;
                if (player.unmuted) {
                    base.audioVolSet(0);
                }
            }).bind('pause', function () {
                base.videoPlaying = false;
                var i = 0;
                var mm = window.proj.media;
                var t = (((new Date()).getTime() - base.media.starttime) / 1000) + 2;
                for (var a = 0; a < mm.length; a++) { if (t >= mm[a].lb && t < mm[a].le) { i = a; a = mm.length; } }
                if ((!mm[i]) || (!base.playing) || (mm[i].t != 6) || (mm[i].a != 0)) {
                    base.audioVolSet(1);
                }
            });
        }
    },

    vidUnmute: function () {
        $('video.withaudio').each(function (i, o) { o.muted = false; });
        player.unmuted = true;
        if (base.videoPlaying) { base.audioVolSet(0); }
        $('.player .player-unmute').hide();
        $(window).unbind('click', player.vidUnmute);
    }

};

$(player.init);
 