web/res/js/fancybox/jquery.fancybox.js
author Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
Sun, 24 Nov 2013 03:13:33 +0100
changeset 988 954019f62866
permissions -rwxr-xr-x
update lib, First version of a event edition form.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
988
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     1
/*!
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     2
 * fancyBox - jQuery Plugin
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     3
 * version: 2.1.5 (Fri, 14 Jun 2013)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     4
 * @requires jQuery v1.6 or later
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     5
 *
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     6
 * Examples at http://fancyapps.com/fancybox/
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     7
 * License: www.fancyapps.com/fancybox/#license
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     8
 *
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     9
 * Copyright 2012 Janis Skarnelis - janis@fancyapps.com
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    10
 *
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    11
 */
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    12
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    13
(function (window, document, $, undefined) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    14
	"use strict";
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    15
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    16
	var H = $("html"),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    17
		W = $(window),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    18
		D = $(document),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    19
		F = $.fancybox = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    20
			F.open.apply( this, arguments );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    21
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    22
		IE =  navigator.userAgent.match(/msie/i),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    23
		didUpdate	= null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    24
		isTouch		= document.createTouch !== undefined,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    25
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    26
		isQuery	= function(obj) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    27
			return obj && obj.hasOwnProperty && obj instanceof $;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    28
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    29
		isString = function(str) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    30
			return str && $.type(str) === "string";
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    31
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    32
		isPercentage = function(str) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    33
			return isString(str) && str.indexOf('%') > 0;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    34
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    35
		isScrollable = function(el) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    36
			return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight)));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    37
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    38
		getScalar = function(orig, dim) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    39
			var value = parseInt(orig, 10) || 0;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    40
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    41
			if (dim && isPercentage(orig)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    42
				value = F.getViewport()[ dim ] / 100 * value;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    43
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    44
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    45
			return Math.ceil(value);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    46
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    47
		getValue = function(value, dim) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    48
			return getScalar(value, dim) + 'px';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    49
		};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    50
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    51
	$.extend(F, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    52
		// The current version of fancyBox
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    53
		version: '2.1.5',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    54
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    55
		defaults: {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    56
			padding : 15,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    57
			margin  : 20,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    58
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    59
			width     : 800,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    60
			height    : 600,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    61
			minWidth  : 100,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    62
			minHeight : 100,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    63
			maxWidth  : 9999,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    64
			maxHeight : 9999,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    65
			pixelRatio: 1, // Set to 2 for retina display support
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    66
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    67
			autoSize   : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    68
			autoHeight : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    69
			autoWidth  : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    70
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    71
			autoResize  : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    72
			autoCenter  : !isTouch,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    73
			fitToView   : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    74
			aspectRatio : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    75
			topRatio    : 0.5,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    76
			leftRatio   : 0.5,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    77
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    78
			scrolling : 'auto', // 'auto', 'yes' or 'no'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    79
			wrapCSS   : '',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    80
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    81
			arrows     : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    82
			closeBtn   : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    83
			closeClick : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    84
			nextClick  : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    85
			mouseWheel : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    86
			autoPlay   : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    87
			playSpeed  : 3000,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    88
			preload    : 3,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    89
			modal      : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    90
			loop       : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    91
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    92
			ajax  : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    93
				dataType : 'html',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    94
				headers  : { 'X-fancyBox': true }
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    95
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    96
			iframe : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    97
				scrolling : 'auto',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    98
				preload   : true
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    99
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   100
			swf : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   101
				wmode: 'transparent',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   102
				allowfullscreen   : 'true',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   103
				allowscriptaccess : 'always'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   104
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   105
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   106
			keys  : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   107
				next : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   108
					13 : 'left', // enter
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   109
					34 : 'up',   // page down
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   110
					39 : 'left', // right arrow
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   111
					40 : 'up'    // down arrow
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   112
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   113
				prev : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   114
					8  : 'right',  // backspace
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   115
					33 : 'down',   // page up
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   116
					37 : 'right',  // left arrow
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   117
					38 : 'down'    // up arrow
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   118
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   119
				close  : [27], // escape key
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   120
				play   : [32], // space - start/stop slideshow
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   121
				toggle : [70]  // letter "f" - toggle fullscreen
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   122
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   123
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   124
			direction : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   125
				next : 'left',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   126
				prev : 'right'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   127
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   128
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   129
			scrollOutside  : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   130
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   131
			// Override some properties
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   132
			index   : 0,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   133
			type    : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   134
			href    : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   135
			content : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   136
			title   : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   137
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   138
			// HTML templates
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   139
			tpl: {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   140
				wrap     : '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   141
				image    : '<img class="fancybox-image" src="{href}" alt="" />',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   142
				iframe   : '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (IE ? ' allowtransparency="true"' : '') + '></iframe>',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   143
				error    : '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   144
				closeBtn : '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   145
				next     : '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   146
				prev     : '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   147
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   148
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   149
			// Properties for each animation type
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   150
			// Opening fancyBox
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   151
			openEffect  : 'fade', // 'elastic', 'fade' or 'none'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   152
			openSpeed   : 250,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   153
			openEasing  : 'swing',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   154
			openOpacity : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   155
			openMethod  : 'zoomIn',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   156
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   157
			// Closing fancyBox
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   158
			closeEffect  : 'fade', // 'elastic', 'fade' or 'none'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   159
			closeSpeed   : 250,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   160
			closeEasing  : 'swing',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   161
			closeOpacity : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   162
			closeMethod  : 'zoomOut',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   163
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   164
			// Changing next gallery item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   165
			nextEffect : 'elastic', // 'elastic', 'fade' or 'none'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   166
			nextSpeed  : 250,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   167
			nextEasing : 'swing',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   168
			nextMethod : 'changeIn',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   169
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   170
			// Changing previous gallery item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   171
			prevEffect : 'elastic', // 'elastic', 'fade' or 'none'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   172
			prevSpeed  : 250,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   173
			prevEasing : 'swing',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   174
			prevMethod : 'changeOut',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   175
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   176
			// Enable default helpers
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   177
			helpers : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   178
				overlay : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   179
				title   : true
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   180
			},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   181
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   182
			// Callbacks
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   183
			onCancel     : $.noop, // If canceling
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   184
			beforeLoad   : $.noop, // Before loading
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   185
			afterLoad    : $.noop, // After loading
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   186
			beforeShow   : $.noop, // Before changing in current item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   187
			afterShow    : $.noop, // After opening
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   188
			beforeChange : $.noop, // Before changing gallery item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   189
			beforeClose  : $.noop, // Before closing
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   190
			afterClose   : $.noop  // After closing
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   191
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   192
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   193
		//Current state
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   194
		group    : {}, // Selected group
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   195
		opts     : {}, // Group options
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   196
		previous : null,  // Previous element
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   197
		coming   : null,  // Element being loaded
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   198
		current  : null,  // Currently loaded element
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   199
		isActive : false, // Is activated
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   200
		isOpen   : false, // Is currently open
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   201
		isOpened : false, // Have been fully opened at least once
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   202
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   203
		wrap  : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   204
		skin  : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   205
		outer : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   206
		inner : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   207
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   208
		player : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   209
			timer    : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   210
			isActive : false
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   211
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   212
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   213
		// Loaders
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   214
		ajaxLoad   : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   215
		imgPreload : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   216
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   217
		// Some collections
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   218
		transitions : {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   219
		helpers     : {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   220
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   221
		/*
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   222
		 *	Static methods
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   223
		 */
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   224
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   225
		open: function (group, opts) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   226
			if (!group) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   227
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   228
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   229
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   230
			if (!$.isPlainObject(opts)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   231
				opts = {};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   232
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   233
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   234
			// Close if already active
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   235
			if (false === F.close(true)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   236
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   237
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   238
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   239
			// Normalize group
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   240
			if (!$.isArray(group)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   241
				group = isQuery(group) ? $(group).get() : [group];
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   242
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   243
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   244
			// Recheck if the type of each element is `object` and set content type (image, ajax, etc)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   245
			$.each(group, function(i, element) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   246
				var obj = {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   247
					href,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   248
					title,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   249
					content,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   250
					type,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   251
					rez,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   252
					hrefParts,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   253
					selector;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   254
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   255
				if ($.type(element) === "object") {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   256
					// Check if is DOM element
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   257
					if (element.nodeType) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   258
						element = $(element);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   259
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   260
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   261
					if (isQuery(element)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   262
						obj = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   263
							href    : element.data('fancybox-href') || element.attr('href'),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   264
							title   : element.data('fancybox-title') || element.attr('title'),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   265
							isDom   : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   266
							element : element
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   267
						};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   268
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   269
						if ($.metadata) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   270
							$.extend(true, obj, element.metadata());
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   271
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   272
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   273
					} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   274
						obj = element;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   275
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   276
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   277
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   278
				href  = opts.href  || obj.href || (isString(element) ? element : null);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   279
				title = opts.title !== undefined ? opts.title : obj.title || '';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   280
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   281
				content = opts.content || obj.content;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   282
				type    = content ? 'html' : (opts.type  || obj.type);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   283
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   284
				if (!type && obj.isDom) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   285
					type = element.data('fancybox-type');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   286
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   287
					if (!type) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   288
						rez  = element.prop('class').match(/fancybox\.(\w+)/);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   289
						type = rez ? rez[1] : null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   290
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   291
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   292
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   293
				if (isString(href)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   294
					// Try to guess the content type
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   295
					if (!type) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   296
						if (F.isImage(href)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   297
							type = 'image';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   298
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   299
						} else if (F.isSWF(href)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   300
							type = 'swf';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   301
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   302
						} else if (href.charAt(0) === '#') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   303
							type = 'inline';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   304
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   305
						} else if (isString(element)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   306
							type    = 'html';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   307
							content = element;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   308
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   309
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   310
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   311
					// Split url into two pieces with source url and content selector, e.g,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   312
					// "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id"
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   313
					if (type === 'ajax') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   314
						hrefParts = href.split(/\s+/, 2);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   315
						href      = hrefParts.shift();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   316
						selector  = hrefParts.shift();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   317
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   318
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   319
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   320
				if (!content) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   321
					if (type === 'inline') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   322
						if (href) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   323
							content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   324
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   325
						} else if (obj.isDom) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   326
							content = element;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   327
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   328
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   329
					} else if (type === 'html') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   330
						content = href;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   331
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   332
					} else if (!type && !href && obj.isDom) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   333
						type    = 'inline';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   334
						content = element;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   335
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   336
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   337
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   338
				$.extend(obj, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   339
					href     : href,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   340
					type     : type,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   341
					content  : content,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   342
					title    : title,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   343
					selector : selector
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   344
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   345
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   346
				group[ i ] = obj;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   347
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   348
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   349
			// Extend the defaults
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   350
			F.opts = $.extend(true, {}, F.defaults, opts);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   351
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   352
			// All options are merged recursive except keys
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   353
			if (opts.keys !== undefined) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   354
				F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   355
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   356
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   357
			F.group = group;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   358
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   359
			return F._start(F.opts.index);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   360
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   361
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   362
		// Cancel image loading or abort ajax request
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   363
		cancel: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   364
			var coming = F.coming;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   365
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   366
			if (!coming || false === F.trigger('onCancel')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   367
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   368
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   369
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   370
			F.hideLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   371
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   372
			if (F.ajaxLoad) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   373
				F.ajaxLoad.abort();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   374
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   375
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   376
			F.ajaxLoad = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   377
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   378
			if (F.imgPreload) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   379
				F.imgPreload.onload = F.imgPreload.onerror = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   380
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   381
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   382
			if (coming.wrap) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   383
				coming.wrap.stop(true, true).trigger('onReset').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   384
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   385
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   386
			F.coming = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   387
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   388
			// If the first item has been canceled, then clear everything
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   389
			if (!F.current) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   390
				F._afterZoomOut( coming );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   391
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   392
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   393
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   394
		// Start closing animation if is open; remove immediately if opening/closing
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   395
		close: function (event) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   396
			F.cancel();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   397
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   398
			if (false === F.trigger('beforeClose')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   399
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   400
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   401
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   402
			F.unbindEvents();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   403
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   404
			if (!F.isActive) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   405
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   406
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   407
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   408
			if (!F.isOpen || event === true) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   409
				$('.fancybox-wrap').stop(true).trigger('onReset').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   410
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   411
				F._afterZoomOut();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   412
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   413
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   414
				F.isOpen = F.isOpened = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   415
				F.isClosing = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   416
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   417
				$('.fancybox-item, .fancybox-nav').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   418
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   419
				F.wrap.stop(true, true).removeClass('fancybox-opened');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   420
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   421
				F.transitions[ F.current.closeMethod ]();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   422
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   423
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   424
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   425
		// Manage slideshow:
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   426
		//   $.fancybox.play(); - toggle slideshow
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   427
		//   $.fancybox.play( true ); - start
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   428
		//   $.fancybox.play( false ); - stop
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   429
		play: function ( action ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   430
			var clear = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   431
					clearTimeout(F.player.timer);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   432
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   433
				set = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   434
					clear();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   435
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   436
					if (F.current && F.player.isActive) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   437
						F.player.timer = setTimeout(F.next, F.current.playSpeed);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   438
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   439
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   440
				stop = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   441
					clear();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   442
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   443
					D.unbind('.player');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   444
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   445
					F.player.isActive = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   446
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   447
					F.trigger('onPlayEnd');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   448
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   449
				start = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   450
					if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   451
						F.player.isActive = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   452
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   453
						D.bind({
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   454
							'onCancel.player beforeClose.player' : stop,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   455
							'onUpdate.player'   : set,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   456
							'beforeLoad.player' : clear
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   457
						});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   458
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   459
						set();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   460
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   461
						F.trigger('onPlayStart');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   462
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   463
				};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   464
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   465
			if (action === true || (!F.player.isActive && action !== false)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   466
				start();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   467
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   468
				stop();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   469
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   470
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   471
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   472
		// Navigate to next gallery item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   473
		next: function ( direction ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   474
			var current = F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   475
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   476
			if (current) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   477
				if (!isString(direction)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   478
					direction = current.direction.next;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   479
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   480
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   481
				F.jumpto(current.index + 1, direction, 'next');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   482
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   483
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   484
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   485
		// Navigate to previous gallery item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   486
		prev: function ( direction ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   487
			var current = F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   488
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   489
			if (current) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   490
				if (!isString(direction)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   491
					direction = current.direction.prev;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   492
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   493
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   494
				F.jumpto(current.index - 1, direction, 'prev');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   495
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   496
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   497
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   498
		// Navigate to gallery item by index
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   499
		jumpto: function ( index, direction, router ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   500
			var current = F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   501
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   502
			if (!current) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   503
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   504
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   505
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   506
			index = getScalar(index);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   507
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   508
			F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ];
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   509
			F.router    = router || 'jumpto';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   510
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   511
			if (current.loop) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   512
				if (index < 0) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   513
					index = current.group.length + (index % current.group.length);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   514
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   515
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   516
				index = index % current.group.length;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   517
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   518
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   519
			if (current.group[ index ] !== undefined) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   520
				F.cancel();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   521
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   522
				F._start(index);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   523
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   524
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   525
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   526
		// Center inside viewport and toggle position type to fixed or absolute if needed
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   527
		reposition: function (e, onlyAbsolute) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   528
			var current = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   529
				wrap    = current ? current.wrap : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   530
				pos;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   531
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   532
			if (wrap) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   533
				pos = F._getPosition(onlyAbsolute);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   534
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   535
				if (e && e.type === 'scroll') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   536
					delete pos.position;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   537
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   538
					wrap.stop(true, true).animate(pos, 200);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   539
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   540
				} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   541
					wrap.css(pos);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   542
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   543
					current.pos = $.extend({}, current.dim, pos);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   544
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   545
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   546
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   547
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   548
		update: function (e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   549
			var type = (e && e.type),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   550
				anyway = !type || type === 'orientationchange';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   551
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   552
			if (anyway) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   553
				clearTimeout(didUpdate);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   554
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   555
				didUpdate = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   556
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   557
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   558
			if (!F.isOpen || didUpdate) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   559
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   560
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   561
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   562
			didUpdate = setTimeout(function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   563
				var current = F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   564
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   565
				if (!current || F.isClosing) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   566
					return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   567
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   568
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   569
				F.wrap.removeClass('fancybox-tmp');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   570
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   571
				if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   572
					F._setDimension();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   573
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   574
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   575
				if (!(type === 'scroll' && current.canShrink)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   576
					F.reposition(e);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   577
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   578
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   579
				F.trigger('onUpdate');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   580
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   581
				didUpdate = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   582
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   583
			}, (anyway && !isTouch ? 0 : 300));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   584
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   585
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   586
		// Shrink content to fit inside viewport or restore if resized
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   587
		toggle: function ( action ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   588
			if (F.isOpen) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   589
				F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   590
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   591
				// Help browser to restore document dimensions
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   592
				if (isTouch) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   593
					F.wrap.removeAttr('style').addClass('fancybox-tmp');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   594
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   595
					F.trigger('onUpdate');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   596
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   597
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   598
				F.update();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   599
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   600
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   601
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   602
		hideLoading: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   603
			D.unbind('.loading');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   604
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   605
			$('#fancybox-loading').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   606
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   607
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   608
		showLoading: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   609
			var el, viewport;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   610
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   611
			F.hideLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   612
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   613
			el = $('<div id="fancybox-loading"><div></div></div>').click(F.cancel).appendTo('body');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   614
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   615
			// If user will press the escape-button, the request will be canceled
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   616
			D.bind('keydown.loading', function(e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   617
				if ((e.which || e.keyCode) === 27) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   618
					e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   619
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   620
					F.cancel();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   621
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   622
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   623
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   624
			if (!F.defaults.fixed) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   625
				viewport = F.getViewport();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   626
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   627
				el.css({
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   628
					position : 'absolute',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   629
					top  : (viewport.h * 0.5) + viewport.y,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   630
					left : (viewport.w * 0.5) + viewport.x
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   631
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   632
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   633
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   634
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   635
		getViewport: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   636
			var locked = (F.current && F.current.locked) || false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   637
				rez    = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   638
					x: W.scrollLeft(),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   639
					y: W.scrollTop()
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   640
				};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   641
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   642
			if (locked) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   643
				rez.w = locked[0].clientWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   644
				rez.h = locked[0].clientHeight;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   645
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   646
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   647
				// See http://bugs.jquery.com/ticket/6724
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   648
				rez.w = isTouch && window.innerWidth  ? window.innerWidth  : W.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   649
				rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   650
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   651
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   652
			return rez;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   653
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   654
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   655
		// Unbind the keyboard / clicking actions
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   656
		unbindEvents: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   657
			if (F.wrap && isQuery(F.wrap)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   658
				F.wrap.unbind('.fb');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   659
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   660
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   661
			D.unbind('.fb');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   662
			W.unbind('.fb');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   663
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   664
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   665
		bindEvents: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   666
			var current = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   667
				keys;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   668
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   669
			if (!current) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   670
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   671
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   672
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   673
			// Changing document height on iOS devices triggers a 'resize' event,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   674
			// that can change document height... repeating infinitely
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   675
			W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   676
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   677
			keys = current.keys;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   678
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   679
			if (keys) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   680
				D.bind('keydown.fb', function (e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   681
					var code   = e.which || e.keyCode,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   682
						target = e.target || e.srcElement;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   683
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   684
					// Skip esc key if loading, because showLoading will cancel preloading
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   685
					if (code === 27 && F.coming) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   686
						return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   687
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   688
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   689
					// Ignore key combinations and key events within form elements
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   690
					if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   691
						$.each(keys, function(i, val) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   692
							if (current.group.length > 1 && val[ code ] !== undefined) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   693
								F[ i ]( val[ code ] );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   694
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   695
								e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   696
								return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   697
							}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   698
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   699
							if ($.inArray(code, val) > -1) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   700
								F[ i ] ();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   701
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   702
								e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   703
								return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   704
							}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   705
						});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   706
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   707
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   708
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   709
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   710
			if ($.fn.mousewheel && current.mouseWheel) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   711
				F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   712
					var target = e.target || null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   713
						parent = $(target),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   714
						canScroll = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   715
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   716
					while (parent.length) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   717
						if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   718
							break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   719
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   720
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   721
						canScroll = isScrollable( parent[0] );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   722
						parent    = $(parent).parent();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   723
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   724
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   725
					if (delta !== 0 && !canScroll) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   726
						if (F.group.length > 1 && !current.canShrink) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   727
							if (deltaY > 0 || deltaX > 0) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   728
								F.prev( deltaY > 0 ? 'down' : 'left' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   729
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   730
							} else if (deltaY < 0 || deltaX < 0) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   731
								F.next( deltaY < 0 ? 'up' : 'right' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   732
							}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   733
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   734
							e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   735
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   736
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   737
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   738
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   739
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   740
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   741
		trigger: function (event, o) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   742
			var ret, obj = o || F.coming || F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   743
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   744
			if (!obj) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   745
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   746
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   747
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   748
			if ($.isFunction( obj[event] )) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   749
				ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   750
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   751
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   752
			if (ret === false) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   753
				return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   754
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   755
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   756
			if (obj.helpers) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   757
				$.each(obj.helpers, function (helper, opts) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   758
					if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   759
						F.helpers[helper][event]($.extend(true, {}, F.helpers[helper].defaults, opts), obj);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   760
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   761
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   762
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   763
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   764
			D.trigger(event);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   765
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   766
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   767
		isImage: function (str) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   768
			return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   769
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   770
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   771
		isSWF: function (str) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   772
			return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   773
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   774
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   775
		_start: function (index) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   776
			var coming = {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   777
				obj,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   778
				href,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   779
				type,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   780
				margin,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   781
				padding;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   782
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   783
			index = getScalar( index );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   784
			obj   = F.group[ index ] || null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   785
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   786
			if (!obj) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   787
				return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   788
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   789
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   790
			coming = $.extend(true, {}, F.opts, obj);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   791
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   792
			// Convert margin and padding properties to array - top, right, bottom, left
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   793
			margin  = coming.margin;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   794
			padding = coming.padding;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   795
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   796
			if ($.type(margin) === 'number') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   797
				coming.margin = [margin, margin, margin, margin];
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   798
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   799
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   800
			if ($.type(padding) === 'number') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   801
				coming.padding = [padding, padding, padding, padding];
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   802
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   803
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   804
			// 'modal' propery is just a shortcut
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   805
			if (coming.modal) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   806
				$.extend(true, coming, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   807
					closeBtn   : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   808
					closeClick : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   809
					nextClick  : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   810
					arrows     : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   811
					mouseWheel : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   812
					keys       : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   813
					helpers: {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   814
						overlay : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   815
							closeClick : false
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   816
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   817
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   818
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   819
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   820
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   821
			// 'autoSize' property is a shortcut, too
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   822
			if (coming.autoSize) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   823
				coming.autoWidth = coming.autoHeight = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   824
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   825
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   826
			if (coming.width === 'auto') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   827
				coming.autoWidth = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   828
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   829
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   830
			if (coming.height === 'auto') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   831
				coming.autoHeight = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   832
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   833
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   834
			/*
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   835
			 * Add reference to the group, so it`s possible to access from callbacks, example:
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   836
			 * afterLoad : function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   837
			 *     this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   838
			 * }
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   839
			 */
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   840
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   841
			coming.group  = F.group;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   842
			coming.index  = index;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   843
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   844
			// Give a chance for callback or helpers to update coming item (type, title, etc)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   845
			F.coming = coming;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   846
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   847
			if (false === F.trigger('beforeLoad')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   848
				F.coming = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   849
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   850
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   851
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   852
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   853
			type = coming.type;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   854
			href = coming.href;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   855
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   856
			if (!type) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   857
				F.coming = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   858
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   859
				//If we can not determine content type then drop silently or display next/prev item if looping through gallery
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   860
				if (F.current && F.router && F.router !== 'jumpto') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   861
					F.current.index = index;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   862
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   863
					return F[ F.router ]( F.direction );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   864
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   865
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   866
				return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   867
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   868
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   869
			F.isActive = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   870
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   871
			if (type === 'image' || type === 'swf') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   872
				coming.autoHeight = coming.autoWidth = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   873
				coming.scrolling  = 'visible';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   874
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   875
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   876
			if (type === 'image') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   877
				coming.aspectRatio = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   878
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   879
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   880
			if (type === 'iframe' && isTouch) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   881
				coming.scrolling = 'scroll';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   882
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   883
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   884
			// Build the neccessary markup
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   885
			coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   886
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   887
			$.extend(coming, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   888
				skin  : $('.fancybox-skin',  coming.wrap),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   889
				outer : $('.fancybox-outer', coming.wrap),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   890
				inner : $('.fancybox-inner', coming.wrap)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   891
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   892
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   893
			$.each(["Top", "Right", "Bottom", "Left"], function(i, v) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   894
				coming.skin.css('padding' + v, getValue(coming.padding[ i ]));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   895
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   896
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   897
			F.trigger('onReady');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   898
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   899
			// Check before try to load; 'inline' and 'html' types need content, others - href
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   900
			if (type === 'inline' || type === 'html') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   901
				if (!coming.content || !coming.content.length) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   902
					return F._error( 'content' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   903
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   904
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   905
			} else if (!href) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   906
				return F._error( 'href' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   907
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   908
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   909
			if (type === 'image') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   910
				F._loadImage();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   911
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   912
			} else if (type === 'ajax') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   913
				F._loadAjax();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   914
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   915
			} else if (type === 'iframe') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   916
				F._loadIframe();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   917
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   918
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   919
				F._afterLoad();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   920
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   921
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   922
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   923
		_error: function ( type ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   924
			$.extend(F.coming, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   925
				type       : 'html',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   926
				autoWidth  : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   927
				autoHeight : true,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   928
				minWidth   : 0,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   929
				minHeight  : 0,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   930
				scrolling  : 'no',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   931
				hasError   : type,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   932
				content    : F.coming.tpl.error
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   933
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   934
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   935
			F._afterLoad();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   936
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   937
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   938
		_loadImage: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   939
			// Reset preload image so it is later possible to check "complete" property
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   940
			var img = F.imgPreload = new Image();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   941
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   942
			img.onload = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   943
				this.onload = this.onerror = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   944
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   945
				F.coming.width  = this.width / F.opts.pixelRatio;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   946
				F.coming.height = this.height / F.opts.pixelRatio;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   947
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   948
				F._afterLoad();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   949
			};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   950
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   951
			img.onerror = function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   952
				this.onload = this.onerror = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   953
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   954
				F._error( 'image' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   955
			};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   956
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   957
			img.src = F.coming.href;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   958
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   959
			if (img.complete !== true) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   960
				F.showLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   961
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   962
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   963
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   964
		_loadAjax: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   965
			var coming = F.coming;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   966
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   967
			F.showLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   968
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   969
			F.ajaxLoad = $.ajax($.extend({}, coming.ajax, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   970
				url: coming.href,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   971
				error: function (jqXHR, textStatus) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   972
					if (F.coming && textStatus !== 'abort') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   973
						F._error( 'ajax', jqXHR );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   974
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   975
					} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   976
						F.hideLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   977
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   978
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   979
				success: function (data, textStatus) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   980
					if (textStatus === 'success') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   981
						coming.content = data;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   982
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   983
						F._afterLoad();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   984
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   985
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   986
			}));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   987
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   988
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   989
		_loadIframe: function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   990
			var coming = F.coming,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   991
				iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime()))
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   992
					.attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   993
					.attr('src', coming.href);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   994
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   995
			// This helps IE
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   996
			$(coming.wrap).bind('onReset', function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   997
				try {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   998
					$(this).find('iframe').hide().attr('src', '//about:blank').end().empty();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   999
				} catch (e) {}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1000
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1001
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1002
			if (coming.iframe.preload) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1003
				F.showLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1004
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1005
				iframe.one('load', function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1006
					$(this).data('ready', 1);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1007
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1008
					// iOS will lose scrolling if we resize
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1009
					if (!isTouch) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1010
						$(this).bind('load.fb', F.update);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1011
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1012
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1013
					// Without this trick:
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1014
					//   - iframe won't scroll on iOS devices
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1015
					//   - IE7 sometimes displays empty iframe
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1016
					$(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1017
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1018
					F._afterLoad();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1019
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1020
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1021
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1022
			coming.content = iframe.appendTo( coming.inner );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1023
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1024
			if (!coming.iframe.preload) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1025
				F._afterLoad();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1026
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1027
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1028
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1029
		_preloadImages: function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1030
			var group   = F.group,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1031
				current = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1032
				len     = group.length,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1033
				cnt     = current.preload ? Math.min(current.preload, len - 1) : 0,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1034
				item,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1035
				i;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1036
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1037
			for (i = 1; i <= cnt; i += 1) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1038
				item = group[ (current.index + i ) % len ];
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1039
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1040
				if (item.type === 'image' && item.href) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1041
					new Image().src = item.href;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1042
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1043
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1044
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1045
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1046
		_afterLoad: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1047
			var coming   = F.coming,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1048
				previous = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1049
				placeholder = 'fancybox-placeholder',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1050
				current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1051
				content,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1052
				type,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1053
				scrolling,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1054
				href,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1055
				embed;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1056
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1057
			F.hideLoading();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1058
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1059
			if (!coming || F.isActive === false) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1060
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1061
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1062
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1063
			if (false === F.trigger('afterLoad', coming, previous)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1064
				coming.wrap.stop(true).trigger('onReset').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1065
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1066
				F.coming = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1067
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1068
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1069
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1070
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1071
			if (previous) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1072
				F.trigger('beforeChange', previous);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1073
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1074
				previous.wrap.stop(true).removeClass('fancybox-opened')
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1075
					.find('.fancybox-item, .fancybox-nav')
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1076
					.remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1077
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1078
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1079
			F.unbindEvents();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1080
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1081
			current   = coming;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1082
			content   = coming.content;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1083
			type      = coming.type;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1084
			scrolling = coming.scrolling;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1085
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1086
			$.extend(F, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1087
				wrap  : current.wrap,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1088
				skin  : current.skin,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1089
				outer : current.outer,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1090
				inner : current.inner,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1091
				current  : current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1092
				previous : previous
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1093
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1094
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1095
			href = current.href;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1096
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1097
			switch (type) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1098
				case 'inline':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1099
				case 'ajax':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1100
				case 'html':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1101
					if (current.selector) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1102
						content = $('<div>').html(content).find(current.selector);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1103
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1104
					} else if (isQuery(content)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1105
						if (!content.data(placeholder)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1106
							content.data(placeholder, $('<div class="' + placeholder + '"></div>').insertAfter( content ).hide() );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1107
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1108
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1109
						content = content.show().detach();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1110
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1111
						current.wrap.bind('onReset', function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1112
							if ($(this).find(content).length) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1113
								content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1114
							}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1115
						});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1116
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1117
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1118
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1119
				case 'image':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1120
					content = current.tpl.image.replace('{href}', href);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1121
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1122
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1123
				case 'swf':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1124
					content = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + href + '"></param>';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1125
					embed   = '';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1126
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1127
					$.each(current.swf, function(name, val) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1128
						content += '<param name="' + name + '" value="' + val + '"></param>';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1129
						embed   += ' ' + name + '="' + val + '"';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1130
					});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1131
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1132
					content += '<embed src="' + href + '" type="application/x-shockwave-flash" width="100%" height="100%"' + embed + '></embed></object>';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1133
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1134
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1135
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1136
			if (!(isQuery(content) && content.parent().is(current.inner))) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1137
				current.inner.append( content );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1138
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1139
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1140
			// Give a chance for helpers or callbacks to update elements
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1141
			F.trigger('beforeShow');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1142
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1143
			// Set scrolling before calculating dimensions
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1144
			current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1145
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1146
			// Set initial dimensions and start position
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1147
			F._setDimension();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1148
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1149
			F.reposition();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1150
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1151
			F.isOpen = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1152
			F.coming = null;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1153
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1154
			F.bindEvents();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1155
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1156
			if (!F.isOpened) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1157
				$('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1158
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1159
			} else if (previous.prevMethod) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1160
				F.transitions[ previous.prevMethod ]();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1161
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1162
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1163
			F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ]();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1164
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1165
			F._preloadImages();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1166
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1167
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1168
		_setDimension: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1169
			var viewport   = F.getViewport(),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1170
				steps      = 0,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1171
				canShrink  = false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1172
				canExpand  = false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1173
				wrap       = F.wrap,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1174
				skin       = F.skin,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1175
				inner      = F.inner,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1176
				current    = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1177
				width      = current.width,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1178
				height     = current.height,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1179
				minWidth   = current.minWidth,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1180
				minHeight  = current.minHeight,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1181
				maxWidth   = current.maxWidth,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1182
				maxHeight  = current.maxHeight,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1183
				scrolling  = current.scrolling,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1184
				scrollOut  = current.scrollOutside ? current.scrollbarWidth : 0,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1185
				margin     = current.margin,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1186
				wMargin    = getScalar(margin[1] + margin[3]),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1187
				hMargin    = getScalar(margin[0] + margin[2]),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1188
				wPadding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1189
				hPadding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1190
				wSpace,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1191
				hSpace,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1192
				origWidth,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1193
				origHeight,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1194
				origMaxWidth,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1195
				origMaxHeight,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1196
				ratio,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1197
				width_,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1198
				height_,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1199
				maxWidth_,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1200
				maxHeight_,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1201
				iframe,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1202
				body;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1203
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1204
			// Reset dimensions so we could re-check actual size
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1205
			wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1206
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1207
			wPadding = getScalar(skin.outerWidth(true)  - skin.width());
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1208
			hPadding = getScalar(skin.outerHeight(true) - skin.height());
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1209
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1210
			// Any space between content and viewport (margin, padding, border, title)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1211
			wSpace = wMargin + wPadding;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1212
			hSpace = hMargin + hPadding;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1213
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1214
			origWidth  = isPercentage(width)  ? (viewport.w - wSpace) * getScalar(width)  / 100 : width;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1215
			origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1216
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1217
			if (current.type === 'iframe') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1218
				iframe = current.content;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1219
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1220
				if (current.autoHeight && iframe.data('ready') === 1) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1221
					try {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1222
						if (iframe[0].contentWindow.document.location) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1223
							inner.width( origWidth ).height(9999);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1224
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1225
							body = iframe.contents().find('body');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1226
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1227
							if (scrollOut) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1228
								body.css('overflow-x', 'hidden');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1229
							}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1230
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1231
							origHeight = body.outerHeight(true);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1232
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1233
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1234
					} catch (e) {}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1235
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1236
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1237
			} else if (current.autoWidth || current.autoHeight) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1238
				inner.addClass( 'fancybox-tmp' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1239
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1240
				// Set width or height in case we need to calculate only one dimension
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1241
				if (!current.autoWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1242
					inner.width( origWidth );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1243
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1244
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1245
				if (!current.autoHeight) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1246
					inner.height( origHeight );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1247
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1248
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1249
				if (current.autoWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1250
					origWidth = inner.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1251
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1252
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1253
				if (current.autoHeight) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1254
					origHeight = inner.height();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1255
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1256
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1257
				inner.removeClass( 'fancybox-tmp' );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1258
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1259
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1260
			width  = getScalar( origWidth );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1261
			height = getScalar( origHeight );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1262
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1263
			ratio  = origWidth / origHeight;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1264
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1265
			// Calculations for the content
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1266
			minWidth  = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1267
			maxWidth  = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1268
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1269
			minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1270
			maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1271
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1272
			// These will be used to determine if wrap can fit in the viewport
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1273
			origMaxWidth  = maxWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1274
			origMaxHeight = maxHeight;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1275
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1276
			if (current.fitToView) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1277
				maxWidth  = Math.min(viewport.w - wSpace, maxWidth);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1278
				maxHeight = Math.min(viewport.h - hSpace, maxHeight);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1279
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1280
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1281
			maxWidth_  = viewport.w - wMargin;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1282
			maxHeight_ = viewport.h - hMargin;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1283
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1284
			if (current.aspectRatio) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1285
				if (width > maxWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1286
					width  = maxWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1287
					height = getScalar(width / ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1288
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1289
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1290
				if (height > maxHeight) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1291
					height = maxHeight;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1292
					width  = getScalar(height * ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1293
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1294
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1295
				if (width < minWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1296
					width  = minWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1297
					height = getScalar(width / ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1298
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1299
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1300
				if (height < minHeight) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1301
					height = minHeight;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1302
					width  = getScalar(height * ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1303
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1304
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1305
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1306
				width = Math.max(minWidth, Math.min(width, maxWidth));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1307
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1308
				if (current.autoHeight && current.type !== 'iframe') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1309
					inner.width( width );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1310
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1311
					height = inner.height();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1312
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1313
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1314
				height = Math.max(minHeight, Math.min(height, maxHeight));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1315
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1316
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1317
			// Try to fit inside viewport (including the title)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1318
			if (current.fitToView) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1319
				inner.width( width ).height( height );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1320
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1321
				wrap.width( width + wPadding );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1322
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1323
				// Real wrap dimensions
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1324
				width_  = wrap.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1325
				height_ = wrap.height();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1326
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1327
				if (current.aspectRatio) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1328
					while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1329
						if (steps++ > 19) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1330
							break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1331
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1332
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1333
						height = Math.max(minHeight, Math.min(maxHeight, height - 10));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1334
						width  = getScalar(height * ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1335
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1336
						if (width < minWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1337
							width  = minWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1338
							height = getScalar(width / ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1339
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1340
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1341
						if (width > maxWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1342
							width  = maxWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1343
							height = getScalar(width / ratio);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1344
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1345
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1346
						inner.width( width ).height( height );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1347
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1348
						wrap.width( width + wPadding );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1349
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1350
						width_  = wrap.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1351
						height_ = wrap.height();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1352
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1353
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1354
				} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1355
					width  = Math.max(minWidth,  Math.min(width,  width  - (width_  - maxWidth_)));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1356
					height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_)));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1357
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1358
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1359
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1360
			if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1361
				width += scrollOut;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1362
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1363
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1364
			inner.width( width ).height( height );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1365
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1366
			wrap.width( width + wPadding );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1367
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1368
			width_  = wrap.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1369
			height_ = wrap.height();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1370
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1371
			canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1372
			canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1373
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1374
			$.extend(current, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1375
				dim : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1376
					width	: getValue( width_ ),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1377
					height	: getValue( height_ )
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1378
				},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1379
				origWidth  : origWidth,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1380
				origHeight : origHeight,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1381
				canShrink  : canShrink,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1382
				canExpand  : canExpand,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1383
				wPadding   : wPadding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1384
				hPadding   : hPadding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1385
				wrapSpace  : height_ - skin.outerHeight(true),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1386
				skinSpace  : skin.height() - height
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1387
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1388
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1389
			if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1390
				inner.height('auto');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1391
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1392
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1393
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1394
		_getPosition: function (onlyAbsolute) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1395
			var current  = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1396
				viewport = F.getViewport(),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1397
				margin   = current.margin,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1398
				width    = F.wrap.width()  + margin[1] + margin[3],
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1399
				height   = F.wrap.height() + margin[0] + margin[2],
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1400
				rez      = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1401
					position: 'absolute',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1402
					top  : margin[0],
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1403
					left : margin[3]
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1404
				};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1405
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1406
			if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1407
				rez.position = 'fixed';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1408
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1409
			} else if (!current.locked) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1410
				rez.top  += viewport.y;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1411
				rez.left += viewport.x;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1412
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1413
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1414
			rez.top  = getValue(Math.max(rez.top,  rez.top  + ((viewport.h - height) * current.topRatio)));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1415
			rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width)  * current.leftRatio)));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1416
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1417
			return rez;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1418
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1419
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1420
		_afterZoomIn: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1421
			var current = F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1422
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1423
			if (!current) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1424
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1425
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1426
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1427
			F.isOpen = F.isOpened = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1428
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1429
			F.wrap.css('overflow', 'visible').addClass('fancybox-opened');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1430
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1431
			F.update();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1432
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1433
			// Assign a click event
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1434
			if ( current.closeClick || (current.nextClick && F.group.length > 1) ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1435
				F.inner.css('cursor', 'pointer').bind('click.fb', function(e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1436
					if (!$(e.target).is('a') && !$(e.target).parent().is('a')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1437
						e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1438
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1439
						F[ current.closeClick ? 'close' : 'next' ]();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1440
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1441
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1442
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1443
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1444
			// Create a close button
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1445
			if (current.closeBtn) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1446
				$(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1447
					e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1448
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1449
					F.close();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1450
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1451
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1452
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1453
			// Create navigation arrows
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1454
			if (current.arrows && F.group.length > 1) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1455
				if (current.loop || current.index > 0) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1456
					$(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1457
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1458
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1459
				if (current.loop || current.index < F.group.length - 1) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1460
					$(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1461
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1462
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1463
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1464
			F.trigger('afterShow');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1465
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1466
			// Stop the slideshow if this is the last item
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1467
			if (!current.loop && current.index === current.group.length - 1) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1468
				F.play( false );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1469
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1470
			} else if (F.opts.autoPlay && !F.player.isActive) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1471
				F.opts.autoPlay = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1472
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1473
				F.play();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1474
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1475
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1476
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1477
		_afterZoomOut: function ( obj ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1478
			obj = obj || F.current;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1479
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1480
			$('.fancybox-wrap').trigger('onReset').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1481
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1482
			$.extend(F, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1483
				group  : {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1484
				opts   : {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1485
				router : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1486
				current   : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1487
				isActive  : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1488
				isOpened  : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1489
				isOpen    : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1490
				isClosing : false,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1491
				wrap   : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1492
				skin   : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1493
				outer  : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1494
				inner  : null
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1495
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1496
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1497
			F.trigger('afterClose', obj);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1498
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1499
	});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1500
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1501
	/*
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1502
	 *	Default transitions
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1503
	 */
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1504
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1505
	F.transitions = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1506
		getOrigPosition: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1507
			var current  = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1508
				element  = current.element,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1509
				orig     = current.orig,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1510
				pos      = {},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1511
				width    = 50,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1512
				height   = 50,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1513
				hPadding = current.hPadding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1514
				wPadding = current.wPadding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1515
				viewport = F.getViewport();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1516
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1517
			if (!orig && current.isDom && element.is(':visible')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1518
				orig = element.find('img:first');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1519
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1520
				if (!orig.length) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1521
					orig = element;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1522
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1523
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1524
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1525
			if (isQuery(orig)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1526
				pos = orig.offset();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1527
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1528
				if (orig.is('img')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1529
					width  = orig.outerWidth();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1530
					height = orig.outerHeight();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1531
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1532
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1533
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1534
				pos.top  = viewport.y + (viewport.h - height) * current.topRatio;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1535
				pos.left = viewport.x + (viewport.w - width)  * current.leftRatio;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1536
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1537
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1538
			if (F.wrap.css('position') === 'fixed' || current.locked) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1539
				pos.top  -= viewport.y;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1540
				pos.left -= viewport.x;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1541
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1542
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1543
			pos = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1544
				top     : getValue(pos.top  - hPadding * current.topRatio),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1545
				left    : getValue(pos.left - wPadding * current.leftRatio),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1546
				width   : getValue(width  + wPadding),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1547
				height  : getValue(height + hPadding)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1548
			};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1549
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1550
			return pos;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1551
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1552
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1553
		step: function (now, fx) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1554
			var ratio,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1555
				padding,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1556
				value,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1557
				prop       = fx.prop,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1558
				current    = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1559
				wrapSpace  = current.wrapSpace,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1560
				skinSpace  = current.skinSpace;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1561
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1562
			if (prop === 'width' || prop === 'height') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1563
				ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1564
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1565
				if (F.isClosing) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1566
					ratio = 1 - ratio;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1567
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1568
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1569
				padding = prop === 'width' ? current.wPadding : current.hPadding;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1570
				value   = now - padding;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1571
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1572
				F.skin[ prop ](  getScalar( prop === 'width' ?  value : value - (wrapSpace * ratio) ) );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1573
				F.inner[ prop ]( getScalar( prop === 'width' ?  value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1574
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1575
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1576
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1577
		zoomIn: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1578
			var current  = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1579
				startPos = current.pos,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1580
				effect   = current.openEffect,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1581
				elastic  = effect === 'elastic',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1582
				endPos   = $.extend({opacity : 1}, startPos);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1583
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1584
			// Remove "position" property that breaks older IE
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1585
			delete endPos.position;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1586
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1587
			if (elastic) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1588
				startPos = this.getOrigPosition();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1589
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1590
				if (current.openOpacity) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1591
					startPos.opacity = 0.1;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1592
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1593
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1594
			} else if (effect === 'fade') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1595
				startPos.opacity = 0.1;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1596
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1597
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1598
			F.wrap.css(startPos).animate(endPos, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1599
				duration : effect === 'none' ? 0 : current.openSpeed,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1600
				easing   : current.openEasing,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1601
				step     : elastic ? this.step : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1602
				complete : F._afterZoomIn
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1603
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1604
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1605
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1606
		zoomOut: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1607
			var current  = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1608
				effect   = current.closeEffect,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1609
				elastic  = effect === 'elastic',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1610
				endPos   = {opacity : 0.1};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1611
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1612
			if (elastic) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1613
				endPos = this.getOrigPosition();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1614
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1615
				if (current.closeOpacity) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1616
					endPos.opacity = 0.1;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1617
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1618
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1619
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1620
			F.wrap.animate(endPos, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1621
				duration : effect === 'none' ? 0 : current.closeSpeed,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1622
				easing   : current.closeEasing,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1623
				step     : elastic ? this.step : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1624
				complete : F._afterZoomOut
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1625
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1626
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1627
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1628
		changeIn: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1629
			var current   = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1630
				effect    = current.nextEffect,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1631
				startPos  = current.pos,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1632
				endPos    = { opacity : 1 },
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1633
				direction = F.direction,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1634
				distance  = 200,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1635
				field;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1636
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1637
			startPos.opacity = 0.1;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1638
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1639
			if (effect === 'elastic') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1640
				field = direction === 'down' || direction === 'up' ? 'top' : 'left';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1641
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1642
				if (direction === 'down' || direction === 'right') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1643
					startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1644
					endPos[ field ]   = '+=' + distance + 'px';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1645
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1646
				} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1647
					startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1648
					endPos[ field ]   = '-=' + distance + 'px';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1649
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1650
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1651
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1652
			// Workaround for http://bugs.jquery.com/ticket/12273
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1653
			if (effect === 'none') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1654
				F._afterZoomIn();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1655
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1656
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1657
				F.wrap.css(startPos).animate(endPos, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1658
					duration : current.nextSpeed,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1659
					easing   : current.nextEasing,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1660
					complete : F._afterZoomIn
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1661
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1662
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1663
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1664
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1665
		changeOut: function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1666
			var previous  = F.previous,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1667
				effect    = previous.prevEffect,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1668
				endPos    = { opacity : 0.1 },
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1669
				direction = F.direction,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1670
				distance  = 200;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1671
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1672
			if (effect === 'elastic') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1673
				endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1674
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1675
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1676
			previous.wrap.animate(endPos, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1677
				duration : effect === 'none' ? 0 : previous.prevSpeed,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1678
				easing   : previous.prevEasing,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1679
				complete : function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1680
					$(this).trigger('onReset').remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1681
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1682
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1683
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1684
	};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1685
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1686
	/*
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1687
	 *	Overlay helper
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1688
	 */
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1689
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1690
	F.helpers.overlay = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1691
		defaults : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1692
			closeClick : true,      // if true, fancyBox will be closed when user clicks on the overlay
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1693
			speedOut   : 200,       // duration of fadeOut animation
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1694
			showEarly  : true,      // indicates if should be opened immediately or wait until the content is ready
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1695
			css        : {},        // custom CSS properties
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1696
			locked     : !isTouch,  // if true, the content will be locked into overlay
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1697
			fixed      : true       // if false, the overlay CSS position property will not be set to "fixed"
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1698
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1699
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1700
		overlay : null,      // current handle
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1701
		fixed   : false,     // indicates if the overlay has position "fixed"
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1702
		el      : $('html'), // element that contains "the lock"
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1703
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1704
		// Public methods
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1705
		create : function(opts) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1706
			opts = $.extend({}, this.defaults, opts);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1707
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1708
			if (this.overlay) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1709
				this.close();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1710
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1711
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1712
			this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( F.coming ? F.coming.parent : opts.parent );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1713
			this.fixed   = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1714
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1715
			if (opts.fixed && F.defaults.fixed) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1716
				this.overlay.addClass('fancybox-overlay-fixed');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1717
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1718
				this.fixed = true;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1719
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1720
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1721
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1722
		open : function(opts) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1723
			var that = this;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1724
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1725
			opts = $.extend({}, this.defaults, opts);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1726
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1727
			if (this.overlay) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1728
				this.overlay.unbind('.overlay').width('auto').height('auto');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1729
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1730
			} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1731
				this.create(opts);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1732
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1733
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1734
			if (!this.fixed) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1735
				W.bind('resize.overlay', $.proxy( this.update, this) );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1736
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1737
				this.update();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1738
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1739
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1740
			if (opts.closeClick) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1741
				this.overlay.bind('click.overlay', function(e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1742
					if ($(e.target).hasClass('fancybox-overlay')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1743
						if (F.isActive) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1744
							F.close();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1745
						} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1746
							that.close();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1747
						}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1748
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1749
						return false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1750
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1751
				});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1752
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1753
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1754
			this.overlay.css( opts.css ).show();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1755
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1756
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1757
		close : function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1758
			var scrollV, scrollH;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1759
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1760
			W.unbind('resize.overlay');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1761
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1762
			if (this.el.hasClass('fancybox-lock')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1763
				$('.fancybox-margin').removeClass('fancybox-margin');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1764
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1765
				scrollV = W.scrollTop();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1766
				scrollH = W.scrollLeft();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1767
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1768
				this.el.removeClass('fancybox-lock');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1769
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1770
				W.scrollTop( scrollV ).scrollLeft( scrollH );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1771
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1772
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1773
			$('.fancybox-overlay').remove().hide();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1774
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1775
			$.extend(this, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1776
				overlay : null,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1777
				fixed   : false
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1778
			});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1779
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1780
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1781
		// Private, callbacks
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1782
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1783
		update : function () {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1784
			var width = '100%', offsetWidth;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1785
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1786
			// Reset width/height so it will not mess
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1787
			this.overlay.width(width).height('100%');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1788
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1789
			// jQuery does not return reliable result for IE
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1790
			if (IE) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1791
				offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1792
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1793
				if (D.width() > offsetWidth) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1794
					width = D.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1795
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1796
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1797
			} else if (D.width() > W.width()) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1798
				width = D.width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1799
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1800
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1801
			this.overlay.width(width).height(D.height());
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1802
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1803
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1804
		// This is where we can manipulate DOM, because later it would cause iframes to reload
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1805
		onReady : function (opts, obj) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1806
			var overlay = this.overlay;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1807
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1808
			$('.fancybox-overlay').stop(true, true);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1809
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1810
			if (!overlay) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1811
				this.create(opts);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1812
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1813
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1814
			if (opts.locked && this.fixed && obj.fixed) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1815
				if (!overlay) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1816
					this.margin = D.height() > W.height() ? $('html').css('margin-right').replace("px", "") : false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1817
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1818
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1819
				obj.locked = this.overlay.append( obj.wrap );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1820
				obj.fixed  = false;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1821
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1822
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1823
			if (opts.showEarly === true) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1824
				this.beforeShow.apply(this, arguments);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1825
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1826
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1827
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1828
		beforeShow : function(opts, obj) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1829
			var scrollV, scrollH;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1830
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1831
			if (obj.locked) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1832
				if (this.margin !== false) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1833
					$('*').filter(function(){
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1834
						return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1835
					}).addClass('fancybox-margin');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1836
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1837
					this.el.addClass('fancybox-margin');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1838
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1839
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1840
				scrollV = W.scrollTop();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1841
				scrollH = W.scrollLeft();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1842
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1843
				this.el.addClass('fancybox-lock');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1844
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1845
				W.scrollTop( scrollV ).scrollLeft( scrollH );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1846
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1847
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1848
			this.open(opts);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1849
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1850
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1851
		onUpdate : function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1852
			if (!this.fixed) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1853
				this.update();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1854
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1855
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1856
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1857
		afterClose: function (opts) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1858
			// Remove overlay if exists and fancyBox is not opening
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1859
			// (e.g., it is not being open using afterClose callback)
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1860
			//if (this.overlay && !F.isActive) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1861
			if (this.overlay && !F.coming) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1862
				this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this ));
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1863
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1864
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1865
	};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1866
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1867
	/*
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1868
	 *	Title helper
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1869
	 */
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1870
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1871
	F.helpers.title = {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1872
		defaults : {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1873
			type     : 'float', // 'float', 'inside', 'outside' or 'over',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1874
			position : 'bottom' // 'top' or 'bottom'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1875
		},
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1876
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1877
		beforeShow: function (opts) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1878
			var current = F.current,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1879
				text    = current.title,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1880
				type    = opts.type,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1881
				title,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1882
				target;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1883
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1884
			if ($.isFunction(text)) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1885
				text = text.call(current.element, current);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1886
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1887
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1888
			if (!isString(text) || $.trim(text) === '') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1889
				return;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1890
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1891
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1892
			title = $('<div class="fancybox-title fancybox-title-' + type + '-wrap">' + text + '</div>');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1893
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1894
			switch (type) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1895
				case 'inside':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1896
					target = F.skin;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1897
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1898
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1899
				case 'outside':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1900
					target = F.wrap;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1901
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1902
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1903
				case 'over':
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1904
					target = F.inner;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1905
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1906
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1907
				default: // 'float'
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1908
					target = F.skin;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1909
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1910
					title.appendTo('body');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1911
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1912
					if (IE) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1913
						title.width( title.width() );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1914
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1915
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1916
					title.wrapInner('<span class="child"></span>');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1917
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1918
					//Increase bottom margin so this title will also fit into viewport
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1919
					F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1920
				break;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1921
			}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1922
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1923
			title[ (opts.position === 'top' ? 'prependTo'  : 'appendTo') ](target);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1924
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1925
	};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1926
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1927
	// jQuery plugin initialization
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1928
	$.fn.fancybox = function (options) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1929
		var index,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1930
			that     = $(this),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1931
			selector = this.selector || '',
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1932
			run      = function(e) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1933
				var what = $(this).blur(), idx = index, relType, relVal;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1934
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1935
				if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1936
					relType = options.groupAttr || 'data-fancybox-group';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1937
					relVal  = what.attr(relType);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1938
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1939
					if (!relVal) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1940
						relType = 'rel';
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1941
						relVal  = what.get(0)[ relType ];
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1942
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1943
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1944
					if (relVal && relVal !== '' && relVal !== 'nofollow') {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1945
						what = selector.length ? $(selector) : that;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1946
						what = what.filter('[' + relType + '="' + relVal + '"]');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1947
						idx  = what.index(this);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1948
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1949
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1950
					options.index = idx;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1951
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1952
					// Stop an event from bubbling if everything is fine
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1953
					if (F.open(what, options) !== false) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1954
						e.preventDefault();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1955
					}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1956
				}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1957
			};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1958
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1959
		options = options || {};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1960
		index   = options.index || 0;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1961
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1962
		if (!selector || options.live === false) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1963
			that.unbind('click.fb-start').bind('click.fb-start', run);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1964
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1965
		} else {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1966
			D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run);
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1967
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1968
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1969
		this.filter('[data-fancybox-start=1]').trigger('click');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1970
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1971
		return this;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1972
	};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1973
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1974
	// Tests that need a body at doc ready
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1975
	D.ready(function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1976
		var w1, w2;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1977
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1978
		if ( $.scrollbarWidth === undefined ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1979
			// http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1980
			$.scrollbarWidth = function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1981
				var parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1982
					child  = parent.children(),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1983
					width  = child.innerWidth() - child.height( 99 ).innerWidth();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1984
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1985
				parent.remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1986
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1987
				return width;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1988
			};
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1989
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1990
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1991
		if ( $.support.fixedPosition === undefined ) {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1992
			$.support.fixedPosition = (function() {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1993
				var elem  = $('<div style="position:fixed;top:20px;"></div>').appendTo('body'),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1994
					fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 );
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1995
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1996
				elem.remove();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1997
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1998
				return fixed;
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  1999
			}());
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2000
		}
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2001
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2002
		$.extend(F.defaults, {
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2003
			scrollbarWidth : $.scrollbarWidth(),
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2004
			fixed  : $.support.fixedPosition,
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2005
			parent : $('body')
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2006
		});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2007
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2008
		//Get real width of page scroll-bar
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2009
		w1 = $(window).width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2010
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2011
		H.addClass('fancybox-lock-test');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2012
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2013
		w2 = $(window).width();
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2014
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2015
		H.removeClass('fancybox-lock-test');
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2016
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2017
		$("<style type='text/css'>.fancybox-margin{margin-right:" + (w2 - w1) + "px;}</style>").appendTo("head");
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2018
	});
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2019
954019f62866 update lib,
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
  2020
}(window, document, jQuery));