web/rsln/res/metadataplayer/test/interface 1.2/source/imagebox.js
author Samuel Huron <samuel.huron@centrepompidou.fr>
Fri, 18 Feb 2011 19:37:15 +0100
changeset 50 a1636b31eb98
permissions -rw-r--r--
polemical timeline
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     1
/**
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     2
 * Interface Elements for jQuery
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     3
 * ImageBox
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     4
 * 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     5
 * http://interface.eyecon.ro
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     6
 * 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     7
 * Copyright (c) 2006 Stefan Petre
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     8
 * Dual licensed under the MIT (MIT-LICENSE.txt) 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
     9
 * and GPL (GPL-LICENSE.txt) licenses.
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    10
 *
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    11
 */
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    12
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    13
/**
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    14
 * This a jQuery equivalent for Lightbox2. Alternative to image popups that will display images in an overlay. All links that have attribute 'rel' starting with 'imagebox' and link to an image will display the image inside the page. Galleries can by build buy giving the value 'imagebox-galname' to attribute 'rel'. Attribute 'title' will be used as caption.
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    15
 * Keyboard navigation:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    16
 *  -  next image: arrow right, page down, 'n' key, space
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    17
 *  -  previous image: arrow left, page up, 'p' key, backspace
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    18
 *  -  close: escape
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    19
 *
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    20
 * CSS
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    21
 *	#ImageBoxOverlay
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    22
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    23
 *		background-color: #000;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    24
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    25
 *	#ImageBoxCaption
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    26
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    27
 *		background-color: #F4F4EC;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    28
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    29
 *	#ImageBoxContainer
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    30
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    31
 *		width: 250px;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    32
 *		height: 250px;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    33
 *		background-color: #F4F4EC;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    34
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    35
 *	#ImageBoxCaptionText
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    36
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    37
 *		font-weight: bold;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    38
 *		padding-bottom: 5px;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    39
 *		font-size: 13px;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    40
 *		color: #000;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    41
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    42
 *	#ImageBoxCaptionImages
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    43
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    44
 *		margin: 0;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    45
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    46
 *	#ImageBoxNextImage
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    47
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    48
 *		background-image: url(images/imagebox/spacer.gif);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    49
 *		background-color: transparent;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    50
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    51
 *	#ImageBoxPrevImage
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    52
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    53
 *		background-image: url(images/imagebox/spacer.gif);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    54
 *		background-color: transparent;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    55
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    56
 *	#ImageBoxNextImage:hover
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    57
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    58
 *		background-image: url(images/imagebox/next_image.jpg);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    59
 *		background-repeat:	no-repeat;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    60
 *		background-position: right top;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    61
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    62
 *	#ImageBoxPrevImage:hover
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    63
 *	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    64
 *		background-image: url(images/imagebox/prev_image.jpg);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    65
 *		background-repeat:	no-repeat;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    66
 *		background-position: left bottom;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    67
 *	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    68
 * 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    69
 * @name Imagebox
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    70
 * @description This a jQuery equivalent for Lightbox2. Alternative to image popups that will display images in an overlay. All links that have attribute 'rel' starting with 'imagebox' and link to an image will display the image inside the page. Galleries can by build buy giving the value 'imagebox-galname' to attribute 'rel'. Attribute 'title' will be used as caption.
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    71
 * @param Hash hash A hash of parameters
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    72
 * @option Integer border border width
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    73
 * @option String loaderSRC path to loading image
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    74
 * @option String closeHTML path to close overlay image
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    75
 * @option Float overlayOpacity opacity for overlay
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    76
 * @option String textImage when a galalry it is build then the iteration is displayed
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    77
 * @option String textImageFrom when a galalry it is build then the iteration is displayed
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    78
 * @option Integer fadeDuration fade duration in miliseconds
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    79
 *
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    80
 * @type jQuery
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    81
 * @cat Plugins/Interface
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    82
 * @author Stefan Petre
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    83
 */
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    84
jQuery.ImageBox = {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    85
	options : {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    86
		border				: 10,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    87
		loaderSRC			: 'images/loading.gif',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    88
		closeHTML			: '<img src="images/close.jpg" />',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    89
		overlayOpacity		: 0.8,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    90
		textImage			: 'Showing image',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    91
		textImageFrom		: 'from',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    92
		fadeDuration		: 400
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    93
	},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    94
	imageLoaded : false,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    95
	firstResize : false,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    96
	currentRel : null,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    97
	animationInProgress : false,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    98
	opened : false,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
    99
	
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   100
	keyPressed : function(event)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   101
	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   102
		if(!jQuery.ImageBox.opened || jQuery.ImageBox.animationInProgress)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   103
			return;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   104
		var pressedKey = event.charCode || event.keyCode || -1;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   105
		switch (pressedKey)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   106
		{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   107
			//end
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   108
			case 35:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   109
				if (jQuery.ImageBox.currentRel)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   110
					jQuery.ImageBox.start(null, jQuery('a[@rel=' + jQuery.ImageBox.currentRel+ ']:last').get(0));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   111
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   112
			//home
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   113
			case 36:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   114
				if (jQuery.ImageBox.currentRel)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   115
					jQuery.ImageBox.start(null, jQuery('a[@rel=' + jQuery.ImageBox.currentRel+ ']:first').get(0));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   116
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   117
			//left
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   118
			case 37:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   119
			//backspace
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   120
			case 8:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   121
			//page up
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   122
			case 33:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   123
			//p
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   124
			case 80:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   125
			case 112:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   126
				var prevEl = jQuery('#ImageBoxPrevImage');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   127
				if(prevEl.get(0).onclick != null) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   128
					prevEl.get(0).onclick.apply(prevEl.get(0));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   129
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   130
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   131
			//up
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   132
			case 38:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   133
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   134
			//right
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   135
			case 39:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   136
			//page down
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   137
			case 34:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   138
			//space
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   139
			case 32:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   140
			//n
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   141
			case 110:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   142
			case 78:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   143
				var nextEl = jQuery('#ImageBoxNextImage');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   144
				if(nextEl.get(0).onclick != null) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   145
					nextEl.get(0).onclick.apply(nextEl.get(0));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   146
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   147
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   148
			//down;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   149
			case 40:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   150
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   151
			//escape
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   152
			case 27:
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   153
				jQuery.ImageBox.hideImage();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   154
			break;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   155
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   156
	},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   157
	
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   158
	init : function(options)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   159
	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   160
		if (options)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   161
			jQuery.extend(jQuery.ImageBox.options, options);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   162
		if (window.event) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   163
			jQuery('body',document).bind('keyup', jQuery.ImageBox.keyPressed);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   164
		} else {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   165
			jQuery(document).bind('keyup', jQuery.ImageBox.keyPressed);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   166
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   167
		jQuery('a').each(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   168
			function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   169
			{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   170
				el 				= jQuery(this);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   171
				relAttr 		= el.attr('rel')||'';
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   172
				hrefAttr 		= el.attr('href')||'';
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   173
				imageTypes 		= /\.jpg|\.jpeg|\.png|\.gif|\.bmp/g;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   174
				if (hrefAttr.toLowerCase().match(imageTypes) != null && relAttr.toLowerCase().indexOf('imagebox') == 0) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   175
					el.bind('click', jQuery.ImageBox.start);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   176
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   177
			}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   178
		);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   179
		if (jQuery.browser.msie) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   180
			iframe = document.createElement('iframe');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   181
			jQuery(iframe)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   182
				.attr(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   183
					{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   184
						id			: 'ImageBoxIframe',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   185
						src			: 'javascript:false;',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   186
						frameborder	: 'no',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   187
						scrolling	: 'no'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   188
					}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   189
				)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   190
				.css (
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   191
					{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   192
						display		: 'none',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   193
						position	: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   194
						top			: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   195
						left		: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   196
						filter		: 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   197
					}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   198
				);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   199
			jQuery('body').append(iframe);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   200
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   201
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   202
		overlay	= document.createElement('div');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   203
		jQuery(overlay)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   204
			.attr('id', 'ImageBoxOverlay')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   205
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   206
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   207
					position	: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   208
					display		: 'none',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   209
					top			: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   210
					left		: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   211
					opacity		: 0
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   212
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   213
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   214
			.append(document.createTextNode(' '))
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   215
			.bind('click', jQuery.ImageBox.hideImage);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   216
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   217
		captionText = document.createElement('div');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   218
		jQuery(captionText)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   219
			.attr('id', 'ImageBoxCaptionText')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   220
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   221
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   222
					paddingLeft		: jQuery.ImageBox.options.border + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   223
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   224
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   225
			.append(document.createTextNode(' '));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   226
			
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   227
		captionImages = document.createElement('div');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   228
		jQuery(captionImages)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   229
			.attr('id', 'ImageBoxCaptionImages')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   230
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   231
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   232
					paddingLeft		: jQuery.ImageBox.options.border + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   233
					paddingBottom	: jQuery.ImageBox.options.border + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   234
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   235
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   236
			.append(document.createTextNode(' '));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   237
			
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   238
		closeEl = document.createElement('a');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   239
		jQuery(closeEl)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   240
			.attr(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   241
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   242
					id			: 'ImageBoxClose',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   243
					href		: '#'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   244
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   245
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   246
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   247
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   248
					position	: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   249
					right		: jQuery.ImageBox.options.border + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   250
					top			: '0'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   251
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   252
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   253
			.append(jQuery.ImageBox.options.closeHTML)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   254
			.bind('click', jQuery.ImageBox.hideImage);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   255
			
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   256
		captionEl = document.createElement('div');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   257
		jQuery(captionEl)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   258
			.attr('id', 'ImageBoxCaption')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   259
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   260
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   261
					position	: 'relative',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   262
					textAlign	: 'left',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   263
					margin		: '0 auto',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   264
					zIndex		: 1
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   265
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   266
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   267
			.append(captionText)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   268
			.append(captionImages)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   269
			.append(closeEl);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   270
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   271
		loader = document.createElement('img');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   272
		loader.src = jQuery.ImageBox.options.loaderSRC;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   273
		jQuery(loader)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   274
			.attr('id', 'ImageBoxLoader')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   275
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   276
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   277
					position	: 'absolute'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   278
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   279
			);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   280
			
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   281
		prevImage = document.createElement('a');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   282
		jQuery(prevImage)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   283
			.attr(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   284
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   285
					id			: 'ImageBoxPrevImage',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   286
					href		: '#'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   287
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   288
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   289
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   290
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   291
					position		: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   292
					display			: 'none',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   293
					overflow		: 'hidden',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   294
					textDecoration	: 'none'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   295
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   296
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   297
			.append(document.createTextNode(' '));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   298
			
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   299
		nextImage = document.createElement('a');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   300
		jQuery(nextImage)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   301
			.attr(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   302
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   303
					id			: 'ImageBoxNextImage',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   304
					href		: '#'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   305
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   306
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   307
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   308
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   309
					position		: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   310
					overflow		: 'hidden',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   311
					textDecoration	: 'none'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   312
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   313
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   314
			.append(document.createTextNode(' '));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   315
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   316
		container = document.createElement('div');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   317
		jQuery(container)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   318
			.attr('id', 'ImageBoxContainer')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   319
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   320
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   321
					display		: 'none',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   322
					position	: 'relative',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   323
					overflow	: 'hidden',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   324
					textAlign	: 'left',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   325
					margin		: '0 auto',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   326
					top			: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   327
					left		: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   328
					zIndex		: 2
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   329
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   330
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   331
			.append([loader, prevImage, nextImage]);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   332
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   333
		outerContainer = document.createElement('div');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   334
		jQuery(outerContainer)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   335
			.attr('id', 'ImageBoxOuterContainer')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   336
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   337
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   338
					display		: 'none',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   339
					position	: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   340
					overflow	: 'hidden',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   341
					top			: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   342
					left		: '0',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   343
					textAlign	: 'center',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   344
					backgroundColor : 'transparent',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   345
					lineHeigt	: '0'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   346
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   347
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   348
			.append([container,captionEl]);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   349
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   350
		jQuery('body')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   351
			.append(overlay)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   352
			.append(outerContainer);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   353
	},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   354
	
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   355
	start : function(e, elm)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   356
	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   357
		el = elm ? jQuery(elm) : jQuery(this);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   358
		linkRel =  el.attr('rel');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   359
		var totalImages, iteration, prevImage, nextImage;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   360
		if (linkRel != 'imagebox') {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   361
			jQuery.ImageBox.currentRel = linkRel;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   362
			gallery = jQuery('a[@rel=' + linkRel + ']');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   363
			totalImages = gallery.size();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   364
			iteration = gallery.index(elm ? elm : this);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   365
			prevImage = gallery.get(iteration - 1);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   366
			nextImage = gallery.get(iteration + 1);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   367
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   368
		imageSrc =  el.attr('href');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   369
		captionText = el.attr('title');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   370
		pageSize = jQuery.iUtil.getScroll();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   371
		overlay = jQuery('#ImageBoxOverlay');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   372
		if (!jQuery.ImageBox.opened) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   373
			jQuery.ImageBox.opened = true;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   374
			if (jQuery.browser.msie) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   375
				jQuery('#ImageBoxIframe')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   376
					.css ('height', Math.max(pageSize.ih,pageSize.h) + 'px')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   377
					.css ('width', Math.max(pageSize.iw,pageSize.w) + 'px')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   378
					.show();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   379
			}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   380
			overlay
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   381
				.css ('height', Math.max(pageSize.ih,pageSize.h) + 'px')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   382
				.css ('width', Math.max(pageSize.iw,pageSize.w) + 'px')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   383
				.show()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   384
				.fadeTo( 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   385
					300,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   386
					jQuery.ImageBox.options.overlayOpacity,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   387
					function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   388
					{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   389
						jQuery.ImageBox.loadImage(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   390
							imageSrc, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   391
							captionText, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   392
							pageSize, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   393
							totalImages, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   394
							iteration,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   395
							prevImage,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   396
							nextImage
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   397
						);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   398
					}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   399
				);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   400
			jQuery('#ImageBoxOuterContainer').css ('width', Math.max(pageSize.iw,pageSize.w) + 'px');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   401
		} else {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   402
			jQuery('#ImageBoxPrevImage').get(0).onclick = null;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   403
			jQuery('#ImageBoxNextImage').get(0).onclick = null;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   404
			jQuery.ImageBox.loadImage(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   405
				imageSrc, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   406
				captionText, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   407
				pageSize, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   408
				totalImages, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   409
				iteration,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   410
				prevImage,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   411
				nextImage
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   412
			);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   413
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   414
		return false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   415
	},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   416
		
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   417
	loadImage : function(imageSrc, captiontext, pageSize, totalImages, iteration, prevImage, nextImage)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   418
	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   419
		jQuery('#ImageBoxCurrentImage').remove();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   420
		prevImageEl = jQuery('#ImageBoxPrevImage');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   421
		prevImageEl.hide();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   422
		nextImageEl = jQuery('#ImageBoxNextImage');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   423
		nextImageEl.hide();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   424
		loader = jQuery('#ImageBoxLoader');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   425
		container = jQuery('#ImageBoxContainer');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   426
		outerContainer = jQuery('#ImageBoxOuterContainer');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   427
		captionEl = jQuery('#ImageBoxCaption').css('visibility', 'hidden');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   428
		jQuery('#ImageBoxCaptionText').html(captionText);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   429
		jQuery.ImageBox.animationInProgress = true;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   430
		if (totalImages)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   431
			jQuery('#ImageBoxCaptionImages').html(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   432
				jQuery.ImageBox.options.textImage 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   433
				+ ' ' + (iteration + 1) + ' '
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   434
				+ jQuery.ImageBox.options.textImageFrom  
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   435
				+ ' ' + totalImages
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   436
			);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   437
		if (prevImage) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   438
			prevImageEl.get(0).onclick = function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   439
			{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   440
				this.blur();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   441
				jQuery.ImageBox.start(null, prevImage);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   442
				return false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   443
			};
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   444
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   445
		if (nextImage) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   446
			nextImageEl.get(0).onclick =function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   447
			{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   448
				this.blur();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   449
				jQuery.ImageBox.start(null, nextImage);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   450
				return false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   451
			};
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   452
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   453
		loader.show();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   454
		containerSize = jQuery.iUtil.getSize(container.get(0));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   455
		containerW = Math.max(containerSize.wb, loader.get(0).width + jQuery.ImageBox.options.border * 2);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   456
		containerH = Math.max(containerSize.hb, loader.get(0).height + jQuery.ImageBox.options.border * 2);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   457
		loader
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   458
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   459
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   460
					left	: (containerW - loader.get(0).width)/2 + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   461
					top		: (containerH - loader.get(0).height)/2 + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   462
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   463
			);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   464
		container
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   465
			.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   466
				{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   467
					width	: containerW + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   468
					height	: containerH + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   469
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   470
			)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   471
			.show();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   472
		clientSize = jQuery.iUtil.getClient();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   473
		outerContainer
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   474
			.css('top', pageSize.t +  (clientSize.h / 15) + 'px');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   475
		if (outerContainer.css('display') == 'none') {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   476
			outerContainer
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   477
				.show()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   478
				.fadeIn(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   479
					jQuery.ImageBox.options.fadeDuration
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   480
				);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   481
		}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   482
		imageEl = new Image;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   483
		jQuery(imageEl)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   484
			.attr('id', 'ImageBoxCurrentImage')
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   485
			.bind('load', 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   486
			function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   487
			{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   488
				containerW = imageEl.width + jQuery.ImageBox.options.border * 2;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   489
				containerH = imageEl.height + jQuery.ImageBox.options.border * 2;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   490
				loader.hide();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   491
				container.animate(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   492
					{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   493
						height		: containerH
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   494
					},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   495
					containerSize.hb != containerH ? jQuery.ImageBox.options.fadeDuration : 1,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   496
					function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   497
					{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   498
						container.animate(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   499
							{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   500
								width		: containerW
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   501
							},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   502
							containerSize.wb != containerW ? jQuery.ImageBox.options.fadeDuration : 1,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   503
							function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   504
							{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   505
								container.prepend(imageEl);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   506
								jQuery(imageEl)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   507
									.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   508
										{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   509
											position	: 'absolute',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   510
											left		: jQuery.ImageBox.options.border + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   511
											top			: jQuery.ImageBox.options.border + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   512
										}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   513
									)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   514
									.fadeIn(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   515
										jQuery.ImageBox.options.fadeDuration,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   516
										function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   517
										{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   518
											captionSize = jQuery.iUtil.getSize(captionEl.get(0));
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   519
											if (prevImage) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   520
												prevImageEl
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   521
													.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   522
														{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   523
															left	: jQuery.ImageBox.options.border + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   524
															top		: jQuery.ImageBox.options.border + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   525
															width	: containerW/2 - jQuery.ImageBox.options.border * 3 + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   526
															height	: containerH - jQuery.ImageBox.options.border * 2 + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   527
														}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   528
													)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   529
													.show();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   530
											}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   531
											if (nextImage) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   532
												nextImageEl
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   533
													.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   534
														{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   535
															left	: containerW/2 + jQuery.ImageBox.options.border * 2 + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   536
															top		: jQuery.ImageBox.options.border + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   537
															width	: containerW/2 - jQuery.ImageBox.options.border * 3 + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   538
															height	: containerH - jQuery.ImageBox.options.border * 2 + 'px'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   539
														}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   540
													)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   541
													.show();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   542
											}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   543
											captionEl
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   544
												.css(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   545
													{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   546
														width		: containerW + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   547
														top			: - captionSize.hb + 'px',
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   548
														visibility	: 'visible'
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   549
													}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   550
												)
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   551
												.animate(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   552
													{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   553
														top		: -1
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   554
													},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   555
													jQuery.ImageBox.options.fadeDuration,
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   556
													function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   557
													{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   558
														jQuery.ImageBox.animationInProgress = false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   559
													}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   560
												);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   561
										}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   562
									);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   563
							}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   564
						);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   565
					}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   566
				);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   567
			}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   568
		);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   569
		imageEl.src = imageSrc;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   570
			
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   571
	},
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   572
	
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   573
	hideImage : function()
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   574
	{
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   575
		jQuery('#ImageBoxCurrentImage').remove();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   576
		jQuery('#ImageBoxOuterContainer').hide();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   577
		jQuery('#ImageBoxCaption').css('visibility', 'hidden');
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   578
		jQuery('#ImageBoxOverlay').fadeTo(
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   579
			300, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   580
			0, 
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   581
			function(){
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   582
				jQuery(this).hide();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   583
				if (jQuery.browser.msie) {
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   584
					jQuery('#ImageBoxIframe').hide();
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   585
				}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   586
			}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   587
		);
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   588
		jQuery('#ImageBoxPrevImage').get(0).onclick = null;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   589
		jQuery('#ImageBoxNextImage').get(0).onclick = null;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   590
		jQuery.ImageBox.currentRel = null;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   591
		jQuery.ImageBox.opened = false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   592
		jQuery.ImageBox.animationInProgress = false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   593
		return false;
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   594
	}
a1636b31eb98 polemical timeline
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff changeset
   595
};