front_idill/src/mosaic/js/pointers.js
author bastiena
Fri, 29 Jun 2012 16:16:24 +0200
changeset 44 8393d3473b98
child 45 0e29ae4568a0
permissions -rw-r--r--
Front IDILL: Updated, mosaic spreaded into several files, new pictures and pictograms
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     1
/*
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     2
 * Affiche les pointeurs.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     3
*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     4
mosaic.prototype.addPointers = function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     5
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     6
	var mainPointer = '<div id="mainPointer" class="pointers"></div>';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     7
	var secondPointer = '<div id="secondPointer" class="pointers"></div>';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     8
	$('body').append(mainPointer + secondPointer);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
     9
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    10
	$('#secondPointer').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    11
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    12
		top: $(window).height() / 2 - $('#secondPointer').height() / 2,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    13
		left: $(window).width() / 4 - $('#secondPointer').width() / 2
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    14
	});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    15
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    16
	this.secondPointerLastX = $(window).width() / 4 - $('#secondPointer').width() / 2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    17
	this.secondPointerLastY = $(window).height() / 2 - $('#secondPointer').height() / 2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    18
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    19
	$('#mainPointer').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    20
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    21
		top: $(window).height() / 2 - $('#mainPointer').height() / 2,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    22
		left: $(window).width() * 3 / 4 - $('#mainPointer').width() / 2
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    23
	});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    24
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    25
	this.mainPointerLastX = $(window).width() * 3 / 4 - $('#mainPointer').width() / 2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    26
	this.mainPointerLastY = $(window).height() / 2 - $('#mainPointer').height() / 2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    27
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    28
	this.mainPointerIdleStartX = this.mainPointerLastX;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    29
	this.mainPointerIdleStartY = this.mainPointerLastY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    30
	this.secondPointerIdleStartX = this.secondPointerLastX;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    31
	this.secondPointerIdleStartY = this.secondPointerLastY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    32
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    33
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    34
/*
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    35
 * Affiche/Masque le pointeur principal.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    36
 * Main est un booléen valant vrai s'il faut afficher le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    37
*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    38
mosaic.prototype.mainPointerDisplay = function(main)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    39
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    40
	var _this = this;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    41
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    42
	//On n'affiche pas les pointeurs dans le mode sans utilisateur ni utilisateur en phase d'approche.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    43
	if(this.currentMode != 'NO-USER' && this.currentMode.indexOf('INCOMING-') == -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    44
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    45
		if(main)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    46
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    47
			clearTimeout(this.arrowSpinnerTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    48
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    49
			$('#mainPointer').fadeTo(this.config['timeFilling'], '1');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    50
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    51
			//Si on a un seul pointeur, on affiche la mire.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    52
			if(!this.areBothPointersHere)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    53
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    54
				// console.log('ONE');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    55
				/*$('#mainPointer').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    56
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    57
					'background-image': 'url(./img/cursors/selector_gray.png)',
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    58
					width: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    59
					height: 85
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    60
				});*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    61
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    62
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    63
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    64
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    65
	//Si le booléen est à faux, on masque le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    66
	if(!main)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    67
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    68
		$('#spinner').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    69
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    70
		$('#mainPointer').fadeTo(this.config['timeFilling'], '0');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    71
		if(this.mainPointerNeighbourSelectedId != null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    72
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    73
			// this.deselectNeighbour(this.mainPointerNeighbourSelectedId);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    74
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    75
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    76
		//Si on a zoomé sur une vidéo.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    77
		if(this.currentMode == 'VIDEO' || this.currentMode == 'SEARCH')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    78
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    79
			//On annule aussi la TL s'il y a lieu.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    80
			if(this.isTLSelected())
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    81
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    82
				this.isTLRequested = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    83
				clearTimeout(this.selectTLTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    84
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    85
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    86
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    87
		if(this.isTLSelectedByMainPointer)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    88
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    89
			//On déselectionne la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    90
			this.exitTimeline('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    91
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    92
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    93
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    94
/*
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    95
 * Affiche/Masque le pointeur secondaire.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    96
 * Main est un booléen valant vrai s'il faut afficher le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    97
*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    98
mosaic.prototype.secondPointerDisplay = function(second)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
    99
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   100
	//On n'affiche pas les pointeurs dans le mode sans utilisateur ni utilisateur en phase d'approche.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   101
	if(this.currentMode != 'NO-USER' && this.currentMode.indexOf('INCOMING-') == -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   102
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   103
		if(second)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   104
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   105
			clearTimeout(this.arrowSpinnerTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   106
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   107
			$('#secondPointer').fadeTo(this.config['timeFilling'], '1');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   108
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   109
			//Si on a un seul pointeur, on affiche la mire.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   110
			if(!this.areBothPointersHere)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   111
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   112
				// console.log('ONE');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   113
				/*$('#secondPointer').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   114
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   115
					'background-image': 'url(./img/cursors/selector_gray.png)',
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   116
					width: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   117
					height: 85
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   118
				});*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   119
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   120
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   121
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   122
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   123
	//Si le booléen est à faux, on masque le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   124
	if(!second)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   125
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   126
		$('#spinner').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   127
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   128
		$('#secondPointer').fadeTo(this.config['timeFilling'], '0');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   129
		if(this.secondPointerNeighbourSelectedId != null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   130
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   131
			// this.deselectNeighbour(this.secondPointerNeighbourSelectedId);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   132
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   133
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   134
		if(this.isTLSelectedBySecondPointer)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   135
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   136
			//On déselectionne la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   137
			this.exitTimeline('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   138
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   139
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   140
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   141
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   142
/*
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   143
 * Raffraîchit la position des pointeurs.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   144
*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   145
mosaic.prototype.refreshMainPointer = function(x, y)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   146
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   147
	// console.log('                                    DEBUG MP');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   148
	if(this.currentMode == "NO-USER" || this.currentMode.indexOf('INCOMING-') != -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   149
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   150
		return;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   151
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   152
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   153
	if(!this.mouseInteractions)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   154
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   155
		x *= 7;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   156
		y *= 7;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   157
		x -= $(window).width() * 3 / 4;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   158
		y -= $(window).height() * 2 / 4;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   159
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   160
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   161
	//Si le pointeur quitte la fenêtre en X, on ne le change pas.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   162
	// console.log('x : ' + x + ' mplx : ' + this.mainPointerLastX);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   163
	if(x < 0 || x > $(window).width())
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   164
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   165
		x = this.mainPointerLastX;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   166
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   167
	//Sinon, on le met à jour.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   168
	else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   169
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   170
		this.mainPointerLastX = x;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   171
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   172
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   173
	//Si le pointeur quitte la fenêtre en Y, on ne le change pas.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   174
	if(y < 0 || y > $(window).height())
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   175
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   176
		y = this.mainPointerLastY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   177
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   178
	//Sinon, on le met à jour.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   179
	else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   180
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   181
		this.mainPointerLastY = y;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   182
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   183
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   184
	var pointerX = x - $('#mainPointer').width()/2, pointerY = y - $('#mainPointer').height()/2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   185
	var _this = this;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   186
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   187
	$('#mainPointer').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   188
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   189
		top: pointerY,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   190
		left: pointerX
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   191
	});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   192
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   193
	if($('#spinner').length > 0)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   194
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   195
		$('#spinner').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   196
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   197
			top: pointerY,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   198
			left: pointerX
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   199
		});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   200
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   201
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   202
	var snapshot = null;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   203
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   204
	if(this.currentMode == 'MOSAIC' || this.currentMode == 'FILTER' && this.isMosaicFiltered)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   205
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   206
		snapshot = this.pointerPositionToSN(pointerX, pointerY, true);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   207
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   208
		if(this.previousZoomedSN != null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   209
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   210
			var id = this.previousZoomedSN.attr('id').replace('snapshotDiv-', '');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   211
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   212
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   213
		if(snapshot == null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   214
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   215
			this.isOnASnapshot = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   216
			this.lastNonNullSN = this.previousZoomedSN;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   217
			this.preUnzoom();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   218
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   219
			$('#mainPointer').css('background-image', 'url(./img/cursors/pointer.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   220
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   221
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   222
		if(!this.isSecondPointerDisplayed && snapshot != null && (this.previousZoomedSN != null && snapshot.attr('id') !== this.previousZoomedSN.attr('id') || this.lastNonNullSN != null && snapshot.attr('id') === this.lastNonNullSN.attr('id')) && !this.areBothPointersHere)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   223
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   224
			this.isOnASnapshot = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   225
			this.previousZoomedSN = snapshot;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   226
			this.lastNonNullSN = null;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   227
			this.preZoom(snapshot);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   228
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   229
			$('#mainPointer').css('background-image', 'url(./img/cursors/selector_gray.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   230
			// console.log(this.isMainPointerDisplayed + ' ' + this.isSecondPointerDisplayed);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   231
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   232
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   233
		//Si on se trouve actuellement dans une recherche par gestures.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   234
		// /!\ // RAJOUTE EN ATTENDANT UN GESTE DE CANCEL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   235
		if(this.isMosaicFiltered && !this.isMosaicFiltering)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   236
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   237
			console.log('CHECK IF ON NOTIFY GESTURE');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   238
			this.checkIfPointerIsOnSearchNotification(pointerX, pointerY, $('#mainPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   239
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   240
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   241
	else if(this.currentMode == 'VIDEO' || this.currentMode == 'SEARCH' || this.currentMode == 'TIMELINE')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   242
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   243
		//On vérifie si on veut sélectionner la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   244
		if((this.currentMode != 'TIMELINE' || this.isTLRequested) && this.playerIsReady && !this.isTLSelectedBySecondPointer && !this.helpDisplayed)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   245
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   246
			// console.log('(1) SP : ' + this.isTLSelectedBySecondPointer + ' MP : ' + this.isTLSelectedByMainPointer);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   247
			if(this.isTLSelected(true, true) && !this.isTLRequested)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   248
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   249
				// console.log('(2) TIMELINE REQUESTED ' + this.date());
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   250
				// $('.a').css('background-color', '#f00');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   251
				//On a demandé à aller dans la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   252
				this.isTLRequested = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   253
				this.isTLSelectedByMainPointer = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   254
				this.isTLSelectedBySecondPointer = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   255
				// console.log('(1) SP : ' + this.isTLSelectedBySecondPointer + ' MP : ' + this.isTLSelectedByMainPointer);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   256
				this.currentMode = 'TIMELINE';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   257
				this.player.widgets[0].selectTimeline();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   258
				$('#mainPointer').css('background-image', 'url(./img/cursors/selector_gray.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   259
				
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   260
				//On met le spinner gif sur le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   261
				var spinner = "<img id='spinner'></div>";
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   262
				$('body').append(spinner);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   263
				$('#spinner').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   264
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   265
					position: 'absolute',
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   266
					top: $('#mainPointer').position().top,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   267
					left: $('#mainPointer').position().left,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   268
					width: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   269
					height: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   270
					'z-index': 600
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   271
				});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   272
				$('#spinner').attr('src', './img/cursors/selector_anim.gif');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   273
				
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   274
				this.selectTLTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   275
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   276
					//On permet l'interaction après un laps de temps.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   277
					_this.canSlideInTL = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   278
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   279
					$('.notifications').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   280
					_this.timelineTimeline();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   281
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   282
					// console.log('(4) TIMELINE SLIDE ' + _this.date());
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   283
				}, this.config['timeoutSlideTL']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   284
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   285
			else if(!this.isTLSelected(true, true) && this.isTLRequested)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   286
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   287
				// console.log('(3) TIMELINE ABORTED');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   288
				this.isTLRequested = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   289
				clearTimeout(this.selectTLTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   290
				//On déselectionne la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   291
				this.exitTimeline('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   292
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   293
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   294
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   295
		if(this.isTLSelectedByMainPointer && !this.isTLSelected(false, true))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   296
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   297
			// console.log('(4) TIMELINE EXITED');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   298
			// $('.a').css('background-color', '#0f0');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   299
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   300
			//On déselectionne la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   301
			this.exitTimeline('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   302
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   303
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   304
		// var zoomX = pointerX, zoomY = pointerY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   305
		var zoomX = pointerX - this.notifyLeftVideo, zoomY = pointerY - this.notifyTopVideo;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   306
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   307
		//Si on a sélectionné la TL et qu'on a le pointeur droit dessus, on peut modifier la position de lecture.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   308
		if(this.currentMode == 'TIMELINE' && this.playerIsReady && !this.isSecondPointerDisplayed && this.canSlideInTL)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   309
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   310
			var time, TL = $('.Ldt-Timeline'), P = $('.LdtPlayer');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   311
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   312
			if(pointerX < P.position().left)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   313
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   314
				time = 0;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   315
				// console.log('trop à droite');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   316
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   317
			else if(pointerX > (+P.position().left + TL.width()))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   318
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   319
				time = this.player.widgets[0].source.getDuration().getSeconds();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   320
				// console.log('trop à gauche');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   321
				// time = 0;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   322
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   323
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   324
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   325
				time = this.player.widgets[0].scaleIntervals(P.position().left, (+P.position().left + TL.width()), 0, this.player.widgets[0].source.getDuration().getSeconds(), pointerX);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   326
				// console.log(time);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   327
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   328
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   329
			this.player.popcorn.currentTime(time);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   330
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   331
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   332
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   333
		//Si on se trouve actuellement dans une recherche par gestures.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   334
		if(this.isCurrentlyInASearchByGesture)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   335
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   336
			this.checkIfPointerIsOnSearchNotification(pointerX, pointerY, $('#mainPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   337
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   338
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   339
		//on vérifie si le pointeur est sur un snapshot zoomé.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   340
		snapshot = this.pointerPositionToSN(zoomX, zoomY, true);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   341
		if(snapshot == null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   342
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   343
			$('#mainPointer').css('background-image', 'url(./img/cursors/pointer.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   344
			snapshot = this.pointerPositionToAN(pointerX, pointerY);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   345
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   346
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   347
		// console.log(snapshot);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   348
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   349
		var intValueOfId;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   350
		//Si c'est le cas.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   351
		if(snapshot != null && snapshot.length > 0)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   352
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   353
			//S'il s'agit d'un voisin additionnel.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   354
			if(snapshot.attr('id').indexOf('borderNeighbour') != -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   355
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   356
				intValueOfId = parseInt(snapshot.attr('id').replace('borderNeighbour-', ''));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   357
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   358
			//Sinon si c'est un voisin normal.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   359
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   360
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   361
				intValueOfId = parseInt(snapshot.attr('id').replace('snapshotDiv-', ''));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   362
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   363
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   364
		else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   365
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   366
			intValueOfId = -2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   367
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   368
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   369
		//Si c'est un voisin additionnel.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   370
		if(snapshot != null && snapshot.attr('id').indexOf('borderNeighbour') != -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   371
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   372
			//S'il a été trouvé.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   373
			if(intValueOfId > -1 && intValueOfId < 5)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   374
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   375
				//On le sélectionne.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   376
				this.selectNeighbour(snapshot, $('#mainPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   377
				this.mainPointerExitBorder = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   378
				this.mainPointerNeighbourSelectedId = intValueOfId + this.config['imagesToShow'];
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   379
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   380
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   381
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   382
				if(this.mainPointerNeighbourSelectedId != null && this.mainPointerNeighbourSelectedId > -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   383
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   384
					this.deselectNeighbour(this.mainPointerNeighbourSelectedId);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   385
				}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   386
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   387
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   388
		else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   389
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   390
			//Si c'est un voisin.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   391
			if(_.include(this.neighboursIds, intValueOfId))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   392
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   393
				//On le sélectionne.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   394
				this.selectNeighbour(snapshot, $('#mainPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   395
				clearTimeout(this.moveToNeighbourTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   396
				clearTimeout(this.mainPointerExitBorderTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   397
				this.mainPointerExitBorder = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   398
				this.mainPointerNeighbourSelectedId = intValueOfId;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   399
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   400
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   401
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   402
				if(this.mainPointerNeighbourSelectedId != null && this.mainPointerNeighbourSelectedId > -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   403
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   404
					this.deselectNeighbour(this.mainPointerNeighbourSelectedId);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   405
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   406
					if(this.mainPointerExitBorder && !this.secondPointerExitBorder)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   407
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   408
						this.correctMoveToNeighbour(this.mainPointerNeighbourSelectedId, zoomX, zoomY);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   409
					}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   410
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   411
					this.moveToNeighbourTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   412
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   413
						_this.canMoveToNeighbour = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   414
					}, this.config['timeoutMoveToNeighbour']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   415
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   416
					this.mainPointerExitBorderTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   417
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   418
						if(_this.mainPointerExitBorder)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   419
						{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   420
							// console.log('Main pointer left');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   421
						}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   422
						_this.mainPointerExitBorder = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   423
					}, this.config['timeoutUnzoom']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   424
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   425
					this.checkForDezoom();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   426
				}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   427
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   428
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   429
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   430
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   431
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   432
mosaic.prototype.refreshSecondPointer = function(x, y)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   433
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   434
	if(this.currentMode == "NO-USER" || this.currentMode.indexOf('INCOMING-') != -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   435
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   436
		return;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   437
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   438
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   439
	if(!this.mouseInteractions)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   440
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   441
		x *= 7;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   442
		y *= 7;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   443
		x -= $(window).width() * 3 / 4;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   444
		y -= $(window).height() * 2 / 4;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   445
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   446
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   447
	//Si le pointeur quitte la fenêtre en X, on ne le change pas.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   448
	if(x < 0 || x > $(window).width())
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   449
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   450
		x = this.secondPointerLastX;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   451
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   452
	//Sinon, on le met à jour.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   453
	else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   454
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   455
		this.secondPointerLastX = x;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   456
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   457
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   458
	//Si le pointeur quitte la fenêtre en Y, on ne le change pas.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   459
	if(y < 0 || y > $(window).height())
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   460
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   461
		y = this.secondPointerLastY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   462
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   463
	//Sinon, on le met à jour.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   464
	else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   465
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   466
		this.secondPointerLastY = y;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   467
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   468
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   469
	var pointerX = x - $('#secondPointer').width()/2, pointerY = y - $('#secondPointer').height()/2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   470
	var _this = this;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   471
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   472
	$('#secondPointer').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   473
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   474
		top: pointerY,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   475
		left: pointerX
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   476
	});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   477
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   478
	var snapshot = null;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   479
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   480
	if(this.currentMode == 'MOSAIC' || this.currentMode == 'FILTER' && this.isMosaicFiltered)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   481
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   482
		snapshot = this.pointerPositionToSN(pointerX, pointerY, false);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   483
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   484
		if(this.previousZoomedSN != null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   485
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   486
			var id = this.previousZoomedSN.attr('id').replace('snapshotDiv-', '');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   487
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   488
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   489
		if(snapshot == null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   490
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   491
			this.isOnASnapshot = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   492
			this.lastNonNullSN = this.previousZoomedSN;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   493
			this.preUnzoom();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   494
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   495
			$('#secondPointer').css('background-image', 'url(./img/cursors/pointer2.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   496
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   497
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   498
		if(!this.isMainPointerDisplayed && snapshot != null && (this.previousZoomedSN != null && snapshot.attr('id') !== this.previousZoomedSN.attr('id') || this.lastNonNullSN != null && snapshot.attr('id') === this.lastNonNullSN.attr('id')) && !this.areBothPointersHere)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   499
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   500
			this.isOnASnapshot = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   501
			this.previousZoomedSN = snapshot;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   502
			this.lastNonNullSN = null;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   503
			this.preZoom(snapshot);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   504
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   505
			$('#secondPointer').css('background-image', 'url(./img/cursors/selector_gray.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   506
			// console.log(this.isMainPointerDisplayed + ' ' + this.isSecondPointerDisplayed);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   507
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   508
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   509
		//Si on se trouve actuellement dans une recherche par gestures.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   510
		// /!\ // RAJOUTE EN ATTENDANT UN GESTE DE CANCEL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   511
		if(this.isMosaicFiltered && !this.isMosaicFiltering)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   512
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   513
			this.checkIfPointerIsOnSearchNotification(pointerX, pointerY, $('#secondPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   514
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   515
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   516
	else if(this.currentMode == 'VIDEO' || this.currentMode == 'SEARCH' || this.currentMode == 'TIMELINE')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   517
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   518
		//On vérifie si on veut sélectionner la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   519
		if((this.currentMode != 'TIMELINE' || this.isTLRequested) && this.playerIsReady && !this.isTLSelectedByMainPointer && !this.helpDisplayed)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   520
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   521
			// console.log('(1) SP : ' + this.isTLSelectedBySecondPointer + ' MP : ' + this.isTLSelectedByMainPointer);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   522
			if(this.isTLSelected(true, false) && !this.isTLRequested)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   523
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   524
				// console.log('(2) TIMELINE REQUESTED ' + this.date());
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   525
				// $('.a').css('background-color', '#f00');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   526
				//On a demandé à aller dans la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   527
				this.isTLRequested = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   528
				this.isTLSelectedBySecondPointer = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   529
				this.isTLSelectedByMainPointer = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   530
				// console.log('(1) SP : ' + this.isTLSelectedBySecondPointer + ' MP : ' + this.isTLSelectedByMainPointer);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   531
				this.currentMode = 'TIMELINE';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   532
				this.player.widgets[0].selectTimeline();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   533
				$('#secondPointer').css('background-image', 'url(./img/cursors/selector_gray.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   534
				
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   535
				//On met le spinner gif sur le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   536
				var spinner = "<div id='spinner'></div>";
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   537
				$('body').append(spinner);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   538
				$('#spinner').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   539
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   540
					position: 'absolute',
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   541
					'background-repeat': 'no-repeat',
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   542
					top: $('#mainPointer').position().top,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   543
					left: $('#mainPointer').position().left,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   544
					width: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   545
					height: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   546
					'z-index': 600
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   547
				});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   548
				$('#spinner').attr('src', './img/cursors/selector_anim.gif');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   549
				
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   550
				this.selectTLTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   551
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   552
					//On permet l'interaction après un laps de temps.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   553
					_this.canSlideInTL = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   554
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   555
					$('.notifications').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   556
					_this.timelineTimeline();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   557
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   558
					// console.log('(4) TIMELINE SLIDE ' + _this.date());
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   559
				}, this.config['timeoutSlideTL']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   560
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   561
			else if(!this.isTLSelected(true, false) && this.isTLRequested)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   562
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   563
				// console.log('(3) TIMELINE ABORTED');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   564
				this.isTLRequested = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   565
				clearTimeout(this.selectTLTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   566
				//On déselectionne la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   567
				this.exitTimeline('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   568
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   569
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   570
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   571
		if(this.isTLSelectedByMainPointer && !this.isTLSelected(false, false))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   572
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   573
			// console.log('(4) TIMELINE EXITED');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   574
			// $('.a').css('background-color', '#0f0');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   575
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   576
			//On déselectionne la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   577
			this.exitTimeline('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   578
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   579
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   580
		// var zoomX = pointerX, zoomY = pointerY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   581
		var zoomX = pointerX - this.notifyLeftVideo, zoomY = pointerY - this.notifyTopVideo;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   582
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   583
		//Si on a sélectionné la TL et qu'on a le pointeur droit dessus, on peut modifier la position de lecture.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   584
		if(this.currentMode == 'TIMELINE' && this.playerIsReady && !this.isMainPointerDisplayed && this.canSlideInTL)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   585
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   586
			var time, TL = $('.Ldt-Timeline'), P = $('.LdtPlayer');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   587
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   588
			if(pointerX < P.position().left)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   589
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   590
				time = 0;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   591
				// console.log('trop à droite');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   592
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   593
			else if(pointerX > (+P.position().left + TL.width()))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   594
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   595
				time = this.player.widgets[0].source.getDuration().getSeconds();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   596
				// console.log('trop à gauche');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   597
				// time = 0;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   598
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   599
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   600
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   601
				time = this.player.widgets[0].scaleIntervals(P.position().left, (+P.position().left + TL.width()), 0, this.player.widgets[0].source.getDuration().getSeconds(), pointerX);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   602
				// console.log(time);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   603
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   604
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   605
			this.player.popcorn.currentTime(time);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   606
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   607
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   608
		//Si on se trouve actuellement dans une recherche par gestures.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   609
		if(this.isCurrentlyInASearchByGesture)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   610
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   611
			this.checkIfPointerIsOnSearchNotification(pointerX, pointerY, $('#secondPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   612
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   613
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   614
		//on vérifie si le pointeur est sur un snapshot zoomé.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   615
		snapshot = this.pointerPositionToSN(zoomX, zoomY, false);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   616
		if(snapshot == null)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   617
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   618
			$('#secondPointer').css('background-image', 'url(./img/cursors/pointer2.png)');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   619
			snapshot = this.pointerPositionToAN(pointerX, pointerY);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   620
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   621
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   622
		var intValueOfId;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   623
		//Si c'est le cas.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   624
		if(snapshot != null && snapshot.length > 0)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   625
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   626
			//S'il s'agit d'un voisin additionnel.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   627
			if(snapshot.attr('id').indexOf('borderNeighbour') != -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   628
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   629
				intValueOfId = parseInt(snapshot.attr('id').replace('borderNeighbour-', ''));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   630
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   631
			//Sinon si c'est un voisin normal.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   632
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   633
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   634
				intValueOfId = parseInt(snapshot.attr('id').replace('snapshotDiv-', ''));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   635
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   636
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   637
		else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   638
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   639
			intValueOfId = -2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   640
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   641
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   642
		//Si c'est un voisin additionnel.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   643
		if(snapshot != null && snapshot.attr('id').indexOf('borderNeighbour') != -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   644
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   645
			//S'il a été trouvé.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   646
			if(intValueOfId > -1 && intValueOfId < 5)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   647
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   648
				//On le sélectionne.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   649
				this.selectNeighbour(snapshot, $('#secondPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   650
				this.secondPointerExitBorder = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   651
				this.secondPointerNeighbourSelectedId = intValueOfId + this.config['imagesToShow'];
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   652
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   653
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   654
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   655
				if(this.secondPointerNeighbourSelectedId != null && this.secondPointerNeighbourSelectedId > -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   656
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   657
					this.deselectNeighbour(this.secondPointerNeighbourSelectedId);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   658
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   659
					/*this.secondPointerExitBorderTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   660
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   661
						if(_this.secondPointerExitBorder)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   662
						{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   663
							console.log('Second pointer left');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   664
						}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   665
						_this.secondPointerExitBorder = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   666
					}, this.config['timeoutUnzoom']);*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   667
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   668
					this.checkForDezoom();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   669
				}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   670
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   671
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   672
		else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   673
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   674
			//Si c'est un voisin.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   675
			if(_.include(this.neighboursIds, intValueOfId))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   676
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   677
				//On le sélectionne.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   678
				this.selectNeighbour(snapshot, $('#secondPointer'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   679
				clearTimeout(this.moveToNeighbourTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   680
				clearTimeout(this.secondPointerExitBorderTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   681
				this.secondPointerExitBorder = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   682
				this.secondPointerNeighbourSelectedId = intValueOfId;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   683
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   684
			else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   685
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   686
				if(this.secondPointerNeighbourSelectedId != null && this.secondPointerNeighbourSelectedId > -1)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   687
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   688
					this.deselectNeighbour(this.secondPointerNeighbourSelectedId);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   689
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   690
					if(!this.mainPointerExitBorder && this.secondPointerExitBorder)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   691
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   692
						this.correctMoveToNeighbour(this.secondPointerNeighbourSelectedId, zoomX, zoomY);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   693
					}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   694
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   695
					this.moveToNeighbourTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   696
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   697
						_this.canMoveToNeighbour = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   698
					}, this.config['timeoutMoveToNeighbour']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   699
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   700
					this.secondPointerExitBorderTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   701
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   702
						if(_this.secondPointerExitBorder)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   703
						{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   704
							// console.log('Second pointer left');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   705
						}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   706
						_this.secondPointerExitBorder = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   707
					}, this.config['timeoutUnzoom']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   708
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   709
					this.checkForDezoom();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   710
				}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   711
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   712
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   713
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   714
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   715
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   716
mosaic.prototype.detectIdlePointers = function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   717
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   718
	var mainPointer = $('#mainPointer');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   719
	var secondPointer = $('#secondPointer');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   720
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   721
	//Si la position des pointeurs au début de l'analyse d'idle change de plus ou moins leur taille par rapport à leur position actuelle.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   722
	if(Math.abs(this.mainPointerIdleStartX - this.mainPointerLastX) > mainPointer.width() || Math.abs(this.mainPointerIdleStartY - this.mainPointerLastY) > mainPointer.height() ||
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   723
	Math.abs(this.secondPointerIdleStartX - this.secondPointerLastX) > secondPointer.width() || Math.abs(this.secondPointerIdleStartY - this.secondPointerLastY) > secondPointer.height())
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   724
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   725
		//On réinitialise les dernières positions connues.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   726
		this.mainPointerIdleStartX = this.mainPointerLastX;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   727
		this.mainPointerIdleStartY = this.mainPointerLastY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   728
		this.secondPointerIdleStartX = this.secondPointerLastX;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   729
		this.secondPointerIdleStartY = this.secondPointerLastY;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   730
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   731
		this.removeIdlePointers();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   732
		this.pointersIdleNeedLaunch = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   733
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   734
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   735
	if(this.helpDisplayed)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   736
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   737
		this.removeHelp();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   738
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   739
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   740
	if((this.currentMode == 'SEARCH' || this.currentMode == 'FILTER') && !this.isSearchByCurvesOn)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   741
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   742
		// this.isSearchByCurvesOn = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   743
		// this.startSearch();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   744
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   745
	// console.log('DETECT IDLE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   746
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   747
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   748
mosaic.prototype.removeIdlePointers = function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   749
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   750
	clearTimeout(this.pointersSearchIdleTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   751
	// console.log(this.date() + ' - ra');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   752
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   753
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   754
mosaic.prototype.launchIdlePointers = function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   755
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   756
	var _this = this;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   757
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   758
	//Si on est en mode TL, on ne peut pas effectuer de recherche.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   759
	if(this.currentMode == 'TIMELINE' || (!this.playerIsReady && (this.currentMode == 'VIDEO' || this.currentMode == 'SEARCH')))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   760
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   761
		return;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   762
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   763
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   764
	if(this.currentMode == 'VIDEO')// || this.currentMode == 'SEARCH')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   765
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   766
		//On peut le faire que sur la video au dessus de la TL.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   767
		var mainPointer = $('#mainPointer'), secondPointer = $('#secondPointer'), TL = $('.Ldt-Timeline');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   768
		var TLwidth = TL.width(), TLheight = TL.height();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   769
		var Ptop = $('.LdtPlayer').position().top, Pleft = $('.LdtPlayer').position().left;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   770
		var Pheight = $('.LdtPlayer').height();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   771
		var MPx = mainPointer.position().left + mainPointer.width() / 2, MPy = mainPointer.position().top + mainPointer.height() / 2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   772
		var SPx = secondPointer.position().left + secondPointer.width() / 2, SPy = secondPointer.position().top + secondPointer.height() / 2;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   773
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   774
		if(MPx < Pleft || MPx > (+Pleft + TLwidth) || MPy < Ptop || MPy > (+Ptop + Pheight - TLheight) ||
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   775
		SPx < Pleft || SPx > (+Pleft + TLwidth) || SPy < Ptop || SPy > (+Ptop + Pheight - TLheight))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   776
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   777
			return;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   778
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   779
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   780
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   781
	//A la fin du timeout, si rien n'est venu l'interrompre, on entre en recherche/filtrage en fonction du mode dans lequel on se trouve.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   782
	this.pointersSearchIdleTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   783
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   784
		if(!_this.areBothPointersHere)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   785
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   786
			return;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   787
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   788
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   789
		// console.log('rdy for idle');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   790
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   791
		if(_this.currentMode == "MOSAIC")
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   792
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   793
			_this.currentMode = "FILTER";
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   794
			// _this.currentMode = "FILTR";
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   795
			_this.isMosaicFiltered = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   796
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   797
			console.log(_this.date() + ' - ENTRE EN MODE FILTRAGE');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   798
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   799
			$('.notifications').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   800
			_this.filterSearch();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   801
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   802
		else if(_this.currentMode == "VIDEO" || _this.currentMode == "TIMELINE")
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   803
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   804
			_this.currentMode = "SEARCH";
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   805
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   806
			console.log(_this.date() + ' - ENTRE EN MODE RECHERCHE');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   807
			// console.log('');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   808
			
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   809
			$('.notifications').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   810
			_this.searchSearch();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   811
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   812
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   813
		if(!_this.canNotifyHelp)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   814
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   815
			_this.canNotifyHelpTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   816
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   817
				// console.log(_this.date() + ' CAN NOTIFY HELP');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   818
				_this.canNotifyHelp = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   819
			}, _this.config['timeoutCanNotifyHelp']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   820
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   821
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   822
		//Si on est déjà en recherche, et que l'aide n'est pas encore affichée, on l'affiche.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   823
		/*if(_this.currentMode == 'SEARCH' && _this.canNotifyHelp)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   824
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   825
			_this.notifyHelp(false);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   826
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   827
		if(_this.currentMode == 'FILTER' && _this.canNotifyHelp)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   828
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   829
			_this.notifyHelp(true);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   830
		}*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   831
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   832
	}, this.config['timeoutPointersIdle']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   833
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   834
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   835
mosaic.prototype.checkForBothPointersHere = function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   836
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   837
	var _this = this;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   838
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   839
	if(!this.areBothPointersTimeoutLaunched)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   840
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   841
		this.areBothPointersHereTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   842
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   843
			_this.areBothPointersHere = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   844
			/*if(_this.isSearchByCurvesOn)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   845
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   846
				_this.leaveSearch();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   847
			}*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   848
		}, this.config['timeoutAreBothPointersHere']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   849
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   850
		this.areBothPointersHereTimeoutLaunched = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   851
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   852
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   853
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   854
mosaic.prototype.removeCheckForBothPointersHere = function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   855
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   856
	// console.log('TRY QUIT');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   857
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   858
	// if(this.areBothPointersTimeoutLaunched)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   859
	// {
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   860
		clearTimeout(this.areBothPointersHereTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   861
		// console.log('QUIT');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   862
	// }
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   863
	this.areBothPointersHereTimeoutLaunched = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   864
}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   865
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   866
/*
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   867
 * Vérifie si on se trouve sur la notification de recherche par gesture.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   868
*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   869
mosaic.prototype.checkIfPointerIsOnSearchNotification = function(x, y, pointer)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   870
{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   871
	var _this = this;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   872
	var notification_search = $('#notify_search_1gesture');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   873
	
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   874
	//Si la notification de recherche existe (dans le player).
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   875
	if(notification_search.length > 0)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   876
	{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   877
		//Pictogramme actuel de la notification.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   878
		var currentPicto = notification_search.css('background-image');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   879
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   880
		//y -= this.MPTop_margin;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   881
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   882
		/*console.log('===================================');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   883
		console.log('x : ' + x + ' > ' + notification_search.position().left);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   884
		console.log('x : ' + x + ' < ' + (+notification_search.position().left + notification_search.width()));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   885
		console.log('y : ' + y + ' > ' + notification_search.position().top);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   886
		console.log('y : ' + y + ' < ' + (+notification_search.position().top + notification_search.height()));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   887
		console.log('===================================');*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   888
		
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   889
		//Si le pointeur est sur la notification.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   890
		if(x > notification_search.position().left && x < (+notification_search.position().left + notification_search.width()) && y > notification_search.position().top && y < (+notification_search.position().top + notification_search.height()))
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   891
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   892
			// console.log('IN NOTIFICATION');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   893
			if(!this.alreadyOnNotification && $('#spinner').length == 0)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   894
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   895
				notification_search.css('background-image', currentPicto.replace('/big/valid/', '/big/hover/'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   896
				
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   897
				console.log(this.date() + ' try remove not');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   898
				//On met le spinner gif sur le pointeur.
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   899
				var spinner = "<img id='spinner'></div>";
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   900
				$('body').append(spinner);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   901
				$('#spinner').css(
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   902
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   903
					position: 'absolute',
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   904
					top: pointer.position().top,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   905
					left: pointer.position().left,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   906
					width: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   907
					height: 85,
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   908
					'z-index': 600
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   909
				});
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   910
				$('#spinner').attr('src', './img/cursors/selector_anim.gif');
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   911
				/*this.arrowSpinnerTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   912
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   913
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   914
				}, this.config['timeoutRemoveSpinner']);*/
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   915
				
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   916
				this.removeNotificationByGestureTimeout = setTimeout(function()
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   917
				{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   918
					if(_this.currentMode == 'SEARCH')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   919
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   920
						_this.player.widgets[0].removeSearchByGesture();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   921
						_this.currentMode = 'VIDEO';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   922
					}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   923
					else if(_this.currentMode == 'TIMELINE')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   924
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   925
						_this.player.widgets[0].removeSearchByGesture();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   926
						_this.currentMode = 'TIMELINE';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   927
					}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   928
					else if(_this.currentMode == 'FILTER')
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   929
					{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   930
						_this.removeFilter();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   931
					}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   932
					
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   933
					_this.alreadyOnNotification = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   934
					_this.isCurrentlyInASearchByGesture = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   935
					_this.currentSearchGesture = '';
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   936
					_this.canNotifyHelp = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   937
				}, this.config['timeoutRemoveNotificationByGesture']);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   938
				this.alreadyOnNotification = true;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   939
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   940
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   941
		else
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   942
		{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   943
			if(this.alreadyOnNotification)
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   944
			{
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   945
				notification_search.css('background-image', currentPicto.replace('/big/hover/', '/big/valid/'));
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   946
				clearTimeout(this.removeNotificationByGestureTimeout);
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   947
				this.alreadyOnNotification = false;
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   948
				$('#spinner').remove();
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   949
			}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   950
		}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   951
	}
8393d3473b98 Front IDILL:
bastiena
parents:
diff changeset
   952
}